oracle goldengate 遠端捕獲和投遞

margiex發表於2017-06-08

很早之前,OGG只支援部署在資料庫主機上,這叫本地化部署。而現在OGG支援遠端部署,即OGG軟體不安裝在資料庫主機上,而是安裝在單獨的機器上,負責資料抽取和投遞。

這樣做的好處:

易於管理 - 在單獨的伺服器上執行Oracle GoldenGate時,您可以更好的管理OGG,降低對生產資料庫的影響,比如硬體升級升級,效能調整,軟體修補和升級等操作變得更易於管理,風險更低。另一方面,從長遠來看,您需要集中管理來監督所有複製操作,將Oracle GoldenGate安裝與資料庫伺服器進行混合,使其難以實現此類解決方案。其中一個原因是某些資料庫伺服器需要非常有限的訪問!第三,您有更多的控制來實現複製策略,如故障切換和複製負載平衡。

改進的安全性 - 通過將資料複製移出資料庫機器,通常在雲中的不同安全區域,配置不同的軟體元件有助於保護資料庫伺服器。

更好的效能 - 您不希望複製過程影響生產資料庫。在資料庫伺服器上執行GoldenGate時,Oracle GoldenGate和資料庫共享CPU,記憶體和磁碟IO資源。因此,可能會出現複製過程減慢資料庫操作的情況。

技術可行 - 另一個重要原因是Oracle GoldenGate現在廣泛支援遠端捕獲和投遞,特別是對於Oracle資料庫。諸如整合捕獲和傳送之類的新特性提升了遠端捕獲和投遞的效能,從而幫助您選擇新的體系結構,對吞吐量影響較小。

雲端需要 - 許多雲託管資料庫(如Amazon AWS RDS資料庫)不允許您在資料庫伺服器上安裝任何內容。你別無選擇,只能執行遠端捕獲和投遞。

但在某些情況下,可能還是需要本地部署:

效能 - 資料量超過Oracle GoldenGate和資料庫伺服器可以處理的網路頻寬,吞吐量和延遲時間無法通過遠端捕獲和傳遞來處理。一般來說,遠端捕獲和投遞會帶來15-20%的效能損失。但這不是一個官方數字,您需要在評估解決方案時在您的環境中進行測試後決定部署方案。

Active Data Guard故障後的切換 - 要使Oracle GoldenGate能夠支援Active Data Guard故障切換,即priimary切換到standby時,OGG的抽取還能自動接上,則需要將OGG部署到dbfs上,具體可參考:http://www.oracle.com/technetwork/database/availability/ogg-adg-2422372.pdf,這種情況下,是不能遠端部署OGG的。

作業系統位元組序Endianness - 執行Oracle GoldenGate的伺服器和執行資料庫或資料庫伺服器的伺服器必須具有相同的Endianness。而遠端部署的機器無法提供資料庫伺服器相同的位元組序時,只能在本地部署。

OGG暫不支援 - 對於某些資料庫(如MySQLDB2 for iDB2 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 ServerOracle GoldenGate暫不支援遠端捕獲。

針對DB2 iSeriesOracle GoldenGate可以從遠端日誌中捕獲

針對DB2 iSeriesOracle 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位)必須相同。例如從LinuxLinuxWindowsWindowsSolarisSolaris,不能跨平臺。

Oracle GoldenGate for MySQL

    對於MySQL,現在Oracle GoldenGate只支援遠端投遞,您只需要使用TARGETDB,使用者名稱和密碼指定目標資料庫連線即可開始投遞。同時,還需要MySQL使用者具有遠端訪問許可權。

相關文章