环境准备
对于oracle数据库迁移达梦,需要对数据库的一些初始化参数先进行修改,可避免在迁移过程中的一些错误,推荐的参数设置如下:
1、页大小page_size,在达梦中,页大小默认是8k,如果数据库中表存在较多大字段,建议设置成16k或者32k,否则导入数据时会报错。
2、BLANK_PAD_MODE空格填充模式,默认是0,建议设置成1。
3、dm.ini中COMPATIBLE_MODE参数设置是否兼容其他数据库模式。
0:不兼容,1:兼容 SQL92标准,2:兼容 ORACLE,3:兼容 MS SQL SERVER,4:兼容 MYSQL
也可登录disql修改,如下所示设置为sqlserver兼容模式
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',3);
4 同时在迁移前需要在达梦中创建对应的用户,否则会将数据迁移到SYSDBA用户下。表空间也需要提前创建,否则会默认迁移到MAIN表空间下。
对于dts机器的内存推荐至少要大于4g,否则会出现”java heap space”之类内存不足的报错。
迁移计划
迁移顺序:先迁移序列、再迁移表、然后迁移视图,最后迁移PLSQL对象,
数据量大的表单独进行迁移
对于分区表如果数据量没有超过 1 亿建议迁移成普通表,在分区列上创建索引
对于大字段较多的表,需要修改批量的行数,以免造成迁移工具内存溢出。
oracle迁移测试(其他数据库操作类似)
1 首先在达梦数据库新建TEST用户和模式。
修改dm.ini参数为oracle兼容模式
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',3);
2 打开dm数据迁移工具,新建工程和新建迁移
选择迁移方式,先选择oracle到达梦测试
3 登录源数据orcle信息 ,
选择角色,用户名和密码,如下所示保保错,提示没有权限,登录oracle授权sysdba给scott用户即可正常登录。
SQL> sqlplus / as sysdba
SQL> grant sysdba to scott;
如忘记用户密码或账号锁住,登录sysdba改密和解锁
修改用户密码
alter user system identified by manger;
解锁用户
alter user system account unlock;
4 输入目标数据达梦信息
5 选择指定对象复制。目的模式选择dm对应的模式下,不然默认为oracle的模式
提示没有权限 用sysdba登录达梦数据库 ,给用户授权
grant INSERT ANY TABLE to "TEST";
授权之后执行ok
6 登录dm数据库检查数据已经迁移成功