1. 程式人生 > >oracle goldengate 遠程捕獲和投遞

oracle goldengate 遠程捕獲和投遞

n) 指定 cpu ndb 用戶名 遠程部署 內容 權限 sql

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

這樣做的好處:

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

l 改進的安全性 - 通過將數據復制移出數據庫機器,通常在雲中的不同安全區域,配置不同的軟件組件有助於保護數據庫服務器。

l 更好的性能 - 您不希望復制過程影響生產數據庫。在數據庫服務器上運行GoldenGate時,Oracle GoldenGate和數據庫共享CPU,內存和磁盤IO資源。因此,可能會出現復制過程減慢數據庫操作的情況。

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

l 雲端需要 - 許多雲托管數據庫(如

Amazon AWS RDS數據庫)不允許您在數據庫服務器上安裝任何內容。你別無選擇,只能運行遠程捕獲和投遞。

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

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

l 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的。

l 操作系統字節序Endianness - 運行Oracle GoldenGate的服務器和運行數據庫或數據庫服務器的服務器必須具有相同的Endianness。而遠端部署的機器無法提供數據庫服務器相同的字節序時,只能在本地部署。

l 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用戶具有遠程訪問權限。

oracle goldengate 遠程捕獲和投遞