標籤:策略 字典 歸檔 connect 調整 組件 target stream 資料庫
很早之前,OGG只支援部署在資料庫主機上,這叫本地化部署。而現在OGG支援遠端部署,即OGG軟體不安裝在資料庫主機上,而是安裝在單獨的機器上,負責資料幫浦和投遞。
這樣做的好處:
l 易於管理 - 在單獨的伺服器上運行Oracle GoldenGate時,您可以更好的管理OGG,降低對生產資料庫的影響,比如硬體升級升級,效能調整,軟體修補和升級等操作變得更易於管理,風險更低。另一方面,從長遠來看,您需要集中管理來監督所有複製操作,將Oracle GoldenGate安裝與資料庫伺服器進行混合,使其難以實現此類解決方案。其中一個原因是某些資料庫伺服器需要非常有限的訪問!第三,您有更多的控制來實現複製策略,如故障切換和複製Server Load Balancer。
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暫不支援 - 對於某些資料庫(如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 遠程捕獲和投遞