mkdir -p /dbbak/dmbak/dmdrs
mkdir -p /dbbak/dmbak/dsrsoft
chown -R dmdba:dinstall /dbbak/dmbak/dmdrs
chmod -R 755 /dbbak/dmbak/dmdrs
–授权
chown -R dmdba:dinstall /dbbak/dmbak/dmdrs
chmod -R 755 /dbbak/dmbak/dmdrs
–开始安装
[dmdba@centos1 dsrsoft]$ ./dmdrs_rev218265_x86_rh6_64_20260409.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]: /dbbak/dmbak/dmdrs
该路径不为空,是否继续安装?(Y/y or N/n)[N/n]:y
-----------安装组件-----------
请选择需要安装的组件
1.安装达梦数据融合管理平台
2.安装代理
请选择安装组件数字序号(使用空格间隔):
未选择组件
确认?[Y/y(确认选择) or N/n(重新选择)]:y
-----------许可证文件-----------
1.免费试用达梦数据复制软件(必须在试用期范围内使用,反复安装无效,使用时间为3个月)
2.使用许可证文件
指定许可证文件(1,2)[1]:2
请输入许可证文件路径:/dbbak/dmbak/dsrsoft/dmdrsC301900946.key
许可证文件限制信息如下:
有效日期:2026-09-25
版本类型:试用版
许可证编号:*******
授权顾客名称:达梦公司产品试用
项目名称:达梦公司产品试用
授权数据库类型:DM6、DM7、DM8、Oracle、SQL Server、MySQL、DB2、PostgreSQL
当前默认许可证文件支持数据库类型为[DM6、DM7、DM8、Oracle、SQL Server、MySQL、DB2、PostgreSQL],是否继续安装?[Y/y or N/n]:y
-----------配置-----------
数据库驱动路径配置 -数据库驱动路径[]:/home/dmdba/dm/dmdbms/bin
-----------安装小结-----------
安装目录:[/dbbak/dmbak/dmdrs]
数据库驱动路径:[/home/dmdba/dm/dmdbms/bin]
所需磁盘空间/可用磁盘空间:[637 MB/29,227 MB]
确认安装?[Y/y or N/n]:y
-----------安装中-----------
server 正在安装 … server 安装完成.
default 正在安装 … default 安装完成.
doc 正在安装 … doc 安装完成.
安装成功
-----------安装总结-----------
达梦数据复制软件V5安装完成
更多安装信息,请查看安装日志文件:/dbbak/dmbak/dmdrs/log/install.log
源数据库需要开启归档和逻辑日志
SQL> select para_name, para_value, sess_value, file_value from V$DM_INI where para_name = 'ARCH_INI';
行号 PARA_NAME PARA_VALUE SESS_VALUE FILE_VALUE
---------- --------- ---------- ---------- ----------
1 ARCH_INI 1 1 1
已用时间: 4.117(毫秒). 执行号:13307.
如果存在以上查询结果,表示ARCH_INI参数配置已生效。
若非上面的按照规范开启归档。
检查RLOG_APPEND_LOGIC参数配置是否生效
SQL> select para_name, para_value, sess_value, file_value from V$DM_INI where para_name = 'RLOG_APPEND_LOGIC'; (源库和目标库执行)
查询结果如下:
行号 PARA_NAME PARA_VALUE SESS_VALUE FILE_VALUE
---------- ----------------- ---------- ---------- ----------
1 RLOG_APPEND_LOGIC 1 1 1
已用时间: 3.857(毫秒). 执行号:13308.
若非上面的指,用以下的办法开启 RLOG_APPEND_LOGIC。
SQL> call sp_set_para_value(1,‘RLOG_APPEND_LOGIC’,1);
触发器方式
在源数据库执行“ddl_sql_dm8.sql”脚本创建触发器和辅助表,脚本默认位置在DMDRS执行程序目录下的scripts子目录中。
SQL> set define off;
SQL> start /dbbak/dmbak/dmdrs/bin/scripts/ddl_sql_dm8.sql
检查创建的触发器和辅助表是否有效。
SQL> select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DRS_$%' and status = 'Y';
行号 OWNER TRIGGER_NAME
---------- ------ -----------------------
1 SYSDBA DRS_$DDL_TRIGGER_AFTER
2 SYSDBA DRS_$DDL_TRIGGER_REVOKE
3 SYSDBA DRS_$DDL_TRIGGER_GRANT
4 SYSDBA DRS_$DDL_TRIGGER_BEFORE
已用时间: 194.838(毫秒). 执行号:1115269.
检查创建的辅助表。
SQL> select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DRS_$%' and status = 'VALID';
行号 OWNER TABLE_NAME
---------- ------ -----------------
1 SYSDBA DRS_$DDL_COL
2 SYSDBA DRS_$DDL_SQL
3 SYSDBA DRS_$DDL_CONS
4 SYSDBA DRS_$DDL_IDX
5 SYSDBA DRS_$DDL_RENAME
6 SYSDBA DRS_$DDL_SEQ
7 SYSDBA DRS_$DDL_PART
8 SYSDBA DRS_$DDL_COMMMENT
9 SYSDBA DRS_$DDL_LOG
9 rows got
已用时间: 408.042(毫秒). 执行号:1116762.
上传解压dm8_xxxx_dmdci.zip --按照实际版本来。
然后将dmoci下的
libdmdpi.so,libdmfldr.so,libdmoci.a,libdmoci.so 拷贝到/dbbak/dmbak/dmdrs/bin下
和将dmoci\dependencies下的
libcrypto.so,libssl.so 拷贝到/dbbak/dmbak/dmdrs/bin下
并且给以上的库授权
chown -R dmdba:dinstall /home/dmdba
chmod 775 /home/dmdba
DM8数据库:DMDPI驱动
在终端的配置文件中添加设置环境变量命令。
su - dmdba
vi ~/.bash_profile
export LD_LIBRARY_PATH= /dbbak/dmbak/dmdrs/bin:$LD_LIBRARY_PATH
source ~/.bash_profile
配置源DMDRS
cd /dbbak/dmbak/dmdrs/bin
[dmdrs@dm1 bin]$ vi cpt.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
<base>
<mgr_port>5345</mgr_port><!--如:5345-->
<siteid>1</siteid><!--如:1-->
</base>
<cpt>
<name>CPT_DM8</name><!--如:cpt_dm8-->
<parse_thr>8</parse_thr>
<ddl_mask>TABLE:INDEX:CHECK:OP</ddl_mask>
<sel_ddl_convert>1</sel_ddl_convert>
<parse_queue>512</parse_queue>
<calc_md5_col_num>0</calc_md5_col_num>
<send_queue>5000</send_queue>
<log_buf_size>2048</log_buf_size>
<op_dml_size>4096</op_dml_size>
<login><!--源端数据库-->
<dbtype>DM8</dbtype><!--如:dm7-->
<server>192.168.247.131</server><!--如:192.168.20.24-->
<user>SYSDBA</user><!--如:DMDRS-->
<pwd>SYSDBA</pwd><!--如:DMDRS-->
<port>5236</port><!--如:5236-->
</login>
<send><!--目标端数据库-->
<ip>192.168.247.137</ip><!--如:192.168.20.21-->
<port>5345</port><!--如:5345-->
<target_name>EXEC_DM8</target_name><!--如:exec_dm8-->
<map>
<item>RESOURCE.*==RESOURCE.*</item><!--如:*.*==*.*-->
</map>
</send>
</cpt>
</drs>
配置目标DMDRS
cd /dbbak/dmbak/dmdrs/bin
vi exec.xml
<?xml version="1.0" encoding="GB18030"?>
<drs>
<base>
<mgr_port>5345</mgr_port><!--如:5345-->
<siteid>2</siteid><!--如:2-->
</base>
<exec>
<name>EXEC_DM8</name><!--如:exec_dm8-->
<login><!--目标端数据库-->
<dbtype>DM8</dbtype><!--如:dm8-->
<server>192.168.247.137</server><!--如:目标端-->
<user>SYSDBA</user><!--如:DMDRS-->
<pwd>SYSDBA</pwd><!--如:DMDRS-->
<port>5236</port><!--如:5236-->
</login>
<pub_buf_size>4096</pub_buf_size>
<work_thr>64</work_thr>
<size_buf_size>4096</size_buf_size>
<recv_buf_size>512</recv_buf_size>
<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>
<use_plan_pool>1</use_plan_pool>
<max_bind_buf_size>128</max_bind_buf_size>
<load_thr>128</load_thr>
<seq_sync_mode>0</seq_sync_mode>
<exe_nowait>1</exe_nowait>
<ckpt_interval>10000</ckpt_interval>
<group>
<item>
<id>1</id>
<exec_policy>0</exec_policy>
<error_policy>1</error_policy>
<merge_policy>3</merge_policy>
<exec_mask>AFFECT_ROW|CHECK_COL|CHECK_KEY|UPDATE_DEPLICATE|ROW_HASH</exec_mask>
<desc>
<table>*.*</table>
</desc>
</item>
</group>
</exec>
</drs>
打开并修改服务脚本中的相关配置参数
INSTALL_HOME=<安装目录>
PROG_DIR=<执行程序目录>
CONF_PATH=<配置文件路径>
EXEC_PROG_NAME=<可执行程序名>
SERVICE_TYPE_NAME=<服务类型名>
源端:
cd /dbbak/dmbak/dmdrs/bin
cp service_template/TemplateService DrsService
vi DrsService
INSTALL_HOME= /dbbak/dmbak/dmdrs
PROG_DIR= /dbbak/dmbak/dmdrs/bin
CONF_PATH= /dbbak/dmbak/dmdrs/bin/cpt.xml
NEED_LIB_PATH= /dbbak/dmbak/dmdrs/bin
EXEC_PROG_NAME=drsvr
SERVICE_TYPE_NAME="drs server"
目标端:
cd /dbbak/dmbak/dmdrs/bin
cp service_template/TemplateService DrsService
vi DrsService
INSTALL_HOME= /dbbak/dmbak/dmdrs
PROG_DIR= /dbbak/dmbak/dmdrs/bin
CONF_PATH= /dbbak/dmbak/dmdrs/bin/exec.xml
NEED_LIB_PATH= /dbbak/dmbak/dmdrs/bin
EXEC_PROG_NAME=drsvr
SERVICE_TYPE_NAME="drs server"
按照服务的运行顺序,先启动目标DMDRS服务和后源DMDRS服务。
启动服务。
./DrsService start
启动目标DMDRS服务中的EXEC模块
使用服务脚本启动服务后,需要使用远程控制台对服务中的模块执行启动命令。
启动控制台。
./drcsl exec.xml
连接目标DMDRS服务
CSL> connect
启动目标DMDRS服务中EXEC模块。
CSL> start
将服务脚本模板TemplateService拷贝到服务脚本目录并修改服务脚本的名称为DrsService
./DrsService start
启动源DMDRS服务中的CPT模块
使用服务脚本启动服务后,需要使用远程控制台对服务中的模块执行启动命令。
启动控制台。
./drcsl cpt.xml
连接源DMDRS服务。
CSL> connect
设置数据库当前最新的日志LSN作为日志解析的起始位置。
CSL> alter cpt_dm8 set lsn
启动源DMDRS服务中的CPT模块。
CSL> start
将源数据库中模式下所有的表添加同步,添加后自动将源数据库表的全量数据装载到目标数据库,装载完成后自动进行增量数据的同步。
CSL> alter cpt_dm8 add table "sch.name='RESOURCE'" INSERT
在源数据库中RESOURCE模式下所有的表中分别插入数据,如果插入的数据能正确地同步到目标数据库,则表示数据同步成功
文章
阅读量
获赞
