Attunity Oracle Change Data Capture (CDC) 服務系統架構
Oracle CDC 服務會將一或多個來源 Oracle 資料庫中選定資料表所做的變更擷取到位於 SQL Server 執行個體上的 SQL Server CDC 資料庫中。 下圖顯示組成 Oracle CDC 服務的元件。
這個圖說明使用的四個平台。 在許多情況下,這些平台可以重疊,但是這個圖代表標準使用情況。 例如,以下是合理的情況:Oracle 和 SQL Server 資料庫各自在不同的電腦上執行,而且不與 Oracle CDC 服務平台或是設計 CDC 服務所使用的平台共用。 此圖所說明的平台如下:
Oracle CDC 服務:這可以是安裝和執行 Oracle CDC 服務所在的任何支援的 Windows 電腦。 這個平台也可能代表 Microsoft 容錯移轉叢集中的叢集節點 (本文稍後會討論高可用性組態)。
Oracle 資料庫:這可以是執行支援的 Oracle 資料庫版本所在的任何電腦。 其中包括執行 Windows、Linux 或是安裝之 Oracle 資料庫版本所支援的任何其他作業系統的電腦。 請注意,此圖以複數形式顯示這個平台,因為單一 Oracle CDC 服務可以從多個來源 Oracle 資料庫擷取變更。
SQL Server:這可以是目標SQL Server資料庫 (所支援 SKU SQL Server 2019 (15.x) ) 執行的任何電腦。 Oracle CDC 服務支援一個 SQL Server 目標,其中會儲存變更資料表和服務組態。 SQL Server平臺也可能代表使用AlwaysOn功能SQL Server 2019 (15.x) 或 SQL Server 2019 (15.x) 的鏡像實例。
Oracle CDC 設計工具:這可以是能存取來源 Oracle 資料庫和目標 SQL Server 資料庫的任何支援 Windows 電腦。
下表描述在上述四個平台上執行的元件。
元件/描述 | 元件的組成項目: |
---|---|
Oracle CDC 服務:這是異動資料擷取活動執行所在的 Windows 服務。 | Oracle CDC 執行個體:Oracle CDC 服務的一個子處理序,可處理單一來源 Oracle 資料庫的異動資料擷取活動 (每個來源 Oracle 資料庫有一個 Oracle CDC 執行個體)。 Oracle 記錄讀取器:使用 Oracle 用戶端讀取 Oracle 交易記錄。 Oracle 用戶端:用於與 Oracle 通訊的 Oracle Instant Client。 這是應該從 Oracle 取得的必要元件,而且必須在安裝 Oracle CDC 服務之前安裝。 SQL Server 變更寫入器:這會將擷取之 Oracle 資料表所做的認可變更寫入至 SQL Server 變更資料表。 此元件也會在目標 SQL Server 資料庫中維護該擷取狀態。 SQL ServerODBC 用戶端:適用于 SQL Server 2019 的 Microsoft Native Client (15.x) 。 這是應該從 Microsoft 取得的必要元件,而且必須在安裝 Oracle CDC 服務之前安裝。 |
Oracle CDC 服務組態:這是建立 Windows 服務並設定其組態的 Microsoft Management Console 嵌入式管理單元。 | SQL Server 用戶端:隨附於 .NET Framework 4 版中的 SQL ADO.NET 用戶端。 |
Oracle 資料庫:來源 Oracle 資料庫,可從中擷取選取資料表的變更。 | 記錄採礦器:一種 Oracle 元件,可透過此元件讀取 Oracle 交易記錄。 交易記錄:Oracle 所使用的線上和封存的 Oracle 重做記錄,以確保資料庫可以回復交易,並從失敗復原 (在此情況下,Oracle 資料庫必須在封存-記錄模式中操作)。 |
SQL Server 執行個體:CDC 資料庫裝載所在的 SQL Server 執行個體。 這可能是叢集SQL Server實例 (容錯移轉叢集) 或 AlwaysOn) (鏡像資料庫。 | MSXDBCDC 資料庫:用來保存與此 SQL Server 執行個體一起運作之 CDC 服務相關資訊的資料庫。 它也會保存有關每一個 CDC 服務所處理之 Oracle CDC 執行個體的資訊。 這個資料庫會在建立 CDC 服務的過程中建立。 CDC 資料庫:儲存其中一個來源 Oracle 資料庫所做之變更的 SQL Server 資料庫。 CDC 資料庫會啟用 SQL Server CDC,好讓這些資料庫擁有 SQL Server CDC 資料表和函數,如此便可輕鬆地取用來自 Oracle 的變更。 |
Oracle CDC 設計工具:可幫助建立 Oracle CDC 執行個體的 Microsoft Management Console 嵌入式管理單元。 使用這個項目來選取要擷取的資料表和資料行、提供 Oracle 連接資訊及管理 CDC 執行個體的生命週期。 | SQL Server 用戶端:隨附於 .NET Framework 4 版中的 SQL ADO.NET 用戶端。 Oracle 用戶端:用於與 Oracle 通訊的 Oracle Instant Client。 這是應該從 Oracle 取得的必要元件,而且必須在安裝 Oracle CDC 服務之前安裝。 |
Oracle CDC 服務及其子 Oracle CDC 執行個體只能與來源 Oracle 資料庫及當做用戶端的目標 SQL Server 執行個體通訊。 它們不會主動接聽任何網路或其他通訊協定。 Oracle CDC 服務會監控 CDC 資料庫中的組態變更,並根據更新的組態更新其作業。