當前位置:編程學習大全網 - 源碼下載 - oracle dds是什麽

oracle dds是什麽

2. DataGrid DDS產品介紹

2.1.概述:

DataGrid DDS是基於分析oracle redo log技術的Oracle實時復制工具,具有簡單靈活、高性能低成本的特點,部署和使用非常容易,對系統資源和運行環境的要求也非常低。DataGrid DDS能夠幫助用戶在復雜的應用環境下完成容災備份、異構遷移、業務數據分發、基礎數據整合集中等工作。

*DataGrid DDS能做什麽?

DataGrid DDS能夠滿足用戶多種業務需求,主要有:

提高系統整體可用性

DataGrid DDS能夠幫助用戶提高Oracle數據庫的可用性,無論是執行計劃內停機(如系統升級、備份)還是遇到故障引起的非計劃宕機(例如硬件故障、災難、人為錯誤等),DataGrid DDS都能盡量減少宕機時間。提高可用性能夠最大限度地減少數據丟失、經濟損失和生產力的降低。

邏輯災備和災難恢復

對於大部分公司而言,災備是壹項巨大的工程,意味著高額的資金投入和人力成本。受到傳統復制技術的限制,災備必須擁有專用的硬件支持和專用的光纖傳輸鏈路,災備距離和系統平臺還有諸多的限制。此外,由於傳統災備系統的數據庫不能隨時打開使用,不但風險不能評估,而且巨大的投入也得不到回報。

DataGrid DDS使用邏輯數據復制技術,傳遞的是交易信息,因此傳輸數據量很小,保證了在低帶寬環境下實現低延遲的Oracle數據異步復制,軟件同時支持實時復制容災和定時復制備份功能,是壹種高效且低成本的數據庫災備方式。DataGrid DDS使用標準的IP網絡進行通訊,災備端的Oracle數據庫可以部署在本地或遠程容災中心,距離沒有限制。此外,由於復制的目的端數據庫始終處於打開狀態,因此,當生產數據庫遇到計劃內或非計劃停機時,DataGrid DDS能夠支持前端應用程序快速、無縫的切換到災備數據庫。與其它基於磁盤或文件系統的物理復制技術相比,不但省略了漫長的數據庫recovery和啟動時間,而且能夠保證100%的切換成功率。

分擔數據庫負載

DataGrid DDS邏輯交易復制技術保證了目的端數據庫始終處於可用狀態,因此對於實時交易處理之外的只讀應用,例如批量查詢、報表處理、數據備份、統計分析等都可以交給復制的數據庫處理。多種應用也不必在同壹個交易數據庫上爭奪資源和時間窗口。生產系統運行和維護的壓力得以釋放,提高了穩定性,而不同的應用在分布的數據庫上也可以得到分別的優化。

業務數據分發

DataGrid DDS能夠完成企業範圍內數據分發,從交易數據生產庫實時復制到壹個或多個本地或異地的數據庫。DataGrid DDS支持多種數據分發拓撲結構,壹對多,多對壹,級聯復制等。數據分發是壹種典型的通過部署多服務器、多數據庫來分擔負載,提高響應速度的企業應用模式。

跨平臺數據遷移

DataGrid DDS支持跨平臺的數據傳輸,復制的源和目的系統可以在AIX、HP-UX、Solaris、Linux之間任意選擇。DataGrid DDS同時支持Oracle 9i和Oracle 10g。對於用戶來說,不但硬件平臺的選擇有很大的靈活性,也可以用DataGrid DDS來完成異構平臺的數據庫同步和遷移工作。

實時復制和批量復制

應用的需求影響著用戶使用復制工具的模式,對於容災和查詢應用,連續的實時復制保證目的端數據庫擁有和生產系統完全壹樣的數據狀態;而對於定時備份、系統升級和定時分析等應用,用戶則希望復制軟件做到定時或周期性的批量數據遷移。在DataGrid DDS中批量復制和實時復制是相互獨立又緊密結合的兩個部分,通過管理員的操作控制,DataGrid DDS完全滿足用戶在多種應用條件下的需求。

交易統計

DataGrid DDS在完成實時數據復制的同時,也跟蹤到了數據庫交易數量的變化,通過GUI界面,DBA可以隨時查詢到生產數據庫在指定時間段的交易統計結果,通過分析這些數據,DBA能夠量化生產數據庫壓力的變化,從而為數據庫的擴容和升級提供了依據。

增強分析工具

DataGrid DDS提供了簡單實用的數據庫工具包,包括日誌分析工具、文件分析工具、導入導出工具等,工具包能幫助有經驗的DBA更深入的分析處理數據庫的問題。

2.2.DataGrid DDS技術原理

2.2.1.DataGrid DDS和Oracle Redo Logs

*基於日誌分析的實時復制技術

DataGrid DDS通過分析Oracle redo log獲得實時交易信息,完成schema或table級別的數據復制。區別於早期的日誌分析技術,DataGrid DDS對日誌的整合和傳輸以交易為單位,使用該技術,在擁有高性能的同時還能更好的保證數據傳輸的壹致性和完整性。對生產數據庫也不會增加負載。

DataGrid DDS從Oracle redo logs裏面獲取所有的數據庫改變信息。通過對信息的分析整合,DataGrid DDS將完整的交易信息復制到目的端。

DataGrid DDS不是等待Oracle redo log文件寫滿之後再處理,而是隨時讀取其數據塊內容,間隔時間可以用參數指定,壹般是秒級。DataGrid DDS也不會復制Oracle redo log的全部內容到目的端數據庫,除指定復制對象(數據表)相關的DML/DDL操作之外,其他的信息將丟棄處理。

為了避免可能出現的復制錯誤,用戶需要打開數據庫的supplemental logging 和force logging參數以便DataGrid DDS能獲取完整的數據信息。

置於裸設備或文件系統(包括ocfs)中的Oracle redo log可以被DataGrid DDS正常讀取。如果用戶使用的是Oracle 10g,並且將redo log保存在ASM(壹種新的Oracle存儲格式)中,則需要在裸設備或文件系統上手動創建壹組與原有日誌同步的redo log member,供DataGrid DDS復制使用。

*Online 和 Archived Redo Logs

Oracle有兩種類型的日誌:在線日誌和歸檔日誌。壹般情況下,DataGrid DDS從壹組在線日誌讀取信息,因此,不要求Oracle數據庫必須打開歸檔日誌。但在某些特殊情況下,online redo log沒來得及分析就被覆蓋,此時,如果Oracle是歸檔模式,則DataGrid DDS將從歸檔日誌讀取需要的信息。

2.2.2.復制對象和數據定位

*復制對象的指定

DataGrid DDS支持兩種級別的復制:1.用戶(schema)級復制;2.表級復制。

用戶級復制表示源端數據庫指定用戶(schema)下的所有表、視圖、索引、過程、函數、包、序列等數據對象全部復制到目標端數據庫指定的用戶下。表級復制表示源端數據庫指定用戶(schema)下的單個表復制到目標端數據庫指定用戶下的單個表。

在使用DataGrid DDS時,用戶通過編輯配置文件指定源端和目的端復制對象的映射關系,包括源端對象名,目的端對象名,目的主機編號等。源端和目的端對象名稱可以不同,但結構必須壹致。軟件運行過程中,復制對象的映射參數會駐留內存,DataGrid DDS通過日誌分析過濾,只處理指定復制對象有關的交易,其它用戶或表的操作信息則被丟棄。

*Rowid mapping

早期的數據庫邏輯復制軟件要求被復制的數據表有主鍵索引,通過where子句查詢的方式來定位DML操作的目標行。這種方法在數據修改較多或者表內行數較多的應用環境,特別是Update操作頻繁的情況下,效率較低。

為了滿足海量數據系統的應用要求,DataGrid DDS以Oracle內部rowid為參照進行復制數據定位。系統在初始化過程中會自動創建源端數據行和目的端數據行的rowid mapping映射表,為二進制格式,系統根據該映射關系找到DML操作的目標行。Rowid定位技術在海量數據環境下處理Update和Delete操作具有較大的性能優勢。

2.2.3.分級存儲和交易隊列

DataGrid DDS在數據傳輸部分使用了分級存儲機制,在遇到系統錯誤引起的復制中斷時,例如硬件故障、數據庫故障、網絡中斷或延遲,分級存儲機制能完好的保存已經合成的交易信息,避免數據丟失。這些數據以二進制文件格式存儲在文件系統的緩存目錄下,直到系統故障解決。恢復從緩存文件傳輸的中斷點開始。

* 源端和目的端分級存儲

DataGrid DDS的分級存儲分為兩級:第壹級在復制源端,第二級在復制的目的端。Redo log裏邊的交易的信息被整合成緩存文件後,首先存放到源端的壹級緩存目錄;然後經過網絡通訊進程處理被發送到目的端系統下的二級緩存目錄保存;最後由裝載進程負責裝載到目的端數據庫中。

在網絡傳輸出現中斷或大量延遲的情況下,DataGrid DDS在源端仍然繼續讀取並分析數據庫日誌產生的交易信息,這些信息暫時不能發送到目標端系統,不斷地積累在源端的緩存目錄下,直到通訊恢復。源端緩存保證了故障情況下復制數據的完整性。

目的端的緩存目錄將保存交易信息文件直到它們正確的裝載到目的端的數據庫內,如果因為目的數據庫的故障或關閉,裝載不能進行,從源端傳送過來的數據文件將在目的端緩存目錄下保存。數據庫恢復後,緩存文件會嚴格按照交易時間順序進行裝載。

*文件的格式和大小

交易信息以文件為單位進行傳輸、緩存和裝載,該文件為DataGrid獨有的二進制格式,其內部的表達方式與Oracle內部處理方式相類似,避免了很多復雜的信息轉換,因此具有很高的效率。

緩存文件的總量為源端實際產生redo log日誌量的1/3~1/4左右。DataGrid DDS不設置緩存空間控制機制,用戶可以根據每天交易產生的Oracle redo log日誌量和以上比例計算需要預留的緩存空間。

*內存管理和大交易處理

DataGrid DDS啟動後,將在源端和目的端系統上開辟多個內存區供各進程使用,用來駐留參數、傳遞消息信號、緩存分析交易的中間信息等。內存區的大小由系統參數指定,目的是防止無限制的使用內存引起系統資源緊張或系統崩潰。

在復制源端,如果遇到數據庫產生非常大的交易,DataGrid DDS會連續分析直到整個交易提交,其間產生的中間信息可能達到GB級。在這種情況下,DataGrid DDS會自動將這些信息緩存在磁盤上等待處理,磁盤緩存由後臺進程自動處理,容量沒有限制。

*交易隊列

DataGrid DDS嚴格按照Oracle數據庫內部SCN順序執行交易的復制和裝載,保證復制數據的絕對壹致性。

DataGrid DDS在跟蹤redo log過程中,每隔壹個固定的時間(通常是秒級)讀取壹次日誌文件,分析出本次讀出數據的內容,同時記錄下該段數據的起始和終止SCN號。下壹次讀取redo log時,從上壹次獲取的終止SCN位置開始。多個實例的RAC模式下,則以SCN為參考給每個實例執行的交易進行排隊,然後按照排隊順序形成緩存文件。緩存文件也嚴格按照交易的順序進行編號、傳遞。所有的交易在目的端裝載的順序與它們在源端產生的順序完全相同,這是保證數據完整性和壹致性的關鍵。

2.2.4.使用和部署DataGrid DDS

*在線部署

DataGrid DDS的安裝非常簡單,不需要特殊的軟硬件支持,軟件本身完全在Oracle數據庫的外部,不需要在Oracle中增加表空間,不需要在復制的表上添加索引和主鍵,也不需要停機做基礎數據同步工作。

整個安裝過程可以在線進行,甚至可以在數據庫正常執行交易的過程中執行,因為DataGrid DDS不用借助任何第三方工具就可以進行在線的批量數據初始化工作,初始化結束後,無縫切換到增量數據復制過程。這樣的功能對於壹些需要7*24連續運行的系統來說非常重要,因為在安裝維護過程中,頻繁的停機會給生產系統帶來很大的安全隱患和工作難度。

*跨平臺支持和兼容性

使用邏輯復制技術的DataGrid DDS,其跨平臺能力是用戶非常歡迎的。DataGrid DDS能夠支持不同版本Unix/Linux系統下的混合復制,對於具有復雜硬件環境的企業系統來說,異構能力可以節省大量的資源和成本,舊設備得到充分的利用。

不同Oracle版本的支持能力也非常有價值,對於壹些7*24運行的Oracle9i數據庫來說,DataGrid DDS可以幫助它們在線的升級到Oracle 10g。

操作系統 數據庫版本 數據類型 數據對象

AIX Oracle9i NUMBER Table

HPUX Oracle9i RAC CHAR View

HPUX(IA64) Oracle VARCHAR/VARCHAR2 Package

Solaris Oracle10g RAC DATE Package body

Linux TIMESTAMP Index

BLOB/CLOB Sequence

RAW/LONG RAW Procedure

ROWID Function

Trigger

表1:DataGrid DDS支持的系統及對象

*多種復制模式

DataGrid DDS支持壹對壹,壹對多,多對壹,以及級聯復制等多種復制模式。無論在哪種模式下,復制的源和目的系統都是獨立的部分,可以單獨的使用、維護和優化,這也是邏輯復制技術受到用戶青睞的重要原因之壹。

壹對壹的復制常見於災備應用

  • 上一篇:JD.COM金條plus可靠嗎?
  • 下一篇:幹坤獵牛源代碼索引
  • copyright 2024編程學習大全網