盛哥學習 Data Guard 第一篇《先了解大概》

leonarding發表於2012-05-08

   第一篇  先了解大概

我剛接觸DG的時候認為就是2個字母組合並不知道是2個單詞的縮寫(多麼悲催)

上網百度後才知哦高科技啊,Data Gurad 資料容災備份技術,以前叫standby database,從字面上看有人也叫他“資料衛士”,DG是一種oracle給出的高可用性解決方案屬於儲存級的HA技術。有人想問什麼叫“儲存級的HA技術”是不是還有其他級的HA技術,似的!!!大家耳熟能詳的聽說過RAC吧,這就可成為“例項級的HA技術”。不同點在於DG是解決儲存單點故障的HA技術,RAC是解決例項單點故障的HA技術,有人會想的如果組合起來使用是不是更加完美了,呵呵真是思路開闊,回答的就是完美,絕對沒問題。先做了開場白,也跟大家混個臉熟,我本名叫劉盛,圈子裡的人都叫“盛哥”估計是因為好記:)ITpub_id:leonardinQQ 40354446  bloghttp://space.itpub.net/26686207   口號:分享知識 收穫快樂

    Data Guard 架構

Data Guard是怎麼組成的呢?或者說如何構建一個完整DG呢???

Data Guard是一個系統是由primary  database(主庫) standby  database(備庫)組成的。一個主庫最多可帶9個備庫還可級聯。備庫的位置可分佈在不同的地域,例如Data Guard Policy 策略第一套 備庫可放在同機房  第二套備庫可放在同城機房  第三套備庫可放在異地機房,這就是我們常說的三保險策略。只要網路環境好,DG對地理條件是沒有限制的。現在支援的作業系統Linux  UNIX  Solaris  windows(單程式程式,實際用的很少,不建議使用),那麼DG管理方式呢?在生產中,主要有2中方式去管理,第一採用sqlplus命令列的方式去管理(實際生產中用的很多),第二採用Grid Control (外國朋友非常熱衷於這個)。

primary  database(主庫):就是為我們生產環境提供主要支援的資料庫,是open狀態可任意操作。即可以是單例項也可以是RAC結構

standby  database(備庫):就是當我們主庫出現問題不能對外提供服務的時候,坐冷板凳的我們立刻顯示出了重要性,馬上替換成主角繼續對外提供服務。即可以是單例項也可以是RAC結構。

Data  Guard種類:主要分為2類,一類是物理standby庫,另一類是邏輯standby庫。如何區分這2種備庫,各有什麼特點,在什麼業務中使用,下面我會一一介紹。

物理Data Guard

Concept:基於資料塊應用的,在備庫中透過redo日誌重演資料變化,物理的效率高,因為redo直接應用底層資料塊(也就是相當於塊對塊的copy),連塊的位置都是一樣的(預設情況下),主庫有什麼備庫就有什麼。當備庫正在應用redo時資料庫不能為open狀態

Read-only 模式

Select open_mode from v$database; 檢視到read-only,這時候說明資料庫為“只讀模式”,當備庫為read only模式時,能夠對外提供查詢服務和備份服務例如提供報表查詢服務,相當於減輕了主庫的壓力,此時備庫只能接收redo日誌不能應用日誌(在10G之前是這樣,11G就能active備庫了,技能在open時接收同時也能應用日誌了)。舉個小例子,我們可以設計成主庫只負責寫入資料,備庫只負責查詢資料,這樣便平衡了應用負載。如果要想應用日誌必須把狀態轉變為mount此時只能應用不能被查詢了,你可以根據情況在這2種狀態間進行轉換。

Read-write 模式

Select open_mode from v$database; 檢視到read-write,這時候說明資料庫為“讀寫模式”,當備庫為read write模式時,備庫將暫停接收主庫的redo日誌,此時2邊的日誌數就不能保持同步了,當然備庫也就失去了資料保護和容災恢復的功能了。那什麼時候會用到呢。當我們需要在資料庫上做一些操作,但一時不能直接在主庫上操作時,可以臨時把備庫調整為“read-write”(此時要把閃回開啟)等操作完之後閃回到初始狀態,Data Guard會自動開始同步不需要重建備庫。

總結物理Data Guard,提供了一個安全且高效的容災恢復高可用方案,既非常方便的角色之間的切換,又非常的自動化(它會自己探測當前的狀態和日誌應用情況)。可以保證在就算9.11 發生了資料也不會丟失。物理的效率高因為直接對底層資料塊的應用,就像照鏡子,主庫的哪個塊發生了變化備庫的哪個塊也就發生了變化。還可以減輕主庫的壓力,讀寫分離,平衡負載。

邏輯Data Guard

Concept:基於SQL程式碼應用,邏輯Data Guard只是說明在邏輯層面上與主庫相同,物理結構可以不同。流程redo-> 解析-> SQL語句(DML  DDL->應用在備庫,也正因為有這樣的特性備庫可以以read-write模式開啟,一邊應用日誌一邊在本機操作。缺點,邏輯的效率低,因為解析SQL語句需要消耗大量系統資源。邏輯Data Guard對一些資料型別和一些ddldml不提供支援。

邏輯Data Guard 特點概述

1.因為可以在物理結構上不同,因此我們能在備庫上建立額外的一些主鍵、索引、臨時表等提高查詢效能,還能建立額外的使用者user,來支援特定業務的需求。

2.備庫可以在應用日誌的同時處於open狀態,而應用的那些表處於只讀狀態。你可以在備庫上額外的做一些臨時操作(好比備庫>主庫,包含的意思)同時對外提供報表查詢服務,減輕了主庫的壓力

3.邏輯Data Guard可以實現跨平臺的升級,但物理Data Guard卻力不從心。

   Data Guard三種保護模式

Oracle Data Guard為我們提供了非常人性化的三種保護模式,其目的應用於不同的保護級別和場合,存在的目的就是讓我們的資料庫,健健康康活著,創造出自己的價值

1)保護最大化:主庫與備庫實時同步資料,如果主庫掛了,備庫也不能前進,等主庫好了,備庫才能前進(在寫入主庫的redo日誌時同時寫入備庫redo日誌,並且保證至少有一個備庫redo日誌可用【當你有多個備庫時】),最大限度的保證資料的完整性,不允許丟資料。實際生產很少用

2)可用最大化:主庫與備庫實時同步資料,當網路或備庫出現問題時,不影響主庫的工作

而是轉換為“效能最大化”模式,等備庫恢復正常後,再轉換為可用最大化模式。實際生產很少用

3)效能最大化:主庫與備庫是非同步傳輸資料(定期傳日誌),保證主庫的效能最好,如果主庫掛了,盡最大努力恢復備庫。實際生產很多用

總結:最大保護和最大可用都需要至少一個備庫的redo日誌可用。最大效能有可能丟資料,只能盡最大努力去恢復備庫

   說說Data Guard 優點

1.資料保護

2.容災恢復

3.靈活平衡效能和保護最佳點

4.高效利用系統資源

5.均衡負載降低主庫壓力

6.角色狀態自動恢復

   硬體、作業系統、引數注意事項

1.      主庫和備庫必須是同一個平臺。32位或者64位。X86 或者小機架構

2.      作業系統必須是同一個廠家的,但作業系統的版本號可以不同。比如redhat 5 redhat 4可以組成一組Data Guard

3.      Oracle企業版才支援Data Guard功能

4.      主備庫的compatible引數必須一致

5.      主備庫的管理員密碼必須一致

6.      主備庫都要在歸檔模式下

7.      主備庫都可以是單例項或者RAC模式

8.      主備庫可以搭建在一臺主機上,需要注意各自的日誌目錄和資料目錄

9.      底層採用相同的儲存模式FilesystemASMOMF

10.  主庫必須設定Force logging引數(不管什麼操作都生成日誌)

  日誌的傳輸模式LGWR ARCH

ARCH:當我採用此模式傳輸日誌的話,主庫觸發ARCH程式後把歸檔資料傳輸到備庫,此時備庫接受到歸檔資料後才能應用。Arch模式不寫standby  logfile,直接儲存歸檔。

LGWR:當我們採用此模式傳輸日誌的話,主庫觸發LGWR程式後把重做資料傳輸到備庫,此時備庫接受到重做資料後預設並不應用,等形成歸檔日誌後,應用歸檔日誌。如果開啟real time【實時應用】選項則接受重做資料後,直接應用standby  logfile。為了保證資料庫的事物一致性兩邊必須要有歸檔日誌。

  角色轉換  

Data Guard中有2中角色一個是 primary  一個是standby,所謂的轉換是在這2個角色間切換

兩種切換模式

switchover主備庫可以順利的切換角色,主變成備,備變成主,不會破壞Data Guard架構

failover放棄式切換,當主庫出現緊急問題又不能及時修復,啟動備庫切換成主庫,主庫立刻脫離Data Guard架構,當有多個備庫時,其中一臺備庫成為主庫後,其他備庫均失效。

小結:現在基本上對Data Guard的框架、術語、名詞解釋大致通講了一遍,後續慢慢的再深入的講開、擴大、挖深、提精。敬請期待。

 

 

 

leonarding

2012.5.8

於天津&

QQ 40354446

 

 

 

 

 

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26686207/viewspace-723085/,如需轉載,請註明出處,否則將追究法律責任。

相關文章