DMHS主備叢集同主備叢集的同步
DMHS主備叢集同主備叢集的單向同步
以下文件內容為在linux環境構建,HS同步方式為模式,部分表HS雙向同步,目的端要同步的表不能有資料
A 10.30.2.11 主 服務名HSG1
B 10.30.2.12 備
C 10.30.2.13 主 服務名HSG2
D 10.30.2.14 備
首先在A,B,C,D上先安裝初始化相同要求的資料庫及例項,構建完2套叢集環境。並開啟聯機歸檔日誌,並且開啟邏輯追加日誌。
vi dm.ini
RLOG_APPEND_LOGIC = 1
儲存重啟資料庫
注:ARCH_MODE 為“Y”,表示啟用歸檔;為“N”,表示未啟用。
檢視DM7歸檔資訊:
檢查邏輯追加日誌是否開啟
A,B,C,D上安裝hs同步工具
安裝路徑在/opt/dmhs/
A,B上修改環境變數
vim /etc/profile
在最後一行新增
export LD_LIBRARY_PATH=/home/dmdba/dmdbms/bin:$LD_LIBRARY_PATH
source /etc/profile
echo $LD_LIBRARY_PATH
新增服務名
vi /etc/dm_svc.conf
A,B上
HSG1=(10.30.2.11:5236,10.30.2.12:5236)
C,D上
HSG2=(10.30.2.13:5236,10.30.2.14:5236)
配置DDL同步
如果需要ddl同步,A,B上用SYSDBA使用者建立輔助表和觸發器,執行指令碼是/opt/dmhs/scripts/ddl_sql_dm7.sql
在dmhs安裝目錄下生成dmhs.hs檔案,內容如下
A,B上dmhs.hs配置
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>3</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>3</siteid> --注意同一叢集此引數值不一樣--
<group>1</group>
</base>
<cpt>
<db_type>DM7</db_type>
<db_server>HSG1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<idle_time>10</idle_time>
<ddl_mask>op:obj:rec</ddl_mask>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<ip>10.30.2.13</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<net_pack_size>256</net_pack_size>
<net_turns>0</net_turns>
<crc_check>1</crc_check>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<filter>
<enable>
<item>SYSDBA.TEST</item>
</enable>
<disable/>
</filter>
<map>
</map>
</send>
</cpt>
</dmhs>
C,D上dmhs.hs配置
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>3</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid> --注意同一叢集此引數值不一樣--
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>DM7</db_type>
<db_server>HSG2</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<level>0</level>
<exec_thr>4</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx>5000</exec_trx>
<exec_rows>250</exec_rows>
<case_sensitive>1</case_sensitive>
<toggle_case>0</toggle_case>
<exec_policy>2</exec_policy>
<commit_policy>1</commit_policy>
<enable_merge>1</enable_merge>
<affect_row>0</affect_row>
</exec>
</dmhs>
1)啟動服務
源端A,B
cd /opt/dmhs/bin
./dmhs_serverd start
目的端C,D
cd /opt/dmhs/bin
./dmhs_serverd start
2)C上開啟接收
./dmhs_console
Connect
Start exec;
3)源端(A)資料裝載
如果是第一次搭建,應在源端執行clear exec lsn
./dmhs_console
Connect
clear exec lsn
copy 0 "sch.name='SYSDBA'" DICT|LSN|CREATE|INSERT|INDEX
start cpt
然後就可以在源端插入資料,去目標端查看了,祝你好運