驗證遷移作業

本頁面說明如何確認遷移的資料完整無缺且正確無誤。您至少應執行 SQL 陳述式,確認資料表存在於遷移的 Cloud SQL 資料庫中。如要更精確地比較來源和目的地資料庫的資料,可以 試用開放原始碼的資料驗證工具

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

您可以執行 SQL 陳述式,確認資料表是否已遷移至 Cloud SQL 資料庫。請執行下列步驟:

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

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

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

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

使用資料驗證工具驗證資料

開放原始碼資料驗證工具可讓您在兩個資料庫之間進行非常精確的資料比較,但需要建立與來源和目的地資料庫的網路連線。

以下是極簡範例的步驟:

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

  2. 在虛擬機器中建立資料夾,用於安裝資料驗證工具。

  3. 前往這個資料夾。

  4. 使用 pip 安裝資料驗證工具。

    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}"
    

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