Oracle資料庫同步技術1

DBAORACLE發表於2009-11-17

基於Oracle資料庫的資料同步技術大體上可分為兩類:Oracle自己提供的資料同步技術和第三方廠商提供的資料同步技術。Oracle自己的同步技術有DataGuardStreamsAdvanced Replication和今年剛收購的一款叫做GoldenGate的資料同步軟體。第三方廠商的資料同步技術有Quest公司的SharePlexDSGRealSync。下面對這些技術逐一進行介紹。

[@more@]

一、DataGuard資料同步技術

DataGuardOracle資料庫自帶的資料同步功能,基本原理是將日誌檔案從原資料庫傳輸到目標資料庫,然後在目標資料庫上應用(Apply)這些日誌檔案,從而使目標資料庫與源資料庫保持同步。DataGuard提供了三種日誌傳輸(Redo Transport)方式,分別是ARCH傳輸、LGWR同步傳輸和LGWR非同步傳輸。在上述三種日誌傳輸方式的基礎上,提供了三種資料保護模式,即最大效能(Maximum Performance Mode)、最大保護(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保護模式和最大可用模式要求日誌傳輸必須用LGWR同步傳輸方式,最大效能模式下可用任何一種日誌傳輸方式。

最大效能模式:這種模式是預設的資料保護模式,在不影響源資料庫效能的條件下提供儘可能高的資料保護等級。在該種模式下,一旦日誌資料寫到源資料庫的聯機日誌檔案,事務即可提交,不必等待日誌寫到目標資料庫,如果網路頻寬充足,該種模式可提供類似於最大可用模式的資料保護等級。

最大保護模式:在這種模式下,日誌資料必須同時寫到源資料庫的聯機日誌檔案和至少一個目標庫的備用日誌檔案(standby redo log),事務才能提交。這種模式可確保資料零丟失,但代價是源資料庫的可用性,一旦日誌資料不能寫到至少一個目標庫的備用日誌檔案(standby redo log),源資料庫將會被關閉。這也是目前市場上唯一的一種可確保資料零丟失的資料同步解決方案。

最大可用模式:這種模式在不犧牲源資料庫可用性的條件下提供了儘可能高的資料保護等級。與最大保護模式一樣,日誌資料需同時寫到源資料庫的聯機日誌檔案和至少一個目標庫的備用日誌檔案(standby redo log),事務才能提交,與最大保護模式不同的是,如果日誌資料不能寫到至少一個目標庫的備用日誌檔案(standby redo log),源資料庫不會被關閉,而是執行在最大效能模式下,待故障解決並將延遲的日誌成功應用在目標庫上以後,源資料庫將會自動回到最大可用模式下。

根據在目標庫上日誌應用(Log Apply)方式的不同,DataGuard可分為Physical StandbyRedo Apply)和Logical StandbySQL Apply)兩種。

Physical Standby資料庫,在這種方式下,目標庫透過介質恢復的方式保持與源資料庫同步,這種方式支援任何型別的資料物件和資料型別,一些對資料庫物理結構的操作如資料檔案的新增,刪除等也可支援。如果需要,Physical Standby資料庫可以只讀方式開啟,用於報表查詢、資料校驗等操作,待這些操作完成後再將資料庫置於日誌應用模式下。

Logical Standby資料庫,在這種方式下,目標庫處於開啟狀態,透過LogMiner挖掘從源資料庫傳輸過來的日誌,構造成SQL語句,然後在目標庫上執行這些SQL,使之與源資料庫保持同步。由於資料庫處於開啟狀態,因此可以在SQL Apply更新資料庫的同時將原來在源資料庫上執行的一些查詢、報表等操作放到目標庫上來執行,以減輕源資料庫的壓力,提高其效能。

DataGuard資料同步技術有以下優勢:

1) Oracle資料庫自身內建的功能,與每個Oracle新版本的新特性(如ASM)都完全相容,且不需要另外付費;

2) 配置管理較簡單,不需要熟悉其他第三方的軟體產品;

3) Physical Standby資料庫支援任何型別的資料物件和資料型別;

4) Logical Standby資料庫處於開啟狀態,可以在保持資料同步的同時執行查詢等操作;

5) 在最大保護模式下,可確保資料的零丟失;

DataGuard資料同步技術的劣勢體現在以下幾個方面:

1) 由於傳輸整個日誌檔案,因此需要較高的網路傳輸頻寬;

2) Physical Standby資料庫雖然可以只讀方式開啟,然後做些查詢、報表等操作,但需要停止應用日誌,這將使目標庫與源資料不能保持同步,如果在此期間源資料庫發生故障,將延長切換的時間;

3) Logical Standby資料庫不能支援某些特定的資料物件和資料型別;

4) 不支援一對多複製,不支援雙向複製,因此無法應用於資訊整合的場合;

5) 只能複製整個資料庫,不能選擇某個schema或表空間進行單獨複製;

6) 不支援異構的系統環境,需要相同的作業系統版本和資料庫版本;

DataGuard技術是Oracle推薦的用於高可用災難恢復環境的資料同步技術。

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

相關文章