DMDRS 配置

1. 源端数据库配置

  • 在源端数据库创建数据复制用户并授予相关权限;
  • 在源端数据库部署DMDRS数据复制软件。
  • 检查DM的归档模式、补充日志开启等

实施步骤

2. 创建DMDRS 同步用户及存储表空间。

源端和目标端都创建 DMDRS 管理用户和数据同步用户 TEST:

复制代码
create tablespace DMDRS datafile 'DMDRS01.DBF' size 512 autoextend off CACHE = NORMAL;
create user DMDRS identified by "xx" default tablespace "DMDRS" default index tablespace "DMDRS";
grant "DBA","PUBLIC","RESOURCE","SOI" to DMDRS;

create tablespace TEST datafile 'TEST.DBF' size 128 autoextend off CACHE = NORMAL;
create user TEST identified by "xx" default tablespace "TEST" default index tablespace "TEST";
grant "PUBLIC","RESOURCE" to TEST;
grant select any DICTIONARY to TEST;
grant creeate table to test;

3. 开启归档(正常安装都是开的)和逻辑附加日志

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

select PARA_VALUE from v$dm_ini where para_name = 'ARCH_INI';
PARA_VALUE
----------
1

select PARA_VALUE from v$dm_ini where para_name = 'RLOG_APPEND_LOGIC';
PARA_VALUE
----------
1

4. 指定对应安装目录进行DRS软件安装

复制代码
./dmdrs_xx.bin -i

注意:未选择任何组件

5. 配置DDLDML语句同步,创建辅助表

同步DDL语句,创建DDL触发器和辅助表时,请使用具有DBA权限的用户。

复制代码
start /data/dmdrs5/bin/scripts/ddl_sql_dm8.sql    ----disql执行报错输入过长,最好管理工具跑 ddl_sql_dm8.sql   

检查创建的触发器和辅助表是否有效(4)

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

检查创建的辅助表(9)

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

调整源和目的的环境变量

复制代码
vi ~/.bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dmdbms/bin:/dmdbms/drivers/dpi"
source ~/.bash_profile

6. 源端配置 cpt.xml 文件

复制代码
<?xml version="1.0" encoding="GB18030"?>
<drs>
    <base>
        <mgr_port>5345</mgr_port>
        <siteid>1</siteid>       <===注意cpt.xml 和 exec.xml 不能一样
        <lang>en</lang>
    </base>
    <cpt>
        <name>cpt</name>
        <login>
            <dbtype>DM8</dbtype>
            <server>192.168.56.51</server>
            <user>DMDRS</user>
            <pwd>xx</pwd>
            <port>5236</port>
        <ddl_mask>OBJ:OP</ddl_mask>
        </login>
        <send>
            <ip>192.168.56.52</ip>
            <port>5345</port>
            <map>
            <target_name>exec</target_name>
                <item>TEST.*==TEST.*</item>   <===代表同步的模式
            </map>
        </send>
    </cpt>
</drs>

7. 目的端 exec.xml 文件配置

复制代码
<?xml version="1.0" encoding="GB18030"?>
<drs>
    <base>
        <mgr_port>5345</mgr_port>
        <siteid>2</siteid>
        <lang>en</lang>
    </base>
    <exec>
        <name>exec</name>
        <login>
            <dbtype>DM8</dbtype>
            <server>192.168.1.52</server>
            <user>DMDRS</user>
            <pwd>xx</pwd>
            <port>5236</port>
        </login>
    </exec>
</drs>

8. 源端注册服务

复制代码
$ cp service_template/TemplateService ./DrsService
#set execute environment
#REPLACE INSTALL_HOME path
INSTALL_HOME=/data/dmdrs5
#REPLACE program dir
PROG_DIR=/data/dmdrs5/bin
#REPLACE program config path
#If drs server is BP node and wants to startup without drs.xml,please specify the running port in CONF_PATH,for example,CONF_PATH="-port 5345"
CONF_PATH=/data/dmdrs5/bin/cpt.xml
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH
NEED_LIB_PATH=/home/dmdba/dmdbms/bin

#REPLACE program name, drsvr/dssvr/dvsvr
EXEC_PROG_NAME=drsvr
#REPLACE service type,  drs server/dss server/dvs server
SERVICE_TYPE_NAME="drs server"

9. 目的端注册服务

复制代码
[dmdba@kylin1:/dmdrs/bin]$ cp service_template/TemplateService ./DrsService
#set execute environment
#REPLACE INSTALL_HOME path
INSTALL_HOME=/data/dmdrs5
#REPLACE program dir
PROG_DIR=/data/dmdrs5/bin
#REPLACE program config path
#If drs server is BP node and wants to startup without drs.xml,please specify the running port in CONF_PATH,for example,CONF_PATH="-port 5345"
CONF_PATH=/data/dmdrs5/bin/exec.xml
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH
NEED_LIB_PATH=/home/dmdba/dmdbms/bin

#REPLACE program name, drsvr/dssvr/dvsvr
EXEC_PROG_NAME=drsvr
#REPLACE service type,  drs server/dss server/dvs server
SERVICE_TYPE_NAME="drs server"

10. 启动源端目的端 cpt 和 exec 服务

复制代码
目标端启服务:
[dmdba@kylin1:/dmdrs/bin]$ ./DrsService start
Starting DrsService:                                       [ OK ]

源端启服务:
[dmdba@kylin1:/dmdrs/bin]$ ./DrsService start
Starting DrsService:                                       [ OK ]

11. 连接目标端exec 服务

复制代码
$ ./drcsl exec.xml 
CSL> connect
CSL> show mode
CSL> exit

12. 连接源端cpt 服务

复制代码
$ ./drcsl cpt.xml
CSL> connect
CSL> alter cpt set lsn
CSL> alter cpt add table "sch.name='TEST'"
CSL> start
CSL> show mode
CSL> exit

欢迎访问达梦技术分享社区 ECO
https://eco.dameng.com

相关推荐
liwenzhen20051 天前
DM SQL 查看执行计划
explain·执行计划·et·dm
liwenzhen20051 天前
Linux 环境编译安装 dmPython
dmpython·dm
2 天前
达梦数据库—锁
数据库·达梦数据库·dm
5 天前
达梦数据库-事务
数据库·达梦数据库·dm
FHYAAAX3 个月前
如何利用SMS、RDS把服务从阿里云迁移到华为云
网络·华为云·sms·ecs·eip·rds·drs
Thinking in Coder10 个月前
flowable适配达梦数据库
信创·flowable·国产化·达梦数据库·dm·liquibase·flowable适配
飞奔的屎壳郎1 年前
DM适配连接kettle迁移工具(资源库+数据源配置)
数据库·etl·kettle·dm
保定公民1 年前
问题小记-达梦数据库报错“字符串转换出错”处理
数据库·sql·达梦数据库·问题处理·dm
飞奔的屎壳郎1 年前
sysbench压测DM的高可用切换测试
dm