驗證遷移作業

本頁面說明如何確認遷移的資料完整且正確。至少應執行 SQL 陳述式,確認資料表存在於遷移後的 Cloud SQL 資料庫中。如要更精確地比較來源和目的地資料庫之間的資料,可以 嘗試使用開放原始碼 Data Validation Tool。

使用 SQL 陳述式驗證目的地資料

您可以執行 SQL 陳述式,確認資料表是否存在於遷移後的 Cloud SQL 資料庫中。請執行下列步驟:

  1. 使用工具連線至 PostgreSQL 適用的 Cloud SQL 執行個體,以便對遷移的資料庫執行 SQL 指令。

    如要進一步瞭解如何連線至 Cloud SQL 執行個體,請參閱 Cloud SQL 說明文件中的「連線選項」。

  2. 執行 SQL 指令,驗證遷移的資料。例如:

    • 列出資料庫中的所有資料表:
      SELECT * FROM pg_catalog.pg_tables;
    • 驗證資料表內容:
      SELECT * FROM TABLE_NAME';

使用 Data Validation Tool 驗證資料

開放原始碼 Data Validation Tool 可讓您在兩個資料庫之間執行非常精確的資料比較,但必須建立與來源和目的地資料庫的網路連線。

以下步驟提供一個簡單範例:

  1. 部署或使用可存取來源和目的地的虛擬機器。

  2. 在虛擬機器中建立資料夾,用於安裝 Data Validation Tool。

  3. 前往這個資料夾。

  4. 使用 pip 安裝 Data Validation Tool。

    pip install google-pso-data-validator
    
  5. 建立連線,連結來源 Oracle 資料庫和目的地 PostgreSQL 適用的 Cloud SQL 資料庫:

    data-validation connections add -c source Oracle --host 'ip-address' --port port --user username --password pswd --database database-name
    data-validation connections add -c target Postgres --host 'ip-address' --port port --user username --password pswd --database database-name
    

    例如:

    data-validation connections add -c source Oracle --host '10.10.10.11' --port 1521 --user system --password pswd --database XE
    data-validation connections add -c target Postgres --host '10.10.10.12' --port 5432 --user postgres --password pswd --database postgres
    
  6. 建立或生成資料表清單,比較來源和目的地資料庫之間的資料:

    export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas schema-name)
    

    例如:

    export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas public)
    
  7. 對所有資料表執行完整驗證:

    data-validation validate column --source-conn source --target-conn target --tables-list "${TABLES_LIST}"
    

建議您在複製期間執行這項驗證,確保相對一致性。在短暫的促銷期間,大型資料表查詢可能需要過長的時間才能執行。在這種情況下,請使用 Data Validation Tool 新增篩選器,縮短執行時間,或準備資料表清單,納入部分資料表進行最終驗證。