【新炬網路名師大講堂】O2O同步實施涉及的變更V1.0

shsnchyw發表於2014-12-16

【前言】
本文目的為總結Oracle GoldenGate實施涉及哪些變更專案,並非取代相應官方文件,正式生產環境前可參考本文以及相應官方文件處理。
本文是基於oracle to oracle的goldengate同步編寫的,使用的goldengate版本為11.2。
本文將依據專案經驗進一步積累以及ogg軟體的發展而進行更新。

【資料庫屬性變更】
單向同步的情況下,此操作僅涉及源端;雙向同步的情況下,則涉及源端以及目標端。
資料庫層面可能涉及的變更項如下:
1、開啟資料庫層面的SUPPLEMENTAL LOGGING屬性
SUPPLEMENTAL_LOG_DATA_MIN為必須開啟的專案,否則;而SUPPLEMENTAL_LOG_DATA_PK以及SUPPLEMENTAL_LOG_DATA_UI則因應實際需求而異了,對於同一個物件DDL以及DML操作間間隙很小,開啟這兩項屬性是一種可選的自動處理附加日誌的方法,通常情況下不需要開啟這兩項。
2、開啟資料庫層面的FORCE LOGGING屬性
這是一個建議項,避免存在OGG無法捕獲的不寫日誌操作。
當資料庫層面開啟FORCE LOGGING屬性受阻,可以考慮改為開啟表空間級別的FORCE LOGGING屬性。
3、關閉資料庫的回收站
僅Oracle database版本為10g,而OGG要求開啟DDL複製的情況下,需要關閉。

【資料庫使用者建立】
無論是單向或者雙向同步,均涉及資料庫使用者建立,但因應源端以及目標端的不同,許可權要求有所不同。
通常情況下,建議直接賦予connect、resource、dba三個角色。
如果出現客戶要求控制許可權的情況,則建議重點參考OGG對應版本的安裝文件梳理許可權,《Oracle GoldenGate for Oracle Installation and Setup Guide》中有詳細的描述。

【資料庫物件變更】
無論是單向或者雙向同步,均涉及資料庫使用者建立,但因應源端以及目標端的不同,具體要求也有所不同。
物件變更可能涉及的內容如下:
1、源端開啟資料庫表的表級的SUPPLEMENTAL LOGGING屬性
這是一個必須項,否則Oracle GoldenGate無法正常同步UPDATE操作;僅雙向同步或者需要使用OGG做反向回錄的情況下需要在目標端做同樣的處理。
2、源端開啟資料庫表的表級的LOGGING屬性
這是一個可選性,但即使在資料庫級別的FORCE LOGGING屬性已經開啟的基礎上,仍然建議開啟此項;僅雙向同步或者需要使用OGG做反向回錄的情況下需要在目標端做同樣的處理。
3、源端以及目標端建立支援Sequence同步的物件
這是一個可選性,僅複製Sequence的情況下,需要開啟。
4、源端建立支援DDL複製的物件
這是一個可選性,僅複製DDL的情況下,需要建立;僅雙向同步或者需要使用OGG做反向回錄的情況下需要在目標端做同樣的處理。
此處最大影響的專案為需要建立資料庫級別的觸發器,此操作會影響源端DDL語句的效能,但對於OGG 12.1且資料庫版本為11.2.0.4之後的情況,已經不再要求建立觸發器了。
5、源端透過dbms_shared_pool包將DDL相關物件keep在共享池
這是一個可選項,目的在於透過 dbms_shared_pool.keep 儲存過程將DDL Replication 相關物件 keep 在共享池中,以保證這些物件不要 RELOAD ,提升效能。
通常情況下,資料庫預設會安裝dbms_shared_pool包;否則,在複製DDL的情況下,建議安裝。

【資料庫補丁】
對於某些情況下,資料庫是要求打補丁的,下面為典型情況:
1、OGG版本11.2,採用ADD SCHEMATRANDATA功能,資料庫版本11.2.0.2之前,要求打patch 10423000。
2、OGG版本11.2,資料庫版本為10.2.0.5或者11.2.0.2且使用TDE功能,要求打patch 10395645。
3、使用integrated capture mode的情況
具體情況,需要參考《Oracle GoldenGate for Oracle Installation and Setup Guide》文件以及搜搜MOS相關文章;必要時,提SR確認。

【資料庫歸檔】
強烈建議OGG同步源端開啟歸檔模式,並保留足夠長的歸檔目錄期限;僅雙向同步或者需要使用OGG做反向回錄的情況下需要在目標端做同樣的處理。
建議歸檔目錄儲存8~12小時以上,但現實生產環境中往往存在月末出賬歸檔量暴增的情況,歸檔目錄使用率100%的影響遠大於OGG無法實時同步,因此強烈建議分配足夠大的檔案系統目錄存放歸檔後,採用基於使用率的管理方式自動清理歸檔。

【檔案系統】
檔案系統調整可能涉及下述專案
1、源端歸檔目錄共享
OGG要求所部屬的節點上能訪問到資料庫所有節點的歸檔目錄,考慮到部署例項或者主機不可用的情況,需要進一步要求各臺資料庫主機上均能訪問到資料庫各個例項的歸檔。
對於歸檔路徑並不是在共享儲存上的情況,可透過nfs等方式互mount歸檔目錄。
2、GoldenGate目錄建立
源端以及目標端均需要建立GoldenGate目錄,其中主要佔用空間的是佇列檔案。
佇列檔案儲存1天佇列檔案所佔用空間可透過源端日均歸檔量的60%粗略估算,但源端以及目標端空間需求的重點是不一樣的。對於源端而言,保留的佇列檔案個數可以較少,但務必保證有足夠的空間冗餘;對於目標端而言,可劃分更大的空間,用於分析。
3、資料泵目錄建立
當採用資料泵工具進行初始化時,需要建立相應的目錄。
資料泵目錄可根據dba_segments檢視預估。
由於一般情況下,資料泵匯入更慢,因此建議資源優先投放在目標端;必要時分數個批次進行同步。oracle 11g資料泵的壓縮比經驗值可達5倍左右,空間不足或者網路頻寬較差的情況下可以考慮。

【網路】
要求放通源端到目標端之間的網路埠。
當僅作單向同步時,僅需要放通源端到目標端的單向同步。
當作雙向同步或者存在反向資料回錄需求的時候,網路埠需要雙向放通。

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

相關文章