注册
记录一次DRS搭建部署
专栏/技术分享/ 文章详情 /

记录一次DRS搭建部署

张º 2026/09/04 76 0 0
摘要

ORACLE-DM 单向同步

源数据库为Oracle和目标数据库为DM,介绍在一对一数据同步场景中DMDRS的搭建流程。

环境准备

以源数据库oracle和目标数据库DM8为例,一对一数据同步场景中DMDRS的搭建流程。

环境信息:

image.png

目录规划:

image.png

环境变量配置

源端配置

[oracle@ ~]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

...
...
#增加下述环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64:/usr/local/lib:$ORACLE_HOME/bin

目标端配置

[dmdba@ ~]$ cat .bash_profile 
# Source /root/.bashrc if user has one
[ -f ~/.bashrc ] && . ~/.bashrc

export LD_LIBRARY_PATH=$DM_HOME/bin:/usr/lib:/usr/lib64
export DM_HOME=/dm/dmdbms
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
#增加下述环境变量
export LD_LIBRARY_PATH=$DM_HOME/bin:/usr/lib:/lib:/usr/lib:/usr/lib64:/usr/local/lib:$LD_LIBRARY_PATH

安装drs软件

文件上传

源端+目标端上传drs*.bin 至/soft
 oracle端:/home/oracle/dmdrs5
 [root@ ~]chown -R oracle.dba /soft
 [root@ ~]chmod -R 775 /soft

 dm端:/home/dmdba/dmdrs5
 [root@ ~]chown -R dmdba.doinstall /soft
 [root@ ~]chmod -R 775 /soft

软件安装

源端安装信息

[oracle@ soft]$cd /soft
[oracle@ soft]$ ./dmdrs_rev229171_x86_rh6_64_20260804.bin -i
Extract install files......... 

Please select the installer's language (C/c:Simplified Chinese, H/h:Hong Kong Traditional Chinese, E/e:English)[E/e]:c
-----------欢迎使用达梦数据复制软件安装工具-----------
输入[exit]可退出安装。
-----------安装目录-----------
指定安装目录[/home/oracle/dmdrs5]:
-----------安装组件-----------
请选择需要安装的组件
1.安装达梦数据融合管理平台
2.安装代理
请选择安装组件数字序号(使用空格间隔):2
选择的组件有:
2.安装代理
确认?[Y/y(确认选择) or N/n(重新选择)]:y
-----------许可证文件-----------
1.免费试用达梦数据复制软件(免费版本对性能进行了限制,如需高性能,请申请许可证)
2.使用许可证文件
指定许可证文件(1,2)[1]:1
免费试用许可证文件限制信息如下:
有效日期:无限制
版本类型:试用版
许可证编号:dm66n367
授权顾客名称:DEVELOP USER
当前选择为免费试用,是否继续安装?[Y/y or N/n]:y
-----------配置-----------
数据库驱动路径配置 -数据库驱动路径[]:/oracle/app/product/19c/db_1/bin
注意:代理配置IP不允许设置成127.0.0.1!
代理配置-代理IP(192.168.1.11):192.168.1.11
代理配置-代理端口[19345]:
达梦数据融合管理平台配置-管理平台IP[]:192.168.1.11
达梦数据融合管理平台配置-管理平台端口[8080]:
-----------安装小结-----------
安装目录:[/home/oracle/dmdrs5]
数据库驱动路径:[/oracle/app/product/19c/db_1/bin]
代理IP:[192.168.1.11]
代理端口:[19345]
达梦数据融合管理平台IP:[192.168.1.11]
达梦数据融合管理平台端口:[8080]
所需磁盘空间/可用磁盘空间:[304 MB/14,094 MB]
确认安装?[Y/y or N/n]:y
-----------安装中-----------
server   正在安装 ...   server   安装完成.   
default   正在安装 ...   default   安装完成.   
agent   正在安装 ...   agent   安装完成.   
doc   正在安装 ...   doc   安装完成.   
安装成功
-----------系统服务-----------
达梦数据融合管理平台代理服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:2
正在创建达梦数据融合管理平台代理服务....
正在启动服务[DfmAgentService]
-----------安装总结-----------
达梦数据复制软件V5安装完成
更多安装信息,请查看安装日志文件:/home/oracle/dmdrs5/log/install.log

源端安装信息

[dmdba@ soft]$cd /soft
[dmdba@ soft]$ ./dmdrs_rev229171_x86_rh6_64_20260804.bin -i
Extract install files......... 

Please select the installer's language (C/c:Simplified Chinese, H/h:Hong Kong Traditional Chinese, E/e:English)[E/e]:c
-----------欢迎使用达梦数据复制软件安装工具-----------
输入[exit]可退出安装。
-----------安装目录-----------
指定安装目录[/home/dmdba/dmdrs5]:
该路径不为空,是否继续安装?(Y/y or N/n)[N/n]:y
-----------安装组件-----------
请选择需要安装的组件
1.安装达梦数据融合管理平台
2.安装代理
请选择安装组件数字序号(使用空格间隔):2
选择的组件有:
2.安装代理
确认?[Y/y(确认选择) or N/n(重新选择)]:y
-----------许可证文件-----------
1.免费试用达梦数据复制软件(免费版本对性能进行了限制,如需高性能,请申请许可证)
2.使用许可证文件
指定许可证文件(1,2)[1]:1
免费试用许可证文件限制信息如下:
有效日期:无限制
版本类型:试用版
许可证编号:dm66n367
授权顾客名称:DEVELOP USER
当前选择为免费试用,是否继续安装?[Y/y or N/n]:y
-----------配置-----------
数据库驱动路径配置 -数据库驱动路径[]:/dm/dmdbms/bin
注意:代理配置IP不允许设置成127.0.0.1!
代理配置-代理IP(172.21.66.21,192.168.1.21):192.168.1.21
代理配置-代理端口[19345]:
达梦数据融合管理平台配置-管理平台IP[]:192.168.1.21
达梦数据融合管理平台配置-管理平台端口[8080]:
-----------安装小结-----------
安装目录:[/home/dmdba/dmdrs5]
数据库驱动路径:[/dm/dmdbms/bin]
代理IP:[192.168.1.21]
代理端口:[19345]
达梦数据融合管理平台IP:[192.168.1.21]
达梦数据融合管理平台端口:[8080]
所需磁盘空间/可用磁盘空间:[304 MB/71,201 MB]
确认安装?[Y/y or N/n]:y
-----------安装中-----------
server   正在安装 ...   server   安装完成.   
default   正在安装 ...   default   安装完成.   
agent   正在安装 ...   agent   安装完成.   
doc   正在安装 ...   doc   安装完成.   
安装成功
-----------系统服务-----------
达梦数据融合管理平台代理服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:2
正在创建达梦数据融合管理平台代理服务....
正在启动服务[DfmAgentService]
-----------安装总结-----------
达梦数据复制软件V5安装完成
更多安装信息,请查看安装日志文件:/home/dmdba/dmdrs5/log/install.log

数据库准备工作

在运行DMDRS服务前,数据库管理员需要对数据库做如下准备工作。

  1. 开启源数据库的归档和逻辑日志
    为了保证源DMDRS服务运行中数据的一致性,源DMDRS服务需要读源数据库的归档和逻辑日志,因此源数据库需要开启归档和逻辑日志功能。数据库管理员可按下列方式进行配置。

  2. 逻辑日志中,最小附加日志是必须启用项。库级的支持全列附加日志和主键附加日志,表级的支持全列附加日志、主键附加日志和无条件记录的自定义日志组附加日志。后续的步骤以库级全列为示例讲解。

  3. 注意:
    修改数据库为归档模式需重启数据库服务,生产环境中需确认能否停机维护。

规定状态检查

$ sqlplus / as sysdba
查看数据库归档模式是否开启。若数据库已经开启归档模式,则跳过步骤3~步骤7。
SQL> archive log list;
暂停数据库服务。

SQL> shutdown immediate;
以mount方式启动Oracle数据库服务。

SQL> startup mount;
开启数据库归档,并设置归档文件路径。

SQL> alter database archivelog;
SQL> alter system set db_recovery_file_dest='';
SQL> alter system set log_archive_dest='/oradata/arch';
重启数据库,使归档路径生效。

SQL> shutdown immediate;
SQL> startup mount;
将数据库切换到正常的工作状态。

SQL> alter database open;
查看数据库最小附加日志及全列日志是否开启。若数据库已经开启最小附加日志及全列日志,则跳过步骤9。

SQL> select supplemental_log_data_min,supplemental_log_data_all from v$database;
开启数据库最小附加日志及全列日志。

SQL> alter database add supplemental log data;
SQL> alter database add supplemental log data (ALL) columns;
Oracle 12c及以上版本需要开启enable_goldengate_replication参数。

SQL> alter system set enable_goldengate_replication = TRUE;

创建数据库同步用户DMDRS

请源数据库管理员和目标数据库管理员分别创建数据库同步用户DMDRS,并赋予同步所需权限。建议源数据库DMDRS用户不赋予DBA权限,仅赋予同步所需的最小权限即可,建议目标数据库DMDRS用户赋予DBA权限,为确保同步的正确性,仍需赋予DMDRS用户同步所需的最小权限。

源端 oracle

create user DMDRS identified by Dmdrs123456 ;
grant dba to DMDRS;
grant SELECT any table TO DMDRS;
GRANT CONNECT TO DMDRS;
GRANT SELECT ON SYS.OBJ$ TO DMDRS;
GRANT SELECT ON SYS.TAB$ TO DMDRS;
GRANT SELECT ON SYS.USER$ TO DMDRS;
GRANT SELECT ON SYS.NTAB$ TO DMDRS;
GRANT SELECT ON SYS.SEG$ TO DMDRS;
GRANT SELECT ON SYS.EXTERNAL_TAB$ TO DMDRS;
GRANT SELECT ON DBA_CONS_COLUMNS TO DMDRS;
GRANT SELECT ON DBA_CONSTRAINTS TO DMDRS;
GRANT SELECT ON SYS.COLTYPE$ TO DMDRS;
GRANT SELECT ON SYS.TYPE$ TO DMDRS;
GRANT SELECT ON SYS.ATTRIBUTE$ TO DMDRS;
GRANT SELECT ON SYS.COLLECTION$ TO DMDRS;
GRANT SELECT ON SYS.PARTOBJ$ TO DMDRS;
GRANT SELECT ON SYS.COM$ TO DMDRS;
GRANT SELECT ON V_$DATABASE TO DMDRS;
GRANT SELECT ON SYS.CON$ TO DMDRS;
GRANT SELECT ON SYS.IND$ TO DMDRS;
GRANT SELECT ON SYS.COL$ TO DMDRS;
GRANT SELECT ON SYS.CCOL$ TO DMDRS;
GRANT SELECT ON SYS.TS$ TO DMDRS;
GRANT SELECT ON SYS.DEFERRED_STG$ TO DMDRS;
GRANT SELECT ON SYS.SUBPARTCOL$ TO DMDRS;
GRANT SELECT ON SYS.SEQ$ TO DMDRS;
GRANT SELECT ON DBA_INDEXES TO DMDRS;
GRANT SELECT ON DBA_IND_COLUMNS TO DMDRS;
GRANT SELECT ON SYS.PARTCOL$ TO DMDRS;
GRANT SELECT ON SYS.DEFSUBPART$ TO DMDRS;
GRANT SELECT ON SYS.SOURCE$ TO DMDRS;
GRANT SELECT ON SYS.TYPED_VIEW$ TO DMDRS;
GRANT SELECT ON SYS.VIEW$ TO DMDRS;
GRANT SELECT ON SYS.SYN$ TO DMDRS;
GRANT SELECT ON "SYS"."_ALL_SYNONYMS_TREE" TO DMDRS;
GRANT SELECT ON DBA_EXTENTS TO DMDRS;
GRANT SELECT ON SYS.SNAP$ TO DMDRS;
GRANT SELECT ON SYS.SUM$ TO DMDRS;
GRANT SELECT ON V_$PARAMETER TO DMDRS;
GRANT SELECT ON SYS.TRIGGER$ TO DMDRS;
GRANT SELECT ON SYS.V_$THREAD TO DMDRS;
GRANT SELECT ON V_$DATABASE_INCARNATION TO DMDRS;
GRANT SELECT ON V_$TRANSACTION TO DMDRS;
GRANT SELECT ON V_$LOCKED_OBJECT TO DMDRS;
GRANT SELECT ON GV_$TRANSACTION TO DMDRS;
GRANT SELECT ON GV_$LOCKED_OBJECT TO DMDRS;
GRANT SELECT ON DBA_PART_INDEXES TO DMDRS;
GRANT SELECT ON SYS.LOBCOMPPART$ TO DMDRS;
GRANT SELECT ON SYS.PARTLOB$ TO DMDRS;
GRANT SELECT ON SYS.ECOL$ TO DMDRS;
GRANT SELECT ON SYS.ATTRCOL$ TO DMDRS;
GRANT SELECT ON SYS.ICOL$ TO DMDRS;
GRANT SELECT ON SYS.METHOD$ TO DMDRS;
GRANT SELECT ON SYS.RESULT$ TO DMDRS;
GRANT SELECT ON SYS.PARAMETER$ TO DMDRS;
GRANT SELECT ON V_$CONTAINERS TO DMDRS;
GRANT SELECT ON V_$MANAGED_STANDBY TO DMDRS;
GRANT SELECT ON V_$DATAGUARD_CONFIG TO DMDRS;
GRANT LOCK ANY TABLE TO DMDRS;
GRANT FLASHBACK ANY TABLE to DMDRS;
GRANT EXECUTE ON DBMS_FLASHBACK TO DMDRS;
GRANT SELECT ON SYS.COL$ TO DMDRS;
GRANT SELECT ON SYS.LOB$ TO DMDRS;
GRANT SELECT ON SYS.TABPART$ TO DMDRS;
GRANT SELECT ON SYS.TABCOMPART$ TO DMDRS;
GRANT SELECT ON SYS.LOBFRAG$ TO DMDRS;
GRANT SELECT ON V_$LOGFILE TO DMDRS;
GRANT SELECT ON V_$LOG TO DMDRS;
GRANT SELECT ON V_$ARCHIVED_LOG TO DMDRS;
GRANT SELECT ON SYS.CDEF$ TO DMDRS;
GRANT SELECT ON SYS.TABSUBPART$ TO DMDRS;
GRANT SELECT ON SYS.CCOL$ TO DMDRS;
GRANT SELECT ON SYS.TS$ TO DMDRS;
GRANT SELECT ON SYS.TYPE$ TO DMDRS;
GRANT SELECT ON SYS.ATTRIBUTE$ TO DMDRS;
GRANT SELECT ON SYS.COLLECTION$ TO DMDRS;
GRANT SELECT ON V_$SESSION TO DMDRS;
GRANT SELECT ON V_$SESSTAT TO DMDRS;
GRANT SELECT ON V_$STATNAME TO DMDRS;
GRANT SELECT ON V_$STANDBY_LOG TO DMDRS;
GRANT SELECT ON V_$INSTANCE TO DMDRS;
GRANT SELECT ON GV_$INSTANCE TO DMDRS;
GRANT SELECT ON XDB.XDB$TTSET TO DMDRS;
-- select 'GRANT SELECT ON  '||owner||'.'||table_name||'  TO DMDRS;' from dba_tables where table_name like 'XDB%';
GRANT SELECT ON  XDB.XDB$XIDX_IMP_T  TO DMDRS;
GRANT SELECT ON  XDB.XDB$CDBPORTS  TO DMDRS;
GRANT SELECT ON  XDB.XDB$CHECKOUTS  TO DMDRS;
GRANT SELECT ON  XDB.XDB$COLUMN_INFO  TO DMDRS;
GRANT SELECT ON  XDB.XDB$DBFS_VIRTUAL_FOLDER  TO DMDRS;
GRANT SELECT ON  XDB.XDB$DXPTAB  TO DMDRS;
GRANT SELECT ON  XDB.XDB$D_LINK  TO DMDRS;
GRANT SELECT ON  XDB.XDB$H_INDEX  TO DMDRS;
GRANT SELECT ON  XDB.XDB$IMPORT_NM_INFO  TO DMDRS;
GRANT SELECT ON  XDB.XDB$IMPORT_PT_INFO  TO DMDRS;
GRANT SELECT ON  XDB.XDB$IMPORT_QN_INFO  TO DMDRS;
GRANT SELECT ON  XDB.XDB$IMPORT_TT_INFO  TO DMDRS;
GRANT SELECT ON  XDB.XDB$MOUNTS  TO DMDRS;
GRANT SELECT ON  XDB.XDB$NONCEKEY  TO DMDRS;
GRANT SELECT ON  XDB.XDB$PATH_INDEX_PARAMS  TO DMDRS;
GRANT SELECT ON  XDB.XDB$REPOS  TO DMDRS;
GRANT SELECT ON  XDB.XDB$ROOT_INFO  TO DMDRS;
GRANT SELECT ON  XDB.XDB$TSETMAP  TO DMDRS;
GRANT SELECT ON  XDB.XDB$TTSET  TO DMDRS;
GRANT SELECT ON  XDB.XDB$XDB_READY  TO DMDRS;
GRANT SELECT ON  XDB.XDB$XIDX_PARAM_T  TO DMDRS;
GRANT SELECT ON  XDB.XDB$XIDX_PART_TAB  TO DMDRS;
GRANT SELECT ON  XDB.XDB$XTAB  TO DMDRS;
GRANT SELECT ON  XDB.XDB$XTABCOLS  TO DMDRS;
GRANT SELECT ON  XDB.XDB$XTABNMSP  TO DMDRS;
GRANT SELECT ON  XDB.XDB_INDEX_DDL_CACHE  TO DMDRS;
grant select on v_$database to dmdrs;
grant select on v_$log to dmdrs;
grant select on v_$logfile to dmdrs;
grant select on v_$archived_log to dmdrs;
grant select on v_$archive_dest to dmdrs;
grant select on v_$transaction to dmdrs;
grant select any table to dmdrs;

目标端DM8:

create user DMDRS identified by Dmdrs123456 ;
GRANT DBA TO DMDRS;
GRANT RESOURCE TO DMDRS;
GRANT CREATE SESSION TO DMDRS;
GRANT SELECT ANY TABLE TO DMDRS;
GRANT INSERT ANY TABLE TO DMDRS;
GRANT UPDATE ANY TABLE TO DMDRS;
GRANT DELETE ANY TABLE TO DMDRS;
GRANT SELECT ANY SEQUENCE TO DMDRS;
GRANT CREATE SYNONYM TO DMDRS;
GRANT DROP PUBLIC SYNONYM TO DMDRS;
GRANT CREATE PUBLIC SYNONYM TO DMDRS;
GRANT CREATE TABLE TO DMDRS;
GRANT ALTER TABLE TO DMDRS;
GRANT DROP TABLE TO DMDRS;
GRANT CREATE VIEW TO DMDRS;
GRANT ALTER VIEW TO DMDRS;
GRANT DROP VIEW TO DMDRS;
GRANT CREATE MATERIALIZED VIEW TO DMDRS;
GRANT ALTER MATERIALIZED VIEW TO DMDRS;
GRANT DROP MATERIALIZED VIEW TO DMDRS;
GRANT CREATE TRIGGER TO DMDRS;
GRANT ALTER TRIGGER TO DMDRS;
GRANT DROP TRIGGER TO DMDRS;
GRANT COMMENT ANY TABLE TO DMDRS;
GRANT CREATE PROCEDURE TO DMDRS;
GRANT SELECT ON SYS.V$DM_INI TO DMDRS;
GRANT SELECT ON V$IFUN TO DMDRS;
GRANT SELECT ON SYS.V$LOCK TO DMDRS;
GRANT SELECT ON SYS.V$SESSIONS TO DMDRS;
GRANT SELECT ON SYS.V$TABLESPACE TO DMDRS;
GRANT SELECT ON SYS.DBA_DATA_FILES TO DMDRS;
GRANT SELECT ON SYS.V$TRX TO DMDRS;
GRANT SELECT ON SYS.V$RLOG TO DMDRS;
GRANT SELECT ON SYS.V$MAL_LINK_STATUS TO DMDRS;
GRANT SELECT ON SYS.V$PARAMETER TO DMDRS;
GRANT SELECT ON SYS.V$DATABASE TO DMDRS;
GRANT SELECT ON SYS.DBA_OBJECTS TO DMDRS;
GRANT SELECT ON SYS.DBA_USERS TO DMDRS;
GRANT SELECT ON SYS.DBA_ROLES TO DMDRS;
GRANT SELECT ON SYS.DBA_ROLE_PRIVS TO DMDRS;
GRANT SELECT ON SYS.DBA_TAB_PRIVS TO DMDRS;
GRANT EXECUTE ON SYS.UTL_FILE TO DMDRS;
GRANT EXECUTE ON SYS.DBMS_LOB TO DMDRS;
GRANT EXECUTE ON SYS.DBMS_PIPE TO DMDRS;

DMDRS配置

DMDRS使用XML文件作为配置文件,通过XML配置文件配置产品服务功能。常用产品服务的配置文件模板存放于DMDRS安装目录下,配置文件模板名称和默认配置文件名称如下表所示。

源端配置

[oracle@ ~]$ cd /home/oracle/dmdrs5/bin
[oracle@ bin]$ cp ./conf_samplecat/cpt.xml ./
[oracle@ bin]$ vi cpt.xml

<?xml version="1.0" encoding="UTF-8"?>
<drs>
    <base>
        <mgr_port>5437</mgr_port>
        <siteid>1</siteid>
        <lang>en</lang>
        <mem_size>20</mem_size>
        <mem_check>0</mem_check>
    </base>
    <cpt>
        <name>cpt_oracle</name>
        <ddl_mask>OBJ:OP:DDL_REC</ddl_mask>
        <login>
            <dbtype>oracle</dbtype>
            <server>orcl</server>
            <user>dmdrs</user>
            <pwd>Dmdrs123456</pwd>
            <port>1521</port>
        </login>
    <arch>
        <clear_flag>0</clear_flag>
        <clear_interval>300</clear_interval>
    </arch>
        <sel_ddl_convert>1</sel_ddl_convert>
        <ddl_with_ts>0</ddl_with_ts>
        <io_threads>4</io_threads>
        <parse_thr>6</parse_thr>
        <parse_queue>1000</parse_queue>
        <parse_item_thr>4</parse_item_thr>
        <ckpt_interval>15</ckpt_interval>
        <check_date>1</check_date>
    <send>
         <ip>192.168.1.21</ip>
         <enable_compress>1</enable_compress>
         <port>5437</port>
         <target_name>exec_dm8</target_name>
         <map>
            <item>TEST.*==TEST.*</item><!--如:*.*==*.*-->
         </map>
    </send>
   <group>
                        <item>
                                <id>1</id>
                                <exec_policy>0</exec_policy>
                                <merge_policy>0</merge_policy>
                                <error_policy>0</error_policy>
                                <max_merge_row>200</max_merge_row>
                                <desc>
                                        <table>TEST.*</table>
                                </desc>
                        </item>
                </group>

   <load>
        <enable>1</enable>
        <threads>64</threads>
        <nets>2</nets>
  </load>
</cpt>
</drs>

具体参数信息请参考doc.

配置目标DMDRS

目标DMDRS服务包括Manager模块和EXEC模块。在目标DMDRS服务中,Manager模块提供基本的服务管理功能,EXEC模块提供数据执行功能,模块的详细介绍请参见doc

[dmdba@ ~]$ cd /home/dmdba/dmdrs5/bin
[dmdba@ bin]$ cp ./conf_samplecat/exec.xml ./
[dmdba@ bin]$ vi exec.xml

<?xml version="1.0" encoding="utf-8"?>
<drs>
        <base>
                <mgr_port>5437</mgr_port>
                <siteid>2</siteid>
                <lang>en</lang>
                <mem_size>80</mem_size>
        </base>
        <exec>
                <name>exec_dm8</name>
                <login>
                        <dbtype>dm8</dbtype>
                        <server>192.168.1.21</server>
                        <user>DMDRS</user>
                        <pwd>Dmdrs123456</pwd>
                        <port>5236</port>
                </login>
                <work_thr>80</work_thr>
                <site_buffer>4096</site_buffer>
                <recv_buffer>512</recv_buffer>
                <buffer>512</buffer>
                <load_threads>64</load_threads>
                <bind_rows>2000</bind_rows>
                <max_stmt_num>255</max_stmt_num>
                <enable_op_like>1</enable_op_like>
                <plan_vpool_size>128</plan_vpool_size>
                <seq_sync_mode>0</seq_sync_mode>
                <use_plan_pool>1</use_plan_pool>
                <max_bind_buf_size>128</max_bind_buf_size>
                <topology>NORMAL</topology>
                <ckpt_interval>15</ckpt_interval>
                <recv_timeout>180</recv_timeout>
                <load_buffer_limit>1024</load_buffer_limit>
                <pub_buf_size>2048</pub_buf_size>
                <log_mask>RECV|EXEC_TRX|FILTER</log_mask>
                <log_limit>1024000</log_limit>
                <group>
                        <item>
                                <id>1</id>
                                <exec_policy>0</exec_policy>
                                <merge_policy>0</merge_policy>
                                <error_policy>0</error_policy>
                                <max_merge_row>200</max_merge_row>
                                <desc>
                                        <table>TEST.*</table>
                                </desc>
                        </item>
                </group>
                <max_ckpt_num>1200</max_ckpt_num>
                <ckpt_limit>204800</ckpt_limit>
        </exec>
</drs>

具体参数信息请参考doc.

DMDRS运行

DMDRS运行包括DMDRS服务的运行和服务中模块的运行。DMDRS以服务脚本的方式管理服务,包括启动、停止和重启服务。服务启动后,通过DMDRS Console控制工具远程管理DMDRS服务中的模块,包括启动和停止DMDRS服务中的模块以及监控DMDRS服务的运行情况。

管理服务

DMDRS提供服务脚本模板TemplateService,用户可以修改和使用服务脚本模板快速地完成源DMDRS服务、目标DMDRS服务和DMDSS服务服务脚本的配置,通过服务脚本实现服务的启动、停止和重启。
配置DMDRS服务脚本
将服务脚本模板TemplateService拷贝到执行程序目录,并修改服务脚本的名称为默认服务脚本名。 打开并修改服务脚本中的相关配置参数。

INSTALL_HOME=<安装目录>
PROG_DIR=<执行程序目录>
CONF_PATH=<配置文件路径>
EXEC_PROG_NAME=<可执行程序名>
SERVICE_TYPE_NAME=<服务类型名>

DMDRS各服务脚本中相关配置参数如下表所示。
image.png

源端服务脚本

[oracle@ ~]$ cd /home/oracle/dmdrs5/bin
[oracle@ bin]$ cp./service_template/TemplateService ./DrsService
[oracle@ bin]$ vi DrsService 
...
#set execute environment
#REPLACE INSTALL_HOME path
INSTALL_HOME=/home/oracle/dmdrs5
#REPLACE program dir
PROG_DIR=/home/oracle/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=/home/oracle/dmdrs5/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"

目标端服务脚本


[dmdba@  ~]$ cd /home/dmdba/dmdrs5/bin
[dmdba@ bin]$ cp./service_template/TemplateService ./DrsService
[dmdba@ bin]$ vi DrsService 
...

#set execute environment
#REPLACE INSTALL_HOME path
INSTALL_HOME=/home/dmdba/dmdrs5
#REPLACE program dir
PROG_DIR=/home/dmdba/dmdrs5/bin
#REPLACE program config path
CONF_PATH=/home/dmdba/dmdrs5/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"

启动drs服务

目标端:
[dmdba@  ~]$ cd /home/dmdba/dmdrs5/bin
[dmdba@ bin]$ ./DrsService start

源端:
[oracle@  ~]$ cd /home/oracle/dmdrs5/bin
[oracle@ bin]$ ./DrsService start

开始装载数据

目标端进入控制台

[dmdba@  ~]$ cd /home/dmdba/dmdrs5/bin
./drcsl exec.xml
connect
start exec_dm8

源端操作进入控制台

./drcsl cpt.xml
connect
--设置起始lsn
alter cpt_oracle set lsn;
--启动同步
start cpt_oracle;

--开启整个用户装载
alter cpt_oracle add table "sch.name='TEST'" INSERT|GROUP|3000
注意:因为我已经提前完成目标端用户的创建、表结构、序列等信息的迁移工作,所以本次参数只选择了insert。

--装载具体表
alter cpt_oracle add table "sch.name='TEST' and tab.name='TEST01'" INSERT|GROUP|3000|TIME

下述参数信息请参考doc、
-- alter cpt_oracle add table "sch.name='TEST'" DROP|CREATE|INSERT|GROUP|3000|TIME|INDEX|FLASHBACK


执行日志:
CSL> connect
CSL[INFO]: [INPUT CMD: connect]
CSL> alter cpt_oracle set lsn;
CSL[INFO]: [INPUT CMD: alter cpt_oracle set lsn;]
MGR[INFO]: Start SCN of module retrieved successfully. cpt name: cpt_oracle, SCN: 217916415
Command executed successfully. 
CSL> start cpt_oracle;
CSL[INFO]: [INPUT CMD: start cpt_oracle;]
MGR[INFO]: Module is starting. module: cpt_oracle 
MGR[INFO]: Initial SCN retrieved. start scn: 217916415

MGR[INFO]: Module is running. module: cpt_oracle 
Command executed successfully. 

查看状态

目标端

--目标端进入控制台
./drcsl exec.xml

---查看分组信息
show group

--查看状态
show  thr;
show  state;

---查看日志
tail -200f /home/dmdba/dmdrs5/bin/log/drs_202608.log

----增加检查点
set exec_dm8 ckpt_max 5000
set exec_dm8 ckpt_limit 204800

源端

----查看启动是否正常状态
show mode;

----查进度
show load status
show load table running

show state

----查看哪些失败及原因
show load table error

----断点续传
alter cpt_oracle continue load;

----停止同步
stop cpt_oracle;

----查看日志
tail -200f /home/oracle/dmdrs5/bin/log/drs_202608.log
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服