数据库迁移(分享十一)

       公司最近数据迁移项目比较多,大部分都是上云服务,目前基本上是镜像上云,P2V,V2V模式,但是我也渐渐了解到很多企业也打算数据库上云服务,由于各种不同原因,没有办法P2V、V2V这种形式。需要我们就是进行应用迁移即数据库迁移。  image 

        下面几节我就oracle、mysql、sqlserver数据库迁移工具介绍。

oracle:

一、Oracle SQL Developer 是 Oracle 用于将非 Oracle 数据库迁移到 Oracle 的迁移工具

image 以上工具迁移到oracle。

具体步骤:

1、在Oracle数据库中创建移植资料档案库用户

资料档案库用户不是用来接收MySQL迁移数据的用户,而是进行数据迁移配置的用户。

Oracle创建用户命令如下:

create user migrater identified by migrater;
alter user migrater account unlock;
grant dba to migrater;
grant connect, resource to migrater;
grant create session to migrater;
commit;

2、在SQL Developer中新建Oracle连接

SQL Developer中创建Oracle的连接比较简单,如下图所示:image

 

3、添加第三方JAR包(MySQL)
使用SQL Developer建立MySQL的连接,需要添加MySQL的驱动包,添加方法如下:

点击“工具-》首选项”

在首选项面板中选择左侧“数据库-》第三方JDBC驱动程序”,点击下方的添加条目按钮选择MySQL的驱动jar包。

 image

4、新建MySQL连接
添加好MySQL的第三方驱动后,在新建连接页面中即可出现MySQL的配置项。

image

5、关联移植资料档案库
执行迁移数据库之前需要关联移植资料档案库,操作如下:

选中oracle数据库--》移植资料档案库----》关联移植资料档案库

关联过后新建的Oracle数据库中增加很多表:

image

6、移植MySQL数据库至Oracle数据库
在需要数据迁移的MySQL数据库连接上右键,选择“移植到Oracle…”菜单。选中移植数据库,数据库数据类型转换,一直下一步,到完成。

image

image 配置完成后在oracle库中会生成一个和MySQL数据库名字一样的schema,里面就是要转换的数据。

注意:

如果要是先建好用户(用户名用mysql数据库的数据库名),定义好用户的默认表空间,然后再做mysql到oracle转换,这样就可以即把表存放到正确的位置,又可以用正确的用户名。也可以改变数据库的默认表空间防止自动创建用户的默认表空间使用user表空间:
SQL> ALTER DATABASE DEFAULT TABLESPACE mis_data;
       注意:改过名字的用户,权限会继承,但是默认表空间不会继承,需要手工再设定默认表空间:
SQL> ALTER USER OA identified by oa default tablespace MIS_DATA temporary tablespace TEMP;
修改底层表 USER$更换用户名
注:修改oracle用户名需要sys用户,或者给操作用户操作user$表的权限。
SQL> grant select on user$ TO system;
SQL> grant update on user$ to system;
截止已经结束。

如果是oracle之间数据迁移:利用 sql developer 数据库复制即可。

posted @ 2017-11-21 20:58  云无止境  阅读(1098)  评论(0编辑  收藏  举报