俞凱晟
此次數據遷移的實施背景比較復雜,數據要從一個職能部門的數據中心遷移到另外一個新建部門的數據中心。源端數據庫版本為 Oracle9i,目標端數據庫版本為 Oracle11G,數據遷移量達到 T級別。遷移的原因是由于職能部門的業務調整,源端部分數據應用被要求遷移到新的目標端數據庫中支持新的應用。同時由于相關應用的實際需求,在數據遷移和應用切換的過程中要做到無縫切換(既切換對最終用戶是透明的,并基本不存在宕機時間),所以在本次實施考慮使用數據同步軟件進行數據遷移,既先同步后切換的新模式。而不是原先所普遍采用的數據先導出后導入的傳統模式。
為了保證用戶能夠順利進行數據遷移工作,實施團隊將協助用戶進行網絡、主機、數據庫的安裝、遷移、配置更改及其它應用系統的技術支持工作。
在遷移之前實施團隊將協助用戶制定詳盡的方案,做好測試和培訓工作,嚴格選擇和控制數據遷移實施的時間(如夜間無人使用系統時),盡最大努力不影響現有系統的正常使用。
根據以往大型復雜信息系統的集成經驗,數據庫系統的遷移是一件復雜并相當關鍵的工作,應充分作好準備,成立遷移小組,編寫遷移方案。
在遷移過程中,可能會有一些突發的異常情況,為了避免異常情況會帶來的不必要的損失,需要預先對可能發生的異常情況作好準備。根據經驗,升級和遷移過程中可能發生的異常有以下幾種:
2.1 升級過程中硬件故障造成數據庫不可用;
2.2 數據庫遷移失敗;
2.3 操作系統故障;
2.4 數據庫沒有備份完全造成數據丟失。
因此,針對可能發生的故障,必須準備好應對方案,以及相應的回退預案,以保證生產系統的正常運行,業務數據不會丟失。
如圖1所示:

圖1 實施流程
本方案采用Oracle GoldenGate數據實時同步解決方案,需要在源與目標系統均安裝GoldenGate相應軟件模塊。系統架構圖,如圖2所示:

圖2 系統架構
日常運行情況下,數據同步方向為由源業務系統到目標系統(如考慮對源系統的影響程度,可將與源系統通過Oracle Data Guard實時進行數據同步的測試環境數據庫作為數據源)。需要啟動兩邊系統上的GoldenGate進程,數據同步進程如下:
4.1.1 在源業務系統(或測試環境數據庫)上運行的GoldenGate捕獲進程,負責實時讀取Oracle數據庫交易日志中的數據變化,并根據需要可以執行過濾操作,僅將感興趣的數據捕獲過來,寫入本地的源隊列文件中。根據實際測試經驗,寫入隊列文件的數據量約為交易日志文件的四分之一。
4.1.2 在源業務系統(或測試環境數據庫)上還需要運行GoldenGate DataPump進程,該進程負責將源隊列文件的內容發送到目標隊列文件中。通過壓縮機制(最大壓縮比可以達到9:1),網絡傳輸的數據量,最佳情況下約為源隊列文件內容的九分之一。
4.1.3 變化數據的隊列文件到達查詢系統后,查詢系統上的GoldenGate進程將實時讀取這些交易變化數據,根據其在原生產系統上的交易順序,完全一致地應用到查詢系統,從而保證了兩邊交易數據的一致性。
數據實時同步的核心GoldenGate模塊TDM (Transaction Data Management,交易數據管理),在TDM基礎上,用戶還可以采用如下模塊實現圖形化配置管理、實時差異數據比較等功能。
Management Pack for Oracle GoldenGate(Oracle GoldenGate管理包)原名GoldenGate Director,是一個基于服務器的產品,具有直觀的圖形化界面(包括客戶端和Web界面),可以設計、配置、管理、監控和報告整個系統中的GoldenGate模塊。
GoldenGate管理包可以提高IT人員的生產效率,充分利用已有的基礎架構,最大化投資回報率,減少系統持續可用性、災難恢復、實時數據集成方案的上線時間,如圖3、圖4所示:

圖3 GoldenGate管理包圖形客戶端

圖4 GoldenGate管理包Web客戶端
Oracle GoldenGate管理包提供了如下關鍵特性,強化了GoldenGate的部署管理:
4.2.1.1 快速部署。基于GUI圖形的配置減少了人工錯誤,支持從一個中央管理界面快速實現多服務器的解決方案;
4.2.1.2 整合的信息。來自多個服務器的模塊狀態、延遲時間和事件信息被整合到一起,提供簡單的視圖、報告和告警;
4.2.1.3 中央管理。可以從Web界面或富客戶端界面中,啟動、停止、查看多個主機上的GoldenGate模塊;
4.2.1.4 實時反饋。當配置和狀態變化時會實時更新,即刻突出問題;
4.2.1.5 智能參數選擇。特定平臺上的GoldenGate模塊合法參數自動變得可用,非法參數在設計階段即被發現,而不是在運行時;
4.2.1.6 強大的、可擴展的告警架構。開箱即用的告警支持基于配置規則的電子郵件通知。另外,應用提供了與第三方管理解決方案的集成能力;
4.2.1.7 零架構影響。Oracle GoldenGate管理包對IT已有架構沒有任何影響
Oracle GoldenGate Veridata是一個高速的、低影響的數據比較方案,在不妨礙正在運行的業務流程的情況下,識別和報告數據庫之間的數據差異。
采用Veridata,可以審計和驗證不同業務應用共享的大量數據,減少了數據比較需要的時間和資源數量,最小化人工錯誤的影響,加速了潛在問題的發現以利于快速解決。
通過一個圖形化的用戶界面,可以快速選擇源和目標數據庫的相關表格或數據字段,開始數據比較。當源和目標由于持續的數據復制而變化時,Oracle GoldenGate Veridata可以識別出 in-flight(正在處理)的記錄,精確報告那些持久性的差異。用戶擁有靈活性,決定如何基于自己的業務需求,來處理這些in-flight數據,如圖5所示:

圖5 Oracle GoldenGate Veridata 架構
Oracle GoldenGate Veridata提供了如下關鍵特性,幫助組織維護企業級的數據一致性:
4.2.2.1 高性能。在非常動態或大型系統中,數據變化可能會快于數據比較。Oracle GoldenGate Veridata可以在不影響系統和網絡架構的情況下,處理大量的數據比較;
4.2.2.2 選擇性、并行比較。業務應用使用大量結構來在數據庫中存儲數據。為了在這些實現之間比較數據,Oracle GoldenGate Veridata提供了選擇性的比較功能,并發地運行多個比較任務。與其他“全部或沒有”的解決方法不同,Oracle GoldenGate Veridata允許用戶挑選和選擇比較內容,因此,只有相關的數據被處理,不同點突出出來;
4.2.2.3 異構性。Oracle GoldenGate Veridata支持跨數據庫的比較,包括Oracle 、SQL Server、Teradata、HP Enscribe和HP SQL/MP數據庫;
4.2.2.4 直觀的、易于使用的界面。Oracle GoldenGate Veridata使用一個直觀的Web界面,支持通用導航和工作流活動,以配置、操作和監控相關任務。它支持基于用戶的個性化,使得技術和業務用戶很快變得具有生產力;
4.2.2.5 基于角色的安全性。Oracle GoldenGate Veridata提供了基于用戶角色的選擇性訪問,增加了安全性,減少了錯誤;
4.2.2.6 降低了風險的暴露。知道了數據的不一致可以在其影響業務之前,幫助定位問題。Oracle GoldenGate Veridata識別出數據的差異,因此可以快速采取彌補措施;
4.2.2.7 非侵入式操作。利用其比較 in-flight交易的能力,Oracle GoldenGate Veridata支持那些活動的數據庫,而不必妨礙業務操作。輕量級的資源占用和后臺處理技術,比較任務對技術架構可以帶來最小的影響;
4.2.2.8 實時的結果。使用Oracle GoldenGate Veridata,比較狀態和統計實時更新。圖形化的顯示與細節描述清晰地傳達關鍵的結果和特定的數據不一致,因此,IT部門可以立即采取糾正行動。如果沒有不一致的情況,用戶可以存檔數據的精確性,以備合規性報告的需要。
Oracle GoldenGate TDM(交易數據管理)模塊是整個數據實時同步的核心模塊,原生產系統與房產局新建查詢系統均需安裝。根據場景,在原生產系統與查詢系統配置相應的捕獲進程、交付進程,實現單向的數據同步;
GoldenGate管理包需要運行在Oracle WebLogic服務器上(已內含在管理包中)和一個 Oracle元數據庫,建議運行在一個獨立的管理服務器上;
Oracle GoldenGate Veridata的服務器模塊可以運行在一個獨立的管理服務器上,Agent代理模塊根據需要,可以與服務器模塊一起,也可以運行在需要進行數據比較的數據庫實例服務器上。
綜上,GoldenGate軟件是一種基于數據庫日志的數據復制產品,可以利用極少的系統開支,實時復制數據庫,改善數據可用性。GoldenGate可以在數據移植、在線維護等場合應用,以減少或消除數據庫的停機時間。同時,它還可用于數據容災、負載均衡、數據集中、數據分布等應用中。GoldenGate可確保在這些工作進行時,源系統的正常事務處理得以繼續進行,功能上不受影響。
另外,GoldenGate采用的全局數據同步軟件平臺解決方案,既保證了對企業關鍵任務交易數據持續性的訪問,提供了對業務持續性的高度支持;又是一個“一次性投資”的平臺決方案,它為整個企業提供的不僅是技術適應能力包括速度、流量和多樣性,而且還提高企業投資收益,這些都是保證業務持續的關鍵因素。
作為一種軟件方案,GoldenGate 可以采用非常靈活的方式加以配置,包括雙向復制和多層次的數據復制。特別是其在雙向數據復制領域的技術先進性,可以滿足用戶在本地或廣域網絡環境中的各種復雜復制需求。本機數據改變捕捉作為一個基于日志的同步解決方案,對源系統和網絡的影響減少到最低;并可在異構IT基礎結構之間,實現大量數據的秒一級的數據捕捉、轉換和投遞。
[1]阿拉派蒂.Oracle Database 11g數據庫管理藝術[M].鐘鳴,譯.北京:人民郵電出版社,2010.
[2]阿拉派蒂.Oracle數據庫管理藝術:11g新特性[M].鐘鳴,譯.北京:人民郵電出版社,2009.
[3]文平.Oracle大型數據庫系統在AIX/UNIX上的實戰詳解[M].北京:電子工業出版社,2009.
[4]金博爾.數據倉庫生命周期工具箱(第二版)[M].唐富年,孫媛媛,譯.北京:清華大學出版社,2009.
[5]于寧斌.IBM UNIX&Linux:AIX 5L系統管理技術[M].北京:電子工業出版社,2005.