一.两端配置源端数据库环境:
设置归档标记和逻辑日志标记。打开 DM7 服务器配置文件“dm.ini”,设置如下值:
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
FAST_COMMIT = 0
添加归档配置文件。在“dm.ini”同目录下创建文件“dmarch.ini”,示例内容如下:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /opt/dmdbms/arch #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 0 #空间大小限制,0 表示不限制
重启生效:
/etc/init.d/dmserverd restart
验证:
SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL'
AND ARCH_IS_VALID='Y';
检查逻辑日志配置的正确性,通过下面的查询:
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';
SELECT PATH FROM SYS.V$RLOGFILE;
select para_value from v$dm_ini where para_name = 'FAST_COMMIT';
二.两端安装dmhs:
./dmhs_V4.1.2_pack2_dm7_rev100195_rh6_64_veri_20210618.bin
三.配置DDL同步
装目录下 scripts 子目录中“ddl_sql_dm7.sql”。注意创建时需要使用 SYSDBA 用户。
在管理器中执行:
start /home/dmdba/dm/dmhs/scripts/ddl_sql_dm7.sql
检查创建的触发器和辅助表是否有效,检查辅助表的语句
select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status =
'VALID';
select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and
status = 'Y';
四.配置dmhs.hs
4.1 一节点配置dmhs.hs
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>3</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<name>cpt</name>
<enable>1</enable>
<db_type>DM7</db_type>
<db_server>172.16.30.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<char_code>PG_GB18030</char_code>
<db_port>5236</db_port>
<idle_time>10</idle_time>
<parse_thr>1</parse_thr>
<ddl_mask>OBJ:PTABLE:OP:DEFINE:PARTITION</ddl_mask>
<start_scn>0</start_scn>
<send_lst>2</send_lst>
<rec_heap_size>16</rec_heap_size>
<vpool_size>8</vpool_size>
<arch>
<clear_interval>60</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<ip>172.16.30.2</ip>
<timeout>0</timeout>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<max_log_num>2000</max_log_num>
<net_pack_size>256</net_pack_size>
<net_turns>0</net_turns>
<crc_check>0</crc_check>
<trigger>0</trigger>
<constraint>0</constraint>
<identity>0</identity>
<case_sensitive>0</case_sensitive>
<filter>
<enable>
<item>DMHR.*</item>
</enable>
<disable/>
</filter>
</send>
</cpt>
<exec>
<recv>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
</recv>
<name>exec</name>
<enable>1</enable>
<db_type>DM7</db_type>
<db_server>172.16.30.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<char_code>PG_GB18030</char_code>
<db_port>5236</db_port>
<level>0</level>
<exec_thr>1</exec_thr>
<exec_sql>512</exec_sql>
<exec_trx>5000</exec_trx>
<exec_rows>250</exec_rows>
<vpools>7</vpools>
<recv_caches>8</recv_caches>
<trxid_tables>1</trxid_tables>
</exec>
</dmhs>
4.2 二节点配置dmhs.hs
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>3</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>2</siteid>
<version>2.0</version>
</base>
<cpt>
<name>cpt</name>
<enable>1</enable>
<db_type>DM7</db_type>
<db_server>172.16.30.2</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<char_code>PG_GB18030</char_code>
<db_port>5236</db_port>
<idle_time>10</idle_time>
<parse_thr>1</parse_thr>
<ddl_mask>OBJ:PTABLE:OP:DEFINE:PARTITION</ddl_mask>
<start_scn>0</start_scn>
<send_lst>2</send_lst>
<rec_heap_size>16</rec_heap_size>
<vpool_size>8</vpool_size>
<arch>
<clear_interval>60</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<ip>172.16.30.1</ip>
<timeout>0</timeout>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<max_log_num>2000</max_log_num>
<net_pack_size>256</net_pack_size>
<net_turns>0</net_turns>
<crc_check>0</crc_check>
<trigger>0</trigger>
<constraint>0</constraint>
<identity>0</identity>
<case_sensitive>0</case_sensitive>
<filter>
<enable>
<item>DMHR.*</item>
</enable>
<disable/>
</filter>
</send>
</cpt>
<exec>
<recv>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
</recv>
<name>exec</name>
<enable>1</enable>
<db_type>DM7</db_type>
<db_server>172.16.30.2</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<char_code>PG_GB18030</char_code>
<db_port>5236</db_port>
<level>0</level>
<exec_thr>1</exec_thr>
<exec_sql>512</exec_sql>
<exec_trx>5000</exec_trx>
<exec_rows>250</exec_rows>
<vpools>7</vpools>
<recv_caches>8</recv_caches>
<trxid_tables>1</trxid_tables>
</exec>
</dmhs>
五.启动数据装载:
检查DMHS安装目录下是否存在dmhs_cpt.tmp文件,如果存在则将该文件删除。
1)启动两端的dmhs服务
cd /opt/dmhs/bin
./DmhsServiceHSSERVER start
2)启动两端的执行服务
./dmhs_console
connect
start exec;
此处一定要用exec和cpt分别启动,不能用start命令,start命令不接cpt或exec默认根据配置文件即会启动cpt也会启动exec
3)数据装载
将有数据的一端将数据装载到另外一端
copy 0 “sch.name=’DMHR’“ create|insert
装载完成后将装载执行端的dm7的归档日志删除并重启dm7服务器,只保留重启后的归档日志,才能保证过滤掉装载数据的重复。
装载完成后在另外一端需要装载字典
copy 0 “sch.name=’DMHR’” dict|clear
4)启动两端的cpt服务
./dmhs_console
connect
start cpt
社区地址:https://eco.dameng.com