作者:admin 日期:2023-10-14 瀏覽: 次
數據庫容災
Oracle DataGuard是Oracle自帶的數據同步功能,基本原理是將日志文件從原數據庫傳輸到目標數據庫,然后在目標數據庫上應用這些日志文件,從而使目標數據庫與源數據庫保持同步,是一種數據庫級別的高可用性方案。
DataGuard可以提供Oracle數據庫的冗災、數據保護、故障恢復等,實現數據庫快速切換與災難性恢復。鹽城數據恢復在生產數據庫的保證"事務一致性"時,使用生產庫的物理全備份創建備庫,備庫會通過生產庫傳輸過來的歸檔日志或重做條目自動維護備用數據庫。
DataGuard數據同步技術有以下優勢:
1) Oracle數據庫自身內置的功能,與每個Oracle新版本的新特性都完全兼容,且不需要另外付費。
2) 配置管理較簡單,不需要熟悉其他第三方的軟件產品。
3) 物理Standby數據庫支持任何類型的數據對象和數據類型;
4) 邏輯Standby數據庫處于打開狀態,可以在保持數據同步的同時執行查詢等操作。
5) 在最大保護模式下,可確保數據的零丟失。
Oracle DataGuard由一個primary數據庫(生產數據庫)及一個或多個standby數據庫(最多9個)組成。組成Data Guard的數據庫通過Oracle Net連接,并且有可以分布于不同地域。只要各庫之間可以相互通信,它們的物理位置并沒有什么限制,不受操作系統的限制。
1.Primary 數據庫
DataGuard包含一個primary數據庫即被大部分應用訪問的生產數據庫,該庫既可以是 單實例數據庫,也可以是RAC。
2.Standby 數據庫
Standby數據庫是primary數據庫的復制(事務上一致)。在同一個Data Guard中可以最多創建9個standby數據庫。一旦創建完成,Data Guard通過應用primary數據庫的redo自動維護每一個standby數據庫。Standby數據庫同樣即可以是單實例數據庫,也可以是RAC結構。
Standby數據庫通常分兩類:邏輯standby和物理standby。 邏輯standby
邏輯standby是通過接收primary數據庫的redo log并轉換成sql語句,然后在standby數據庫上執行SQL語句實現同步。 物理standby
物理standby是通過接收并應用primary數據庫的redo log以介質恢復的方式實現同步,不僅文件的物理結構相同,連塊在磁盤上的存儲位置都是一模一樣的。
重做傳輸服務(Redo Transport Services)
控制redo數據的傳輸到一個或多個歸檔目的地。 日志應用服務(Log Apply Services)
應用redo數據到standby數據庫,以保持與primary數據庫的事務一致。redo數據即可以從standby數據庫的歸檔文件讀取,也可直接應用備用日志文件讀取。 角色轉換服務(Role Transitions)
DataGuard中有兩種角色:primary和standby。角色轉換就是讓數據庫在這兩個角色中切換, 切換分兩種:switchover和failover
1)switchover:轉換primary數據庫與standby數據庫。switchover可以確保不會丟失數據。
2)failover:當primary數據庫出現故障并且不能被及時恢復時,會調用failover將一個standby數據庫轉換為新的primary數據庫。在最大保護模式或最高可用性模式下,failover可以保證不會丟失數據。
1.最大保護
這種模式是默認的數據保護模式,在不影響源數據庫性能的條件下提供盡可能高的數
據保護等級。在該種模式下,一旦日志數據寫到源數據庫的聯機日志文件,事務即可提交,不必等待日志寫到目標數據庫,如果網絡帶寬充足,該種模式可提供類似于最大可用模式的數據保護等級。
2.最大可用性
這種模式和"最大保護"基本上差不多。正常情況下,主備庫之間是同步的。
當網絡或者備庫出現問題時,不會影響到主庫的當機,主庫會自動轉換庫"最大性能"模式,等待備庫可用時,將歸檔傳輸到備庫做恢復。
無錫數據恢復3.最大性能
這種模式保證主庫性能最大化,主備庫之間數據是異步傳輸的。即,主備日志歸檔以
后才會傳輸到備用庫
后面會分享更多DBA方面的內容,感興趣的朋友可以關注下!!