目录
1 DM源端
1.1 数据库环境准备
1.1.1 开归档和逻辑日志
1.1.2 配置归档
1.1.3 验证配置正确性
1.2 DMHS环境
1.2.1 DMHS安装
1.2.2 DDL同步
1.2.3 配置dmhs.hs
2 目的端
2.1 数据库环境准备
2.1.1 开归档和逻辑日志
2.1.2 配置归档
2.1.3 验证配置正确性
2.2 配置dmhs.hs
3 启动dmhs及验证同步
3.1 启动dmhs服务
3.2 启动console
3.3 装载数据
3.4 数据同步验证
1 DM源端
1.1 数据库环境准备
1.1.1 开归档和逻辑日志
#修改dm.ini参数文件如下参数
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
FAST_COMMIT = 0
1.1.2 配置归档
通过SQL语句进行归档配置:
SQL> alter database mount;
SQL> alter database add archivelog 'dest=/dm8/arch,type=local,file_size=128,space_limit=0';
SQL> alter database archivelog;
SQL> alter database open;
1.1.3 验证配置正确性
1)检查归档是否正确
SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL'
AND ARCH_IS_VALID='Y';
2)检查逻辑日志是否正确
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';
3)检查在线日志
SELECT PATH FROM SYS.V$RLOGFILE;
4)查看FAST_COMMIT是否为0
select para_value from v$dm_ini where para_name = 'FAST_COMMIT';
1.2 DMHS环境
1.2.1 DMHS安装
#授予安装包执行权限
chmod +x dmhs_V4.2.82_pack1_dm8_rev109035_rh6_64_veri_20220523.bin #执行安装
./dmhs_V4.2.82_pack1_dm8_rev109035_rh6_64_veri_20220523.bin -i
1.2.2 DDL同步
在dmhs的安装目录scripts目录下,用SYSDBA用户创建触发器和辅助表。
通过管理工具执行ddl_sql_dm8.sql。
1.2.3 配置dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs><base><lang>ch</lang><mgr_port>5345</mgr_port> <ckpt_interval>60</ckpt_interval><siteid>1</siteid></base><cpt><db_type>dm8</db_type><db_server>192.168.61.206</db_server><db_user>SYSDBA</db_user><db_pwd>SYSDBA</db_pwd><db_port>5236</db_port><db_ssl_path></db_ssl_path><db_ssl_pwd></db_ssl_pwd><parse_thr>1</parse_thr><ddl_mask>op:obj</ddl_mask> <!--DDL 配置项--><arch><!--归档清理配置项--><clear_interval>600</clear_interval><clear_flag>2</clear_flag><bak_dir>/dm8/arch</bak_dir></arch><send><!-- 发送模块配置 --><ip>192.168.61.205</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><trigger>1</trigger><!-- 是否忽略触发器,默认为 0,限定值 0,1 --><constraint>1</constraint><!-- 是否忽略约束,默认为 0,限定值 0,1 --><identity>1</identity><net_turns>0</net_turns><filter><!--过滤配置项--><enable><!-- 白名单,所有允许同步的表 --><item>SYSDBA.*</item></enable></filter><map><!--映射配置项--><item>SYSDBA.*==SYSDBA.*</item></map></send></cpt>
</dmhs>
2 目的端
2.1 数据库环境准备
2.1.1 开归档和逻辑日志
#修改dm.ini参数文件如下参数
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
FAST_COMMIT = 0
2.1.2 配置归档
通过SQL语句进行归档配置:
SQL> alter database mount;
SQL> alter database add archivelog 'dest=/dm8/arch,type=local,file_size=128,space_limit=0';
SQL> alter database archivelog;
SQL> alter database open;
2.1.3 验证配置正确性
1)检查归档是否正确
SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL'
AND ARCH_IS_VALID='Y';
2)检查逻辑日志是否正确
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';
3)检查在线日志
SELECT PATH FROM SYS.V$RLOGFILE;
4)查看FAST_COMMIT是否为0
select para_value from v$dm_ini where para_name = 'FAST_COMMIT';
2.2 配置dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs><base><lang>ch</lang><mgr_port>5345</mgr_port><ckpt_interval>60</ckpt_interval><siteid>2</siteid><version>2.0</version></base><exec><recv><data_port>5346</data_port></recv><db_type>dm8</db_type><db_server>192.168.61.206</db_server><db_user>SYSDBA</db_user><db_pwd>SYSDBA</db_pwd><db_port>5236</db_port><db_name>DAMENG</db_name><exec_thr>4</exec_thr><exec_sql>1024</exec_sql><exec_trx> 5000 </exec_trx><exec_rows>1000</exec_rows></exec>
</dmhs>
3 启动dmhs及验证同步
3.1 启动dmhs服务
源端:
./dmhs_server dmhs.hs
目的端:
3.2 启动console
[dmdba@localhost bin]$./dmhs_console
DMHS> connect
源端:
目的端:
3.3 装载数据
目的端:
DMHS> start exec
源端:
DMHS> copy 0 "sch.name='SYSDBA'" dict|create|insert
DMHS> copy 0 "sch.name='SYSDBA'" DICT|LSN|CREATE|INSERT|INDEX
DMHS> start cpt
3.4 数据同步验证
源端:
#源端创建表test
SQL> create table test(id int);
SQL> insert into test values(1);
SQL> insert into test values(2);
SQL> insert into test values(3);
SQL> insert into test values(4);
SQL> commit;
目的端:
#查询表test
select * from test;
至此,DM到DM的DMHS同步搭建完成。
详细的DMHS搭建请到官网查看手册:
达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台