資料驗證任務設定 - AWS Database Migration Service

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

資料驗證任務設定

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

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

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

  • ValidationMode— 控制如何DMS根據來源表格驗證目標資料表中的資料。 AWS DMS 為 future 的擴充性提供此設定。目前,預設值且唯一有效的值為ROW_LEVEL。 AWS DMS 驗證來源資料表與目標資料表之間的所有資料列。

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

  • HandleCollationDiff— 當此選項設定為時true,驗證會在識別要比較的來源和目標記錄時,Postgre SQL 和 Microsoft SQL Server 端點中的資料行定序差異考量。否則,驗證會忽略欄定序的任何差異。欄定序可以規定資料列的順序,這對資料驗證很重要。將 HandleCollationDiff 設定為 true 可自動解決這些定序差異,避免資料驗證時出現誤判。預設值為 false

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

  • RecordFailureDelayLimitInMinutes – 指定在報告任何驗證失敗詳細資訊之前的延遲。一般而言, AWS DMS 使用任務延遲以識別變更目標時的實際延遲,以避免誤判。此設定會覆寫實際延遲值,可讓您設定在報告任何驗證指標之前較長的延遲。預設值為 0。

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

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

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

  • ThreadCount— 指定驗證期間 AWS DMS 使用的執行緒數目。每個線程從源和目標中選擇 not-yet-validated 數據進行比較和驗證。預設值為 5。如果您設定ThreadCount為較高的數字,則 AWS DMS 可以更快地完成驗證。但是, AWS DMS 接著執行更多同時查詢,在來源和目標上耗用更多資源。

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

    您必須設定TargetTablePrepModeDO_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啟用兩倍預設執行緒數目的資料驗證。它也會說明 Postgre SQL 端點中的資料行定序差異造成的記錄順序差異。此外,它也提供驗證報告延遲,以預留額外的時間來處理任何驗證失敗。

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

對於 Oracle 端點,請 AWS DMS 使用 DBMS _ CRYPTO 來驗證BLOBs。如果您的 Oracle 端點使用BLOBs,請CRYPTO將 DBMS _ 的execute權限授與存取 Oracle 端點的使用者帳戶。若要這麼做,請執行下列陳述式。

grant execute on sys.dbms_crypto to dms_endpoint_user;