DB2High Availability Disaster Recovery(HADR) 是一個(gè)簡單易用的數(shù)據(jù)復(fù)制特性,該特性為局部和全面站點(diǎn)故障提供一個(gè)高可用性(HA)解決方案。HADR(高可用性災(zāi)難恢復(fù))是DB2數(shù)據(jù)庫的一個(gè)組件,是DB2提供給用戶的一種高可用性和災(zāi)難恢復(fù)的解決方案。組成HADR需要一對(duì)機(jī)器,一個(gè)主機(jī)和一個(gè)備機(jī)。它的基本原理是主機(jī)將數(shù)據(jù)庫產(chǎn)生的日志通過網(wǎng)絡(luò)傳輸?shù)絺錂C(jī),然后備機(jī)將這些日志重新應(yīng)用,整個(gè)過程類似于前滾恢復(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)行日志歸檔,并將日志保留在同一活動(dòng)日志目錄中。這還將使數(shù)據(jù)庫處于備份掛起狀態(tài)。
進(jìn)行離線備份
db2 "backup database
注意:離線備份不是必需的。也可以使用在線備份。但是,在線備份可能需要更長的時(shí)間才能使HADR對(duì)進(jìn)入對(duì)等狀態(tài)。為了簡單起見,我們?cè)谶@里使用離線備份。
在主數(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
版本一致
確保兩個(gè)服務(wù)器都在同一版本上,以免發(fā)生不匹配的情況。在兩個(gè)服務(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
啟動(dòng)備機(jī)
db2 start hadr on database
在主服務(wù)器上啟動(dòng)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.兩臺(tái)服務(wù)器上的HADR對(duì)的主機(jī)名不能相同。
2.UNIX系統(tǒng)上的實(shí)例名稱和基礎(chǔ)用戶ID可以不同。確保將dbcfg參數(shù)HADR_REMOTE_INST的實(shí)例的正確名稱更新為正確的值。
1.SYNC(同步)
在四種方式中,此方式將最大可能地避免事務(wù)丟失,但使用此方式會(huì)導(dǎo)致事務(wù)響應(yīng)時(shí)間最長。在此方式中,僅當(dāng)日志已寫入主數(shù)據(jù)庫上的日志文件,而且主數(shù)據(jù)庫已接收到來自備用數(shù)據(jù)庫的應(yīng)答,確定日志也已寫入備用數(shù)據(jù)庫上的日志文件時(shí),方才認(rèn)為日志寫入是成功的。保證日志數(shù)據(jù)同時(shí)存儲(chǔ)在這兩處。
2.NEARSYNC(接近同步)
此方式具有比同步方式更短的事務(wù)響應(yīng)時(shí)間,但針對(duì)事務(wù)丟失提供的保護(hù)也較少。在此方式中,僅當(dāng)日志記錄已寫入主數(shù)據(jù)庫上的日志文件,而且主數(shù)據(jù)庫已接收到來自備用系統(tǒng)的應(yīng)答,確定日志也已寫入備用系統(tǒng)上的主存儲(chǔ)器時(shí),方才認(rèn)為日志寫入是成功的。僅當(dāng)兩處同時(shí)發(fā)生故障,并且目標(biāo)位置未將接收到的所有日志數(shù)據(jù)轉(zhuǎn)移至非易失性存儲(chǔ)器時(shí),才會(huì)出現(xiàn)數(shù)據(jù)的丟失。
3.ASYNC(異步)
與SYNC和NEARSYNC方式相比,ASYNC方式使事務(wù)響應(yīng)時(shí)間更短,但在主數(shù)據(jù)庫出現(xiàn)故障時(shí),導(dǎo)致事務(wù)丟失的可能性更大。
在ASYNC方式下,僅當(dāng)日志記錄已寫入主數(shù)據(jù)庫上的日志文件,并且已傳遞到主系統(tǒng)的主機(jī)的TCP層時(shí),才認(rèn)為日志寫入成功。因?yàn)橹飨到y(tǒng)不會(huì)等待來自備用系統(tǒng)的確認(rèn),所以當(dāng)事務(wù)仍處于正在傳入備用數(shù)據(jù)庫的過程中時(shí),可能會(huì)認(rèn)為事務(wù)已落實(shí)。
4.SUPERASYNC(超級(jí)異步)
此方式具有最短的事務(wù)響應(yīng)時(shí)間,但在主系統(tǒng)出現(xiàn)故障時(shí),此方式導(dǎo)致事務(wù)丟失的可能性也最大。當(dāng)您不希望事務(wù)由于網(wǎng)絡(luò)中斷或擁塞而受到阻塞或經(jīng)歷較長的響應(yīng)時(shí)間時(shí),此方式很有用。
在此方式下,HADR對(duì)永遠(yuǎn)不會(huì)處于對(duì)等狀態(tài)或斷開連接的對(duì)等狀態(tài)。只要日志記錄已寫入主數(shù)據(jù)庫上的日志文件,就認(rèn)為日志寫入成功。由于主數(shù)據(jù)庫不會(huì)等待來自備用數(shù)據(jù)庫的確認(rèn),所以無論事務(wù)的復(fù)制狀態(tài)如何,都會(huì)認(rèn)為已落實(shí)該事務(wù)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/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)致的一些小問題。配置配置兩個(gè)數(shù)據(jù)源數(shù)據(jù)庫和數(shù)據(jù)庫注意事項(xiàng)在配置數(shù)據(jù)源的過程中主要是寫成和。五啟動(dòng)類此注解表示啟動(dòng)類這樣基于的多數(shù)據(jù)源配置就已經(jīng)完成了,兩個(gè)數(shù)據(jù)庫都可以被訪問了。 在上一篇文章《優(yōu)雅整合 SpringBoot+Mybatis ,可能是你見過最詳細(xì)的一篇》中,帶著大家整合了 SpringBoot 和 Mybatis...
摘要:多數(shù)據(jù)源,一般用于對(duì)接多個(gè)業(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)換出錯(cuò)取值內(nèi)容可參考初始連接數(shù)最大連接池?cái)?shù)量。 開篇之前,說一句題外話。多數(shù)據(jù)源和動(dòng)態(tài)數(shù)據(jù)源的區(qū)別。 多數(shù)據(jù)源,一般用于對(duì)接多個(gè)業(yè)務(wù)上獨(dú)立的數(shù)據(jù)庫(可能異構(gòu)數(shù)據(jù)庫)。 動(dòng)態(tài)數(shù)據(jù)源,一般用于大型應(yīng)用對(duì)數(shù)據(jù)切分。 配置參考 如...
閱讀 1459·2023-01-11 13:20
閱讀 1814·2023-01-11 13:20
閱讀 1265·2023-01-11 13:20
閱讀 2006·2023-01-11 13:20
閱讀 4227·2023-01-11 13:20
閱讀 2884·2023-01-11 13:20
閱讀 1489·2023-01-11 13:20
閱讀 3810·2023-01-11 13:20