MySQL数据库迁移至Oracle数据库

1.使用工具:

(1) Navicat Premium
(2) PL/SQL Developer 11.0
(3) Oracle SQL Developer 4.0.0.12.84(点击可进入下载页面)
特别说明:最初我用的一直是高版本的SQL Developer,但在数据库移植到大概两分钟的时候,总是报错,而错误信息又不明确.最后换成 Oracle SQL Developer 4.0.0.12.84,才把问题解决掉!如果你遇到同样的问题,建议你也换成这个低版本的.

2.备份mysql数据库

使用Navicat Premium连接需要进行迁移的mysql数据库,为防止误操作对数据库进行损伤,故先对源数据库进行备份,对备份数据库的mysql数据库进行迁移操作.
使用Navicat Premium备份数据库非常容易,如下图:

(1) 新建一个作为备份的mysql数据库

MySQL数据库迁移至Oracle数据库

(2) 选中要备份的mysql数据库执行备份操作

MySQL数据库迁移至Oracle数据库
MySQL数据库迁移至Oracle数据库
点击开始,即可顺利完成数据库的备份.

3.创建Oracle表空间与用户

在Mysql中,数据库和用户之间的关系不是特别明显,只要我们链接到Mysql服务器,可以看到所有的数据库和表,而Oracle新建一个用户是没有任何资源和权限的,需要我们为其分配资源权限,也可以在这个用户下面建立表,但不能向Oracle那样建数据库,因为对oracle来说,一个用户就对应Mysql的一个数据库。所以迁移数据库,需要在Oracle中创建一个与相应mysql数据库同名的用户.

(1) 由于scott权限不够,不能创建用户,另外因为其他较高权限的账号密码忘记了,所以这里补充一下Oracle更改密码的方法:

A.在控制台输入`sqlplus  scott/[email protected]:1521/orcl `连接Oracle;
B.输入`conn /as sysdba`以DBA角色进入;

MySQL数据库迁移至Oracle数据库

C.连接成功后,输入“select username from all_users”查看用户列表。
D.若修改某一个用户密码, 修改用户口令 格式为:

alter user 用户名 identified by 新密码;
MySQL数据库迁移至Oracle数据库

(2) 使用用户system登录PL/SQL Developer,创建表空间和用户

MySQL数据库迁移至Oracle数据库

create tablespace casic_smart datafile 'C:\oracle\product\10.2.0\oradata\orcl\casic_smart.dbf' size 1000m;
create user tianzhi_smart identified by tianzhi_smart default tablespace casic_smart quota 500m on users;
grant all privileges to tianzhi_smart;

4.通过Oracle SQL Developer转换数据库

(1) 打开Oracle SQL Developer,配置mysql连接插件,只有配置之后,才可以看到mysql选项卡:

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库
添加好驱动我们就开始连接数据库移植。

(2)添加两个连接,一个是MySql的,一个是Oracle的:

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

(3)通过Oracle SQL Developer转换数据库:

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

MySQL数据库迁移至Oracle数据库

注意: 转换完成后需要检查数据库的各种对象是否完成,状态是否正确,尤其是表的数量一定要核对,因为有时候有些表会不能成功转换,需要手工操作。

相关推荐