达梦数据库异构逻辑实时复制软件 DMHS DM8到DM8测试

一,概述     

        达梦数据实时同步软件 (DMHS) 是达梦公司自主研发的并推出的新一代支持异构环境的高性能、高可 靠和高可扩展的数据库实时同步系统。DMHS是基于数据库逻辑层面的数据实时复制软件,所有源端,目标端操作系统平台,数据库都支持交叉异构如下表格:

源端
目标端
dm 各个版本(dm6,dm7,dm8)
dm 各个版本(dm6,dm7,dm8)
dm数据库(dm6,dm7,dm8)
oracle 数据库(10g ~ 19c)
oracle 数据库 (10g ~ 19c)
dm数据库 (dm6,dm7,dm8)
mysql数据库(5.7~8.0)
dm数据库(dm6,dm7,dm8)
sqserver 数据库 (各个版本)
 dm数据库(dm6,dm7,dm8)

                       详细平台,数据库支持列表见《DMHS参考手册》

 

       达梦数据实时同步软件 DMHS,可以理解为目前众多 数据库逻辑复制软件 如  oracle ogg,  shareplex ,dsg realsync复制软件 等 逻辑数据实时复制软件的一种,该产品可广泛应用于应急系统、容灾备份、负载均衡、 数据移植、联机维护、订阅分发和多业务中心等业务领域,虽然本文以 dm8版本数据库 复制到 dm8版本数据为例,但是dmhs软件完全支持 dm6 到 dm8 类似的跨版本复制,并且软件实施部署 方式与本文差别不大。

 

二,DMHS软件实现原理

     

 

         DMHS的实时数据同步复制采用并行处理体系,能够实时读取主机源数据库日志,以较低的资源占用实现大批量的数据实时复制。 传输过程中, DMHS直接通过 TCP/IP进行网络传输,无需依赖于数据库自身的传递方式,通过对传输对数据进行筛选和压缩,还可以进一步降低带宽需求。

三,  实验目标:

      完成DMHS部署, 搭建一套DM8至DM8的数据同步链路,验证数据同步,DDL同步效果。通过实验熟悉DMHS产品特性。

环境规划:

序号 源端环境 目标端环境 说明
1 linux 7.6 x86 64 linux 7.6 x86 64 操作系统版本
2 192.168.252.128 192.168.252.129 主机ip地址
3 dm8 dm8 数据库版本
4 /dm/dmdbms /dm/dmdbms 数据库安装路径
5 /dm/dmhs /dm/dmhs DMHS安装路径
6 必须开启 可选 数据库归档模式

 四,  实验操作步骤:

1) 安装dm8数据库软件:(主库,备库都做)(命令输出信息略)

复制代码
[dmdba@dmhs01 software]$ ./DMInstall.bin -i

请选择安装语言(C/c:中文 E/e:英文) [C/c]:C

.........................................

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

/dm/dmdbms/script/root/root_installer.sh

安装结束

复制代码

2)  初始化数据库:(主库,备库都做)(命令输出信息略)

--初始化实例  主节点  db_name=dmhsdb1
./dminit path=/dmdata db_name=dmhsdb1 instance_name=dmhsdb1 port_num=5236

 --初始化实例  备节点  db_name=dmhsdb2
./dminit path=/dmdata db_name=dmhsdb2 instance_name=dmhsdb1 port_num=5236

3) 修改数据库相关参数   

说明:开启数据库归档模式 (主库做,备库可选)

SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST = /dmdata/archivelog , TYPE = local,FILE_SIZE = 1024';
SQL> ALTER DATABASE ARCHIVELOG;
SQL> alter system set 'ARCH_INI'=1 both;
SQL> select arch_mode from v$database;
SQL> ALTER DATABASE OPEN;

4)主库 修改 参数 开启附加日志  (主库做,备库不做)

复制代码
PARA_VALUE结果大于0,则说明该功能已开启。如果取值为0,需要启用该参数功能。
调用系统过程开启该参数或者手动更改dm.ini配置文件中的‘RLOG_APPEND_LOGIC’参数值。目前该参数支持动态修改,具体可参考管理员手册说明。 (
1) 该参数取值说明如下: 取值为1:如果有主键列,记录UPDATE和DELETE操作时只包含主键列信息;若没有主键列则包含所有列信息; 取值为2:不论是否有主键列,记录UPDATE和DELETE操作时都包含所有列的信息; 取值为3::记录UPDATE时包含更新列的信息以及ROWID,记录DELETE时只有ROWID。 在Kafka执行端,对于主键表,如果在更新和删除时需要显示全列信息,则需要设置该值为2,保证源端日志中记录有全列信息,否则无法显示全列。 (2)启用该参数后,源端DM8的归档日志量比不启用该参数会有所增加,需要知悉。 SQL> SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME='RLOG_APPEND_LOGIC'; 行号 PARA_VALUE ---------- ---------- 1 0 已用时间: 79.114(毫秒). 执行号:900. SQL> call sp_set_para_value(1, 'RLOG_APPEND_LOGIC', 2); DMSQL 过程已成功完成 已用时间: 5.198(毫秒). 执行号:901. SQL> SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME='RLOG_APPEND_LOGIC'; 行号 PARA_VALUE ---------- ---------- 1 2 已用时间: 4.646(毫秒). 执行号:902.
复制代码

5)创建DMHS数据库用户  (主库,备库都要做)

复制代码
create user DMHS identified by DMHS_1234; 
grant PUBLIC to dmhs; 
grant select on SYS.V$rlog to dmhs;
grant select on SYS.V$DM_INI to dmhs; 
grant select on SYS.V$RLOGFILE to dmhs; 
grant select on SYS.V$DM_ARCH_INI to dmhs; 
grant select on SYS.V$VERSION to dmhs; 
grant select on SYS.V$ARCH_FILE to dmhs; 
grant select any table to dmhs; 
grant select any dictionary to dmhs; 
grant create table to dmhs; 
grant create session to dmhs; 
grant create trigger to dmhs;
复制代码

6) 安装DMHS 同步软件 (主库,备库都要做)

图形安装截图如下

 

 

 

 

 

 

 

 

 

7) 配置DMHS软件 (主库操作步骤)

说明:开启DDL 需要执行相关脚本(主库做)

复制代码
同步脚本位于DMHS安装目录的scripts子目录下,命名为:ddl_sql_dm8.sql
脚本执行命令:
cd /dm/dmdbms/bin 
./disql SYSDBA/SYSDBA 
start /dm/dmhs/scripts/ddl_sql_dm8.sql

说明:在/dm/dmhs/scripts/ 目录下 存在很多脚本 不通版本 或者 异构数据库需要执行不通的脚本
如 dm8版本 需要执行 ddl_sql_dm8.sql脚本, dm7执行 ddl_sql_dm7.sql 脚本 ,oracle需要执行 ddl_sql_ora.sql,pg数据库需要执行 ddl_sql_pg.sql等 。


-rwxr-xr-x. 1 dmdba dinstall 4109 Oct 11 19:17 ddl_sql_ora.sql -rwxr-xr-x. 1 dmdba dinstall 33113 Oct 11 19:17 ddl_sql_dm8.sql -rwxr-xr-x. 1 dmdba dinstall 2184 Oct 11 19:17 readme.txt -rwxr-xr-x. 1 dmdba dinstall 965 Oct 11 19:17 dmhs_grant.sql -rwxr-xr-x. 1 dmdba dinstall 11551 Oct 11 19:17 ddl_sql_pg.sql -rwxr-xr-x. 1 dmdba dinstall 30747 Oct 11 19:17 ddl_sql_dm7.sql -rwxr-xr-x. 1 dmdba dinstall 19456 Oct 11 19:17 ddl_sql_dm6_v3.sql -rwxr-xr-x. 1 dmdba dinstall 16510 Oct 11 19:17 ddl_sql_dm6_v2.sql -rwxr-xr-x. 1 dmdba dinstall 1688 Oct 11 19:17 ddl_sql_db2.sql
复制代码

 

创建需要测试的 用户,赋予权限

复制代码
create user DMHSTEST  identified by DMHSTEST123456 ;

grant resource,public to DMHSTEST;

conn  DMHSTEST/DMHSTEST123456

create table test01 as select * from sysobjects;

create table test02 as select * from sysobjects;
复制代码

 

配置 dmhs.hs参数文件 此参数文件要放在 /dm/dmhs/bin下  (主库参数文件内容)

复制代码
[dmdba@dmhs01 bin]$ cat dmhs.hs 
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>DM8</db_type>                             ######需要改的 地方  数据库版本
<db_server>127.0.0.1</db_server>               ######需要改的 地方  源端Ip 127.0.1.1 即可
<db_user>SYSDBA</db_user>                      ######需要改的 地方  源端 数据库用户名
<db_pwd>SYSDBA</db_pwd>                        ######需要改的 地方  源端 数据库密码
<db_port>5236</db_port>                               ######需要改的 地方  源端  服务端口
<parse_thr>1</parse_thr>
<idle_time>3000</idle_time>
<ddl_mask>OBJ:OP</ddl_mask>
<dict_dir>/dm/dmhs/dmhs_dict</dict_dir>                 ###### 复制数据表的 数据字典所谓在位置 一定要存在的目录
<arch>
<clear_interval>43200</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<ip>192.168.115.133</ip>                                  ######需要改的 地方  目标端 IP 
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<level>0</level>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<net_turns>1</net_turns>
<timeout>60</timeout>
<parse_policy>8</parse_policy>
<filter>
<enable>
<item>DMHSTEST.*</item>                           ######复制的 可以按照模式  如果 一个模式下所有内容就为 *  我这里测试的模式 是  DMHSTEST 所以 就是 DMHSTEST.*
</enable>
<disable>

</disable>
</filter>
<map>
</map>
</send>
</cpt>
</dmhs>
复制代码

 

把DMHS软件注册为系统服务,使用服务脚本直接注册服务(主库操作): 

cd /dm/dmhs/scripts/root 
./dmhs_service_installer.sh -t dmhs_server -p DMHS_DM -x /dm/dmhs/bin/dmhs.hs -d /dm/dmhs/bin

systemctl start  DmhsServiceDMHS_DM

systemctl status DmhsServiceDMHS_DM

8)  配置DMHS软件 (备库步骤)

配置 dmhs.hs参数文件 此参数文件要放在 /dm/dmhs/bin下  (备库参数文件内容)

复制代码
[dmdba@dmhs02 bin]$ cat dmhs.hs

 

<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>11</siteid>
<version>2.0</version>
</base>

<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>DM8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<level>0</level>
<exec_mode>1</exec_mode>
<exec_thr>32</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx>5000</exec_trx>
<exec_rows>1000</exec_rows>
<case_sensitive>1</case_sensitive>
<exec_policy>0</exec_policy>
<toggle_case>0</toggle_case>
<commit_policy>1</commit_policy>
<enable_merge>1</enable_merge>
<check_key>1</check_key>
<check_index>0</check_index>
</exec>
</dmhs>
复制代码

 

把DMHS软件注册为系统服务,使用服务脚本直接注册服务(备库操作): 

cd /dm/dmhs/scripts/root 
./dmhs_service_installer.sh -t dmhs_server -p DMHS_DM -x /dm/dmhs/bin/dmhs.hs -d /dm/dmhs/bin

systemctl start  DmhsServiceDMHS_DM

systemctl status DmhsServiceDMHS_DM

 

  五,  测试与验证:

1) 启动exec 模块 (数据加载模块)(备库操作步骤)

复制代码
[dmdba@dbserver bin]$ ./dmhs_console 
DMHS console tool: V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.

连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206

DMHS> start
执行成功
复制代码

 

         查看源端表中的数据和DMTEST用户下表的数量(源端库查询)

复制代码
[dmdba@dbserver bin]$ disql DMHSTEST/DMHSTEST123456

Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 3.193(ms)
disql V8
SQL> 
SQL> 
SQL> select count(*) from test01;

LINEID     COUNT(*)            
---------- --------------------
1          889

used time: 2.341(ms). Execute id is 2400.
SQL> select count(*) from test02;

LINEID     COUNT(*)            
---------- --------------------
1          891

used time: 0.768(ms). Execute id is 2401.
SQL> 
SQL> 
SQL> select table_name from user_tables;

LINEID     TABLE_NAME
---------- ----------
1          TEST01
2          TEST02

used time: 246.552(ms). Execute id is 2402.
复制代码

 

         查看目标 数据库中的表结构和数据(目标库查询)

复制代码
[dmdba@dbserver bin]$  disql DMHSTEST/DMHSTEST123456

Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 3.566(ms)
disql V8
SQL> 
SQL> select table_name from user_tables;
no rows

used time: 122.418(ms). Execute id is 1200.
SQL> 
复制代码

 

        2) 启动首次初始化数据和装载数据字典(主库操作步骤)

命令解释说明如下:

 1,./dmhs_console                    ##登录控制台 
 2, CLEAR EXEC LSN                   ###重置DMHS的 分析起始点的LSN
 3,  COPY 0 "SCH.NAME='DMHSTEST'" DICT|CREATE|INSERT  #### 首次初始化DMHSTEST用户下所有表的数据和装载数据字典

 执行命令如下:(源端库执行)

复制代码
[dmdba@dbserver bin]$ ./dmhs_console 
DMHS console tool: V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.

连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206

DMHS> connect 
执行成功

DMHS> CLEAR EXEC LSN 
执行成功

DMHS> COPY 0 "SCH.NAME='DMHSTEST'" DICT|CREATE|INSERT
copy mask is : |CREATE|INSERT|TABLE|DICT|PARTITION|OBJID|REP
执行完成,请查看执行模块日志,检查数据装载是否成功

DMHS> 
复制代码

 

         查询目标端数据库 验证数据是否过来,经过验证 数据已经初始化过来了(目标库执行)

复制代码
SQL> select count(*) from TEST01;

LINEID     COUNT(*)            
---------- --------------------
1          889

used time: 1.362(ms). Execute id is 1202.
SQL> select count(*) from TEST02;

LINEID     COUNT(*)            
---------- --------------------
1          891

used time: 0.802(ms). Execute id is 1203.
复制代码

 

 3)  登录源端 dmhs控制台,启动分析模块 cpt ,测试 DDL (CREATE TABLE AS )(源端操作) 

说明:启动cpt模块后,dmhs软件就开始进行在线日志分析。

复制代码
[dmdba@dbserver bin]$ ./dmhs_console 
DMHS console tool: V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.

连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206

DMHS> connect
执行成功

DMHS> start
执行成功

DMHS> state
MGR: Capture 
TYPE    VID SITEID EXEC/CPT IP     PORT DBNAME 
------- --- ------ --------------- ---- ------ 
Capture 0   1      192.168.252.129 5345        
执行成功
复制代码

 

cpt模块开启之后, dmhs软件开始捕获源端数据库日志的实时变化量,所有DMHSTEST用户下的 数据变化都被捕获并传输到目标端数据库加载。

下面我们开始测试:源端dmhstest 用户新建表 test03 测试 DDL语句 (源端库执行)

复制代码
[dmdba@dbserver bin]$ disql DMHSTEST/DMHSTEST123456

Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 3.174(ms)
disql V8
SQL> create table test03 as select * from test01;
executed successfully
used time: 19.230(ms). Execute id is 3700.
SQL> 
复制代码

        在目标端验证  新建的TEST03表 是否已经同步过来,经过验证TEST03表结构和数据都已经同步过来。(目标库执行)

复制代码
SQL> select table_name from user_tables;

LINEID     TABLE_NAME
---------- ----------
1          TEST01
2          TEST02
3          TEST03

used time: 72.365(ms). Execute id is 1204.
SQL>  select count(*) from TEST03;

LINEID     COUNT(*)            
---------- --------------------
1          889

used time: 0.964(ms). Execute id is 1205.
复制代码

 

 4)  测试   DML (INSERT)(源端执行)

复制代码
SQL> insert into test03 select * from test03;
affect rows 889

used time: 4.104(ms). Execute id is 3701.
SQL> /
affect rows 1778

used time: 5.361(ms). Execute id is 3702.
SQL> /
affect rows 3556

used time: 9.849(ms). Execute id is 3703.
SQL> /
affect rows 7112

used time: 36.609(ms). Execute id is 3704.
SQL> /
affect rows 14224

used time: 39.621(ms). Execute id is 3705.
SQL> /
affect rows 28448

used time: 126.093(ms). Execute id is 3706.
SQL> /
affect rows 56896

used time: 335.388(ms). Execute id is 3707.
SQL> /
affect rows 113792

used time: 735.542(ms). Execute id is 3708.
SQL> commit;
executed successfully
used time: 1.000(ms). Execute id is 3709.
SQL> 
SQL> select count(*) from test03;

LINEID     COUNT(*)            
---------- --------------------
1          227584

used time: 4.404(ms). Execute id is 3710.
复制代码

       在目标端验证  新建的TEST03表  数据是否同步过来,经过验证 TEST03数据已经同步过来 (目标库执行)

SQL> select count(*) from test03;

LINEID     COUNT(*)            
---------- --------------------
1          227584

used time: 0.890(ms). Execute id is 1206.

 

五, DMHS软件的监控

1)源端监控 cpt 数据捕获(分析)模块  (源端执行)

说明: state命令输出下的 VID编号就是cpt模块的编号,源端可以存在多个VID编号 N ,可以使用 cpt N 查看 不同cpt模块状态,状态 :diel 说明 cpt模块状态是空闲状态 没有分析任务这种状态属于正常,如果状态持续显示:定位LSN  等 异常状态,需要进一步查看日志,另外需要特别关注 日志捕获模块的 日志时间日志发送模块的 日志时间 是否是当前的时间,如果和当前时间差距很大需要特别注意 DMHS运行状态是否有异常($DMHS_HOME/bin/log/dmhs_YYYYMM.log)。。

 

复制代码
[dmdba@dbserver bin]$ ./dmhs_console 
DMHS console tool: V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.

连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206

DMHS> connect 
执行成功

DMHS> state
MGR: Capture 
TYPE    VID SITEID EXEC/CPT IP     PORT DBNAME 
------- --- ------ --------------- ---- ------ 
Capture 0   1      192.168.252.129 5345        
执行成功

DMHS> cpt  0

                         日志捕获模块信息                               日志执行模块信息      
------------------------------------------------------------------ -------------------------- 
      状态 : idle                                                        状态 : idle          
      库名 : 127.0.0.1                                             数据库状态 : 异常          
    站点ID : 1                                                       活动事务 : 0             
  日志模式 : 归档                                                    等待执行 : 0             
分析队列数 : 0                                                       执行次数 : 0 (0 times/s) 
投递队列数 : 0                                                       提交事务 : 0 (0 times/s) 
日志页序号 : 8288                                                    回滚事务 : 0 (0 times/s) 
待分析日志 : 0                                                       影响行数 : 0 (0 rows/s)  
待投递日志 : 1                                                     缓存大字段 : 0             
  日志页数 : 313721 (0 pages/s)                                    检查点时间 :               
  投递次数 : 227636 (0 times/s)                                       CVT状态 : idle          
文件IO次数 : 989 (0 times/s)                                        CVT事务数 : 0             
  日志总量 : 59131173 B (0 B/s)                                                               
  日志目录 : /dm/dmdbms/archlog                                                               
  日志文件 : ARCHIVE_LOCAL1_0x4B5A6C5E_EP0_2022-10-12_03-45-26.log                            
  日志时间 : 2022-10-12 04:45:25                                                              
--------------------------------------------------------------------------------------------- 
                         日志发送模块信息                               日志接收模块信息      
------------------------------------------------------------------ -------------------------- 
      状态 : waiting for log                                             状态 : no init       
  过滤个数 : 0                                                       总日志数 : 0             
  发送队列 : 0 (0.00 percent)                                        接收次数 : 0 times       
  总日志数 : 227646                                                   日志LSN : 0             
  发送次数 : 509 times                                               消息序号 : 0             
   日志LSN : 287549                                                   起始LSN : 0             
  消息序号 : 509                                                     消息流量 : 0 B (0 B/s)   
   起始LSN : 50870                                                                            
  消息流量 : 11915079 B (0 B/s)                                                               
  日志时间 : 2022-10-12 04:45:25                                                              
  推送状态 : 未接收推送                                                                       
执行成功
复制代码

 

2)目标端监控 exec 数据执行(加载)模块  (目标端执行)

说明: state命令输出下的 SITEID 编号就是exec模块的编号,源端可以存在多个SITEID编号 N ,可以使用 exec N 查看 不同exec模块状态,需要特别监控 日志执行模块检查点时间 是不是当前的时间,如果不是当前或者近期的时间 说明日志执行模块异常,进一步查看DMHS运行日志($DMHS_HOME/bin/log/dmhs_YYYYMM.log)。

复制代码
[dmdba@dbserver bin]$ ./dmhs_console 
DMHS console tool: V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.

连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.2.90-Build(2022.06.28-110804trunc)_sp3_64_2206

DMHS> connect 
执行成功

DMHS> state
MGR: Execute 
TYPE    VID SITEID EXEC/CPT IP     PORT DBNAME 
------- --- ------ --------------- ---- ------ 
Execute 0   1      192.168.252.128 5345        
执行成功

DMHS> exec 1

                         日志捕获模块信息                                  日志执行模块信息         
------------------------------------------------------------------ -------------------------------- 
      状态 : idle                                                        状态 : idle                
      库名 : 127.0.0.1                                             数据库状态 : 正常                
    站点ID : 1                                                       活动事务 : 0                   
  日志模式 : 归档                                                    等待执行 : 0                   
分析队列数 : 0                                                       执行次数 : 236 (0 times/s)     
投递队列数 : 0                                                       提交事务 : 18 (0 times/s)      
日志页序号 : 8385                                                    回滚事务 : 0 (0 times/s)       
待分析日志 : 0                                                       影响行数 : 229364 (0 rows/s)   
待投递日志 : 1                                                     缓存大字段 : 0                   
  日志页数 : 363482 (0 pages/s)                                    检查点时间 : 2022-10-12 04:45:07 
  投递次数 : 227645 (0 times/s)                                       CVT状态 : idle                
文件IO次数 : 1183 (0 times/s)                                       CVT事务数 : 0                   
  日志总量 : 59134083 B (0 B/s)                                                                     
  日志目录 : /dm/dmdbms/archlog                                                                     
  日志文件 : ARCHIVE_LOCAL1_0x4B5A6C5E_EP0_2022-10-12_03-45-26.log                                  
  日志时间 : 2022-10-12 04:45:25                                                                    
--------------------------------------------------------------------------------------------------- 
                         日志发送模块信息                                  日志接收模块信息         
------------------------------------------------------------------ -------------------------------- 
      状态 : waiting for log                                             状态 : waiting recieve log 
  过滤个数 : 0                                                       总日志数 : 227676              
  发送队列 : 0 (0.00 percent)                                        接收次数 : 533 times           
  总日志数 : 227655                                                   日志LSN : 287639              
  发送次数 : 518 times                                               消息序号 : 518                 
   日志LSN : 287639                                                   起始LSN : 50870               
  消息序号 : 518                                                     消息流量 : 12014569 B (0 B/s)  
   起始LSN : 50870                                                                                  
  消息流量 : 11917383 B (0 B/s)                                                                     
  日志时间 : 2022-10-12 04:45:25                                                                    
  推送状态 : 未接收推送                                                                             
执行成功
复制代码

 

六, DMHS 测试总结:

     通过以上测试 已经验证 DMHS 软件实现如下功能:

     1) 实现了不同达梦数据库之间的 数据迁移(首次全同步)。

     2) 支持表的DDL 以及 DML 操作的数据实时同步。

     3)部署简单快捷,大部分操作都使用图形化操作。

      适合场景:

      1)数据大集中,多个数据库不同用户下,不同表 复制到一个数据库单个用户。

      2)数据分发 ,一个数据库多个用户下的多表,分发到多个数据库 多用户下 多表。

      3)跨dm数据库版本数据迁移,最大优点停机时间短,数据迁移过程中,实时数据追评 就完成数据迁移。

      4) 达梦替换其他类型的数据库如(oracle)后,初期使用DMHS同步软件实时同步达梦数据库的数据到替换前的数据库(如oracle),紧急或必要的情况可以进行回切到oracle,等应用方觉得达梦数据库完全可靠后可以拆除DMHS同步,完全使用达梦数据库作为生产。

 

七, 测试中遇到的问题: 

  

      1) DMHS软件的运行日志文件存放在 $DMHS_HOME/bin/log目录下,所有DMHS软件模块的运行状态或者报错信息都会在 $DMHS_HOME/bin/log目录下下的dmhs_YYYYMM(时间戳).log文件中记录。
      2) 在搭建测试的过程中发现DMHS软件cpt模块启动不报错,卡死,最终排查发现是DMHS自带的 libdmoci.so文件版本不对,把DMDB数据库的$DM_HOME/bin目录下 libdmoci.so 文件拷贝到$DMHS_HOME/bin目录下 问题得以解决,  并且如果发现还DMHS启动过程中还缺失其他的 .so文件 ,可以到 DM数据库的 $DM_HOME/bin目录里查找 并把这些文件拷贝到 $DMHS_HOME/bin目录下并重新启动DMHS软件尝试。

 

 

 

 

  达梦社区地址:https://eco.dameng.com

 


状态 : idle
ddl_sql_pg.sql
posted @   stone469  阅读(1087)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示