作者:admin 日期:2023-10-14 瀏覽: 次
數(shù)據(jù)庫容災(zāi)
Oracle DataGuard是Oracle自帶的數(shù)據(jù)同步功能,基本原理是將日志文件從原數(shù)據(jù)庫傳輸?shù)侥繕藬?shù)據(jù)庫,然后在目標數(shù)據(jù)庫上應(yīng)用這些日志文件,從而使目標數(shù)據(jù)庫與源數(shù)據(jù)庫保持同步,是一種數(shù)據(jù)庫級別的高可用性方案。
DataGuard可以提供Oracle數(shù)據(jù)庫的冗災(zāi)、數(shù)據(jù)保護、故障恢復(fù)等,實現(xiàn)數(shù)據(jù)庫快速切換與災(zāi)難性恢復(fù)。鹽城數(shù)據(jù)恢復(fù)在生產(chǎn)數(shù)據(jù)庫的保證"事務(wù)一致性"時,使用生產(chǎn)庫的物理全備份創(chuàng)建備庫,備庫會通過生產(chǎn)庫傳輸過來的歸檔日志或重做條目自動維護備用數(shù)據(jù)庫。
DataGuard數(shù)據(jù)同步技術(shù)有以下優(yōu)勢:
1) Oracle數(shù)據(jù)庫自身內(nèi)置的功能,與每個Oracle新版本的新特性都完全兼容,且不需要另外付費。
2) 配置管理較簡單,不需要熟悉其他第三方的軟件產(chǎn)品。
3) 物理Standby數(shù)據(jù)庫支持任何類型的數(shù)據(jù)對象和數(shù)據(jù)類型;
4) 邏輯Standby數(shù)據(jù)庫處于打開狀態(tài),可以在保持數(shù)據(jù)同步的同時執(zhí)行查詢等操作。
5) 在最大保護模式下,可確保數(shù)據(jù)的零丟失。
Oracle DataGuard由一個primary數(shù)據(jù)庫(生產(chǎn)數(shù)據(jù)庫)及一個或多個standby數(shù)據(jù)庫(最多9個)組成。組成Data Guard的數(shù)據(jù)庫通過Oracle Net連接,并且有可以分布于不同地域。只要各庫之間可以相互通信,它們的物理位置并沒有什么限制,不受操作系統(tǒng)的限制。
1.Primary 數(shù)據(jù)庫
DataGuard包含一個primary數(shù)據(jù)庫即被大部分應(yīng)用訪問的生產(chǎn)數(shù)據(jù)庫,該庫既可以是 單實例數(shù)據(jù)庫,也可以是RAC。
2.Standby 數(shù)據(jù)庫
Standby數(shù)據(jù)庫是primary數(shù)據(jù)庫的復(fù)制(事務(wù)上一致)。在同一個Data Guard中可以最多創(chuàng)建9個standby數(shù)據(jù)庫。一旦創(chuàng)建完成,Data Guard通過應(yīng)用primary數(shù)據(jù)庫的redo自動維護每一個standby數(shù)據(jù)庫。Standby數(shù)據(jù)庫同樣即可以是單實例數(shù)據(jù)庫,也可以是RAC結(jié)構(gòu)。
Standby數(shù)據(jù)庫通常分兩類:邏輯standby和物理standby。 邏輯standby
邏輯standby是通過接收primary數(shù)據(jù)庫的redo log并轉(zhuǎn)換成sql語句,然后在standby數(shù)據(jù)庫上執(zhí)行SQL語句實現(xiàn)同步。 物理standby

物理standby是通過接收并應(yīng)用primary數(shù)據(jù)庫的redo log以介質(zhì)恢復(fù)的方式實現(xiàn)同步,不僅文件的物理結(jié)構(gòu)相同,連塊在磁盤上的存儲位置都是一模一樣的。
重做傳輸服務(wù)(Redo Transport Services)
控制redo數(shù)據(jù)的傳輸?shù)揭粋€或多個歸檔目的地。 日志應(yīng)用服務(wù)(Log Apply Services)
應(yīng)用redo數(shù)據(jù)到standby數(shù)據(jù)庫,以保持與primary數(shù)據(jù)庫的事務(wù)一致。redo數(shù)據(jù)即可以從standby數(shù)據(jù)庫的歸檔文件讀取,也可直接應(yīng)用備用日志文件讀取。 角色轉(zhuǎn)換服務(wù)(Role Transitions)
DataGuard中有兩種角色:primary和standby。角色轉(zhuǎn)換就是讓數(shù)據(jù)庫在這兩個角色中切換, 切換分兩種:switchover和failover
1)switchover:轉(zhuǎn)換primary數(shù)據(jù)庫與standby數(shù)據(jù)庫。switchover可以確保不會丟失數(shù)據(jù)。
2)failover:當primary數(shù)據(jù)庫出現(xiàn)故障并且不能被及時恢復(fù)時,會調(diào)用failover將一個standby數(shù)據(jù)庫轉(zhuǎn)換為新的primary數(shù)據(jù)庫。在最大保護模式或最高可用性模式下,failover可以保證不會丟失數(shù)據(jù)。
1.最大保護
這種模式是默認的數(shù)據(jù)保護模式,在不影響源數(shù)據(jù)庫性能的條件下提供盡可能高的數(shù)
據(jù)保護等級。在該種模式下,一旦日志數(shù)據(jù)寫到源數(shù)據(jù)庫的聯(lián)機日志文件,事務(wù)即可提交,不必等待日志寫到目標數(shù)據(jù)庫,如果網(wǎng)絡(luò)帶寬充足,該種模式可提供類似于最大可用模式的數(shù)據(jù)保護等級。
2.最大可用性
這種模式和"最大保護"基本上差不多。正常情況下,主備庫之間是同步的。
當網(wǎng)絡(luò)或者備庫出現(xiàn)問題時,不會影響到主庫的當機,主庫會自動轉(zhuǎn)換庫"最大性能"模式,等待備庫可用時,將歸檔傳輸?shù)絺鋷熳龌謴?fù)。
無錫數(shù)據(jù)恢復(fù)3.最大性能
這種模式保證主庫性能最大化,主備庫之間數(shù)據(jù)是異步傳輸?shù)?。即,主備日志歸檔以
后才會傳輸?shù)絺溆脦?/p>
后面會分享更多DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注下?。?/p>