關於整合式 Replicat
在整合模式中,Replicat 利用目標 Oracle AI Database 中可用的套用處理功能。在此模式中,Replicat 會讀取歷程檔、建構代表來源 DML 或 DDL 交易的邏輯變更記錄,然後將這些記錄傳輸至 Oracle 目標資料庫中的內送伺服器。內送伺服器會將資料套用至目標資料庫。
注意:整合式 Replicat 僅為線上處理作業。請勿使用它來執行起始載入。
在整合模式中,Replicat 處理作業會運用 Oracle AI Database 中可用的套用處理功能。此模式的 Replicat 運作如下:
-
讀取 Oracle GoldenGate 歷程檔。
-
執行資料篩選、對應及轉換。
-
建構代表來源資料庫 DML 交易 (以確認順序) 的邏輯變更記錄 (LCR)。Replicat 直接套用 DDL。
-
經由輕量型串流處理介面連附至目標資料庫 (稱為資料庫內送伺服器) 中的背景處理作業。
-
將 LCR 傳輸至內送伺服器,這會將資料套用至目標資料庫。
在單一 Replicat 組態中, 會有多個內送伺服器子項處理作業 (亦稱為套用伺服器) 以平行的方式套用異動, 同時保留原始異動的不可分割性. 您可以在設定 Replicat 處理作業或視需要動態設定 Replicat 處理作業時,儘可能增加此併行執行。下圖說明設定了兩個平行套用伺服器的整合式 Replicat。

在上圖中,Integrated Replicat 會以非同步方式套用交易。沒有互相依性的交易可以安全地執行和確認,以實現快速的輸送量。具有相依性的交易保證會套用順序與來源的順序相同。
內送伺服器中的讀取器處理作業會根據目標資料庫定義的限制 (主索引鍵、唯一、外來索引鍵) 來計算工作負載中交易之間的相依性。障礙異動與 DDL 作業也會自動管理。協調器處理作業負責協調多項交易,並維持套用伺服器之間的順序。
如果內送伺服器不支援設定的功能或資料欄類型,Replicat 會從內送伺服器中斷連線、等待內送伺服器完成其佇列中的交易,然後透過 OCI 以直接套用模式將交易套用至資料庫。Replicat 會在套用直接異動後,以整合模式繼續處理。
Replicat 以直接模式套用下列功能:
-
DDL 作業
-
序列作業
-
TABLE或MAP參數內的SQLEXEC參數 -
EVENTACTIONS處理
由於交易會循序套用,因此這類作業的繁重使用可能會降低整合式 Replicat 模式的效能。整合式 Replicat 在大多數套用處理作業都可以在整合式模式中執行時,效能最佳。
注意:以整合模式執行使用者結束。不過,如果結束碼取決於複製串流中的資料,使用者結束程式可能會產生未預期的結果。
注意:整合式 Replicat 需要編製任何外來索引鍵資料欄的索引。
整合式 Replicat 的優點
以下為使用整合式 Replicat 與非整合式 Replicat 的優點。
-
整合式 Replicat 可在同時套用多個交易的平行套用處理作業之間,自動分割繁重的工作負載,同時保留來源交易的完整性與單元性。可以使用
PARALLELISM和MAX_PARALLELISM參數設定套用處理作業的數目下限和上限。當工作負載增加時,Replicat 會自動新增其他伺服器,然後在工作負載減少時再次調整。 -
整合式 Replicat 需要最少的工作進行設定。所有工作都是在一個 Replicat 參數檔內設定,但不設定範圍分割區。
-
透過 Replicat 與內送伺服器之間的輕量型應用程式設計介面 (API),為整合式 Replicat 啟用高效能套用串流。
-
多個伺服器套用處理作業間的整合式 Replicat 會協調障礙異動。
-
DDL 作業會以直接交易的形式處理,此直接交易會在 DDL 執行之前等待伺服器處理完成,以強制阻礙。
-
整合式 Replicat 會以無縫接軌的方式處理暫時重複的主索引鍵更新。
整合式 Replicat 需求
若要使用整合式 Replicat,下列必須為 true。
-
來源資料庫必須啟用補充記錄日誌,以支援計算表格之間的相依性,以及排定目標上的並行交易。啟用必要記錄的指示位於交易記錄設定值與需求中。您可以在啟動 Oracle GoldenGate 處理作業之前,隨時啟用此記錄日誌。
-
Oracle Database 12.2.0.1 及更新版本支援整合模式的平行 Replicat。