Sign in with Microsoft
Sign in or create an account.

狀況

請考慮下列情況:

  • 您使用 [Windows]、 [Microsoft SQL Server 2016年、 [2014,或 2012年變更資料擷取的 SQL Server 2017 oracle 由 Attunity。

  • 您建立的 CDC 執行個體,以擷取從 Oracle 資料庫資料表的變更。

  • 變更擷取的值會儲存在 SQL Server 變更擷取資料庫中。

  • SQL Server 資料庫的交易記錄檔成長,以及交易未標記截斷為擷取資料變更。

在這個案例中,SQL Server 資料庫交易記錄檔成長會一直累積,並經過一段時間消耗太多磁碟空間。

 

原因

變更資料擷取的 Oracle 執行個體設定時,接收變更資料的 SQL 資料庫將已鏡像資料表,以標示為複寫的交易。因為 oracle CDC 依賴類似用於 SQL Server 的 CDC 的基礎系統預存程序,就會發生這個問題。不過,因為沒有任何 SQL CDC 複寫涉及 oracle CDC 單獨使用時,是沒有記錄讀取器,以清除 [標記為複寫的交易。因為交易並沒有在 SQL Server 複寫,才能安全地手動標示為分散式交易,藉由使用本文稍後所述的因應措施。

若要確認這個確切的原因,請執行DBCC OPENTRAN命令,您在連線到 SQL Server CDC 資料庫時。您會看到一個分散式的 LSN 數字,如下列範例所示:

複寫的交易資訊:
最舊的分散式 LSN: (0:0:0)
最舊的非分散式 LSN: (38:272:1)
DBCC 執行完畢。如果 DBCC 印出錯誤訊息,請連絡您的系統管理員。由於 oracle CDC 用於 SQL 預存程序中的 CDC 和,依序地使用 「 複寫記錄讀取器,您可能具有分散式的 LSN。此分散式的 LSN 會對應到以新增鏡像的表格時 Attunity CDC 資料庫中的記錄項目。

如果您執行這項查詢時,[ log_reuse_wait_desc ] 選項就傳回值的複寫,指出原因。選取的 sys.databases,其中名稱是 < your_cdc_database > log_reuse_wait_desc名稱:

複寫< your_cdc_database >

解決方案

  1. 在 [查詢] 視窗連接到 SQL Server 中的 CDC 啟用資料庫,執行下列命令:

    exec sp_repltrans您應該會收到類似下列的輸出:

    xdesid xact_seqno xact_seqno
    0x000000260000012C0001 0x0000002A000001B50001複製下一個命令的 LSN 交易序號。

  2. 使用步驟 1 中的數字,執行sp_repldone命令,如下所示來發出信號已複寫的 BeginTran 和 CommitTran LSN 組:

    sp_repldone @xactid = 0x000000260000012C0001, @xact_segno = 0x0000002A000001B50001

  3. 執行下列命令,以確認交易,標示為複寫 CDC 資料庫中:

    DBCC OPENTRAN這會傳回類似下列的輸出:

    沒有現用的開放交易。
    DBCC 執行完畢。如果 DBCC 印出錯誤訊息,請連絡您的系統管理員。

  4. 若要確定可重複使用交易記錄檔,請確認有其他指示在資料庫上的重複使用原因:

    選取 log_reuse_wait_desc,sys.databases 中的名稱,其中名稱 = 'your_cdc_database'
    這會傳回類似下列的輸出:

    log_reuse_wait_desc 名稱
    沒有任何your_cdc_database

  5. 現在您應該可以使用記錄檔備份截斷交易記錄檔。您也應該壓縮交易記錄檔,以減少所耗用的磁碟空間。

    例如,執行下列命令:

    備份記錄檔 your_cdc_database 到 DISK='c:\folder\logbackup.trn'
    DBCC 式 (yourcdcdatabase_log,1024年)

如需詳細資訊,請參閱管理交易記錄檔的大小

更多的資訊

如需詳細資訊,請參閱疑難排解 CDC 在 Microsoft 的執行個體錯誤變更由 Attunity 的 oracle 資料擷取

本文將所述之產品製造協力廠商均與 Microsoft 無關。Microsoft 不對這些產品之其他相關效能或可靠性作出任何擔保或默示。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?

感謝您的意見反應!

×