基本信息:
类型 | 数据库 | IP:端口 | 版本 | 迁移对象 |
源库 | Oracle | 172.16.11.101:1521 | 11.2.0.4.0 | 表、视图、存储过程等对象 |
目标库 | 达梦DM | 172.16.11.101:5238 | DM V8 |
迁移说明:
DM数据迁移工具提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。DM数据迁移工具采用向导方式引导用户通过简单的步骤完成需要的操作。
DM数据迁移工具支持:
◆ 主流大型数据库Oracle、SQLServer、MySQL、DB2、PostgreSQL、Informix、Kingbase、Sybase的模式、表、视图、序列、索引迁移到DM;◆ ODBC数据源、JDBC数据源的模式、表、视图迁移到DM;◆ DM数据库的模式、表、视图、序列、索引迁移到主流大型数据库Oracle;◆ DM数据库之间模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限的迁移;◆ DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到XML文件;◆ DM数据库模式、表、序列、视图、存储过程/函数、包、类、同义词、触发器、对象权限迁移到SQL脚本文件;◆ DM数据库的表、视图数据迁移到文本文件;◆ DM数据库的表、视图数据迁移到Excel文件;◆ DM数据库的表、视图数据迁移到Word文件;◆ SQL脚本文件迁移到DM数据库;◆ XML文件迁移到DM数据库;◆ 指定格式的文本文件、Word文件和Excel文件迁移到DM数据库。
迁移前准备:
1.修改达梦数据库参数
在迁移数据之前,需要修改 DM 数据库参数,修改兼容参数为兼容 Oracle 数据库 COMPATIBLE_MODE=2 ,重启数据库服务使其生效即可。
[dmdba@cjc-db-03 CHEN]$ pwd/dm8/data/CHEN[dmdba@cjc-db-03 CHEN]$ vi dm.ini
默认0,改成2。

数字代表的含义:
#Server compatible mode, 0:none, 1:SQL92, 2:Oracle, 3:MS SQL Server, 4:MySQL, 5:DM6, 6:Teradata
修改:
COMPATIBLE_MODE = 2
重启DM数据库
[root@cjc-db-03 ~]# systemctl stop DmServiceCJC.service[root@cjc-db-03 ~]# systemctl start DmServiceCJC.service
2.创建目标用户
注意:生产库需要创建用户对应的表空间,权限最小化。
disql SYSDBA/******:5238create tablespace cjctbs datafile '/dm8/data/CHEN/cjctbs01.tbs' size 128 autoextend on;create user CJC identified by "******" default tablespace cjctbs;grant dba to CJC;
3.生成测试数据
###Oracle 数据库 11.2.0.4.0
create tablespace cjctbs datafile '/oracle/oradata/cjctest/cjctbs01.dbf' size 1M autoextend on;create user CJC identified by "A12345678" default tablespace cjctbs;grant dba to CJC;
###新增测试数据
###新增表
conn cjc/******CREATE TABLE T1(ID INT,NAME varchar(30));CREATE INDEX I_T1_ID ON T1(ID);INSERT INTO T1 VALUES(1,'AAA');INSERT INTO T1 VALUES(2,'BBB');INSERT INTO T1 VALUES(3,'CCC');COMMIT;
###新增视图
create view v_t1 as select name from t1 where id=1;
###新增存储过程
CREATE OR REPLACE PROCEDURE p_insert_t1ASBEGININSERT INTO t1 values(100,'XXXXXX');END;/
执行存储过程
SQL> call p_insert_t1();
迁移:
1.打开DTS迁移工具
可以打开达梦数据库服务器上自带的DTS工具
[dmdba@cjc-db-03 tool]$ export DISPLAY=172.16.11.73:0.0[dmdba@cjc-db-03 tool]$ sh dts

如果无法启用图形,可以在windows系统上安装达梦工具。



2.新建工程


3.新建迁移


欢迎界面

4.选择源库、目标库数据类型

5.配置源数据库信息

6.配置目标数据库信息

注意:
默认是SYSDBA,建议使用单独的业务用户,不要将业务数据存放在SYSDBA用户下。
7.迁移选项
注意:
建议去掉,保持对象名大小写

8.查看默认类型映射关系


9.指定模式、对象

点击 下一步 没反应,虚拟机资源负载过高,重启虚拟机,重新执行,恢复正常。

转换,查看映射关系

分析源对象

10.开始迁移
下一步

完成

迁移报告

迁移详细

迁移后检查:
1.查看对象
迁移前
SQL> select object_name,object_type from dba_objects where owner='CJC';LINEID OBJECT_NAME OBJECT_TYPE---------- ----------- -----------1 CJC SCH
迁移后

SQL> select object_name,object_type from dba_objects where owner='CJC';LINEID OBJECT_NAME OBJECT_TYPE---------- ------------- -----------1 CJC SCH2 P_INSERT_T1 PROCEDURE3 V_T1 VIEW4 T1 TABLE5 INDEX33555471 INDEX6 I_T1_ID INDEX6 rows got
2.查看表数据
SQL> select * from cjc.t1;LINEID ID NAME---------- --- ------1 1 AAA2 2 BBB3 3 CCC4 100 XXXXXX
3.查看视图
SQL> select * from cjc.v_t1;LINEID NAME---------- ----1 AAA
3.查看存储过程
SQL> call cjc.p_insert_t1;DMSQL executed successfullySQL> select * from cjc.t1;LINEID ID NAME---------- --- ------1 1 AAA2 2 BBB3 3 CCC4 100 XXXXXX5 100 XXXXXXused time: 1.370(ms). Execute id is 505.
4.查看对象创建语句
表

视图

存储过程

迁移遇到的问题:
无
参考:
DM 数据迁移工具https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-migrate.html从 Oracle 迁移到 DMhttps://eco.dameng.com/document/dm/zh-cn/start/migrate-oracle-dm.htmlDM DBA手记之ORACLE移植到DM.pdfhttps://eco.dameng.com/eco-file-server/file/eco/download/20220815123728EKDCR65PIYGDZQ1BOL
###chenjuchao 20230722###




