达梦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'"
相关推荐
KaMeidebaby1 天前
卡梅德生物技术快报|抗独特型抗体开发:半抗原检测技术瓶颈拆解,抗独特型抗体开发工程化实践
前端·数据库·人工智能·其他·百度·新浪微博
NiceCloud喜云1 天前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
A XMan.1 天前
域名Whois信息查询V2版API接入指南
数据库
heimeiyingwang1 天前
【架构实战】可观测性体系:从监控到全链路追踪
网络·数据库·架构
网管NO.11 天前
SQL 日期函数全套精讲!时间格式化、日期加减、年月日提取,做日报周报直接套用
数据库·sql
杨云龙UP1 天前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache
sdk大全1 天前
Studio 3T for MongoDB 2025.13.0
数据库·mongodb
码农阿豪1 天前
平替MongoDB:金仓多模数据库助力电子证照国产化实践
数据库·mongodb
罗超驿1 天前
22.深入剖析JDBC架构:从原生API到企业级数据交互核心
java·数据库·mysql·面试