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 資料庫的計算機(SQL Server 2019 (15.x)支援的 SKU)。 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 立即用戶端。 這是在安裝 Oracle CDC 服務之前,應從 Oracle 取得並安裝的必要條件。 SQL Server 變更寫入器:這會將對擷取的 Oracle 數據表所做的認可變更寫入 SQL Serverchange 數據表。 此元件也會維護目標 SQL Server 資料庫中的擷取狀態。 SQL ServerODBC 用戶端:SQL Server 2019 的 Microsoft Native Client (15.x)。 這是在安裝 Oracle CDC 服務之前,應該先從 Microsoft 取得並安裝的必要元件。 |
| Oracle CDC 服務組態:這是Microsoft管理控制台嵌入式管理單元,可建立 Windows 服務並設定其設定。 | SQL Server 用戶端:隨附於 .NET Framework 第 4 版的 SQL ADO.NET 用戶端。 |
| Oracle 資料庫:從這個來源 Oracle 資料庫中擷取特定資料表的變更。 | Oracle Log Miner:透過它能讀取 Oracle 交易日志的元件。 事務歷史記錄:Oracle 所使用的在線和封存 Oracle Redo 記錄,以確保資料庫可以回復交易並從失敗中復原(在此情況下,Oracle 資料庫必須以封存記錄模式運作)。 |
| SQL Server 實例:裝載 CDC 資料庫的 SQL Server 實例。 這可能是叢集 SQL Server 實例(故障轉移叢集)或鏡像資料庫 (AlwaysOn)。 | MSXDBCDC 資料庫:保存 CDC 服務使用此 SQL Server 實例的相關信息的資料庫。 它也會保留每個 CDC 服務所處理之 Oracle CDC 實例的相關信息。 此資料庫是在 CDC 服務建立過程中創建的。 CDC 資料庫:儲存對其中一個來源 Oracle 資料庫所做的變更的 SQL Server 資料庫。 CDC 資料庫會針對 SQL Server CDC 啟用,使其具有 SQL Server CDC 數據表和函式,讓您輕鬆地取用源自 Oracle 的變更。 |
| Oracle CDC 設計工具:可協助建立 Oracle CDC 實例的Microsoft管理控制台嵌入式管理單元。 使用此選項可選取要擷取的數據表和數據行、提供 Oracle 連接資訊及管理 CDC 實例的生命週期。 | SQL Server 用戶端:隨附於 .NET Framework 第 4 版的 SQL ADO.NET 用戶端。 Oracle 用戶端:用於與 Oracle 通訊的 Oracle 立即用戶端。 這是在安裝 Oracle CDC 服務之前,應該從 Oracle 取得並安裝的必要元件。 |
Oracle CDC 服務及其子 Oracle CDC 實例只能與來源 Oracle 資料庫和目標 SQL Server 實例通訊為用戶端。 它們不會主動監聽任何網路通信或其他協定。 Oracle CDC 服務會監視 CDC 資料庫是否有組態變更,並根據更新的組態來更新其作業。