Data Guard提供如下三種數(shù)據(jù)保護(hù)模式:
1)最高保護(hù)模式(Maximum Protection)
這里的”最大保護(hù)“是指最大限度的保護(hù)數(shù)據(jù)不丟失,也就是至少有一個(gè)standby和primary保持實(shí)時(shí)同步,但這樣做的代價(jià)很大,即當(dāng)一個(gè)事務(wù)提交時(shí),不但要寫到primary段的online redo log,還有寫到至少一個(gè)standby的standby redo log。這樣會(huì)有一個(gè)嚴(yán)重的問(wèn)題,就是當(dāng)standby出現(xiàn)故障或網(wǎng)絡(luò)故障,導(dǎo)致日志無(wú)法同步時(shí),primary數(shù)據(jù)庫(kù)會(huì)被shutdown,這在生產(chǎn)系統(tǒng)中是不可接受的,因此這種模式很少用。
2)最高性能模式(Maximum Performance)
最高性能正好和最高保護(hù)相反,當(dāng)事務(wù)提交時(shí),只要寫入到primary的online redo log即可,primary幾乎不受影響。然后再把redo同步到standby中,這樣就無(wú)法保證primary和standby實(shí)時(shí)同步。這種模式在實(shí)際應(yīng)用中比較常見(jiàn),畢竟primary不受影響是最重要的,如果出現(xiàn)standby落后primary太多,DBA可以手工介入,在standby端apply redo。
3)最高可用性模式(Maximum Availability)
最高可用性模式介于前兩者之間,在正常情況下,它和最高保護(hù)模式一樣,但一旦standby出現(xiàn)故障,就立即切換成最高性能模式,primary不會(huì)shutdown。如果實(shí)際應(yīng)用該模式,得關(guān)注一下實(shí)時(shí)應(yīng)用時(shí)對(duì)primary的性能影響。
![](/d/20211018/e4e409c0a0ec23dfd38e8f811c4bd406.gif)
無(wú)論使用哪種模式,都要使用LOG_ARCHIVE_DEST_n來(lái)配置,上表顯示它們之間的關(guān)系??梢钥闯?,最大保護(hù)和最高可用性的配置一模一樣(因?yàn)樽罡呖捎眯栽谡G闆r下就是最大保護(hù)):必須使用LGWR進(jìn)程傳輸Redo,網(wǎng)絡(luò)傳輸模式必須是sync,磁盤寫選項(xiàng)AFFIRM,必須配置standby redo log。
而最大性能模式比較靈活,即可以用LGWR,也可以用ARCH進(jìn)程傳輸redo,網(wǎng)絡(luò)即可以sync也可以async,磁盤IO寫即可以AFFIRM也可以NOAFFIRM,standby redo log也可有可無(wú)。