oracle goldengate 遠程捕獲和投遞
很早之前,OGG只支持部署在數據庫主機上,這叫本地化部署。而現在OGG支持遠端部署,即OGG軟件不安裝在數據庫主機上,而是安裝在單獨的機器上,負責數據抽取和投遞。
這樣做的好處:
l 易於管理 - 在單獨的服務器上運行Oracle GoldenGate時,您可以更好的管理OGG,降低對生產數據庫的影響,比如硬件升級升級,性能調整,軟件修補和升級等操作變得更易於管理,風險更低。另一方面,從長遠來看,您需要集中管理來監督所有復制操作,將Oracle GoldenGate安裝與數據庫服務器進行混合,使其難以實現此類解決方案。其中一個原因是某些數據庫服務器需要非常有限的訪問!第三,您有更多的控制來實現復制策略,如故障切換和復制負載平衡。
l 改進的安全性 - 通過將數據復制移出數據庫機器,通常在雲中的不同安全區域,配置不同的軟件組件有助於保護數據庫服務器。
l 更好的性能 - 您不希望復制過程影響生產數據庫。在數據庫服務器上運行GoldenGate時,Oracle GoldenGate和數據庫共享CPU,內存和磁盤IO資源。因此,可能會出現復制過程減慢數據庫操作的情況。
l 技術可行 - 另一個重要原因是Oracle GoldenGate現在廣泛支持遠程捕獲和投遞,特別是對於Oracle數據庫。諸如集成捕獲和傳送之類的新特性提升了遠程捕獲和投遞的性能,從而幫助您選擇新的體系結構,對吞吐量影響較小。
l 雲端需要 - 許多雲托管數據庫(如
但在某些情況下,可能還是需要本地部署:
l 性能 - 數據量超過Oracle GoldenGate和數據庫服務器可以處理的網絡帶寬,吞吐量和延遲時間無法通過遠程捕獲和傳遞來處理。一般來說,遠程捕獲和投遞會帶來15-20%的性能損失。但這不是一個官方數字,您需要在評估解決方案時在您的環境中進行測試後決定部署方案。
l Active Data Guard故障後的切換 - 要使Oracle GoldenGate能夠支持Active Data Guard故障切換,即priimary切換到
l 操作系統字節序Endianness - 運行Oracle GoldenGate的服務器和運行數據庫或數據庫服務器的服務器必須具有相同的Endianness。而遠端部署的機器無法提供數據庫服務器相同的字節序時,只能在本地部署。
l OGG暫不支持 - 對於某些數據庫(如MySQL,DB2 for i和DB2 for z/OS),Oracle GoldenGate不支持遠程捕獲或投遞。
OGG遠程部署的支持情況
以下DB的支持情況從12.1.2.+ 開始
Oracle GoldenGate for Oracle DB (capture/delivery)
Oracle GoldenGate for MySQL (delivery)
Oracle GoldenGate for DB2 LUW (capture/delivery)
Oracle GoldenGate for Informix (capture/delivery)
Oracle GoldenGate for Big Data (delivery)
Oracle GoldenGate for Teradata (delivery)
Oracle GoldenGate for iSeries (delivery)
Oracle GoldenGate for SQL Server (delivery)
Oracle GoldenGate for JMS (capture/delivery)
針對DB2 z/OS, Non-Stop, and SQL Server,Oracle GoldenGate暫不支持遠程捕獲。
針對DB2 iSeries,Oracle GoldenGate可以從遠程日誌中捕獲
針對DB2 iSeries,Oracle GoldenGate支持遠程日誌讀取。 此功能允許在遠程IBM i系統上運行的GoldenGate捕獲程序讀取從主IBM i系統生成的日誌數據。
這樣可以消除Oracle GoldenGate抽取進程與主系統的交互,但是Oracle GoldenGate仍然要求連接到DB2 iSeries主系統,以讀取字典表等元數據信息。
如何使用遠程捕獲和投遞
要運行遠程捕獲/投遞,不同的數據庫使用不同的方法。
Oracle GoldenGate for Oracle DB
您可以使用以下兩種方法執行遠程捕獲:
(1)使用SQL*Net連接進行集成捕獲
(2)基於downstream的實時或歸檔日誌模式捕獲。對於downstream數據捕獲模式,您需要安裝Oracle Data Guard將重做日誌文件作為“redo standby log”連續傳輸到downstream數據庫。要求源數據庫為10.2.0.4+,下遊數據庫為11.2.0.3.0+。
Oracle GoldenGate for DB2 LUW
使用DB2 connect,用戶可以將遠程DB2設置為本地數據庫實例。然後,Oracle GoldenGate可以通過DB2 connect的本地訪問點來從遠程DB2數據庫進行捕獲。
Oracle GoldenGate for Informix
您可以設置ODBC連接來訪問遠程服務器上的informix數據庫,然後Oracle GoldenGate通過ODBC訪問遠端informix。需要滿足以下要求:兩個系統的字節順序(Endian)應相同,第二個是操作系統平臺和位數(32位或64位)必須相同。例如從Linux到Linux,Windows到Windows,Solaris到Solaris,不能跨平臺。
Oracle GoldenGate for MySQL
對於MySQL,現在Oracle GoldenGate只支持遠程投遞,您只需要使用TARGETDB,用戶名和密碼指定目標數據庫連接即可開始投遞。同時,還需要MySQL用戶具有遠程訪問權限。
oracle goldengate 遠程捕獲和投遞