暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

达梦数据库迁移(Oracle_to_DM)

IT小Chen 2023-07-23
2026

基本信息:

类型

数据库

IP:端口

版本

迁移对象

源库

Oracle

172.16.11.101:1521

11.2.0.4.0

表、视图、存储过程等对象

目标库

达梦DM

172.16.11.101:5238

DM V8

迁移说明:

DM数据迁移工具提供了主流大型数据库迁移到DMDMDM、文件迁移到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/******:5238
            create 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_t1
                    AS
                    BEGIN
                    INSERT 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 SCH
                            2 P_INSERT_T1 PROCEDURE
                            3 V_T1 VIEW
                            4 T1 TABLE
                            5 INDEX33555471 INDEX
                            6 I_T1_ID INDEX
                            6 rows got

                            2.查看表数据

                              SQL> select * from cjc.t1;
                              LINEID ID NAME
                              ---------- --- ------
                              1 1 AAA
                              2 2 BBB
                              3 3 CCC
                              4 100 XXXXXX

                              3.查看视图

                                SQL> select * from cjc.v_t1;
                                LINEID NAME
                                ---------- ----
                                1 AAA

                                3.查看存储过程

                                  SQL> call cjc.p_insert_t1;
                                  DMSQL executed successfully
                                  SQL> select * from cjc.t1;
                                  LINEID ID NAME
                                  ---------- --- ------
                                  1 1 AAA
                                  2 2 BBB
                                  3 3 CCC
                                  4 100 XXXXXX
                                  5 100 XXXXXX
                                  used time: 1.370(ms). Execute id is 505.

                                  4.查看对象创建语句

                                  视图

                                  存储过程

                                  迁移遇到的问题:

                                  参考:

                                    DM 数据迁移工具
                                    https://eco.dameng.com/document/dm/zh-cn/start/tool-dm-migrate.html
                                    Oracle 迁移到 DM
                                    https://eco.dameng.com/document/dm/zh-cn/start/migrate-oracle-dm.html
                                    DM DBA手记之ORACLE移植到DM.pdf
                                    https://eco.dameng.com/eco-file-server/file/eco/download/20220815123728EKDCR65PIYGDZQ1BOL

                                    ###chenjuchao 20230722###

                                    文章转载自IT小Chen,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                    评论