本頁面說明如何確認遷移的資料是否完整且正確。至少應執行 SQL 陳述式,確認表格是否存在於已遷移的 Cloud SQL 資料庫中。如要更精確地比較來源和目的地資料庫之間的資料,您可以 嘗試使用開放原始碼資料驗證工具。
使用 SQL 陳述式驗證目的地資料
您可以執行 SQL 陳述式,確認資料表是否存在於已遷移的 Cloud SQL 資料庫中。請執行下列步驟:
- 使用工具連線至 PostgreSQL 適用的 Cloud SQL 執行個體,針對已遷移的資料庫執行 SQL 指令。
如要進一步瞭解如何連線至 Cloud SQL 執行個體,請參閱 Cloud SQL 說明文件中的「連線選項」一節。
執行 SQL 指令來驗證已遷移的資料。例如:
- 列出資料庫中的所有資料表:
SELECT * FROM pg_catalog.pg_tables;
- 驗證表格內容:
SELECT * FROM TABLE_NAME';
- 列出資料庫中的所有資料表:
使用資料驗證工具驗證資料
開源資料驗證工具可讓您在兩個資料庫之間執行非常精確的資料比較,但必須建立與來源和目的地資料庫的網路連線。
以下步驟說明最簡單的範例:
部署或使用可存取來源和目的地的虛擬機器。
在虛擬機器中建立資料夾,用來安裝資料驗證工具。
前往這個資料夾。
使用
pip
安裝資料驗證工具。pip install google-pso-data-validator
建立來源 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
建立或產生資料表清單,比較來源和目的地資料庫的資料:
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)
針對所有資料表執行完整驗證:
data-validation validate column --source-conn source --target-conn target --tables-list "${TABLES_LIST}"
建議您在複製期間執行這項驗證作業,以確保相對一致性。在小型宣傳期間,大型資料表查詢可能會花費太多時間才能執行。在這種情況下,請使用資料驗證工具新增篩選器來縮短執行時間,或是準備資料表清單,以便在最終驗證時納入部分資料表。