达梦DMDRS搭建、以及DMDRS双向同步

DMDRS搭建、以及DMDRS双向同步

文章目录

大家想学习达梦数据库或者解决报错问题,可以去 达梦数据库社区( https://eco.dameng.com)

一、产品介绍

达梦数据复制软件(简称 DMDRS)是一种用于同构数据库、异构数据库以及各种数据管理系统之间的数据复制软件。

数据迁移 是指将源数据库的全量数据一次性迁移到目标数据库,适用于同构或异构数据库之间的数据迁移,一般用于源数据库在静态的情况下进行数据迁移的场景。

数据同步 是指通过全量数据装载和增量数据同步的组合来实现数据复制功能,实现源数据库在动态的场景下和目标数据库数据的一致性,适用于同构或异构数据库之间的数据实时同步。DRS会先进行全量同步,增量的数据暂时先存在缓存上,等全量跑完后在启动增量

主备同步 是指DMDRS 主节点服务承担同步功能,DMDRS 备节点服务处于等待就绪状态,持续同步主节点服务的环境。当 DMDRS 主节点服务所在的数据库节点故障后,DMDRS 备节点服务会自动成为主节点,避免同步中断。

根据实际的应用场景完成 DMDRS 的安装后,用户可以通过达梦数据融合管理平台(DMDFM)搭建 DMDRS 服务,也可以直接在服务器上搭建 DMDRS 服务。

无侵入性的增量数据捕获

DMDRS采用基于数据库日志的数据复制技术,通过实时解析数据库日志捕获增量操 作数据,无需在源数据库上创建相关对象,对源数据系统无侵入性。DMDRS采用高效的 日志扫描和读取算法,多线程并行实时捕获增量操作,并通过自主研发的数据库日志解析 引擎,实现高效的数据实时复制,无需依赖第三方的日志解析工具

装载与同步并行执行技术

装载与同步并行执行技术通过在目标端创建三种执行分组实现,分别是装载分组、等 待分组和执行分组。装载分组用于缓存装载数据并执行入库;等待分组用于缓存需要等待 提交的事务数据;执行分组用于缓存可立即执行的事务数据并执行入库。通过等待分组进 行事务数据状态切换,实现全量和增量数据的无缝衔接,提高数据复制的整体效率。

产品架构

Manager:统筹管理调度所有模块运行

CPT:源端抓取全量与增量数据

DSS:缓存转发、分发同步数据

EXEC:目标端执行数据入库同步

二、安装部署

DMDRS 服务 内存要求 磁盘要求
源端 DMDRS 8-16GB 至少 100GB
目标端 DMDRS 8-16GB 至少 100GB

2.1 用户以及目录

为避免 DMDRS 在访问数据库文件时权限不足、环境变量错误等问题,建议源端与目的端在进行安装时选择对应的数据库的安装用户安装。例如:源端 Oracle 数据库安装用户为 oracle,则源 DMDRS 就使用 oracle 用户进行安装;目的端 DM 数据库安装用户为 dmdba,则目的 DMDRS 就使用 dmdba 用户进行安装。

bash 复制代码
# DMDRS 默认安装目录在 home 目录下,用户可根据需要是否自定义安装目录

[root@localhost /]# mkdir -p  /data/dmdrs5
[root@localhost /]# chown dmdba:dinstall -R /data/dmdrs5/
[root@localhost /]# chmod -R 755 /data/dmdrs5/

上传 DMDRS 安装包到 opt 目录,并修改权限,本文为以安装 dmdrs_v5.0.0.03*** 为例。

sql 复制代码
cd /opt/drs
[root@localhost opt]# chown dmdba:dinstall dmdrs_rev176693_x86_rh6_64***.bin
[root@localhost opt]# chmod -R 755 dmdrs_rev176693_x86_rh6_64***.bin

2.2 DRS软件安装

安装软件

如果/tmp目录不能保证3GB的存储空间,用户可以扩展/tmp目录存

储空间或者通过设置环境变量DMDRS_INSTALL_TMPDIR指定安装

程序的临时目录。

当Linux(Unix)操作系统没有图形化界面时,用户可以使用命令行的方式安装

DMDRS。在终端进入安装程序所在文件夹,执行以下命令进行命令行安装。

bash 复制代码
[dmdba@localhost drs]$ ./dmdrs_rev218265_x86_rh6_64_20260409.bin -i
Extract install files.........

数据库驱动路径配置:

DMDRS 会自动选择已安装好的 dm 数据库 bin 目录作为数据库动态库路径,用户也可自定义动态库路径,本文指定动态库路径为:/home/dmdba/dmdbms/bin

bash 复制代码
[dmdba@localhost drs]$ ./dmdrs_rev218265_x86_rh6_64_20260409.bin -i
Extract install files.........

Please select the installer's language (C/c:Simplified Chinese, H/h:Hong Kong Tr                                                                              aditional Chinese, E/e:English)[E/e]:c
-----------欢迎使用达梦数据复制软件安装工具-----------
输入[exit]可退出安装。
-----------安装目录-----------
指定安装目录[/home/dmdba/dmdrs5]:/data/dmdrs5
该路径不为空,是否继续安装?(Y/y or N/n)[N/n]:y
-----------安装组件-----------
请选择需要安装的组件
1.安装达梦数据融合管理平台
2.安装代理
请选择安装组件数字序号(使用空格间隔):1 2
选择的组件有:
1.安装达梦数据融合管理平台
2.安装代理
确认?[Y/y(确认选择) or N/n(重新选择)]:y
-----------许可证文件-----------
1.免费试用达梦数据复制软件(必须在试用期范围内使用,反复安装无效,使用时间为3个月)
2.使用许可证文件
指定许可证文件(1,2)[1]:1
免费试用许可证文件限制信息如下:
有效日期:1970-04-01
版本类型:试用版
许可证编号:dm66n367
授权顾客名称:DEVELOP USER
当前选择为免费试用,是否继续安装?[Y/y or N/n]:y
-----------配置-----------
数据库驱动路径配置 -数据库驱动路径[]:/home/dmdba/dmdbms/bin
注意:代理配置IP不允许设置成127.0.0.1!
代理配置-代理IP(192.168.157.140):
请手动输入代理ip!
代理配置-代理IP(192.168.157.140):192.168.157.140
代理配置-代理端口[19345]:
达梦数据融合管理平台配置-管理平台端口[8080]:
注意:密码必须至少8个字符,并且满足以下条件中的任意[两项]:数字、大写字母、小写字母、特殊字符(如!@#$%^&*等)。
达梦数据融合管理平台配置-管理平台密码:
达梦数据融合管理平台配置-管理平台确认密码:
密码与确认密码不一致,请重新输入。
注意:密码必须至少8个字符,并且满足以下条件中的任意[两项]:数字、大写字母、小写                                                                              字母、特殊字符(如!@#$%^&*等)。
达梦数据融合管理平台配置-管理平台密码:
达梦数据融合管理平台配置-管理平台确认密码:
密码与确认密码不一致,请重新输入。
注意:密码必须至少8个字符,并且满足以下条件中的任意[两项]:数字、大写字母、小写                                                                              字母、特殊字符(如!@#$%^&*等)。
达梦数据融合管理平台配置-管理平台密码:
达梦数据融合管理平台配置-管理平台确认密码:
是否使用外置库(0:不使用  1:使用 )[0]:1
外置库配置-数据库服务IP:127.0.0.1
外置库配置-数据库端口[15236]:5236
外置库配置-用户名[SYSDBA]:
外置库配置-密码[]:
-----------安装小结-----------
安装目录:[/data/dmdrs5]
数据库驱动路径:[/home/dmdba/dmdbms/bin]
代理IP:[192.168.157.140]
代理端口:[19345]
达梦数据融合管理平台IP:[127.0.0.1]
达梦数据融合管理平台端口:[8080]
外置库信息:
数据库IP:[127.0.0.1]
数据库端口:[5236]
用户名:[SYSDBA]
密码:[******]
所需磁盘空间/可用磁盘空间:[1,768 MB/9,306 MB]
确认安装?[Y/y or N/n]:y
-----------安装中-----------
server   正在安装 ...   server   安装完成.
default   正在安装 ...   default   安装完成.
agent   正在安装 ...   agent   安装完成.
web   正在安装 ...   web   安装完成.
doc   正在安装 ...   doc   安装完成.
安装成功
-----------系统服务-----------
达梦数据融合管理平台服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:1
正在创建达梦数据融合管理平台服务....
达梦数据融合管理平台代理服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:1
正在创建达梦数据融合管理平台代理服务....
以下配置脚本需要以"root"用户的身份运行.
/data/dmdrs5/scripts/root/root_installer.sh
是否已执行shell脚本?(Y/y or N/n)[Y/y]:y
-----------安装总结-----------
达梦数据复制软件V5安装完成
地址:http://127.0.0.1:8080
用户名/密码:admin/******
更多安装信息,请查看安装日志文件:/data/dmdrs5/log/install.log

[dmdba@localhost drs]$ exit
注销
[root@localhost drs]# /data/dmdrs5/scripts/root/root_installer.sh
创建DfmWebService服务
Created symlink /etc/systemd/system/multi-user.target.wants/DfmWebService.service → /usr/lib/systemd/system/DfmWebService.service.
创建服务(DfmWebService)完成
创建DfmAgentService服务
Created symlink /etc/systemd/system/multi-user.target.wants/DfmAgentService.service → /usr/lib/systemd/system/DfmAgentService.service.
创建服务(DfmAgentService)完成
启动DfmWebService服务
启动DfmAgentService服务
[root@localhost drs]#

服务的启动停止

bash 复制代码
# 内置数据库服务
# 查看状态
/home/dmdrs/dmdrs5/db/bin/DmServiceDFDB status
# 启动服务
/home/dmdrs/dmdrs5/db/bin/DmServiceDFDB start
# 停止服务
/home/dmdrs/dmdrs5/db/bin/DmServiceDFDB stop

# 达梦数据融合管理平台服务
# 查看状态
/home/dmdrs/dmdrs5/web/DfmWebService status
# 启动服务
/home/dmdrs/dmdrs/dmdrs5/web/DfmWebService start
# 停止服务
/home/dmdrs/dmdrs5/web/DfmWebService stop

# 达梦数据融合管理平台代理服务
# 查看状态
/home/dmdrs/dmdrs5/agent/DfmAgentService status
# 启动服务
/home/dmdrs/dmdrs5/agent/DfmAgentService start
# 停止服务
/home/dmdrs/dmdrs5/agent/DfmAgentService stop

2.3 登录DFM

2.4 准备测试环境

达梦数据库创建模式

sql 复制代码
CREATE USER """DRS_TEST""" IDENTIFIED BY "Damen_123" DEFAULT TABLESPACE "MAIN";
GRANT "DBA" TO """DRS_TEST""";
GRANT "RESOURCE" TO """DRS_TEST""";
GRANT "PUBLIC" TO """DRS_TEST""";
GRANT "VTI" TO """DRS_TEST""";
GRANT "SOI" TO """DRS_TEST""";
GRANT CREATE SESSION TO """DRS_TEST""";


CREATE SCHEMA "DRS_TEST" AUTHORIZATION "SYSDBA";
CALL SP_SET_SCHEMA_DESC('DRS_TEST', 'DRS数据同步测试使用');

SQL> set schema DRS_TEST;
操作已执行
已用时间: 1.989(毫秒). 执行号:0.
SQL>

Oracle数据库创建用户

sql 复制代码
#创建用户

-- 创建管理员用户 DBA_ADMIN
CREATE USER DBA_ADMIN IDENTIFIED BY "Admin@123";

-- 授予DBA管理员权限、数据泵权限
GRANT DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE TO DBA_ADMIN;

-- 创建用户(密码:Oracle_123)
CREATE USER USER01 IDENTIFIED BY Oracle_123;

-- 授予基本权限(必须)
GRANT CONNECT, RESOURCE TO USER01;

# 切换模式
ALTER SESSION SET CURRENT_SCHEMA = TEST_EXBASE;
select OWNER,table_name from all_tables where OWNER like 'TEST_EXBAS%';

select * from STUDENT fetch first 3 rows only;

PG数据库创建用户

sql 复制代码
postgres=# create user dba_admin with password 'Admin@123';
CREATE ROLE
postgres=# \dn
      List of schemas
  Name  |       Owner
--------+-------------------
 public | pg_database_owner
(1 row)

postgres=# create database dm_drs_test owner dba_admin;
CREATE DATABASE
postgres=# \c dm_drs_test
You are now connected to database "dm_drs_test" as user "fbase".
dm_drs_test=# \d
Did not find any relations.
dm_drs_test=#
postgres=# alter user dba_admin with superuser ;
ALTER ROLE
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 dba_admin | Superuser                                                  | {}
 fbase     | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

-- 数据库开启归档
postgres=# show archive_command ;
       archive_command
------------------------------
 cp %p /data/fbase/archive/%f
(1 row)

-- PostgreSQL 12/13版本使用"ddl_sql_pg12.sql"脚本创建触发器和辅助表。

三、测试案例

3.1 DMDRS工具PostgreSQL -> DM8单向数据同步

业务此场景规划

创建数据源

远程安装DFM代理、DRS同步工具

部署代理

sql 复制代码
# 启动代理
sh startup-agent.sh

部署drs

配置同步链路

启动实例

drs启动报错

bash 复制代码
2026-05-19 14:17:43 MGR[ERROR]: DRS-3037 未找到动态库文件 path: libdrcpg.so, code: 2 msg:libodbc.so.1: cannot open shared object file: No such file or directory
2026-05-19 14:17:43 MGR[ERROR]: DRS-3010 模块启动失败 Please press Enter to exit

乱码的时候使用命令来查看就不会出现乱码了

bash 复制代码
[fbase@node1 log]$ cat drs_202605.log | iconv -f GBK -t UTF-8
2026-05-19 14:15:53 MGR[WARN]: 未能检测到dmdrs.key文件,即将体验免费版
2026-05-19 14:15:53 MGR[INFO]: DRS start up, current version: V5.2.5.4-Build(2026.04.08-218265_trunc_sp2)_64 (X86)(The beta)(Enterprise Edition)
2026-05-19 14:15:53 MGR[WARN]: mem_size参数配置过大,超过系统剩余内存大小 mem_size: 16G, total_free_size: 5G
2026-05-19 14:15:53 MGR[WARN]: 无key状态下DRS性能受限制 parse_thr: 1
2026-05-19 14:15:53 MGR[ERROR]: DRS-3037 未找到动态库文件 path: libdrcpg.so, code: 2 msg:libodbc.so.1: cannot open shared object file: No such file or directory
2026-05-19 14:15:53 MGR[ERROR]: DRS-3010 模块启动失败 Please press Enter to exit
2026-05-19 14:17:43 MGR[WARN]: 未能检测到dmdrs.key文件,即将体验免费版
2026-05-19 14:17:43 MGR[INFO]: DRS start up, current version: V5.2.5.4-Build(2026.04.08-218265_trunc_sp2)_64 (X86)(The beta)(Enterprise Edition)
2026-05-19 14:17:43 MGR[WARN]: mem_size参数配置过大,超过系统剩余内存大小 mem_size: 16G, total_free_size: 5G
2026-05-19 14:17:43 MGR[WARN]: 无key状态下DRS性能受限制 parse_thr: 1
2026-05-19 14:17:43 MGR[ERROR]: DRS-3037 未找到动态库文件 path: libdrcpg.so, code: 2 msg:libodbc.so.1: cannot open shared object file: No such file or directory
2026-05-19 14:17:43 MGR[ERROR]: DRS-3010 模块启动失败 Please press Enter to exit

可以看到这个动态库它有个东西没有找到

bash 复制代码
[fbase@node1 instance1]$ pwd
/home/fbase/agent/INST_DRS/instance1
[fbase@node1 instance1]$ ldd libdrcpg.so
        linux-vdso.so.1 (0x00007ffd25b8b000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007fb31a2d7000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007fb31a154000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007fb31a149000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fb31a128000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fb31a123000)
        libdrpub.so => ./libdrpub.so (0x00007fb31884d000)
        libdrnet.so => ./libdrnet.so (0x00007fb318632000)
        libdrcache.so => ./libdrcache.so (0x00007fb3183cc000)
        libdrxml.so => ./libdrxml.so (0x00007fb3181bb000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb31a94f000)
        libodbc.so.1 => not found
[fbase@node1 instance1]$

[root@node1 install]# find / -name "libodbc.so"
/usr/lib64/libodbc.so
[root@node1 install]# ln -s /usr/lib64/libodbc.so /usr/lib64/libodbc.so.1
[fbase@node1 instance1]$ ldd libdrcpg.so
        linux-vdso.so.1 (0x00007ffe1d6f4000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007f9c5d2e7000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007f9c5d164000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007f9c5d159000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f9c5d138000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f9c5d133000)
        libdrpub.so => ./libdrpub.so (0x00007f9c5b85d000)
        libdrnet.so => ./libdrnet.so (0x00007f9c5b642000)
        libdrcache.so => ./libdrcache.so (0x00007f9c5b3dc000)
        libdrxml.so => ./libdrxml.so (0x00007f9c5b1cb000)
        libodbc.so.1 => /lib64/libodbc.so.1 (0x00007f9c5b15a000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9c5d95f000)
        libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007f9c5b14f000)

启动成功

bash 复制代码
[fbase@node1 instance1]$ sh DrsServiceinstance1 status
DrsServiceinstance1 is stopped
[fbase@node1 instance1]$ sh DrsServiceinstance1 start
Starting DrsServiceinstance1:                              [ OK ]
[fbase@node1 instance1]$ sh DrsServiceinstance1 status
DrsServiceinstance1 (pid 91378) is running...
[fbase@node1 instance1]$

CPT模块启动失败

bash 复制代码
2026-05-19 14:29:09 MGR[INFO]: SITEID: 1 NAME: instance1 MEMCHECK: 0 PORT: 5345 GROUP: 0 VERSION: 1 PATH: /home/fbase/agent/INST_DRS/instance1/drs.xml
2026-05-19 14:30:15 link1[ERROR]: DRS-5 数据库访问失败 Connection failed, conn_str: SERVER=192.168.157.141;DRIVER=PostgreSQL ANSI(x64);UID=dba_admin;PWD=******;DATABASE=dm_drs_test;PORT=8432;, msg:[unixODBC][Driver Manager]Can't open lib 'PostgreSQL ANSI(x64)' : file not found
2026-05-19 14:30:15 link1[ERROR]: DRS-5072 数据库连接异常 server[192.168.157.141:8432]
2026-05-19 14:30:15 MGR[ERROR]: DRS-5130 CPT模块未初始化
2026-05-19 14:31:00 MGR[ERROR]: DRS-5186 LD未初始化
2026-05-19 14:31:00 MGR[ERROR]: DRS-5186 LD未初始化
2026-05-19 14:31:00 link1[ERROR]: DRS-5 数据库访问失败 Connection failed, conn_str: SERVER=192.168.157.141;DRIVER=PostgreSQL ANSI(x64);UID=dba_admin;PWD=******;DATABASE=dm_drs_test;PORT=8432;, msg:[unixODBC][Driver Manager]Can't open lib 'PostgreSQL ANSI(x64)' : file not found

是因为在数据库中需要unixODBC组件

bash 复制代码
yum install -y unixODBC unixODBC-devel
yum install -y postgresql-libs postgresql-devel

# 下载odbc
[fbase@node1 odbc]$ wget https://ftp.postgresql.org/pub/odbc/versions.old/src/psqlodbc-15.00.0000.tar.gz
--2026-05-19 14:54:00--  https://ftp.postgresql.org/pub/odbc/versions.old/src/psqlodbc-15.00.0000.tar.gz
Resolving ftp.postgresql.org (ftp.postgresql.org)... 146.75.47.52, 2a04:4e42:7b::820
Connecting to ftp.postgresql.org (ftp.postgresql.org)|146.75.47.52|:443... connected.
HTTP request sent, awaiting response... 200 OK

# 编译安装
./configure --with-libpq=/usr/local/fbase/15.4/bin/pg_config --prefix=/home/fbase/odbc/install
# 使用root编译
make && make install

# 添加环境变量,在.bash_profile配置文件末尾增加ODBC驱动路径。
export LD_LIBRARY_PATH=<ODBC驱动路径>:$LD_LIBRARY_PATH

# 查看odbc存放位置
[fbase@node1 log]$ odbc_config --version
2.3.7
[fbase@node1 log]$ odbc_config --odbcini
/etc/odbc.ini
[fbase@node1 log]$odbc_config --odbcinstini

# 添加驱动
[root@node1 lib]# cat /etc/odbcinst.ini | head -n 10
# Example driver definitions

# Driver from the postgresql-odbc package
# Setup from the unixODBC package
[PostgreSQL ANSI(x64)]
Description     = ODBC for PostgreSQL
Driver          = /home/fbase/odbc/install/lib/psqlodbcw.so
Setup           = /home/fbase/odbc/install/lib/psqlodbcw.so

# 编辑unixODBC目录下的odbc.ini文件,在里面添加类似如下内容

[PGSQL-125]
Description=DataSource for PG-125
Driver=PostgreSQL
Database=postgres
Servername=127.0.0.1
Port=8432
UserName=dba_admin
Password=Admin@123

# 连接成功
[root@node1 ~]# isql -v PGSQL-125
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

再次启动

bash 复制代码
2026-05-19 16:16:28 link1[INFO]:  db version: Fbase 15.4, base 1.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.0, 64-bit
2026-05-19 16:16:28 link1[INFO]: PostgreSQL version is : 15.4 (150400)
2026-05-19 16:16:28 link1[INFO]: db: dm_drs_test, archived log path : /data/fbase/archive
2026-05-19 16:16:28 link1[INFO]: db: dm_drs_test, online log path : /data/fbase/fdata/pg_wal
2026-05-19 16:16:28 MGR[INFO]: 成功获取模块的起始SCN cpt name: link1, LSN: 55285792
2026-05-19 16:16:28 MGR[INFO]: 模块正在启动 module: link1
2026-05-19 16:16:28 link1[INFO]:  siteid: 1, start lsn: 55285792
2026-05-19 16:16:28 link1[INFO]: 表字典加载完毕 dict num: 0, dict pool size: 0(MB)
2026-05-19 16:16:28 link1[INFO]: 表约束加载完毕
2026-05-19 16:16:28 link1[INFO]: 正在初始化系统表信息
2026-05-19 16:16:28 link1[INFO]: 正在初始化系统表列信息
2026-05-19 16:16:28 link1[INFO]: 正在初始化主键信息...
2026-05-19 16:16:28 link1[LD][INFO]: 保存字典信息完成
2026-05-19 16:16:28 link1[INFO]: 正在初始化系统表信息
2026-05-19 16:16:28 link1[INFO]: 正在初始化系统表列信息
2026-05-19 16:16:28 link1[INFO]: 正在初始化主键信息...
2026-05-19 16:16:28 link1[LD][INFO]: 开启表的全日志 database: dm_drs_test
2026-05-19 16:16:28 link1[LD][INFO]: 开启表的全日志 database: dm_drs_test, total replica identity enabled tables: 0
2026-05-19 16:16:28 link1[LD][INFO]: 保存字典信息完成
2026-05-19 16:16:28 link1[INFO]: DDL捕获方式 mode: 未开启DDL, unicode: TRUE, length in char: 0
2026-05-19 16:16:28 link1[INFO]: [link1] searching archive log in dir: /data/fbase/archive
2026-05-19 16:16:28 link1[INFO]: archive log file: 000000010000000000000001(0x001000000, 0x001FFFFFF)
2026-05-19 16:16:28 link1[INFO]: archive log file: 000000010000000000000002(0x002000000, 0x002FFFFFF)
2026-05-19 16:16:28 link1[CLEAR][INFO]: 线程启动 THR: CLEAR
2026-05-19 16:16:28 link1[INFO]: online log file: 000000010000000000000001(0x001000000, 0x001FFFFFF)
2026-05-19 16:16:28 link1[INFO]: online log file: 000000010000000000000002(0x002000000, 0x002FFFFFF)
2026-05-19 16:16:28 link1[INFO]: online log file: 000000010000000000000003(0x003000000, 0x003FFFFFF)
2026-05-19 16:16:28 link1[INFO]: [link1] Starting file located in: 000000010000000000000003(0x003000000, 0x0034B9820, 0x003FFFFFF)
2026-05-19 16:16:28 link1[INFO]: 日志文件切换 [dm_drs_test] Switch to the online log file: 000000010000000000000003(0x003000000, 0x003FFFFFF)
2026-05-19 16:16:28 MGR[INFO]: CPT准备就绪 type: pg cpt
2026-05-19 16:16:28 MGR[INFO]: 模块已经处于运行状态 module: link1
2026-05-19 16:16:31 link1[INFO]: 表字典加载完毕 dict num: 2, dict pool size: 0(MB)
2026-05-19 16:16:31 link1[INFO]: 表字典加载完毕 dict num: 2, dict pool size: 0(MB)

数据装载成功

3.2 DMDRS工具DM8 -> DM8双向数据同步

业务场景规划

3.2.1数据库准备工作

为了保证源DMDRS服务运行中数据的一致性,源DMDRS服务需要读源数据库的归档和逻辑日志(开启在日志中记录逻辑操作的功能,用户可以使用 DBMS_LOGMNR 包对归档日志进行挖掘,重构出 DDL 和 DML 等操作,并通过获取的信息进行更深入的分析。),因此源数据库需要开启归档和逻辑日志功能。

源数据库未开启归档和逻辑日志或者参数配置不正确,将无法进行同步。

配置归档、开启逻辑日志

方式一:静态配置

设置DM8数据库配置文件"dm.ini"中ARCH_INI参数值为1,根据实际需求配置RLOG_APPEND_LOGIC的参数值,参数配置说明如下所示。

  • 1:如果有主键列,记录UPDATE和DELETE操作时只包含主键列信息,若没有主键列则包含所有列信息。
  • 2:不论是否有主键列,记录UPDATE和DELETE操作时都包含所有列的信息。
  • 3:记录UPDATE时包含更新列的信息以及ROWID,记录DLETE时只有ROWID。在与"dm.ini"相同目录下,新建配置文 件"dmarch.ini",并添加归档配置参数。配置示例如下:
bash 复制代码
#DaMeng Database Archive Configuration file
#this is comments

        ARCH_WAIT_APPLY      = 0

[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch
        ARCH_FILE_SIZE       = 2048
        ARCH_SPACE_LIMIT     = 102400
        ARCH_FLUSH_BUF_SIZE  = 2
        ARCH_HANG_FLAG       = 1

重启数据库服务,使配置生效。

方式二:动态配置

开启数据库归档。

  • DM8单机

    sql 复制代码
    SQL> alter database mount;
    executed successfully
    used time: 00:00:01.144. Execute id is 0.
    SQL> alter database archivelog;
    executed successfully
    used time: 10.277(ms). Execute id is 0.
    SQL> alter database add archivelog        'DEST=/dm8/data/arch,TYPE=LOCAL,FILE_SIZE=512,SPACE_LIMIT=10240';
    executed successfully
    used time: 7.437(ms). Execute id is 0.
    SQL> alter database open;
    executed successfully
    used time: 00:00:01.262. Execute id is 0.
  • DSC(以两节点为例)

    EP01节点

sql 复制代码
SQL> alter database mount;
executed successfully
used time: 00:00:01.144. Execute id is 0.
SQL> alter database archivelog;
executed successfully
used time: 10.277(ms). Execute id is 0.
SQL> alter database add archivelog 'DEST= +DMDATA/arch_dsc0,TYPE=LOCAL,FILE_SIZE=512,SPACE_LIMIT=10240';
executed successfully
used time: 7.437(ms). Execute id is 0.
SQL> alter database add archivelog 'INCOMING_PATH=+DMDATA/arch_dsc1,DEST=DSC1,TYPE=REMOTE,FILE_SIZE=512,SPACE_LIMIT=10240';
executed successfully
used time: 7.437(ms). Execute id is 0.
SQL> alter database open;
executed successfully
used time: 00:00:01.262. Execute id is 0.

EP02节点

sql 复制代码
SQL> alter database mount;
executed successfully
used time: 00:00:01.144. Execute id is 0.
SQL> alter database archivelog;
executed successfully
used time: 10.277(ms). Execute id is 0.
SQL> alter database add archivelog 'DEST= +DMDATA/arch_dsc1,TYPE=LOCAL,FILE_SIZE=512,SPACE_LIMIT=10240';
executed successfully
used time: 7.437(ms). Execute id is 0.
SQL> alter database add archivelog 'INCOMING_PATH=+DMDATA/arch_dsc0,DEST=DSC0,TYPE=REMOTE,FILE_SIZE=512,SPACE_LIMIT=10240';
executed successfully
used time: 7.437(ms). Execute id is 0.
SQL> alter database open;
executed successfully
used time: 00:00:01.262. Execute id is 0.

开启逻辑日志功能

sql 复制代码
SQL> call sp_set_para_value(1,'RLOG_APPEND_LOGIC',1);

检查参数是否设置成功

sql 复制代码
select para_name, para_value, sess_value, file_value from V$DM_INI where para_name = 'RLOG_APPEND_LOGIC';
select para_name, para_value, sess_value, file_value from V$DM_INI where para_name = 'ARCH_INI';

创建触发器配置DDL同步

DMDRS服务支持DDL同步功能。

  • 源数据库为DM8单机和DSC时,支持触发器方式和系统表方式配置DDL同步。级联同步和环形同步建议使用系统表方式配置DDL同步。

  • 源数据库为DPC时,仅支持系统表方式配置DDL同步。

  • 表级同步不支持系统表方式同步DDL。

方式一:触发器方式(推荐)

  1. 在源数据库执行"ddl_sql_dm8.sql"脚本创建触发器和辅助表,脚本默认位置在DMDRS执行程序目录下的scripts子目录中。

    sql 复制代码
    SQL> set define off;--  关闭 & 符号的变量解析功能,防弹窗
    SQL> start ddl_sql_dm8.sql
  2. 检查创建的触发器和辅助表是否有效。

    • 检查创建的触发器。

      sql 复制代码
      SQL> select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DRS_$%' and status = 'Y';

      查询结果如下:

      sql 复制代码
      行号          OWNER          TRIGGER_NAME
      ----------   -----------    ----------------
      1            SYSDBA         DRS_$DDL_TRIGGER_AFTER
      2            SYSDBA         DRS_$DDL_TRIGGER_BEFORE
      3            SYSDBA         DRS_$DDL_TRIGGER_GRANT
      4            SYSDBA         DRS_$DDL_TRIGGER_REVOKE
      已用时间: 12.147(毫秒). 执行号:16.

      如果存在以上查询结果,表示DMDRS触发器创建有效。

    • 检查创建的辅助表。

      sql 复制代码
      SQL> select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DRS_$%' and status = 'VALID';

      查询结果如下:

      sql 复制代码
      行号          OWNER         TABLE_NAME
      ----------   -----------   ----------------
      1            SYSDBA        DRS_$DDL_COL
      2            SYSDBA        DRS_$DDL_SQL
      3            SYSDBA        DRS_$DDL_CONS
      4            SYSDBA        DRS_$DDL_IDX
      5            SYSDBA        DRS_$DDL_RENAME
      6            SYSDBA        DRS_$DDL_SEQ
      7            SYSDBA        DRS_$DDL_PART
      8            SYSDBA        DRS_$DDL_COMMENT
      9            SYSDBA        DRS_$DDL_LOG
      9 rows got
      已用时间: 197.302(毫秒). 执行号:7.

      如果存在以上查询结果,表示DMDRS辅助表创建成功。

方式二:系统表方式

  1. 设置源数据库配置文件"dm.ini"中RLOG_APPEND_SYSTAB_LOGIC参数。

    • 静态配置

      1. 设置源数据库配置文件"dm.ini"中RLOG_APPEND_SYSTAB_LOGIC参数值为1。

        shell 复制代码
        #redo log
        RLOG_APPEND_SYSTAB_LOGIC = 1
      2. 重启数据库服务,使配置生效。

    • 动态配置

      调用系统过程SP_SET_PARA_VALUE将源数据库配置文件"dm.ini"中RLOG_APPEND_SYSTAB_LOGIC参数值设置为1。此系统过程的定义请参考《DM8_SQL语言使用手册》。

      sql 复制代码
      SQL> call sp_set_para_value(1,'RLOG_APPEND_SYSTAB_LOGIC',1);
  2. 检查RLOG_APPEND_SYSTAB_LOGIC参数配置是否生效。

    sql 复制代码
    SQL>  select para_name, para_value, sess_value, file_value from V$DM_INI where para_name = 'RLOG_APPEND_SYSTAB_LOGIC';

    查询结果如下:

    sql 复制代码
    行号        PARA_NAME                PARA_VALUE SESS_VALUE FILE_VALUE
    ---------- ------------------------ ---------- ---------- ----------
    1          RLOG_APPEND_SYSTAB_LOGIC 1          1          1
    
    已用时间: 3.708(毫秒). 执行号:506.

    如果存在以上查询结果,表示RLOG_APPEND_SYSTAB_LOGIC参数配置已生效。

添加DPI驱动的路径

DM DPI 驱动程序是 DM 数据库的 C/C++ 类驱动程序,是访问 DM 数据库的最直接的途径。DPI 接口驱动程序为 libdmdpi.so,存放目录位于 $DM_HOME/bin

bash 复制代码
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
3.2.2 装载
3.2.3启动数据同步

在源DMDRS服务中执行数据迁移命令

  1. 启动控制台。

    shell 复制代码
    $ ../../drcsl cpt.xml
  2. 连接源DMDRS服务。

    shell 复制代码
    CSL> connect
  3. 将源数据库RESOURCES模式下表EMPLOYEE的全量数据迁移到目标数据库。

    shell 复制代码
    CSL> alter cpt_dm8 cp "sch.name='RESOURCES' and tab.name='EMPLOYEE'"

目的端

bash 复制代码
[dmdba@localhost instance4]$ ./drcsl drs.xml
CSL[INFO]: CONSOLE TOOL DRS5: V5.2.5.4-Build(2026.04.08-218265_trunc_sp2)_64
CSL[WARN]: mem_size参数配置过大,超过系统剩余内存大小 mem_size: 16G, total_free_size: 1G
CSL[WARN]: 无key状态下DRS性能受限制 work_thr: 2
CSL> connect
CSL[INFO]: [INPUT CMD: connect]
CSL> show mode
CSL[INFO]: [INPUT CMD: show mode]
+-----------------------------------------------------------------------+
|                              【模块列表】                             |
+-----------------------------------------------------------------------+
|   模块名  | 类型 |  状态  |       启动时间      | 节点状态 | 链路状态 |
+-----------+------+--------+---------------------+----------+----------+
| instance4 | EXEC | 运行中 | 2026-05-20 14:16:13 |     -    |     -    |
+-----------+------+--------+---------------------+----------+----------+
命令执行成功
CSL> EXEC
CSL[INFO]: [INPUT CMD: EXEC]
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                          【EXEC统计信息】                                                                                          |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|  公共内存池使用情况 |       0/511 MB      | 工作线程信息 |    活动数(0/2)   |    执行等待(0)   |   提交等待(0)  |  执行(0) |  提交(0) |  连接数据库(0) | 异常线程号(-) | 检查点线程状态 |   空闲   |
+---------------------+---------------------+--------------+------------------+------------------+----------------+----------+----------+----------------+---------------+----------------+----------+
|  站点ID  | 接收状态 |     接收日志时间    | 活动事务(个) | 等待执行事务(个) | 正在执行事务(个) | 接收字节数(MB) |  入库消息字节数(MB) |  影响行数(行)  |  处理操作状态 |     私有内存池使用情况    |
+----------+----------+---------------------+--------------+------------------+------------------+----------------+---------------------+----------------+---------------+---------------------------+
|        3 |   空闲   | 2026-05-20 14:19:49 |            0 |                0 |                0 |  0 (0.00 MB/s) |       0 (0.00 MB/s) | 1000 (0 行/秒) |          空闲 |          0/63 MB          |
|      3-1 |   空闲   |       暂未接收      |            0 |                0 |                0 |  0 (0.00 MB/s) |       0 (0.00 MB/s) |   0 (0 行/秒)  |          空闲 |           0/0 MB          |
+----------+----------+---------------------+--------------+------------------+------------------+----------------+---------------------+----------------+---------------+---------------------------+
+-------------------------------------------------------------------------------------------------------------------------+
|                                                     【CPT统计信息】                                                     |
+-------------------------------------------------------------------------------------------------------------------------+
|                                                       【基础信息】                                                      |
+-------------------------------------------------------------------------------------------------------------------------+
|      IP地址     |    管理端口号   |    站点号   |    源库ID    |    源库名    |    CPT模块名称    |     CPT模块状态     |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
| 192.168.157.142 |            5345 |           3 |            0 |              | link1             |   CPT已经启动完成   |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
|                                                       【读取信息】                                                      |
+-------------------------------------------------------------------------------------------------------------------------+
|     读取状态    |   读取流量(MB)  | 当前读取LSN | 读取队列长度 |   当前文件   | 读取队列百分比(%) |       当前时间      |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
|       空闲      | 2.03(0.00 MB/s) |       62370 |            0 | DAMENG01.log |                 0 | 2026-05-20 14:19:49 |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
|                                                       【解析信息】                                                      |
+-------------------------------------------------------------------------------------------------------------------------+
|     解析状态    |   解析流量(MB)  | 当前解析LSN | 解析队列长度 |  过滤操作数  | 解析队列百分比(%) |       当前时间      |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
|       空闲      | 0.33(0.00 MB/s) |       62355 |          0/0 |            0 |                 0 | 2026-05-20 14:19:49 |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
|                                                       【发送信息】                                                      |
+-------------------------------------------------------------------------------------------------------------------------+
|     发送状态    |   发送流量(MB)  | 当前发送LSN | 发送队列长度 |   发送次数   | 发送队列百分比(%) |       当前时间      |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
|       空闲      | 0.73(0.00 MB/s) |       62355 |          0/0 |           23 |                 0 | 2026-05-20 14:19:49 |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+---------------------+
命令执行成功
CSL>
CSL> show instance4 lag
CSL[INFO]: [INPUT CMD: show instance4 lag]
+-----------------------------------------------------------------------------------------------------------------------------------------+
|                                                            【同步表延迟信息】                                                           |
+-----------------------------------------------------------------------------------------------------------------------------------------+
|  站点 | 站点ID | 分组ID |      同步对象     | 当前插入数 | 当前更新数 | 当前删除数 | 最新同步LSN |     最新执行时间    | 表同步延迟(秒) |
+-------+--------+--------+-------------------+------------+------------+------------+-------------+---------------------+----------------+
| link1 |      3 |  32767 | DRS_TEST.SYS_DEPT |       1000 |          0 |          0 |       62355 | 2026-05-20 14:19:50 |             <1 |
+-------+--------+--------+-------------------+------------+------------+------------+-------------+---------------------+----------------+
命令执行成功

源端

bash 复制代码
[dmdba@node2 instance3]$ ./drcsl drs.xml
CSL[INFO]: CONSOLE TOOL DRS5: V5.2.5.4-Build(2026.04.08-218265_trunc_sp2)_64
CSL[WARN]: mem_size参数配置过大,超过系统剩余内存大小 mem_size: 16G, total_free_                                                                              size: 4G
CSL[WARN]: 无key状态下DRS性能受限制 parse_thr: 1
CSL> connect
CSL[INFO]: [INPUT CMD: connect]
CSL> start
CSL[INFO]: [INPUT CMD: start]
MGR[INFO]: 模块已经处于运行状态 module: link1
命令执行成功
CSL> show mode
CSL[INFO]: [INPUT CMD: show mode]
+--------------------------------------------------------------------+
|                            【模块列表】                            |
+--------------------------------------------------------------------+
| 模块名 | 类型 |  状态  |       启动时间      | 节点状态 | 链路状态 |
+--------+------+--------+---------------------+----------+----------+
|  link1 |  CPT | 运行中 | 2026-05-20 13:41:11 |     -    |     -    |
+--------+------+--------+---------------------+----------+----------+
CSL> cpt
CSL[INFO]: [INPUT CMD: cpt]
+---------------------------------------------------------------------------------------------------------------------+
|                                                   【CPT统计信息】                                                   |
+---------------------------------------------------------------------------------------------------------------------+
|                                                     【基础信息】                                                    |
+---------------------------------------------------------------------------------------------------------------------+
|      IP地址     |    管理端口号   |    站点号   |    源库ID    |    源库名    |    CPT模块名称    |   CPT模块状态   |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
| 192.168.157.142 |            5345 |           3 |            0 |              | link1             | CPT已经启动完成 |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
|                                                     【读取信息】                                                    |
+---------------------------------------------------------------------------------------------------------------------+
|     读取状态    |   读取流量(MB)  | 当前读取LSN | 读取队列长度 |   当前文件   | 读取队列百分比(%) |     当前时间    |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
|       空闲      | 0.24(0.00 MB/s) |       53788 |            0 | DAMENG01.log |                 0 |        -        |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
|                                                     【解析信息】                                                    |
+---------------------------------------------------------------------------------------------------------------------+
|     解析状态    |   解析流量(MB)  | 当前解析LSN | 解析队列长度 |  过滤操作数  | 解析队列百分比(%) |     当前时间    |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
|       空闲      | 0.00(0.00 MB/s) |           0 |          0/0 |            0 |                 0 |        -        |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
|                                                     【发送信息】                                                    |
+---------------------------------------------------------------------------------------------------------------------+
|     发送状态    |   发送流量(MB)  | 当前发送LSN | 发送队列长度 |   发送次数   | 发送队列百分比(%) |     当前时间    |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
|       空闲      | 0.01(0.00 MB/s) |           0 |          0/0 |           88 |                 0 |        -        |
+-----------------+-----------------+-------------+--------------+--------------+-------------------+-----------------+
+---------------------------------------------------------------------------------------------------------------------+
|                                                 【EXEC站点统计信息】                                                |
+---------------------------------------------------------------------------------------------------------------------+
|   |   | 接收状态           |          空闲 | 活动事务(个)     |           0 | 私有内存池使用情况 |          0/63 MB |
|   |   |--------------------+---------------+------------------+-------------+--------------------+------------------+
|   |   | 接收字节数(MB)     | 0 (0.00 MB/s) | 活动大对象(个)   |           0 | 检查点占用磁盘     | 0.00/51200.00 MB |
|   |   |--------------------+---------------+------------------+-------------+--------------------+------------------+
| 站|   | 接收日志数         |            89 | 等待执行事务(个) |           0 | 检查点LSN          |                0 |
|   |   |--------------------+---------------+------------------+-------------+--------------------+------------------+
| 点| 3 | 起始接收日志LSN    |             0 | 正在执行事务(个) |           0 | 检查点LSN日志时间  |         暂未执行 |
|   |   |--------------------+---------------+------------------+-------------+--------------------+------------------+
|   |   | 最新接收日志LSN    |             0 | 已执行事务(个)   |           0 | 回滚事务(个)       |                0 |
|   |   |--------------------+---------------+------------------+-------------+--------------------+------------------+
|   |   | 最新接收日志时间   |      暂未接收 | 影响行数(行)     | 0 (0 行/秒) | 处理操作状态       |             空闲 |
|   |   |--------------------+---------------+------------------+-------------+--------------------+------------------+
|   |   | 入库消息字节数(MB) | 0 (0.00 MB/s) |                  |             |                    |                  |
+---+---+--------------------+---------------+------------------+-------------+--------------------+------------------+
命令执行成功
命令执行成功
CSL> show link1 table
CSL[INFO]: [INPUT CMD: show link1 table]
+-----------------------------------------------------------------------------------------------------------+
|                                             【表操作统计信息】                                            |
+-----------------------------------------------------------------------------------------------------------+
|  模式名  |   表名   | 插入操作数 | 删除操作数 | 更新操作数 | 大对象操作数 | 最近LSN |     最近操作时间    |
+----------+----------+------------+------------+------------+--------------+---------+---------------------+
| DRS_TEST | SYS_USER |       1000 |          0 |          0 |            0 |  58035  | 2026-05-20 14:10:12 |
| DRS_TEST | SYS_DEPT |       1000 |          0 |          0 |            0 |  55915  | 2026-05-20 14:08:03 |
+----------+----------+------------+------------+------------+--------------+---------+---------------------+
命令执行成功

双向同步

bash 复制代码
[dmdba@node2 instance3]$ ./drcsl drs.xml
CSL[INFO]: CONSOLE TOOL DRS5: V5.2.5.4-Build(2026.04.08-218265_trunc_sp2)_64
CSL[WARN]: mem_size参数配置过大,超过系统剩余内存大小 mem_size: 16G, total_free_size: 4G
CSL[WARN]: 无key状态下DRS性能受限制 parse_thr: 1
CSL[WARN]: 无key状态下DRS性能受限制 work_thr: 2
CSL> connect
CSL[INFO]: [INPUT CMD: connect]
CSL> show
CSL[INFO]: [INPUT CMD: show]
+-----------------------------------------------------------------------+
|                              【模块列表】                             |
+-----------------------------------------------------------------------+
|   模块名  | 类型 |  状态  |       启动时间      | 节点状态 | 链路状态 |
+-----------+------+--------+---------------------+----------+----------+
|   link1   |  CPT | 运行中 | 2026-05-20 14:28:23 |     -    |     -    |
| instance3 | EXEC | 运行中 | 2026-05-20 14:28:23 |     -    |     -    |
+-----------+------+--------+---------------------+----------+----------+
命令执行成功

注意:

  • 双向同步的时候只需要在一端把字典和表信息加载成功就可以了,不需要两端都加载。
  • 常用的命令
sql 复制代码
A节点
alter cpt_dm8_A set lsn

启动cpt
start cpt_dm8_A

B节点
alter cpt_dm8_B set lsn

启动cpt
start cpt_dm8_B

A、B节点都要添加字典
SHOW cpt_dm8_A LOAD DICT ALL
show cpt_dm8_A load table all

alter cpt_dm8_A add table "sch.name='DRS_TEST' and tab.name='TEST_TABLE'"


SHOW cpt_dm8_B LOAD DICT ALL
show cpt_dm8_B load table all

alter cpt_dm8_B add table "sch.name='DRS_TEST' and tab.name='TEST_TABLE'"

A、B节点任意节点添加字典
SHOW cpt_dm8_A LOAD DICT ALL
show cpt_dm8_A load table all

alter cpt_dm8_A add table "sch.name='DRS_TEST' and tab.name='TEST_TABLE'"


SHOW cpt_dm8_B LOAD DICT ALL
show cpt_dm8_B load table all

alter cpt_dm8_B add table "sch.name='DRS_TEST' and tab.name='TEST_TABLE'"


-- 如果表没有执行成功就重新装载
CP link2 "sch.name='PUBLIC'"
相关推荐
这个DBA有点耶1 小时前
从INDEX到JOIN_ORDER:MySQL 8.0 Hint语法体系与五类实战场景
数据库·mysql·架构
数字新视界1 小时前
机房动环监控助力智能管理
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
梅菲塔亚2 小时前
博客_Redis入门到实战
数据库·redis·缓存
abcyuu2 小时前
用友 U8 Cloud 生产制造模块深度解析:从 BOM 建立到成本核算的技术实现
前端·数据库·制造
夜雪一千2 小时前
MySQL 的ID用什么数据类型更好?主键ID选型实战
数据库·mysql
蓝胖的四次元口袋2 小时前
Redis 知识梳理(3)
数据库·redis·缓存
jnrjian2 小时前
Oracle PG data type 数据类型转化
oracle
一铭111992 小时前
海豹办公 1.9.15 跨端办公软件实践 文档兼容 Access 数据库与移动 WebView 排错
android·数据库·electron·开源软件·access
Lynne3092 小时前
TSN 在变电站自动化通信网络升级中的应用价值与技术挑战
服务器·网络·数据库
弈栈录2 小时前
用户、会话与消息表应该如何设计
数据库·后端