使用 Oracle 資料庫的重做記錄檔

資料庫遷移服務會運用 Oracle 資料庫中的 Oracle LogMiner API,查詢封存的重做記錄檔。這些檔案包含資料庫活動記錄的相關資訊。每個 Oracle 資料庫都有一組線上重做記錄檔。資料庫中的所有交易記錄都會記錄在檔案中。

當目前的重做記錄檔輪替 (或切換) 時,封存程序會 將這個檔案複製到封存儲存空間。同時,資料庫會將另一個檔案升級為目前檔案。

資料庫遷移服務使用 Oracle LogMiner API 時,不會存取線上重做日誌檔,只會使用封存的記錄檔。存取封存的重做記錄檔,本來就會增加遷移程序的延遲時間。本頁面說明 Oracle 來源資料庫的建議設定,可控管延遲時間影響。

設定 Oracle 重做記錄檔的設定參數

這項設計對資料庫遷移服務的潛在延遲時間有深遠影響。如果 Oracle 重做記錄檔經常切換或保持較小的大小 (例如 < 256 MB),資料庫移轉服務可以更快複製變更。

您可以設定設定參數,控制記錄檔輪替頻率:

  • 大小:線上重做記錄檔的大小下限為 4 MB,預設大小則取決於作業系統。您可以建立新的線上記錄檔並捨棄舊的記錄檔,藉此修改記錄檔的大小。

    如要查詢線上重做記錄檔的大小,請執行下列查詢:

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • 時間:ARCHIVE_LAG_TARGET 參數會提供主要資料庫目前記錄的時間長度上限 (以秒為單位)。

    這並非確切的記錄檔切換時間,因為系統會考量封存記錄檔所需的時間。預設值為 0 (無上限),建議設為 1800 (或 30 分鐘) 以下的合理值。

    您可以在初始化期間或資料庫啟動時,使用下列指令設定 ARCHIVE_LAG_TARGET 參數:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET;:這個指令會顯示目前記錄檔跨越的時間長度 (以秒為單位)。
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; 使用這個指令可變更上限。

      舉例來說,如要將上限設為 10 分鐘 (或 600 秒),請輸入 ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;