暂无图片
暂无图片
1
暂无图片
暂无图片
1
暂无图片

DMHS使用-oracle19c to dm8(含数据对比)

yuanzj 2021-06-03
1347

一、前言

DMHS 同步软件可实现以下功能: 

1.对 Oracle 类型数据库数据进行抽取、转换、过滤,并映射到其他 Oracle数据库或其他类型数据库。 

2.对 Oracle 数据库中的 DML、DDL 操作进行捕获,并同步到其它同构或异构数据库,即目标库。 

3.将 Oracle 数据库中的数据操作实时同步到目标库,同步时间能够达到毫秒级。 

二、环境准备

1实验环境配置基本信息

源端->目标端
Orcacl -> DM8

OS版本

OracleLinux-R7-U9-Server-x86_64-dvd.iso
CentOS-7-x86_64-DVD-2009.iso

达梦 HS版本

安装在Oracle用户下:dmhs_V4.1.1_oracle12c_rev99426_veri_20210506.zip
安装在root用户下:dmhs_V4.1.1_dm8_rev99426_veri_20210506.zip
数据库版本
LINUX.X64_193000_db_home.zip
dm8_20210315_x86_rh6_64_ent_8.1.1.190.iso
源端IP
192.168.3.12
目标端IP
192.168.3.92
源端HS
安装用户:Oracle
DMHS_HOME=/u01/app/dmhs_orclpdb1
目的端HS
安装用户:root
DMHS_HOME=/opt/dmhs_orclpdb1
同步用户
scott

2.源端数据库基本信息

目的端IP
192.168.3.12
主机名
yuanzjora19c
安装用户
Oracle
数据库版本LINUX.X64_193000_db_home.zip
ORACLE_HOME
/u01/app/oracle/product/19.0.0/dbhome_1
db_block_size8K
NLS_CHARACTERSETAL32UTF8
是否归档

传输用户
c##dmhs

3.目标端数据库基本信息

源端IP192.168.3.92
主机名
yuanzjdm8
安装用户
dmdba
数据库版本
dm8_20210315_x86_rh6_64_ent_8.1.1.190.iso
DM_HOME
/opt/dmdbms
簇大小
16
页大小
8K
字符集
utf8
大小写敏感

是否以字符为单位

是否归档

传输用户
c##dmhs

三、配置环境

1.安装Oracle数据库(略)

2.安装DM8数据库(略)

3.源端Oracle环境配置

1.开启归档(已开启):

    SQL> archive log list
    Database log mode Archive Mode
    Automatic archival Enabled
    Archive destination oraarch
    Oldest online log sequence 6
    Next log sequence to archive 8
    Current log sequence         8
    复制

    2.开启最小补充日志和全列日志

      SQL> alter database add supplemental log data;


      Database altered.


      SQL> alter database add supplemental log data (all) columns;


      Database altered.


      SQL> select supplemental_log_data_min,supplemental_log_data_all from v$database;


      SUPPLEMENTAL_LOG SUPPLE
      ---------------- ------
      YES     YES
      复制

      3.关闭回收站功能

        SQL> alter system set recyclebin=off defered;
        复制

        4.查看oracle数据库字符集

          SQL> select userenv('language') from dual;
          USERENV('LANGUAGE')
          ---------------------------------------------------------------------------
          AMERICAN_AMERICA.AL32UTF8
          复制

          5.源端配置DDL支持

          A)源端数据库必须允许 DDL 触发器的触发动作,即数据库参数_system_trig_enabled为 TRUE 或者未设置。查看该参数的命令如下

          SQL> show parameter _system_trig_enabled;

          B)需要在源端数据库以 sys 用户,在 sys 模式下创建 DDL 触发器及 DDL 记录表,详细参照 dmhs_ddl.sql 脚本,oracle12c版本以上数据库需要在cdb和pdb都执行此脚本

          C)需要日志捕获模块对 ddl_mask 进行设置。例如<ddl_mask>op:obj<ddl_mask>。ddl_mask 可对同步对象进行过滤,详细参数请参照 ddl_mask 参数说明。

          6.创建C##DMHS数据库用户

          A)在cdb数据库创建DMHS表空间

            SYS@orcl> create  tablespace dmhs  datafile '/oradata/ORCL/dmhs01.dbf' size 50m autoextend on next 50m maxsize 30g extent management local;


            Tablespace created.


            SYS@orcl> create temporary tablespace dmhs_temp tempfile '/oradata/ORCL/dmhs_temp01.dbf' size 50m reuse autoextend on next 10m maxsize 30g;


            Tablespace created.
            复制

            B)在pdb数据库创建DMHS表空间

              SYS@orclpdb1> create  tablespace dmhs  datafile '/oradata/ORCL/orclpdb1/dmhs01.dbf' size 50m autoextend on next 50m maxsize 30g extent management local;


              Tablespace created.


              SYS@orclpdb1> create temporary tablespace dmhs_temp tempfile '/oradata/ORCL/orclpdb1/dmhs_temp01.dbf' size 50m reuse autoextend on next 10m maxsize 30g;


              Tablespace created.
              复制

              C)创建C##DMHS公共用

                SYS@orcl> create user c##dmhs identified by dmhs123 default tablespace dmhs temporary tablespace dmhs_temp;


                User created.
                复制

                7.创建DDL授权的相关信息

                1. 创建DDL表和授权

                           注意:需要在cdb和pdb中授权,只要增加数据库都需要授权

                A)在cdb数据库中执行脚本ddl_sql_ora.sql

                  SYS@orcl> set define off
                  SYS@orcl> @ddl_sql_ora.sql
                  Table created.
                  Trigger created.
                  复制

                  B)在cdb数据库中授权C##DMHS,执行脚本ddl_grant_user.sql

                    SYS@orcl> @ddl_grant_user.sql


                    Grant succeeded.
                    。。。。。。
                    Grant succeeded.


                    SYS@orcl>
                    复制


                    C)在pdb中执行DDL脚本ddl_sql_ora.sql

                      如第1步所示
                      复制

                      D)在pdb中授权C##DMHS,执行脚本ddl_grant_user.sql

                        如第2步所示
                        复制

                        其中grant connect to c##dmhs container=all;只能在cdb中执行,所以禁用这一个sql。

                        E)脚本

                          链接:https://pan.baidu.com/s/1Loev8v0fWiDgVXHeE99QHQ 
                          提取码:w0r3
                          复制这段内容后打开百度网盘手机App,操作更方便哦
                          复制

                          8.创建测试数据

                            [oracle@yuanzj19c:/home/oracle]$ find u01 -name utlsampl.sql
                            /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/utlsampl.sql
                            [oracle@yuanzj19c:/home/oracle]$ vim u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/utlsampl.sql
                            [oracle@yuanzj19c:/home/oracle]$ sqlplus sys/oracle@orclpdb1 as sysdba
                            SQL*Plus: Release 19.0.0.0.0 - Production on Sat May 15 21:53:10 2021
                            Version 19.3.0.0.0
                            Copyright (c) 1982, 2019, Oracle. All rights reserved.
                            Connected to:
                            Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
                            Version 19.3.0.0.0
                            SYS@orclpdb1> @/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/utlsampl.sql
                            复制

                            其中utlsampl.sql脚本修改pdb服务名,如下图所示:

                            9.验证数据

                              [oracle@yuanzj19c:/home/oracle]$ sqlplus scott/tiger@orclpdb1


                              SQL*Plus: Release 19.0.0.0.0 - Production on Sat May 15 22:04:09 2021
                              Version 19.3.0.0.0


                              Copyright (c) 1982, 2019, Oracle. All rights reserved.


                              Last Successful login time: Sat May 15 2021 22:02:43 +08:00


                              Connected to:
                              Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
                              Version 19.3.0.0.0


                              SCOTT@orclpdb1> col table_name for a45;
                              SCOTT@orclpdb1> select table_name from tabs;


                              TABLE_NAME
                              ---------------------------------------------
                              DEPT
                              EMP
                              BONUS
                              SALGRADE


                              SCOTT@orclpdb1> select count(*) from emp;


                              COUNT(*)
                              ----------
                                14
                              复制

                              4.目的端DM配置

                              1.开启归档

                                [dmdba@yuanzjdm8 ~]$ disql SYSDBA/SYSDBA123
                                open fail! path:./libcrypto.so


                                服务器[LOCALHOST:5236]:处于普通打开状态
                                登录使用时间 : 2.117(ms)
                                disql V8
                                SQL> select arch_mode from v$database;


                                行号 ARCH_MODE
                                ---------- ---------
                                1 Y


                                已用时间: 0.512(毫秒). 执行号:6901.
                                SQL>
                                复制

                                2.开启逻辑日志

                                  已用时间: 0.512(毫秒). 执行号:6901.
                                  SQL> SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';


                                  行号 PARA_VALUE
                                  ---------- ----------
                                  1 0
                                  已用时间: 3.253(毫秒). 执行号:6902.
                                  SQL> sp_set_para_value(1,'RLOG_APPEND_LOGIC',1);
                                  DMSQL 过程已成功完成
                                  已用时间: 5.952(毫秒). 执行号:6903.
                                  SQL> SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';


                                  行号 PARA_VALUE
                                  ---------- ----------
                                  1 1
                                  已用时间: 2.388(毫秒). 执行号:6904.
                                  复制

                                  3.创建c##dmhs用户和scott用户,并授权dba角色

                                    SQL> create user scott identified by  tiger1234 default tablespace  main default index tablespace main;
                                    操作已执行
                                    已用时间: 3.044(毫秒). 执行号:502.
                                    SQL> grant dba to scott;
                                    操作已执行
                                    已用时间: 1.986(毫秒). 执行号:503.
                                    复制

                                    四、安装web客户端

                                    1.上传dmhs安装软件到/root/soft目录(略)

                                    2.安装DMHS软件(只安装web客户端)

                                      [root@yuanzjdm8 soft]# chmod 775 dmhs_V3.1.3_dm8_rev95241_rh6_64_veri_20201119.bin 
                                      [root@yuanzjdm8 soft]# ./dmhs_V3.1.3_dm8_rev95241_rh6_64_veri_20201119.bin -i
                                      Extract install files.........
                                      1.英文(English)
                                      2.简体中文(简体中文)
                                      请选择安装语言[2.简体中文(简体中文)]:2
                                      /tmp/DMHSInstall/install.log
                                      1.免费试用达梦数据实时同步
                                      2.使用已申请的Key文件
                                      验证许可证文件[1.免费试用达梦数据实时同步]:2
                                      Key文件路径:/root/soft/dmhs.key
                                      Key文件限制信息如下:
                                      有效日期:2022-03-25
                                      用户名称:达梦公司产品试用
                                      服务器颁布类型:试用版
                                      发布类型:企业版
                                      Key类型:企业版
                                      授权用户数:无限制
                                      并发连接数:无限制
                                      1.精简版
                                      2.完整版(web客户端)
                                      3.自定义
                                      安装类型[1.精简版]:3
                                      1.实时同步软件服务器
                                      2.远程部署工具
                                      3.实时同步软件客户端
                                      4.内置数据库
                                      5.ODBC驱动
                                      6.实时同步软件配置助手
                                      7.手册
                                      输入选择安装组件的序号,以','分隔:3,4
                                      1.实时同步软件客户端
                                      2.内置数据库
                                      所需磁盘空间:611 MB
                                      安装目录: [/opt/dmhs]
                                      正在安装
                                      default start ... default finished.
                                      webmanager start ... webmanager finished.
                                      db start ... db finished.
                                      doc start ... doc finished.
                                      postinstall start ... postinstall finished.
                                      正在创建快捷方式
                                      安装成功
                                      内置数据库服务
                                      1.自动
                                      2.手动
                                      启动方式:[2.手动]1
                                      正在创建内置数据库服务
                                      初始化内置数据库
                                      web服务
                                      1.自动
                                      2.手动
                                      启动方式:[2.手动]1
                                      正在创建web服务
                                      正在启动服务 DmServiceHSDB
                                      正在启动服务 DmhsWebService
                                      达梦数据实时同步 V4.0 安装完成
                                      更多安装信息,请查看安装日志文件:
                                      /opt/dmhs/log/install.log
                                      复制

                                      3.升级HSEM内置库为DM8数据库

                                        [root@yuanzjdm8 db]# mv bin bin_bak
                                        [root@yuanzjdm8 db]# mv data data_bak
                                        [root@yuanzjdm8 db]# mkdir ./{bin,data}
                                        [root@yuanzjdm8 db]# ls
                                        bin bin_bak data data_bak log
                                        [root@yuanzjdm8 db]# cp -r opt/dmdbms/bin/* ./bin/
                                        [root@yuanzjdm8 db]# cp bin_bak/Dm* ../bin
                                        cp:是否覆盖"../bin/DmAuditMonitorService"?n
                                        cp:是否覆盖"../bin/DmInstanceMonitorService"?n
                                        cp:是否覆盖"../bin/DmJobMonitorService"?n
                                        复制

                                        4.初始化HSEM内置数据库

                                          [root@yuanzjdm8 bin]# ./dminit path=/opt/dmhs/db/data PAGE_SIZE=16 INSTANCE_NAME=HSDB PORT_NUM=15236
                                          initdb V8
                                          db version: 0x7000c
                                          file dm.key not found, use default license!
                                          License will expire on 2022-03-26
                                          Normal of FAST
                                          Normal of DEFAULT
                                          Normal of RECYCLE
                                          Normal of KEEP
                                          Normal of ROLL


                                           log file path: /opt/dmhs/db/data/DAMENG/DAMENG01.log
                                          log file path: opt/dmhs/db/data/DAMENG/DAMENG02.log


                                          write to dir [/opt/dmhs/db/data/DAMENG].
                                          create dm database success. 2021-05-16 07:02:03
                                          复制


                                          5.初始化hsem数据库(数据库初始化脚本在manager.war里面,解压即可获取)

                                          6.升级web

                                          1.上传升级包manager.war到/opt/dmhs/web/webapps目录下(过程略)

                                          2.开启web客户端

                                            [root@yuanzjdm8 bin]# pwd
                                            /opt/dmhs/web/bin
                                            [root@yuanzjdm8 bin]# ./DmhsWebService start
                                            Using CATALINA_BASE: opt/dmhs/web
                                            Using CATALINA_HOME: opt/dmhs/web
                                            Using CATALINA_TMPDIR: opt/dmhs/web/temp
                                            Using JRE_HOME: opt/dmhs/jdk/jre
                                            Using CLASSPATH: opt/dmhs/web/bin/bootstrap.jar:/opt/dmhs/web/bin/tomcat-juli.jar
                                            Using CATALINA_PID: opt/dmhs/web/bin/pids/DmhsWebService.pid
                                            Tomcat started.
                                            复制

                                            3.登录管理端

                                            在浏览器中输入:http://192.168.3.92:8080/manager/,账户名:admin,密码:888888

                                            登录进去之后,如下图所示:

                                            五、安装目的端HS

                                            1.上传最新版本的dmhs安装包到/root/soft目录

                                            2.解压dmhs安装包到规划的目录下:/opt/dmhs_orclpdb1

                                              [root@yuanzjdm8 soft]# unzip dmhs_V4.1.1_dm8_rev99426_beta_veri_20210506.zip -d opt/dmhs_orclpdb1/
                                              [root@yuanzjdm8 soft]# cd opt/dmhs_orclpdb1/
                                              [root@yuanzjdm8 dmhs_orclpdb1]# ls
                                              dmhs_V4.1.1_dm8_rev99426_beta_veri_20210506
                                              [root@yuanzjdm8 dmhs_orclpdb1]# mv dmhs_V4.1.1_dm8_rev99426_beta_veri_20210506/* .
                                              [root@yuanzjdm8 dmhs_orclpdb1]# ls
                                              debug dmhs_V4.1.1_dm8_rev99426_beta_veri_20210506
                                              [root@yuanzjdm8 dmhs_orclpdb1]# rm -rf dmhs_V4.1.1_dm8_rev99426_beta_veri_20210506/
                                              [root@yuanzjdm8 dmhs_orclpdb1]# mv debug/ bin
                                              [root@yuanzjdm8 dmhs_orclpdb1]# ls
                                              bin
                                              [root@yuanzjdm8 dmhs_orclpdb1]# mv bin/hs_agent/ .
                                              [root@yuanzjdm8 dmhs_orclpdb1]# pwd
                                              /opt/dmhs_orclpdb1
                                              [root@yuanzjdm8 dmhs_orclpdb1]# ll
                                              总用量 8
                                              drwxr-xr-x 4 root root 4096 5月 16 07:21 bin
                                              drwxr-xr-x 2 root root 4096 5月  15 18:09 hs_agent
                                              复制

                                              注意:

                                              也可以先创建/opt/dmhs_orclpdb1目录,然后在本地解压dmhs安装包,上传文件到此目录下

                                              3. 升级dmhs

                                                  用新的升级包解压出来的文件,替换/opt/dmhs/对应的目录下的文件即可(过程略)

                                              4.编辑环境并使之重新生效

                                                [root@yuanzjdm8 ~]# cat .bash_profile 
                                                # .bash_profile


                                                # Get the aliases and functions
                                                if [ -f ~/.bashrc ]; then
                                                . ~/.bashrc
                                                fi


                                                # User specific environment and startup programs


                                                PATH=$PATH:$HOME/bin


                                                export PATH
                                                export DMHS_HOME=/opt/dmhs
                                                export LD_LIBRARY_PATH=/opt/dmhs/bin:/opt/dmhs/db/bin:/opt/dmhs_orclpdb1/:/opt/dmhs_orclpdb1/hs_agent:$LD_LIBRARY_PATH
                                                [root@yuanzjdm8 ~]# export LD_LIBRARY_PATH=""
                                                [root@yuanzjdm8 ~]# . .bash_profile
                                                复制

                                                5.编辑dmhs_agent.xml文件

                                                  [root@yuanzjdm8 hs_agent]# pwd
                                                  /opt/dmhs_orclpdb1/hs_agent


                                                  [root@yuanzjdm8 hs_agent]# cat dmhs_agent.xml


                                                  <?xml version="1.0" encoding="GB2312"?>
                                                  <hs_agent>
                                                  <name>HsAgent</name>
                                                  <server_ip>192.168.3.92</server_ip>
                                                  <lsn_port>5456</lsn_port>
                                                  <status_interval>3</status_interval>
                                                  <status_server>192.168.3.92</status_server>
                                                  <status_port>15236</status_port>
                                                  <status_user>SYSDBA</status_user>
                                                  <status_pwd>SYSDBA</status_pwd>
                                                  <dmhs_support>1</dmhs_support>
                                                  <veri_support>1</veri_support>
                                                  <lang>ch</lang>
                                                  </hs_agent>
                                                  复制

                                                  注意:其中<server_ip>是本机ip,<status_server>是HSEM内置数据库ip

                                                  6. 启动hs_agent,编辑启动脚本

                                                    [root@yuanzjdm8 hs_agent]# cp TemplateDmhsAgentService DmhsAgentService 
                                                    [root@yuanzjdm8 hs_agent]# vim DmhsAgentService 
                                                    复制


                                                    注意:

                                                      其中当前路径使用$PWD替换,HS_NLS_LANG=“源端Oracle数据库字符集”

                                                    启动脚本

                                                      [root@yuanzjdm8 hs_agent]# chmod -R 775 opt/dmhs_orclpdb1/
                                                      [root@yuanzjdm8 hs_agent]# ./DmhsAgentService start
                                                      Starting DmhsAgentService: [ FAILED ]
                                                      /opt/dmhs_orclpdb1/hs_agent/dmhs_agent: error while loading shared libraries: libdmoci.so: cannot open shared object file: No such file or directory
                                                      复制

                                                      注意:上传dmoci到/opt/dmhs/db/bin目录下,此时有坑,dmoci可以放置到任何目录下,不能把数据库的库文件放到hs里面,只把dmoci的放到数据库里面,如果本机装装数据库了,扔数据库bin目录下,dmhs环境指向一下,如果没有装的话,就扔hs内置数据库bin目录下。

                                                        [root@yuanzjdm8 bin]# pwd
                                                        /opt/dmhs/db/bin
                                                        [root@yuanzjdm8 bin]# ./DmServiceHSDB restart
                                                        Stopping DmServiceHSDB: [ OK ]
                                                        Starting DmServiceHSDB: [ OK ]
                                                        [root@yuanzjdm8 bin]# cd opt/dmhs_orclpdb1/hs_agent/
                                                        [root@yuanzjdm8 hs_agent]# ./DmhsAgentService start
                                                        复制

                                                        7.此时观察浏览器,会发现目的端agent注册到平台

                                                        六、安装源端hs

                                                        1.   上传最新版本的dmhs安装包到/root/soft目录

                                                        2.    解压dmhs安装包

                                                          [oracle@yuanzj19c:/home/oracle/soft]$ mkdir u01/app/dmhs_orclpdb1
                                                          [oracle@yuanzj19c:/home/oracle/soft]$ unzip dmhs_V4.1.1_oracle12c_rev99426_beta_veri_20210506.zip -d u01/app/dmhs_orclpdb1/
                                                          [oracle@yuanzj19c:/home/oracle/soft]$ cd u01/app/dmhs_orclpdb1/
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ ls
                                                          dmhs_V4.1.1_oracle12c_rev99426_beta_veri_20210506
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ mv dmhs_V4.1.1_oracle12c_rev99426_beta_veri_20210506/debug/ .
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ ls
                                                          debug dmhs_V4.1.1_oracle12c_rev99426_beta_veri_20210506
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ rm -rf dmhs_V4.1.1_oracle12c_rev99426_beta_veri_20210506/
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ mv debug/ bin
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ ls
                                                          bin
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ mv bin/hs_agent/ .
                                                          [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ ls
                                                          bin  hs_agent
                                                          复制

                                                          3. 上传dmoci到/u01/app/dmhs_orclpdb1/hs_agent目录下

                                                          过程略

                                                          4. 编辑oracle用户环境变量,其中主要定义DMHS_HOME的环境变量,具体如下

                                                            # .bash_profile


                                                            # Get the aliases and functions
                                                            if [ -f ~/.bashrc ]; then
                                                            . ~/.bashrc
                                                            fi


                                                            # User specific environment and startup programs


                                                            PATH=$PATH:$HOME/.local/bin:$HOME/bin


                                                            export PATH
                                                            #Use for oracle12c install added by jt&&yzj
                                                            PS1=[`whoami`@`hostname`:'$PWD]$ '; export PS1
                                                            TMP=/tmp; export TMP
                                                            TMPDIR=$TMP; export TMPDIR


                                                            ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
                                                            ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1; export ORACLE_HOME
                                                            ORACLE_SID=orcl; export ORACLE_SID
                                                            ORACLE_TERM=xterm; export ORACLE_TERM


                                                            DMHS_HOME=/u01/app/dmhs_orclpdb1


                                                            PATH=/usr/sbin:/usr/local/bin:$PATH:$ORACLE_HOME/bin:$PATH; export PATH
                                                            LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$DMHS_HOME/bin:$DMHS_HOME/hs_agent:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
                                                            CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH


                                                            NLS_LANG=AMERICAN_AMERICA.AL32UTF8; export NLS_LANG
                                                            alias sqlplus='rlwrap sqlplus'
                                                            alias rman='rlwrap rman'
                                                            复制

                                                            5.编辑dmhs_agent.xml文件

                                                              [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/hs_agent]$ pwd
                                                              /u01/app/dmhs_orclpdb1/hs_agent
                                                              [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/hs_agent]$ cat dmhs_agent.xml
                                                              <?xml version="1.0" encoding="GB2312"?>
                                                              <hs_agent>
                                                              <name>HsAgent</name>
                                                              <server_ip>192.168.3.12</server_ip>
                                                              <lsn_port>5456</lsn_port>
                                                              <status_interval>3</status_interval>
                                                              <status_server>192.168.3.92</status_server>
                                                              <status_port>15236</status_port>
                                                              <status_user>SYSDBA</status_user>
                                                              <status_pwd>SYSDBA</status_pwd>
                                                              <dmhs_support>1</dmhs_support>
                                                              <veri_support>1</veri_support>
                                                              <lang>ch</lang>
                                                              </hs_agent>
                                                              复制

                                                              6.启动dmhs_agent,编辑脚本,脚本内容和目的端脚本内容一致

                                                                [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ chmod -R 775 ../dmhs_orclpdb1/
                                                                [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ ls
                                                                bin hs_agent
                                                                [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1]$ cd hs_agent/
                                                                [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/hs_agent]$ cp TemplateDmhsAgentService DmhsAgentService
                                                                [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/hs_agent]$ vim DmhsAgentService
                                                                复制


                                                                启动脚本

                                                                  [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/hs_agent]$ ./DmhsAgentService start
                                                                  Starting DmhsAgentService:                                 [ OK ]
                                                                  复制


                                                                  7. 此时观察浏览器,会发现源端agent注册到平台

                                                                  其中192.168.3.12的HsAgent是失败的,不管怎么刷新都是失败的状态,看日志

                                                                    [root@yuanzj19c hs_agent]# tail -f log/dmhs_agent_202105.log 
                                                                    2021-05-16 10:44:54 HS_AGENT[INFO]: 正在加载监控数据库接口模块...
                                                                    2021-05-16 10:44:54 HS_AGENT[INFO]: 注册主机(192.168.3.92:15236)数据对比工具VERI远程控制工具.
                                                                    2021-05-16 10:44:54 HS_AGENT[ERROR]: cannot bind port: 5456, errno: 98.
                                                                    2021-05-16 10:44:54 PUB[ERROR]: can not create socket or bind port.


                                                                    2021-05-16 10:45:28 HS_AGENT[INFO]: DMHS AGENT开启,版本号:V4.1.1-Build(2021.05.06-99426trunc)_D64
                                                                    2021-05-16 10:45:28 HS_AGENT[INFO]: 正在加载监控数据库接口模块...
                                                                    2021-05-16 10:45:28 HS_AGENT[INFO]: 注册主机(192.168.3.92:15236)数据对比工具VERI远程控制工具.
                                                                    2021-05-16 10:45:28 HS_AGENT[INFO]: DMHS AGENT管理监听端口:5456
                                                                    2021-05-16 10:45:28 HS_AGENT[INFO]: DMHS AGENT IS READY.
                                                                    复制

                                                                    说明端口未开,可以选择关闭防火墙

                                                                    七、配置DMHS链路

                                                                         1.配置目的端服务

                                                                              1.鼠标右键HsAgent(192.168.3.92),点击添加HS实例,按如下填写

                                                                               其中实例名是:数据库名_exec

                                                                               2.点击确定

                                                                           2.配置源端服务

                                                                              1.鼠标右键HsAgent(192.168.3.12),点击添加HS实例,按如下填写:


                                                                               其中实例名是:数据库名_cpt,然后点击确定

                                                                               2.右键点击cpt,修改配置并保存:

                                                                    其中:

                                                                    过滤规则为:ORCLPDB1.SCOTT.*

                                                                    映射规则为:ORCLPDB1.SCOTT.*==SCOTT.*

                                                                    3.启动目的端实例服务,可以选择前台启动,也可以选择后台脚本服务名启动

                                                                    1.目的端选择前台启动,右键HS-orclpdb1_exec(5345),点击启动

                                                                    2.启动exec执行模块

                                                                    查看日志:

                                                                      [root@yuanzjdm8 orclpdb1_exec]# pwd
                                                                      /opt/dmhs_orclpdb1/INST_HS/orclpdb1_exec
                                                                      [root@yuanzjdm8 orclpdb1_exec]# tail log/dmhs_202105.log
                                                                      2021-05-16 11:06:44 EXE[INFO]: CONNECT: SERVER=192.168.3.92;DRIVER=DM8 ODBC DRIVER;UID=c##dmhs;PWD=******;TCP_PORT=5236;
                                                                      2021-05-16 11:06:44 EXE[WARN]: create table: DMHS_TRXID_TABLE
                                                                      2021-05-16 11:06:44 EXE[WARN]: create table: DMHS_DTYPE_MAP
                                                                      2021-05-16 11:06:45 EXE[WARN]: create table: DMHS_ERROR_TSK_TABLE
                                                                      2021-05-16 11:06:45 EXE[WARN]: create table: DMHS_TABLE_SEQID
                                                                      2021-05-16 11:06:45 EXE[WARN]: create table: DMHS_CHECKPOINT_TABLE
                                                                      2021-05-16 11:06:45 EXE[WARN]: create table: DMHS_ERROR_TABLE
                                                                      2021-05-16 11:06:45 EXE[INFO]: EXEC_V3.1.2_D64
                                                                      2021-05-16 11:06:45 REV[INFO]: exec server data receiving thread created successfully, listening data port : 5346
                                                                      2021-05-16 11:06:45 MGR[INFO]: connection from 192.168.3.92 has broken!
                                                                      复制

                                                                      4.启动源端实例服务,可以选择前台启动,也可以选择后台脚本服务名启动

                                                                      1.源端选择后台启动

                                                                      2.服务正常启动,如果没有连接到c##dmhs用户,选择配置odbc,使dmhs可以正常连接数据库

                                                                        [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/INST_HS/orclpdb1_cpt]$ ./DmhsServiceorclpdb1_cpt start
                                                                        Starting DmhsServiceorclpdb1_cpt: [ OK ]
                                                                        [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/INST_HS/orclpdb1_cpt]$ tail -f log/dmhs_202105.log
                                                                        2021-05-16 11:13:23 MGR[INFO]: DMHS start up, current version: V4.1.1-Build(2021.05.06-99426trunc)_D64(Enterprise Edition)
                                                                        2021-05-16 11:13:23 MGR[WARN]: License will expire on 2022-03-25
                                                                        2021-05-16 11:13:23 MGR[INFO]: load config file successful,site no:5, manager port :5345, poll interval:3
                                                                        2021-05-16 11:13:24 MGR[INFO]: manager listening  port:5345
                                                                        复制

                                                                        3.测试连通性

                                                                          [root@yuanzj19c hs_agent]# su - oracle
                                                                          上一次登录:日 5月 16 11:13:58 CST 2021pts/1 上
                                                                          [oracle@yuanzj19c:/home/oracle]$ isql oracle c##dmhs dmhs123
                                                                          +---------------------------------------+
                                                                          | Connected! |
                                                                          | |
                                                                          | sql-statement |
                                                                          | help [tablename] |
                                                                          | quit |
                                                                          | |
                                                                          +---------------------------------------+
                                                                          SQL>
                                                                          复制

                                                                          4.重启源端脚本

                                                                            [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/INST_HS/orclpdb1_cpt]$ ./DmhsService
                                                                            Stopping DmhsServiceorclpdb1_cpt: [ OK ]
                                                                            Starting DmhsServiceorclpdb1_cpt:                          [ OK ]
                                                                            复制

                                                                            5.查看日志

                                                                              2021-05-16 11:13:23 MGR[INFO]: DMHS start up, current version: V4.1.1-Build(2021.05.06-99426trunc)_D64(Enterprise Edition)
                                                                              2021-05-16 11:13:23 MGR[WARN]: License will expire on 2022-03-25
                                                                              2021-05-16 11:13:23 MGR[INFO]: load config file successful,site no:5, manager port :5345, poll interval:3
                                                                              2021-05-16 11:13:24 MGR[INFO]: manager listening port:5345
                                                                              2021-05-16 11:13:36 MGR[INFO]: monitor 192.168.3.12 's login
                                                                              2021-05-16 11:13:36 MGR[INFO]: monitor 192.168.3.12 's login
                                                                              2021-05-16 11:13:36 MGR[INFO]: monitor 192.168.3.12 's login
                                                                              2021-05-16 11:21:50 MGR[INFO]: DMHS server received exit, now is stopping!
                                                                              2021-05-16 11:22:05 MGR[INFO]: DMHS start up, current version: V4.1.1-Build(2021.05.06-99426trunc)_D64(Enterprise Edition)
                                                                              2021-05-16 11:22:05 MGR[WARN]: License will expire on 2022-03-25
                                                                              2021-05-16 11:22:05 MGR[INFO]: load config file successful,site no:5, manager port :5345, poll interval:3
                                                                              2021-05-16 11:22:05 MGR[INFO]: manager listening port:5345
                                                                              2021-05-16 11:22:20 MGR[INFO]: connection from 192.168.3.92 has broken!
                                                                              2021-05-16 11:22:21 MGR[INFO]: monitor 192.168.3.12 's login
                                                                              2021-05-16 11:22:36 MGR[INFO]: monitor 192.168.3.12 's login
                                                                              2021-05-16 11:22:36 MGR[INFO]: monitor  192.168.3.12 's login
                                                                              复制

                                                                              6.加载数据字典

                                                                                 [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/INST_HS/orclpdb1_cpt]$ ./dmhs_console 
                                                                                DMHS console tool: V4.1.1-Build(2021.05.06-99426trunc)_D64
                                                                                Copyright (c) 2020, DMHS. All rights reserved.
                                                                                Type ? or "help" for help, type "quit" to quit console.


                                                                                Connected to DMHS: 127.0.0.1:5345
                                                                                execute success
                                                                                Dameng HS Server V4.1.1-Build(2021.05.06-99426trunc)_D64


                                                                                DMHS> clear exec lsn
                                                                                execute success


                                                                                DMHS> load 0 "sch.name='SCOTT'" clear|PDB|"ORCLPDB1“|dict
                                                                                CSL[WARN]: Detect the CLEAR mask, the mask will empty all dict file, please confirm whether to continue?(Y/N)
                                                                                Y
                                                                                copy mask is : |CLEAR|REP
                                                                                execute finish, please look up log file of exec module to check data load result


                                                                                DMHS>
                                                                                DMHS> load 0 "sch.name='SCOTT'" drop|create|insert|alter|PDB|"ORCLPDB1"|dict
                                                                                CSL[WARN]: Detect the DROP mask, this mask will drop target table, confirm to continue?(Y/N)
                                                                                Y
                                                                                copy mask is : |CREATE|DROP|INSERT|ALTER|TABLE|DICT|OBJID|REP
                                                                                execute finish, please look up log file of exec module to check data load result


                                                                                DMHS>
                                                                                DMHS> start cpt
                                                                                execute success


                                                                                复制

                                                                                八、测试数据同步和DDL操作

                                                                                1.查看目的端数据

                                                                                2.源端创建新表

                                                                                3.目的端验证新表是否存在



                                                                                4.源端插入数据

                                                                                5.目的端查看数据

                                                                                6.查看日志如下,查看目的端日志

                                                                                九、配置数据对比链路

                                                                                1.查看链路状态

                                                                                2.点击同步链路监控三角形

                                                                                3.点击数据对比

                                                                                4.出现如下窗口

                                                                                5.出现如下报错


                                                                                需要我们去后台修改脚本,启动Agent代理

                                                                                6.重启Hsagent

                                                                                  [oracle@yuanzj19c:/u01/app/dmhs_orclpdb1/hs_agent]$ ./DmhsAgentService restart
                                                                                  Stopping DmhsAgentService: [ OK ]
                                                                                  Starting DmhsAgentService:                                 [ OK ]
                                                                                  复制

                                                                                  7.继续点击数据对比

                                                                                  注意:

                                                                                  1.如果选择源端部署Veri,源端需要部署dm客户端,用来连接目的端达梦数据库,

                                                                                  2.如果在目的端部署Veri,目的端部署oracle客户端,用来连接oracle数据库

                                                                                  A.假设在源端部署Veri客户端

                                                                                  1.选择在源端部署Veri

                                                                                  出现如下错误


                                                                                  2.修改源端oracle协议

                                                                                    ①在oracle 12C服务器端$oracle_home/network/admin目录下 新建文件sqlnet.ora
                                                                                    SQLNET.ALLOWED_LOGON_VERSION_SERVER=11;
                                                                                    SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11;
                                                                                    ②在服务器端,管理员身份登录,修改密码
                                                                                    sqlplus as sysdba
                                                                                    alter user 服务名 identified by 密码;
                                                                                    alter user c##dmhs identified by dmhs123;
                                                                                    注意:配置完服务器端的sqlnet.ora文件后,务必要重新修改密码,否则仍登录失败
                                                                                    复制

                                                                                    3.  选择要对比的对象scott,点击下一步

                                                                                    4.勾选对话框,点击下一步

                                                                                    5.选择不获取原始数据点击执行

                                                                                    6.然后出现如下报错信息

                                                                                      2021-05-16 15:46:50 VERI[INFO]: veri odbc connect str: DBQ=192.168.3.12:1521/orclpdb1;DRIVER={Oracle in OraDB12home1};UID=c##dmhs;
                                                                                      2021-05-16 15:46:50 VERI[ERROR]: state:01000 errmsg:[unixODBC][Driver Manager]Can't open lib 'Oracle in OraDB12home1' : file not found
                                                                                      2021-05-16 15:46:50 VERI[ERROR]: connect to database fail: DBQ=192.168.3.12:1521/orclpdb1;DRIVER={Oracle in OraDB12home1};UID=c##dmhs;, try again after 30 second.
                                                                                      复制

                                                                                              这就是没有在服务器上配置odbc,dmhs连接不到oracle数据库,因为是oracle数据库服务器,已经存在odbc,直接配置odbc即可。

                                                                                      7.配置ODBC

                                                                                        [root@yuanzj19c odbc]# cat etc/odbc.ini 
                                                                                        [ORACLE]
                                                                                        Description = ORACLE ODBC DSN
                                                                                        Driver = Oracle in OraDB12home1
                                                                                        SERVER = 127.0.0.1
                                                                                        PORT = 1521
                                                                                        ServerName = orcl


                                                                                        [root@yuanzj19c odbc]# cat etc/odbcinst.ini
                                                                                        # Example driver definitions
                                                                                        # Example driver definitions
                                                                                        [Oracle in OraDB12home1]
                                                                                        Description = ODBC for Oracle
                                                                                        Driver = u01/app/oracle/product/19.0.0/dbhome_1/lib/libsqora.so.19.1
                                                                                        Threading = 0
                                                                                        复制

                                                                                        8.测试连通性

                                                                                        9.继续观察报错日志,出现如下报错

                                                                                          2021-05-16 15:54:50 VERI[INFO]: veri odbc connect str: SERVER=192.168.3.92;DRIVER=DM8 ODBC DRIVER;UID=c##dmhs;
                                                                                          2021-05-16 15:54:50 VERI[ERROR]: state:01000 errmsg:[unixODBC][Driver Manager]Can't open lib 'DM8 ODBC DRIVER' : file not found
                                                                                          2021-05-16 15:54:50 VERI[ERROR]: connect to database fail: SERVER=192.168.3.92;DRIVER=DM8 ODBC DRIVER;UID=c##dmhs;, try again after 30 second.
                                                                                          复制

                                                                                          10.安装达梦数据客户端

                                                                                          注意:

                                                                                               需要配置odbc连接达梦,此时需要安装达梦数据库客户端,然后配置odbc,安装达梦客户端(过程略)

                                                                                          11.配置odbc驱动

                                                                                            cp /opt/dmdbms/drivers/odbc/* /u01/app/dmhs_orclpdb1/hs_agent/
                                                                                            复制

                                                                                            修改oracle环境变量增加如下参数

                                                                                              export DM_HOME=/opt/dmdbms
                                                                                              export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin:$DM_HOME/tool
                                                                                              export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
                                                                                              复制

                                                                                              odbc配置信息如下:

                                                                                                [root@yuanzj19c hs_agent]# cat etc/odbc.ini 
                                                                                                [ORACLE]
                                                                                                Description = ORACLE ODBC DSN
                                                                                                Driver = Oracle in OraDB12home1
                                                                                                SERVER = 127.0.0.1
                                                                                                PORT = 1521
                                                                                                ServerName = orcl


                                                                                                [DM8]
                                                                                                Description = DM8 ODBC DSN
                                                                                                Driver = DM8 ODBC DRIVER
                                                                                                SERVER = 192.168.3.92
                                                                                                TCP_PORT = 5236
                                                                                                [root@yuanzj19c hs_agent]# cat etc/odbcinst.ini
                                                                                                # Example driver definitions
                                                                                                # Example driver definitions
                                                                                                [Oracle in OraDB12home1]
                                                                                                Description = ODBC for Oracle
                                                                                                Driver = u01/app/oracle/product/19.0.0/dbhome_1/lib/libsqora.so.19.1
                                                                                                Threading = 0


                                                                                                [DM8 ODBC DRIVER]
                                                                                                Description = ODBC for DM8
                                                                                                Driver = u01/app/dmhs_orclpdb1/hs_agent/libdodbc.so
                                                                                                Threading = 0
                                                                                                复制

                                                                                                12.再次执行数据对比

                                                                                                B.假设在目的端部署Veri客户端

                                                                                                1.选择目的端部署Veri

                                                                                                出现如下报错:

                                                                                                2.修改源端oracle协议

                                                                                                  ①在oracle 12C服务器端$oracle_home/network/admin目录下 新建文件sqlnet.ora
                                                                                                  SQLNET.ALLOWED_LOGON_VERSION_SERVER=11;
                                                                                                  SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11;
                                                                                                  ②在服务器端,管理员身份登录,修改密码
                                                                                                  sqlplus as sysdba
                                                                                                  alter user 服务名 identified by 密码;
                                                                                                  alter user c##dmhs identified by dmhs123;
                                                                                                  注意:配置完服务器端的sqlnet.ora文件后,务必要重新修改密码,否则仍登录失败
                                                                                                  复制

                                                                                                  3.选择要对比的对象scott,点击下一步

                                                                                                  4.勾选对话框,点击下一步

                                                                                                  5.选择不获取原始数据点击执行

                                                                                                  出现如下报错:

                                                                                                  是因为没有连接到源端数据库,所以DMHS客户端卡着了,不会进行下一步,我们就需要配置oracle客户端和odbc连接oracle数据库

                                                                                                  6.安装oracle客户端,并配置odbc

                                                                                                  a.在oracle官网下载如下软件

                                                                                                    oracle-instantclient19.11-odbc-19.11.0.0.0-1.x86_64.rpm
                                                                                                    oracle-instantclient19.11-basic-19.11.0.0.0-1.x86_64.rpm
                                                                                                    复制

                                                                                                    b.在服务器上安装oracle客户端

                                                                                                      [root@yuanzjdm8 soft]# yum -y install oracle-instantclient19.11-basic-19.11.0.0.0-1.x86_64.rpm oracle-instantclient19.11-odbc-19.11.0.0.0-1.x86_64.rpm 
                                                                                                      已加载插件:ulninfo
                                                                                                      正在检查 oracle-instantclient19.11-basic-19.11.0.0.0-1.x86_64.rpm: oracle-instantclient19.11-basic-19.11.0.0.0-1.x86_64
                                                                                                      oracle-instantclient19.11-basic-19.11.0.0.0-1.x86_64.rpm 将被安装
                                                                                                      正在检查 oracle-instantclient19.11-odbc-19.11.0.0.0-1.x86_64.rpm: oracle-instantclient19.11-odbc-19.11.0.0.0-1.x86_64
                                                                                                      oracle-instantclient19.11-odbc-19.11.0.0.0-1.x86_64.rpm 将被安装
                                                                                                      正在解决依赖关系
                                                                                                      --> 正在检查事务
                                                                                                      ---> 软件包 oracle-instantclient19.11-basic.x86_64.0.19.11.0.0.0-1 将被 安装
                                                                                                      ---> 软件包 oracle-instantclient19.11-odbc.x86_64.0.19.11.0.0.0-1 将被 安装


                                                                                                      ………………….


                                                                                                      已安装:
                                                                                                      oracle-instantclient19.11-basic.x86_64 0:19.11.0.0.0-1
                                                                                                        oracle-instantclient19.11-odbc.x86_64 0:19.11.0.0.0-1 
                                                                                                      复制

                                                                                                      c.配置tnsnames.ora文件

                                                                                                        [root@yuanzjdm8 admin]# pwd
                                                                                                        /usr/lib/oracle/19.11/client64/lib/network/admin
                                                                                                        [root@yuanzjdm8 admin]# cat tnsnames.ora
                                                                                                        ORCL =
                                                                                                        (DESCRIPTION =
                                                                                                        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.12)(PORT = 1521))
                                                                                                        (CONNECT_DATA =
                                                                                                        (SERVER = DEDICATED)
                                                                                                        (SERVICE_NAME = orcl)
                                                                                                        )
                                                                                                        )




                                                                                                        ORCLPDB1 =
                                                                                                        (DESCRIPTION =
                                                                                                        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.12)(PORT = 1521))
                                                                                                        (CONNECT_DATA =
                                                                                                        (SERVER = DEDICATED)
                                                                                                        (SERVICE_NAME = orclpdb1)
                                                                                                        )
                                                                                                          )
                                                                                                        复制

                                                                                                        d.安装配置odbc客户端

                                                                                                          [root@yuanzjdm8 lib]# yum -y install unixODBC
                                                                                                          已加载插件:ulninfo
                                                                                                          OS-YUM | 3.6 kB 00:00:00
                                                                                                          正在解决依赖关系
                                                                                                          --> 正在检查事务
                                                                                                          ---> 软件包 unixODBC.x86_64.0.2.3.1-14.0.1.el7 将被 安装
                                                                                                          --> 解决依赖关系完成


                                                                                                          依赖关系解决




                                                                                                          ………………………….




                                                                                                          已安装:
                                                                                                          unixODBC.x86_64 0:2.3.1-14.0.1.el7


                                                                                                          完毕!
                                                                                                          复制

                                                                                                          e.配置odbc客户端

                                                                                                            [root@yuanzjdm8 ~]# cat /etc/odbc.ini 
                                                                                                            [ORACLE]
                                                                                                            Description = ORACLE ODBC DSN
                                                                                                            Driver = Oracle in OraDB12home1
                                                                                                            ServerName = orclpdb1
                                                                                                            [root@yuanzjdm8 ~]# cat /etc/odbcinst.ini
                                                                                                            # Example driver definitions


                                                                                                            [Oracle in OraDB12home1]
                                                                                                            Description = ODBC for Oracle
                                                                                                            Driver = /usr/lib/oracle/19.11/client64/lib/libsqora.so.19.1
                                                                                                            Threading = 0
                                                                                                            复制

                                                                                                            f.测试连通性

                                                                                                            7.浏览器有如下报错,继续解决报错:

                                                                                                              2021-05-16 14:44:53 VERI[ERROR]: state:01000 errmsg:[unixODBC][Driver Manager]Can't open lib 'DM8 ODBC DRIVER' : file not found
                                                                                                              2021-05-16 14:44:53 VERI[ERROR]: connect to database fail: SERVER=192.168.3.92;DRIVER=DM8 ODBC DRIVER;UID=c##dmhs;, try again after 30 second.
                                                                                                              2021-05-16 14:44:53 VERI[ERROR]: after 5 minutes, connect to database is still failure: SERVER=192.168.3.92;DRIVER=DM8 ODBC DRIVER;UID=c##dmhs;.
                                                                                                              2021-05-16 14:44:53 VERI[ERROR]: connect the database error
                                                                                                              2021-05-16 14:44:53 VERI[ERROR]: the jobfile has some error
                                                                                                              复制

                                                                                                              8. 配置odbc,使dmhs可以连接到目的端达梦数据库,配置如下所示

                                                                                                                [root@yuanzjdm8 ~]# cat /etc/odbc.ini 
                                                                                                                [ORACLE]
                                                                                                                Description = ORACLE ODBC DSN
                                                                                                                Driver = Oracle in OraDB12home1
                                                                                                                ServerName = orclpdb1


                                                                                                                [DM8]
                                                                                                                Description = DM8 ODBC DSN
                                                                                                                Driver = DM8 ODBC DRIVER
                                                                                                                SERVER = 192.168.3.92
                                                                                                                TCP_PORT = 5236
                                                                                                                [root@yuanzjdm8 ~]# cat /etc/odbcinst.ini
                                                                                                                # Example driver definitions


                                                                                                                [Oracle in OraDB12home1]
                                                                                                                Description = ODBC for Oracle
                                                                                                                Driver = /usr/lib/oracle/19.11/client64/lib/libsqora.so.19.1
                                                                                                                Threading = 0




                                                                                                                [DM8 ODBC DRIVER]
                                                                                                                Description = ODBC for DM8
                                                                                                                Driver = /opt/dmdbms/bin/libdodbc.so
                                                                                                                Threading = 0
                                                                                                                复制

                                                                                                                9.重新执行数据对比

                                                                                                                十、dmhs.hs配置文件参考

                                                                                                                1.源端

                                                                                                                  <?xml version="1.0" encoding="GB2312" standalone="no"?>
                                                                                                                  <dmhs>
                                                                                                                  <base>
                                                                                                                  <lang>en</lang>
                                                                                                                  <mgr_port>5345</mgr_port>
                                                                                                                  <name>orclpdb1_cpt</name>
                                                                                                                  <ckpt_interval>60</ckpt_interval>
                                                                                                                  <siteid>4</siteid>
                                                                                                                  <version>2.0</version>
                                                                                                                  </base>
                                                                                                                  <cpt>
                                                                                                                  <enable>1</enable>
                                                                                                                  <name>cpt</name>
                                                                                                                  <db_type>ORACLE12C</db_type>
                                                                                                                  <db_server>orcl</db_server>
                                                                                                                  <db_user>c##dmhs</db_user>
                                                                                                                  <db_pwd>dmhs123</db_pwd>
                                                                                                                  <db_port>1521</db_port>
                                                                                                                  <idle_time>300</idle_time>
                                                                                                                  <ddl_mask>OBJ:PTABLE:OP:DEFINE:PARTITION</ddl_mask>
                                                                                                                  <cpt_mask/>
                                                                                                                  <parse_thr>1</parse_thr>
                                                                                                                  <check_date>1</check_date>
                                                                                                                  <arch>
                                                                                                                  <clear_flag>0</clear_flag>
                                                                                                                  <clear_interval>600</clear_interval>
                                                                                                                  </arch>
                                                                                                                  <send>
                                                                                                                  <max_log_num>2000</max_log_num>
                                                                                                                  <ip>192.168.3.92</ip>
                                                                                                                  <mgr_port>5345</mgr_port>
                                                                                                                  <net_pack_size>256</net_pack_size>
                                                                                                                  <data_port>5346</data_port>
                                                                                                                  <timeout>0</timeout>
                                                                                                                  <filter>
                                                                                                                  <name_len>255</name_len>
                                                                                                                  <enable>
                                                                                                                  <item>ORCLPDB1.SCOTT.*</item>
                                                                                                                  </enable>
                                                                                                                  </filter>
                                                                                                                  <map>
                                                                                                                  <item>ORCLPDB1.SCOTT.*==SCOTT.*</item>
                                                                                                                  </map>
                                                                                                                  </send>
                                                                                                                  <send_delay_second>0</send_delay_second>
                                                                                                                  <start_scn>0</start_scn>
                                                                                                                  <supplement_log>0</supplement_log>
                                                                                                                  <rec_heap_size>16</rec_heap_size>
                                                                                                                  <vpool_size>8</vpool_size>
                                                                                                                  <enable_mview>0</enable_mview>
                                                                                                                  <send_lst>2</send_lst>
                                                                                                                  </cpt>
                                                                                                                  </dmhs>


                                                                                                                  复制

                                                                                                                  2.目的端



                                                                                                                    <?xml version="1.0" encoding="GB2312" standalone="no"?>
                                                                                                                    <dmhs>
                                                                                                                    <base>
                                                                                                                    <lang>en</lang>
                                                                                                                    <mgr_port>5345</mgr_port>
                                                                                                                    <name>orclpdb1_exec</name>
                                                                                                                    <ckpt_interval>60</ckpt_interval>
                                                                                                                    <siteid>3</siteid>
                                                                                                                    <version>2.0</version>
                                                                                                                    </base>
                                                                                                                    <exec>
                                                                                                                    <recv>
                                                                                                                    <mgr_port>5345</mgr_port>
                                                                                                                    <data_port>5346</data_port>
                                                                                                                    </recv>
                                                                                                                    <enable>1</enable>
                                                                                                                    <name>exec</name>
                                                                                                                    <db_type>DM8</db_type>
                                                                                                                    <db_server>192.168.3.92</db_server>
                                                                                                                    <db_user>c##dmhs</db_user>
                                                                                                                    <db_pwd>dmhs12345</db_pwd>
                                                                                                                    <db_port>5236</db_port>
                                                                                                                    </exec>
                                                                                                                    </dmhs>


                                                                                                                    复制

                                                                                                                    十一、修改参数重启不生效

                                                                                                                    注意:修改配置文件之后,重启相应的服务之后,参数没有生效,可以去hsem数据库里面修改相应的参数

                                                                                                                    (慎用)

                                                                                                                    DMHS_SERVER

                                                                                                                    VERI_AGENT_CONFIG

                                                                                                                    VERI_CONFIG

                                                                                                                    VERI_DMJOB

                                                                                                                    VERI_JOB

                                                                                                                    这几个是相关参数的文件的表



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

                                                                                                                    评论

                                                                                                                    muggle
                                                                                                                    暂无图片
                                                                                                                    3年前
                                                                                                                    评论
                                                                                                                    暂无图片 0
                                                                                                                    大佬,哪里能获取到dmhs软件,求分享。
                                                                                                                    3年前
                                                                                                                    暂无图片 点赞
                                                                                                                    评论