注册
DMDRS-达梦同步到达梦单向
专栏/技术分享/ 文章详情 /

DMDRS-达梦同步到达梦单向

lysrwhjy 2024/07/26 1186 3 0
摘要

安装及简单使用

安装步骤省略

设置环境变量

源DMDRS和目标DMDRS服务器的环境变量中添加DMDPI驱动文件路径。
打开.bash_profile配置文件。
$ vi ~/.bash_profile
在.bash_profile配置文件末尾增加DMDPI驱动路径。
export LD_LIBRARY_PATH=<DMDPI驱动路径>:LD_LIBRARY_PATH 保存并退出vi编辑器,使环境变量生效。 source ~/.bash_profile
查看环境变量是否设置成功。
$ echo $LD_LIBRARY_PATH

开启源数据库的归档和逻辑日志

开启归档
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG ‘DEST=/data/yuyu/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=128, SPACE_LIMIT=102400’;
ALTER DATABASE OPEN;
配置源数据库逻辑日志。
call sp_set_para_value(1,‘RLOG_APPEND_LOGIC’,1);
CREATE USER DMDRS IDENTIFIED by “DMDRS123456”;
grant “RESOURCE”,“PUBLIC”,“VTI”,“SOI”,“SVI” to “DMDRS”;
grant CREATE SESSION to “DMDRS”;

配置DDL同步

在源数据库执行“ddl_sql_dm8.sql”脚本创建辅助表,脚本默认位置在DMDRS执行程序目录下的scripts子目录中。
image.png
SQL> start ddl_sql_dm8.sql
image.png

配置DMDRS

配置目的端服务脚本

[dmdba@node178 service_template]$ pwd
/home/dmdba/yuyu/drs/bin/service_template
[dmdba@node178 service_template]$ ll
总用量 16
-rw-r–r-- 1 dmdba dinstall 13320 2月 5 15:35 TemplateService
[dmdba@node178 service_template]$ cp TemplateService /home/dmdba/yuyu/drs/bin/DrsService
[dmdba@node178 service_template]$ cd …
[dmdba@node178 bin]$ vi DrsService
INSTALL_HOME=/home/dmdba/yuyu/drs
#REPLACE program dir
PROG_DIR=/home/dmdba/yuyu/drs/bin
#REPLACE program config path
CONF_PATH=/home/dmdba/yuyu/drs/bin/exec.xml
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH
NEED_LIB_PATH=_REPLACE_SELF_NEED_LIB_PATH
#REPLACE program name, drsvr/dssvr/dvsvr
EXEC_PROG_NAME=drsvr
#REPLACE service type, drs server/dss server/dvs server
SERVICE_TYPE_NAME=“drs server”
image.png

目标DMDRS服务的配置文件目录,打开并修改exec.xml配置文件,修改后配置文件如下所示。

<?xml version=“1.0” encoding=“GB18030”?>
<drs>
<base>
<mgr_port>5345</mgr_port>
<siteid>2</siteid>
</base>
<exec>
<name>exec_dm8</name>
<login>
<dbtype>dm8</dbtype>
<server>192.168.20.21</server>
<user>DMDRS</user>
<pwd>DMDRS</pwd>
<port>5236</port>
</login>
<group>
<item>
<id>35</id>
<exec_policy>0</exec_policy>
<desc>
<table>.</table>
</desc>
</item>
</group>
</exec>
</drs>
image.png

配置源DMDRS服务

源端创建连接用户及测试数据
CREATE USER DMDRS IDENTIFIED by “DMDRS123456”;
grant “RESOURCE”,“PUBLIC”,“VTI”,“SOI”,“SVI” to “DMDRS”;
grant CREATE SESSION to “DMDRS”;
create or replace procedure TEST1.myDemo01
as
begin
dbms_output.put_line(‘hello word, my name is stored procedure’);
end;

create or replace function TEST1.fun_hello1 return varchar2 is
begin
return ‘你好!’;
end;
image.png

配置源端的脚本服务

[dmdba@node178 service_template]$ cp TemplateService /data/yuyu/drs/bin/DrsService
[dmdba@node178 service_template]$ cd …
[dmdba@node178 bin]$ vi DrsService
INSTALL_HOME=/data/yuyu/drs
#REPLACE program dir
PROG_DIR=/data/yuyu/drs/bin
#REPLACE program config path
CONF_PATH=/data/yuyu/drs/bin/cpt.xml
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH
NEED_LIB_PATH=_REPLACE_SELF_NEED_LIB_PATH
#REPLACE program name, drsvr/dssvr/dvsvr
EXEC_PROG_NAME=drsvr
#REPLACE service type, drs server/dss server/dvs server
SERVICE_TYPE_NAME=“drs server”
image.png

在源DMDRS服务的配置文件目录,打开并修改cpt.xml配置文件

<?xml version=“1.0” encoding=“GB18030”?>
<drs>
<base>
<mgr_port>5345</mgr_port>
<siteid>1</siteid>
</base>
<cpt>
<name>cpt_dm8</name>
<login>
<dbtype>dm8</dbtype>
<server>10.15.1.16</server>
<user>DMDRS</user>
<pwd>DMDRS123456</pwd>
<port>8009</port>
</login>
<send>
<ip>10.15.1.178</ip>
<port>5345</port>
<target_name>exec_dm8</target_name>
<map>
<item>TEST1.==TEST1.</item>
</map>
</send>
</cpt>
</drs>
image.png

运行DMDRS服务

[dmdba@node178 bin]$ ./DrsService start
Starting DrsService: [ OK ]
[dmdba@node178 bin]$
image.png
image.png

启动源端服务

[dmdba@localhost bin]$ chmod 775 DrsService
[dmdba@localhost bin]$ ./DrsService start

Starting DrsService: [ OK ]
[dmdba@localhost bin]$

image.png
image.png
CSL> alter cpt_dm8 set lsn
CSL[INFO]: [INPUT CMD: alter cpt_dm8 set lsn]
MGR[INFO]: 成功获取模块的起始SCN cpt name: cpt_dm8, LSN: 2273121
命令执行成功
CSL> alter cpt_dm8 add table “sch.name=‘TEST1’”
CSL[INFO]: [INPUT CMD: alter cpt_dm8 add table “sch.name=‘TEST1’” ]
MGR[INFO]: 获取到装载掩码组合 mask: |CREATE|INSERT|INDEX|TABLE|CHECK|GROUP
命令执行成功
CSL> start
CSL[INFO]: [INPUT CMD: start]
MGR[INFO]: 模块正在启动 module: cpt_dm8
MGR[INFO]: CPT准备就绪 type: dm8 cpt
MGR[INFO]: 模块已经处于运行状态 module: cpt_dm8
命令执行成功
CSL>
image.png
image.png

查看目标端表已经同步

image.png

源端创建测试表测试

CREATE TABLE “TEST1”.“T11111”
(
“COLUMN_1” CHAR(10),
“COLUMN_2” CHAR(10),
“COLUMN_3” CHAR(10)) ;
insert into “TEST1”.“T11111”(COLUMN_1) values (‘AAAAA’);
insert into “TEST1”.“T11111”(COLUMN_2) values (‘好’);
commit;
select * from “TEST1”.“T11111”
image.png
image.png
源端日志
image.png
目标端日志
image.png
目的端查看
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服