本报告描述通过达梦数据复制软件 DMDRS,将 DSC 4+4 主备集群(源端)中的表,仅从备库读取数据并全量装载至单机数据库(目的端)的部署过程。装载方式为 select → insert,验证要点为装载产生的 SELECT 语句只落在备库、主库不产生 SELECT。
确认 License 与程序,确认备库与目的端数据库在线。
分别编写源端和目的端的配置文件。
建立独立部署目录
在 release 目录之外建立独立工作目录
拷贝程序本体(release 下所有 .so、bin、conf_sample、lang)
拷贝 license
启动 CPT 前须将源 DSC 集群的 bin 目录前置到 LD_LIBRARY_PATH,否则进程加载旧版 libdmdpi.so,与源集群的 dmasmsvr 版本不匹配,ASM 握手失败报 -11081。
export LD_LIBRARY_PATH=/dmdata/dsp/dsc44_HBYH/bin:$LD_LIBRARY_PATH
启动 CPT 模块
CPT 须以前台方式启动,出现 CMD> 提示符后方可执行装载命令。
cd /dmdata/lx/gqs/dmdrs5_3_17/fyq_hbyh_load
unset DM_SVC_CONF # 清空,使 DRS 读取 /etc/dm_svc.conf
ps -ef | grep -i drsvr | grep -v grep # 确认无残留进程
./drsvr cpt_fyq.xml # 前台运行,出现 CMD> 提示符
注意不应以后台加管道方式启动(如 “2>&1 | tee … &”),否则交互式控制台线程阻塞于 stdin,manager 不响应,connect 命令持续挂起。
在 CMD> 提示符下执行 cp 纯装载命令,不执行 set lsn。
alter cpt_fyq cp “sch.name=‘SYSDBA’ and tab.name=‘ZZQ_BKLOAD_20260901’” CREATE|INSERT|INDEX
日志中同时出现以下告警,表明本次按纯装载路径执行、未连接主库:
连接目的端单机库,统计目标表行数,应为 100000。
select count(*) as CNT from SYSDBA.ZZQ_BKLOAD_20260901;
连接备库,检索 SQL 历史视图中的装载语句。达梦动态性能视图 VSQL_HISTORY 的 SQL 文本列为 TOP_SQL_TEXT / SEC_SQL_TEXT / THRD_SQL_TEXT,而非 SQL_TEXT,故以整行检索方式规避列名差异。
grep -i "ZZQ_BKLOAD"
set pagesize 0
select * from VSQL_HISTORY;
exit;
连接主库,执行同样检索,应无任何输出。
grep -i “ZZQ_BKLOAD”
set pagesize 0
select * from V$SQL_HISTORY;
exit;
装载的 SELECT 只落在备库、主库不产生 SELECT,目的端数据全量到位。
文章
阅读量
获赞
