資料驗證任務設定 - AWS 資料庫遷移服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料驗證任務設定

您可以確保您的資料已準確地從來源遷移到目標。如果您啟用任務的驗證, 會在對資料表執行完全載入後立即 AWS DMS 比較來源和目標資料。如需任務資料驗證、其需求、其資料庫支援的範圍及其所報告的指標的詳細資訊,請參閱AWS DMS 資料驗證。如需使用任務組態檔案來設定任務設定的相關資訊,請參閱:任務設定範例

資料驗證設定及其值包括下列項目:

  • EnableValidation – 設為 true 時會啟用資料驗證。否則,將對任務停用驗證。預設值為 false。

  • ValidationMode – 控制 如何根據來源資料表 AWS DMS 驗證目標資料表中的資料。從複寫引擎 3.5.4 版開始,DMS 會自動針對GROUP_LEVEL支援的遷移路徑將此設定為 ,為大型資料集提供增強的驗證效能並大幅加快處理速度。此增強功能適用於AWS DMS 資料重新同步中列出的遷移路徑的遷移。對於所有其他遷移路徑,驗證模式預設為 ROW_LEVEL

    注意

    無論設定為何, AWS DMS 都會驗證透過資料表驗證設定的所有資料列。

  • FailureMaxCount – 指定在對任務暫停驗證之前允許驗證失敗的記錄數上限。預設值為 10,000。如果不考慮驗證失敗的記錄數而都要繼續驗證,請將這個值設定為大於來源中的記錄數。

  • HandleCollationDiff – 當此選項設定為 時true,驗證會考慮來源和目標資料庫之間的資料欄定序差異。否則,驗證會忽略欄定序的任何差異。欄定序可以規定資料列的順序,這對資料驗證很重要。將 HandleCollationDiff 設定為 true 可自動解決這些定序差異,避免資料驗證時出現誤判。預設值為 false

  • RecordFailureDelayInMinutes – 指定在報告任何驗證失敗詳細資訊之前的延遲時間 (以分鐘為單位)。

    如果整體 DMS 任務 CDC 延遲大於 的值RecordFailureDelayInMinutesthen,則優先考慮,例如,如果 RecordFailureDelayInMinutes 為 5,且 CDC 延遲為 7 分鐘,則 DMS 會等待 7 分鐘報告驗證失敗詳細資訊。

  • RecordFailureDelayLimitInMinutes – 指定報告任何驗證失敗詳細資訊之前的延遲。 AWS DMS 會使用任務延遲來識別變更的實際延遲,使其成為目標,以防止誤報。此設定會覆寫實際延遲和 DMS 任務 CDC 延遲值,並可讓您在報告任何驗證指標之前設定更大的延遲。預設值為 0。

  • RecordSuspendDelayInMinutes – 指定在根據 FailureMaxCount 所設定的錯誤閾值而暫停驗證資料表之前的延遲時間 (以分鐘為單位)。

  • SkipLobColumns – 當此選項設定為 時true,會 AWS DMS 略過資料表任務驗證部分中所有 LOB 資料欄的資料驗證。預設值為 false

  • TableFailureMaxCount – 指定在對資料表暫停驗證之前允許驗證失敗的單一資料表列數上限。預設值為 1,000。

  • ThreadCount – 指定驗證期間 AWS DMS 使用的執行緒數目。每個執行緒會從來源和目標中選擇尚未驗證的資料來比較和驗證。預設值為 5。如果您ThreadCount將 設定為較高的數字, AWS DMS 可以更快地完成驗證。但是, AWS DMS 接著執行更多同時查詢,在來源和目標上耗用更多資源。

  • ValidationOnly – 當此選項設為 true 時,任務會執行資料驗證,而不遷移或複寫任何資料。預設值為 false。您無法在任務建立後修改 ValidationOnly 設定。

    您必須將 TargetAblePrepMode 設定為 DO_NOTHING (僅驗證任務的預設值),並將遷移類型設定為下列其中一項:

    • 完全載入 — 將任務遷移類型設定為在 AWS DMS 主控台中遷移現有資料。或者,在 AWS DMS API 中,將遷移類型設定為 FULL-LOAD。

    • CDC — 在 AWS DMS 主控台將任務遷移類型設定為僅複寫變更的資料。或者,在 AWS DMS API 中將遷移類型設定為 CDC。

    無論選擇的遷移類型為何,在僅驗證任務期間,資料實際上並不會遷移或複寫。

    如需詳細資訊,請參閱僅驗證任務

    重要

    ValidationOnly 設定不可變更。任務建立之後,就無法修改此設定。

  • ValidationPartialLobSize – 指定是否要對 LOB 資料欄執行部分驗證,而不驗證資料欄中儲存的所有資料。當您遷移 LOB 資料的一部分,而不是整個 LOB 資料集時,可能會用到此選項。此值以 KB 為單位。預設值為 0,表示 AWS DMS 會驗證所有 LOB 資料欄資料。例如, "ValidationPartialLobSize": 32表示 AWS DMS 只會驗證來源和目標中前 32KB 的資料欄資料。

  • PartitionSize – 指定比較來源和目標時要讀取的記錄批次大小。預設值為 10,000。

  • ValidationQueryCdcDelaySeconds – 在來源和目標上,每次 CDC 更新時第一次驗證查詢延遲的時間量。當遷移延遲很高時,此設定可能有助於減少資源爭用。僅驗證任務會自動將此選項設定為 180 秒。預設值為 0。

例如,以下 JSON 會以兩倍的預設執行緒數量來啟用資料驗證。還會考量 PostgreSQL 端點的欄定序差異所造成的記錄順序差異。此外,它也提供驗證報告延遲,以預留額外的時間來處理任何驗證失敗。

"ValidationSettings": { "EnableValidation": true, "ThreadCount": 10, "HandleCollationDiff": true, "RecordFailureDelayLimitInMinutes": 30 }
注意

對於 Oracle 端點, AWS DMS 會使用 DBMS_CRYPTO 來驗證 BLOBs。如果您的 Oracle 端點使用 BLOB,請將 DBMS_CRYPTO 的 execute 許可授予存取 Oracle 端點的使用者帳戶。若要這麼做,請執行下列陳述式。

grant execute on sys.dbms_crypto to dms_endpoint_user;