源数据库为Oracle和目标数据库为DM,介绍在一对一数据同步场景中DMDRS的搭建流程。
以源数据库oracle和目标数据库DM8为例,一对一数据同步场景中DMDRS的搭建流程。
[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*.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服务前,数据库管理员需要对数据库做如下准备工作。
开启源数据库的归档和逻辑日志
为了保证源DMDRS服务运行中数据的一致性,源DMDRS服务需要读源数据库的归档和逻辑日志,因此源数据库需要开启归档和逻辑日志功能。数据库管理员可按下列方式进行配置。
逻辑日志中,最小附加日志是必须启用项。库级的支持全列附加日志和主键附加日志,表级的支持全列附加日志、主键附加日志和无条件记录的自定义日志组附加日志。后续的步骤以库级全列为示例讲解。
注意:
修改数据库为归档模式需重启数据库服务,生产环境中需确认能否停机维护。
$ 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用户不赋予DBA权限,仅赋予同步所需的最小权限即可,建议目标数据库DMDRS用户赋予DBA权限,为确保同步的正确性,仍需赋予DMDRS用户同步所需的最小权限。
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;
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使用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服务包括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 Console控制工具远程管理DMDRS服务中的模块,包括启动和停止DMDRS服务中的模块以及监控DMDRS服务的运行情况。
DMDRS提供服务脚本模板TemplateService,用户可以修改和使用服务脚本模板快速地完成源DMDRS服务、目标DMDRS服务和DMDSS服务服务脚本的配置,通过服务脚本实现服务的启动、停止和重启。
配置DMDRS服务脚本
将服务脚本模板TemplateService拷贝到执行程序目录,并修改服务脚本的名称为默认服务脚本名。 打开并修改服务脚本中的相关配置参数。
INSTALL_HOME=<安装目录>
PROG_DIR=<执行程序目录>
CONF_PATH=<配置文件路径>
EXEC_PROG_NAME=<可执行程序名>
SERVICE_TYPE_NAME=<服务类型名>
DMDRS各服务脚本中相关配置参数如下表所示。
[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"
目标端:
[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
文章
阅读量
获赞
