一、环境和需求
1、环境
Mysql数据库服务器:
OS version:linux 5.3 for 64 bit Mysql Server version: 5.0.45 Oracle数据库服务器:
OS version:linux 5.3 for 64 bit Oracle version:oracle 11g r2 2、需求
把mysql数据库的数据转移到oracle数据库。目前mysql数据库的备份文件为.sql文件,每个表一个.sql文件,把这些文件的数据导入到oracle数据库。
二、mysql数据恢复
采用先把mysql数据库备份文件恢复到一个mysql测试库中,然后使用oracle sql developer把mysql测试库中的数据转移到oracle数据库。
mysql备份恢复到myql测试库:
因为本次试验采用的mysql备份为.sql文件,所以采用批量source处理。批量执行.sql文件,实现在mysql测试库重新建立表并恢复数据。
如果备份文件采用的是其他方式,则需要用对应的恢复办法进行恢复。 恢复操作:
[root@localhost ~]# mysql -u root -p Enter password: ---输入root用户的密码。
Welcome to the MySQL monitor. Commands end with ; or \\g. Your MySQL connection id is 90
Server version: 5.0.45 Source distribution
Type 'help;' or '\\h' for help.Type '\\c' to clear the buffer. mysql> use test; Database changed
mysql> source actors.sql;
mysql> source act_tactics.sql; mysql> ??????
一次把所有的.sql文件贴在mysql的命令窗口,批量执行即可。
注:因为mysql库是生产库,不能直接做实验,所以才把备份恢复到一个测试库中,进行测试,实际中如果可以直接连mysql数据库,则这一步可以省略。
三、通过oracel sql developer转换数据库
Mysql转到oracle数据库,要根据不同情况选择不同的方法: 1、 从现有的mysql库直接转到oracle数据库
这是不用恢复mysql数据库,直接可以用sql developer转到oracle里,这时要现在oracle数据库中建好用户(用户名为mysql数据库名),选好默认表空间,mysql数据就会导入到该用户下。 2、 从mysql数据库导出的sql文件导入到oracle数据库
如果是只有mysql的导出文件,则需要先把该文件恢复到一个mysql数据库中,然后再把恢复后的mysql数据库转换到oracle数据库中。
这种情况要注意oracle数据库的用户名。因为sql developer把mysql转换到oracle数据库中时,会把mysql的数据存放到一个用户下,这个用户名一定会和mysql的数据库名相同。如果oracle中已有这个用户,则数据直接导入到该用户下;如果没有这个用户,则sql developer会直接创建这样的用户,并把数据导入到该用户下。需要注意的是,sql developer默认创建的oracle数据库用户的默认表空
间是user,如果不注意,很有可能会导致user表空间爆满!!!所以这种情况最好先建一个和mysql数据库名一样的oracle用户,以防止user表空间爆满影响数据导入。 1、安装oracel sql developer
首先从oracle官方网站下载oracle sql developer,下载的sql developer是没有集成jdk的,如果本机也没有安装过jdk,则需要先安装对应版本的jdk,这个可以查找sql developer的readme.html文件,里面会说明需要的jdk。
安装的第一步会让你选择JDK,否则无法安装。安装非常简单,这里就不做说明。 Windowd 64位sqldeveloper下载:
http://download.oracle.com/otn/java/sqldeveloper/sqldeveloper64-3.0.04.34-no-jre.zip