使用多個處理程序群組

一般而言,只有一個 Extract 群組才能有效地從資料庫擷取。不過,視重做 (交易) 值或資料和作業類型而定,您可能會發現必須將一或多個 Extract 群組新增至組態。

同樣地,如果在協調模式中使用 Replicat,通常只需要一個 Replicat 群組即可將資料套用至目標資料庫。不過,即使在某些情況下,在協調模式中使用 Replicat,您也可能需要使用多個 Replicat 群組。如果您在傳統模式中使用 Replicat,且應用程式會產生大量交易量,則可能需要使用平行 Replicat 群組。

每個 Oracle GoldenGate 元件 (Extract、Trail、DISTPATH 和 Replicat) 都是一個獨立的模組,因此您可以根據需求來結合它們。您可以使用多個歷程檔和平行 Extract 和 Replicat 處理作業來處理大量交易量、提升效能、消除瓶頸、減少延遲,或隔離特定資料的處理。

下圖顯示設定 Oracle GoldenGate 以提升傳輸量速度及克服網路頻寬問題的一些方式。

改善效能的負載平衡組態顯示您可以設定 Oracle GoldenGate 以提高傳輸量速度及克服網路頻寬問題的一些方式。

影像標籤代表下列項目:

使用多個處理程序群組的準則

設定多個處理群組之前,請先複查下列準則,確定您的組態會產生預期的結果並維護資料完整性。

維護資料完整性

並非所有工作負載均可跨多個群組進行分割,但仍可保留原始交易原子性。您必須判斷一個群組中的物件是否將相依於任何其他群組、交易或其他群組中的物件。例如,無法輕易地分割工作負載定期更新主索引鍵的表格。DDL 複製 (如果資料庫支援) 在此模式中不可用,也無法使用以特定記錄為基礎的某些 SQLEXEC 或 EVENTACTIONS 功能。

如果您的表格沒有任何外來索引鍵相依性或主索引鍵更新,您便可以使用多個處理作業。將相關的 DML 放在相同的處理作業串流中,以確保資料完整性。

群組數目

可在系統上執行的並行 Extract 和 Replicat 處理作業群組數目取決於可用的系統記憶體大小。每個 Extract 和傳統 Replicat 處理作業需要大約 25-55 MB 的記憶體或更多記憶體,視交易大小和並行交易數目而定。Oracle GoldenGate 命令介面可完全支援每個 Oracle GoldenGate 執行處理最多 5,000 個並行 Extract 和 Replicat 群組 (組合)。在支援的層次,所有群組都可以使用 INFO 和 STATUS 命令等命令來完整控制與檢視。

除了支援的層級之外,不會顯示群組資訊,也可能會發生錯誤。Oracle GoldenGate 建議將 Extract 與 Replicat 群組 (組合) 的數目維持在更易於管理的層次 (例如 100 或更少),以有效地管理環境。群組數目上限是由 MAXGROUPS 參數控制,其預設值為 1000。

對於 Windows Server 環境,可執行的處理作業群組數目會與「非互動式」的 Windows 桌面堆集記憶體設定值緊密結合。Windows 桌面堆集的預設設定可能足以執行非常少量的處理群組,但當您接近 60 個以上的處理群組時,需要調整 ' 根據 Microsoft (Windows 桌面堆集記憶體) 的這項資訊,登錄中 SharedSection 欄位的非互動式值,或增加 Oracle GoldenGate 本位目錄的數目,並將想要的處理作業群組總數分散至這些本位目錄。注意:如需修改「Windows 桌面堆集」記憶體的詳細資訊,請複查下列 Oracle Knowledge Base 文件 (文件 ID 2056225.1)。

記憶體

每個執行中的 Oracle GoldenGate Extract 和 Replicat 處理作業,系統都必須要有足夠的交換空間。若要判斷必要的交換空間,請執行下列動作:

  1. 啟動一個 Extract 或 Replicat。

  2. 執行管理用戶端。

  3. 檢視報表檔案並尋找行 PROCESS VM AVAIL FROM OS (min)。

  4. 視需要將值進位至下一個完整 GB。例如,將 1.76GB 進位為 2 GB。

  5. 將該值乘以將執行的 Extract 和 Replicat 處理作業數目。結果就是需要的最大交換空間量

請參閱 Oracle GoldenGate 的參數與函數參照中的 CACHEMGR 參數,瞭解如何管理記憶體的詳細資訊。

隔離處理密集表格

您可以使用多個處理程序群組來支援特定種類的表格,這些表格往往會干擾正常處理,並造成在目標上建置延遲。舉例而言: