DB2High Availability Disaster Recovery(HADR) 是一個簡單易用的數(shù)據(jù)復(fù)制特性,該特性為局部和全面站點(diǎn)故障提供一個高可用性(HA)解決方案。HADR(高可用性災(zāi)難恢復(fù))是DB2數(shù)據(jù)庫的一個組件,是DB2提供給用戶的一種高可用性和災(zāi)難恢復(fù)的解決方案。組成HADR需要一對機(jī)器,一個主機(jī)和一個備機(jī)。它的基本原理是主機(jī)將數(shù)據(jù)庫產(chǎn)生的日志通過網(wǎng)絡(luò)傳輸?shù)絺錂C(jī),然后備機(jī)將這些日志重新應(yīng)用,整個過程類似于前滾恢復(fù)。從而保證主機(jī)和備機(jī)數(shù)據(jù)庫的一致。當(dāng)主機(jī)發(fā)生意外停機(jī)以后,例如停電或者災(zāi)難等,備機(jī)可以很快的接替主機(jī)繼續(xù)工作。從DB2V97FP1 開始,HADR開始支持ROS(ReadOn Standby),備機(jī)除了做備份數(shù)據(jù)庫以外,還可以接收連接,執(zhí)行讀操作。
主庫:192.168.100.101 CM01
備庫:192.168.100.102 CM11
使用db2sampl命令創(chuàng)建樣本db
db2sampl
打開主庫日志歸檔模式
db2 update db cfg for
注:上面的命令將啟用數(shù)據(jù)庫以進(jìn)行日志歸檔,并將日志保留在同一活動日志目錄中。這還將使數(shù)據(jù)庫處于備份掛起狀態(tài)。
進(jìn)行離線備份
db2 "backup database
注意:離線備份不是必需的。也可以使用在線備份。但是,在線備份可能需要更長的時間才能使HADR對進(jìn)入對等狀態(tài)。為了簡單起見,我們在這里使用離線備份。
在主數(shù)據(jù)庫上設(shè)置HADR cfg參數(shù)
db2 update db cfg for
db2 update db cfg for
db2update db cfg for
db2 update db cfg for
db2 update db cfg for
db2update db cfg for
進(jìn)行脫機(jī)備份以用于設(shè)置HADR
db2 "backup database
版本一致
確保兩個服務(wù)器都在同一版本上,以免發(fā)生不匹配的情況。在兩個服務(wù)器上運(yùn)行“ db2level”命令,以檢查它們是否在相同的DB2版本和修訂包中。
通過FTP將備份映像(從主機(jī))傳輸?shù)絺錂C(jī)
備庫進(jìn)行恢復(fù)
db2 "restore database DBNAME"
在備用數(shù)據(jù)庫上設(shè)置HADR cfg參數(shù)。
db2 update db cfg for
db2 update db cfgfor
db2update db cfg for
db2 update db cfg for
db2 update db cfg for
啟動備機(jī)
db2 start hadr on database
在主服務(wù)器上啟動HADR
db2 start hadr on database
--驗(yàn)證HADR是否運(yùn)行
db2pd -db
1. ON PRIMARY (CM01):
db2 connect to
2. ONPRIMARY (CM01):
db2 "create table tab1 (col1 int)"
3.ON PRIMARY (CM01):
db2 "insert into tab1 values (1)"-insert 20 rows
4. ON PRIMARY (CM01):
power down the Primary --> db2stopforce
5. ON STANDBY (CM11):
db2 takeover hadr on database
6. The STANDBY instance on CM11 (DB2) is now theprimary
7. ON CM11:
db2pd -db
8. ON CM11:
db2 connect to
9. ONCM11:
db2 "select * from tab1" -Youshould see the 20 rows inserted
10. ON CM11:
db2 "create table tab2 (col1int)"
11. ON CM11:
db2 "insert into tab2 values (1)"-insert about 20 rows
12. ON CM01:
db2 start hadr on database
13. ON CM01:
db2pd -db
14. on CM01:
db2 takeover hadr on database
15.on CM01:
db2pd -db
16. ON CM01:
db2 "select * from tab2" -youshould be able to see the 20 rows inserted
17. on CM11:
db2pd -db
注意:
1.兩臺服務(wù)器上的HADR對的主機(jī)名不能相同。
2.UNIX系統(tǒng)上的實(shí)例名稱和基礎(chǔ)用戶ID可以不同。確保將dbcfg參數(shù)HADR_REMOTE_INST的實(shí)例的正確名稱更新為正確的值。
1.SYNC(同步)
在四種方式中,此方式將最大可能地避免事務(wù)丟失,但使用此方式會導(dǎo)致事務(wù)響應(yīng)時間最長。在此方式中,僅當(dāng)日志已寫入主數(shù)據(jù)庫上的日志文件,而且主數(shù)據(jù)庫已接收到來自備用數(shù)據(jù)庫的應(yīng)答,確定日志也已寫入備用數(shù)據(jù)庫上的日志文件時,方才認(rèn)為日志寫入是成功的。保證日志數(shù)據(jù)同時存儲在這兩處。
2.NEARSYNC(接近同步)
此方式具有比同步方式更短的事務(wù)響應(yīng)時間,但針對事務(wù)丟失提供的保護(hù)也較少。在此方式中,僅當(dāng)日志記錄已寫入主數(shù)據(jù)庫上的日志文件,而且主數(shù)據(jù)庫已接收到來自備用系統(tǒng)的應(yīng)答,確定日志也已寫入備用系統(tǒng)上的主存儲器時,方才認(rèn)為日志寫入是成功的。僅當(dāng)兩處同時發(fā)生故障,并且目標(biāo)位置未將接收到的所有日志數(shù)據(jù)轉(zhuǎn)移至非易失性存儲器時,才會出現(xiàn)數(shù)據(jù)的丟失。
3.ASYNC(異步)
與SYNC和NEARSYNC方式相比,ASYNC方式使事務(wù)響應(yīng)時間更短,但在主數(shù)據(jù)庫出現(xiàn)故障時,導(dǎo)致事務(wù)丟失的可能性更大。
在ASYNC方式下,僅當(dāng)日志記錄已寫入主數(shù)據(jù)庫上的日志文件,并且已傳遞到主系統(tǒng)的主機(jī)的TCP層時,才認(rèn)為日志寫入成功。因?yàn)橹飨到y(tǒng)不會等待來自備用系統(tǒng)的確認(rèn),所以當(dāng)事務(wù)仍處于正在傳入備用數(shù)據(jù)庫的過程中時,可能會認(rèn)為事務(wù)已落實(shí)。
4.SUPERASYNC(超級異步)
此方式具有最短的事務(wù)響應(yīng)時間,但在主系統(tǒng)出現(xiàn)故障時,此方式導(dǎo)致事務(wù)丟失的可能性也最大。當(dāng)您不希望事務(wù)由于網(wǎng)絡(luò)中斷或擁塞而受到阻塞或經(jīng)歷較長的響應(yīng)時間時,此方式很有用。
在此方式下,HADR對永遠(yuǎn)不會處于對等狀態(tài)或斷開連接的對等狀態(tài)。只要日志記錄已寫入主數(shù)據(jù)庫上的日志文件,就認(rèn)為日志寫入成功。由于主數(shù)據(jù)庫不會等待來自備用數(shù)據(jù)庫的確認(rèn),所以無論事務(wù)的復(fù)制狀態(tài)如何,都會認(rèn)為已落實(shí)該事務(wù)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130117.html
摘要:文章共字,閱讀大約需要分鐘概述在如今海量數(shù)據(jù)充斥的互聯(lián)網(wǎng)環(huán)境下,分庫分表的意義我想在此處就不用贅述了。 showImg(https://segmentfault.com/img/remote/1460000017453449); 文章共 1796字,閱讀大約需要 4分鐘 ! 概 述 在如今海量數(shù)據(jù)充斥的互聯(lián)網(wǎng)環(huán)境下,分庫分表的意義我想在此處就不用贅述了。而分庫分表目前流行的方案最起碼...
摘要:下面基于,帶著大家看一下中如何配置多數(shù)據(jù)源。注意版本不一致導(dǎo)致的一些小問題。配置配置兩個數(shù)據(jù)源數(shù)據(jù)庫和數(shù)據(jù)庫注意事項(xiàng)在配置數(shù)據(jù)源的過程中主要是寫成和。五啟動類此注解表示啟動類這樣基于的多數(shù)據(jù)源配置就已經(jīng)完成了,兩個數(shù)據(jù)庫都可以被訪問了。 在上一篇文章《優(yōu)雅整合 SpringBoot+Mybatis ,可能是你見過最詳細(xì)的一篇》中,帶著大家整合了 SpringBoot 和 Mybatis...
摘要:多數(shù)據(jù)源,一般用于對接多個業(yè)務(wù)上獨(dú)立的數(shù)據(jù)庫可能異構(gòu)數(shù)據(jù)庫。這也就導(dǎo)致異構(gòu)數(shù)據(jù)庫的檢查也是類似問題。內(nèi)容略數(shù)據(jù)源多數(shù)據(jù)源,涉及到異構(gòu)數(shù)據(jù)庫,必須明確指定,否則的轉(zhuǎn)換出錯取值內(nèi)容可參考初始連接數(shù)最大連接池數(shù)量。 開篇之前,說一句題外話。多數(shù)據(jù)源和動態(tài)數(shù)據(jù)源的區(qū)別。 多數(shù)據(jù)源,一般用于對接多個業(yè)務(wù)上獨(dú)立的數(shù)據(jù)庫(可能異構(gòu)數(shù)據(jù)庫)。 動態(tài)數(shù)據(jù)源,一般用于大型應(yīng)用對數(shù)據(jù)切分。 配置參考 如...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20