精確建立 SQL Server
從 Oracle GoldenGate 23.8 開始,可以使用 SQL Server 的初始載入 Extract 來協調精確的建立。精確的建立方法允許在來源資料庫保持連線以進行應用程式更新時,從來源資料庫初始載入資料至目標資料庫。此方法可確保變更資料擷取與傳遞處理作業的精確定位,在目標資料庫中沒有重複的資料,且無須在 Replicat 中使用 HANDLECOLLISIONS。
Oracle GoldenGate for SQL Server 的精確建立需要設定來源 SQL Server 資料庫,以允許快照隔離,並在初始載入 Extract 中使用 INITIALLOADOPTIONS USESNAPSHOT 參數。此方法可用來從任何支援的 SQL Server 來源資料庫建立任何支援的目標資料庫。
以下是使用從來源執行處理進行綱要傾印的精確建立方法範例,然後載入至目標執行處理,接著使用 Oracle GoldenGate 組態來進行變更資料複製:
-
來源資料庫表格的
ADD TRANDATA。DBLOGIN USERIDALIAS src_aliasADD TRANDATA dbo.* -
TRANDATA 完成之後,請確認資料庫已啟用快照隔離功能,如果未啟用,請手動加以啟用。
ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON; -
若為 Microservices 架構,請在 WebUI 中新增「清除 CDC 資料」任務。請參閱清除 CDC 暫存資料與清除處理以瞭解更多資訊。
-
使用
INITIALLOADOPTIONS USESNAPSHOT參數建立「初始載入擷取」。ADD EXTRACT einit, SOURCEISTABLE--Sample Initial Load Extract Parameter File: EXTRACT einit USERIDALIAS tpcc_source2017 INITIALLOADOPTIONS USESNAPSHOT EXTFILE ei, MEGABYTES 500, PURGE TABLE dbo.*; -
開始初始載入擷取。
START EXTRACT einit -
當「初始載入擷取」完成並停止時,請檢視報表檔案,以尋找類似下面的訊息,該訊息將在建立「CDC 擷取」時使用。
VIEW REPORT einitINFO OGG-05381 A consistent point is established in database 'tpcc_source' at LSN 0x00000488:00002a98:0002. OGG-05379 Create or position a Change Data Capture Extract to LSN 0x00000488:00002a98:0002. Example: ADD EXTRACT <extract-name> TRANLOG LSN 0x00000488:00002a98:0002 or ALTER EXTRACT <extract-name> LSN 0x00000488:00002a98:0002 -
如果每個步驟 2 手動啟用快照隔離,現在可將允許快照隔離的來源資料庫選項設回 OFF。
ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF; -
使用初始載入擷取報表檔案的 LSN 輸出來建立 CDC 擷取。
ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002ADD EXTTRAIL ea, EXTRACT extcdc -
建立並啟動從起始載入 Extract 所建立之歷程檔讀取的起始載入 Replicat。
ADD REPLICAT rinit, PARALLEL, EXTTRAIL ei, CHECKPOINTTABLE ggadmin.ggcheckSTART rinit--Sample Initial Load Replicat Parameter file REPLICAT rinit USERIDALIAS tgt_alias BATCHSQL SPLIT_TRANS_RECS 100000 MAP dbo.*, TARGET dbo.*; -
初始載入 Replicat 結束處理時,請建立並啟動從「CDC 擷取」所建立之歷程檔讀取的「CDC Replicat」。
ADD REPLICAT repcd, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheckSTART EXTRACT extcdcSTART REPLICAT repcd