1. 程式人生 > 其它 >DMHS主備叢集同主備叢集的同步

DMHS主備叢集同主備叢集的同步

技術標籤:資料庫達夢叢集DBA資料庫

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

然後就可以在源端插入資料,去目標端查看了,祝你好運