/*說明: 1.數據庫版本必須一致,此例爲8.2ese
2.運行db2licm -l 查看是否支持hadr特性
3.兩臺機器: serverA 10.10.20.16 255.255.255.0 serverB 10.10.20.110 255.255.255.0
4.兩臺機器均使用默認實例DB2,服務端口號均爲 50000
5.由於安裝後註冊表參數 db2comm=TCPIP爲默認值, 所以下面不再配置,若不是此值,
必須通過命令 db2set db2comm=TCPIP爲每個相關實例設置
6.關閉防火牆或打開端口 */
--在serverA上執行 set db2instance=DB2 db2set db2comm=TCPIP--默認即是
db2 terminate db2stop db2start
--創建數據庫 db2sampl
--修改數據庫參數
db2 update db cfg for sample using logretain=on
db2 update db cfg for sample using trackmod=on
db2 update db cfg for sample using logindexbuild=on
db2 update db cfg for sample using indexrec=restart
--備份數據庫 db2 backup db sample to f:/test
--在serverB上: set db2instance=DB2
--因爲以下命令導致數據庫處於前滾暫掛狀態,
db2 restore db sample from f:/test replace history file
db2 update db cfg for sample using HADR_LOCAL_HOST 10.10.20.110
db2 update db cfg for sample using HADR_LOCAL_SVC 44444
db2 update db cfg for sample using HADR_REMOTE_HOST 10.10.20.16
db2 update db cfg for sample using HADR_REMOTE_SVC 33333
db2 update db cfg for sample using HADR_REMOTE_INST DB2
db2 update db cfg for sample using HADR_SYNCMODE nearsync
--在serverA上配置sample數據庫參數
set db2instance=DB2 db2 update db cfg for sample using HADR_LOCAL_HOST 10.10.20.16
db2 update db cfg for sample using HADR_LOCAL_SVC 33333
db2 update db cfg for sample using HADR_REMOTE_HOST 10.10.20.110
db2 update db cfg for sample using HADR_REMOTE_SVC 44444
db2 update db cfg for sample using HADR_REMOTE_INST DB2
db2 update db cfg for sample using HADR_SYNCMODE nearsync
--在serverB上以standby方式啓動sample數據庫
set db2instance=DB2 db2 deactivate database sample
db2 start hadr on database sample as standby
--在serverA上以primary方式啓動sample數據庫
set db2instance=DB2 db2 start hadr on database sample as primary
--在serverA上查看sample數據庫的hadr狀態
set db2instance=DB2 db2pd -d sample -hadr
--在serverB上查看sample數據庫的hadr狀態
set db2instance=DB2 db2pd -d sample -hadr
--測試:
--在serverA上
set db2instance=DB2
db2 connect to sample
db2 create table test(id integer)
db2 insert into test(1)
db2 insert into test(2)
db2 commit
db2 select * from sample
--在serverB上 set db2instance=DB2 --接管hadr,如果不能建立與serverA上DB2實例的連接,
比如serverA服務器或DB2實例已經關閉,則必須用by force選項如下:
db2 takeover hadr on database sample user db2admin using db2admin by force
--正常接管
db2 takeover hadr on database sample user db2admin using db2admin
db2 connect to sample db2 select * from test --顯示數據表明serverA上的數據應用到了serverB上了
--查看hadr狀態
db2pd -d sample -hadr