公司某产品在项目现场上常用到的数据库有Oracle和达梦。
做性能测试需要根据项目现场预埋大量的基础数据和业务数据,耗费时间、精力。故完成Oracle数据库的性能测试之后,采用直接将Oracle数据库迁入达梦数据库的方式,节约时间。
1. 环境说明
源数据库 Oracle:V11.2.0.4
目标数据库 DM:V8
2. 迁移工具介绍
达梦数据库自带的DTS工具,迁移方式分为两种,如下:
①windows系统:安装达梦客户端,使用【DM数据迁移工具】
②linux系统:进入达梦安装路径的tool目录,执行./dts打开【DTS迁移工具】
因数据库部署在阿里云服务器,本文采用linux系统环境的迁移方式进行数据迁移(执行./dts调出图形化界面前可能会存在其它问题,解决办法可参考:https://www.cnblogs.com/silgen/p/16668902.html)。
如果是公司内网环境,建议采用达梦windows客户端【DM数据迁移工具】迁移数据。
3. 迁移前准备
3.1 创建达梦用户及表空间
# 创建表空间
[root@ufdb165 bin]# ./disql
disql V8
username:SYSDBA
password:
Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 2.881(ms)
SQL> create tablespace cwy_init datafile '/u01/dmdbms/data/DAMENG/cwy_init.dbf' size 5120 autoextend on next 1024;
executed successfully
used time: 78.379(ms). Execute id is 4.
# 创建用户并赋权
SQL> CREATE USER cwy_init IDENTIFIED by init_123456789 DEFAULT TABLESPACE cwy_init;
SQL> grant dba to cwy_init;
3.2 调整达梦数据库参数(针对Oracle数据迁移)
Compatibility | 使用效果及建议 |
COMPATIBLE_MODE | 是否兼容其他数据库模式。 |
CALC_AS_DECIMAL | 整数相除是否保留小数位,修改为 1 |
ORA_DATE_FMT | 是否兼容 ORACLE 的 DATE 类型格式。0:不兼 容;1:兼容。 |
修改方式,如下:
ALTER SYSTEM SET 'COMPATIBLE_MODE'=2 SPFILE;
ALTER SYSTEM SET 'CALC_AS_DECIMAL'=1 SPFILE;
修改完成后需要重启数据库后才能生效。
# 查看修改后的参数值
select para_name,para_value from v$dm_ini where para_name = 'CALC_AS_DECIMAL' OR para_name = 'COMPATIBLE_MODE';
4. 数据迁移
4.1 进入tool目录,执行./dts,启动迁移工具
[root@ufdb165 ~]# cd /u01/dmdbms/tool
[root@ufdb165 tool]# ./dts
4.2 新建工程
选择【新建工程】按钮,在弹出的新建工程页面填写相应的工程名
4.3 新建迁移
在工程列表的“迁移”标签右键选择新建迁移,并输入迁移名称和迁移描述。在选中新建的迁移后可以看到迁移工具的欢迎界面。
4.4 选择迁移方式
在欢迎界面点击下一步,然后选择数据源和目的库,选择要迁移的方式
4.5 输入Oracle数据库信息
进入连接oracle数据库界面,输入数据源(Oracle 数据库)的信息:主机名 (IP) 、端口,服务名(Oracle 默认服务名 ORCL),角色(默认),用户名和口令。
此时Oracle要保持开启状态,并且Oracle 监听已启动。
4.6 输入DM数据库信息
进入连接DM数据库界面,输入目的数据库(DM数据库)的信息&#x