[Oracle][Data Guard]Oracle 10g DG第一章Oracle DataGuard Overview

摘要:Oracle 10g DG第一章Oracle DataGuard Overview

想當初在搞DG可說是一個頭兩個大

各種情況都會發生,有時會讓你想抓狂

刪除,重建算家常便飯~~~

但所有的辛苦及痛苦也就在那完成建置的一瞬間感受到上天的眷顧而拋至九霄雲外

有拜有保佑,不拜就ㄟ出代事~~---anyway

雖然Oracle EM提供WEB UI建置DG,但就算建置成功(點點按鈕,拉拉combox,填入server name.....等)

但如遇到問題時肯定不知從何下手解決,因為整個DG架構不清楚,也不知道Oracle到底偷偷做了什麼事??

所以小弟才好好啃原廠技術文件並整理出自己的心得,也希望自己對DG有一定認識

文章均為自己見解,如有錯誤還請指教

小弟認為要先有以下基礎才能順利建置成功,如果在建置或測試過程中遇到麻煩也能快速切入主要問題點

1.Rman 基礎架構

2.Oracle 記憶體架構

3.Oracle Data,log交易流程及概念

 第一章Oracle DataGuard Overview

What is oracle dataguard
  
全面的資料保護
   有效利用系統資源
   在高可用性和高效能性有更靈活的平衡機制
   角色轉換機制
   故障自動檢查
  

最佳應用時機:Site Failure

Standby Database總類
   簡介physical、logical
   Physical:完全和primary db相同(block-for-block basis)。   同步透過接收primary db的redo data(Redo apply)
   Logical:大致上和 primary db相同(schema definition)。    同步透過接收primary db的redo data轉換SQL statemants(by LogMiner)然後在執行SQL(SQL Apply)。
   Standby db個數限制:最多只能建立9個(physical+logical)。   因為LOG_ARCHIVE_DEST_n參數,0<n<=10,n=10-1(local)
   Note:官方文件提到Cascade Redo log destinations feature建立大於9個standby db(不過一般沒人這樣搞)。

Oracle DG Broker:自動管理,監控DG組態設定。(透過EM或DGMGRL)

Services總類
   Redo transport services: 控制Archive redo log傳送到一個或多個Archive_dest。
   Log apply service: 確保Archive redo log傳送到Standby和Primary是一致的。(redo apply、sql apply)
   Role-management services:判斷DB=primary或standby。
   Switchover和Failover
   Switchover:primary轉換standby保證資料絕不遺失。
   Failover:當primary發生問題且不能即時恢復,使用failover將一個standby DB轉換為Primary DB,在最大保護和最大可用性模式下,failover可以保證資料不遺失。
 

Data protection modes
   分三種模式:最大保護(maximum protection),最大效率(maximum performance),最大可用性(maximum availability)。
   Maximum protection:這模式可以保證資料絕不會遺失。因所有交易要被commit前先寫入local online redo log同時也會寫入standby redo log並確認其碼有一個standby以寫入完成,然後才真正在primary commit,如果standby db出現問題crash那麼primary db也會被shutdown。
   Maximum performance:預設模式,以不影響primary performance前提下提供資料的最大保護,所有的交易可以隨時commit,當前的primary archive log 至少要寫入standby db 當然這可以是不同步的。
   Maximum availability:和Maximum protection很類似,差別在standby db出現crash, Primary db 不會shutdown並且轉換成Maximum performance,等standby db恢復正常才又自動切換回來。

Maximum protection:LGWR,SYNC,AFFIRM,and standby redo logs files
Maximum availability:LGWR,SYNC,AFFIRM and standby redo logs files for physical standby DB
Maximum performance:any combination of LGWR or ARCH,ASYNC

DG和RAC
   Real Application Clusters:提供DB高度可用性。(node failures or instance crash)
   dataGuard:提供天然災難保護(異地備援)和防止資料遺失。(user error ordatacorruptio)