程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 詳談Oracle遠程磁盤鏡像

詳談Oracle遠程磁盤鏡像

編輯:Oracle數據庫基礎

學習Oracle時,經常會遇到Oracle遠程磁盤鏡像問題,這裡將介紹Oracle遠程磁盤鏡像問題的解決方法。Oracle遠程磁盤鏡像技術可采用異步方式,達到降低網絡延時、減輕對生產系統影響等目的。但用這種方式進行Oracle數據庫的鏡像,卻存在一個潛在問題:無法保證寫操作順序的一致性(write-order consistency),導致出現數據壞塊的可能性增大。最壞情況,可能導致備份數據庫無法打開。

而Data Guard基於邏輯級,傳輸的是與業務邏輯完整性相關的日志文件。Data Guard是以日志文件為邊界,會自動檢驗日志文件的完整性,並可進行斷點日志文件的檢查(log gap detection),通過FAL後台進程自動重傳斷點日志文件。因此,備份數據庫的一致性會得到保證。

網絡傳輸量分析

網絡傳輸量的大小直接關系到容災方案實施的可行性。在原理上,Data Guard只是傳輸一份日志文件,而磁盤鏡像技術將傳輸數據文件、聯機日志、歸檔日志、控制文件等所有發生變化的文件。例如,針對交易處理,Data Guard只傳輸相應DML語句的日志信息,而磁盤鏡像技術將傳輸該交易所涉及的所有數據塊,以及歸檔日志等數據。根據統計資料顯示,磁盤鏡像的網絡傳輸量是Data Guard的7倍,而磁盤I/O次數是Data Guard的27倍。

以某銀行業務系統為實例: 該系統日交易量達到高峰時,日志文件將有60GB,網絡傳輸率要求6Mbps/秒。使用磁盤鏡像技術,網絡傳輸率則至少會達到6×7 = 42Mbps/秒。如果還要考慮DB2、CICS、MQ等系統對線路的復用,以及系統的擴充,即便采用155Mbps的線路,從廣域網絡建設和運行成本等考慮,磁盤鏡像進行數據庫容災也難以實施。

遠程災備分析

Oracle遠程磁盤鏡像技術由於受底層通信技術(光纖、ESCON等)限制,一般都有距離限制,如幾十或百公裡,如果要在廣域網實施Oracle遠程磁盤鏡像,則需要大量的網絡中繼和轉發設備,這樣,網絡設備投入將大量增加,而且網絡延時的增加,對生產系統的影響也將加大。

相比之下,Data Guard基於Oracle Net Services(即標准的TCP/IP協議) 傳輸數據。TCP/IP協議是ESCON之上的傳輸協議,由於在信息包轉發、路由和擁塞控制等方面更為優化,同時TCP/IP與底層通信協議無關(以太網、ATM、SONET等),而且,TCP/IP可以並行地進行若干信息包的傳輸。因此,TCP/IP的效率更高、網絡延時更低,對生產系統的影響也更小。

數據保護能力分析

在各種故障中,故障率最高的是磁盤故障(Corruption)。一旦出現磁盤壞塊,磁盤鏡像技術將忠實地將這種錯誤傳播到備份數據庫的磁盤中,導致備份數據庫無法使用。而由於Data Guard傳輸的是日志文件,而且傳輸之前對日志文件的完整性進行了校驗,因此,不可能發生因系統磁盤出現物理壞塊,或磁盤控制器故障等,將數據塊寫壞而導致備份數據庫出現壞塊的情況。

投資回報率(ROI)分析

Data Guard軟件對硬件沒有特殊的要求,網絡只要求TCP/IP。備份數據庫可以建立在相對低檔的系統和廉價的磁盤陣列中。而磁盤鏡像技術不僅需要單獨購買昂貴的磁盤鏡像軟件,而且對硬件要求也很苛刻。

此外,Data Guard具有備份數據庫的查詢統計功能,而磁盤鏡像技術建立的備份數據庫在正常情況下處於閒置狀態,只有在發生故障時,才能投入應用;為降低生產數據庫的負載,Data Guard還可以將物理備份功能移植到備份數據庫進行,備份數據庫產生的物理備份數據,同樣可用於生產數據庫的恢復操作。以上介紹Oracle遠程磁盤鏡像。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved