移行の確認

このページでは、移行ジョブが移行元データベース インスタンスから移行先の Cloud SQL データベース インスタンスにデータを正しく移行したことを確認する手順について説明します。

少なくとも、データベース インスタンスとそのテーブルが Cloud SQL インスタンスに存在することを確認します。テーブルの行数や正確な内容を確認することもできます。

データ検証ツールを使用して確認する

オープンソースの Data Validation Tool を使用して、移行元と移行先の間でデータが一致することを検証します。

最小限の例を検証する手順は次のとおりです。

  1. ソースと宛先の両方にアクセスできる仮想マシンをデプロイするか、使用します。

  2. 仮想マシンに、データ検証ツールをインストールするフォルダを作成します。

  3. 作成したフォルダに移動します。

  4. pip を使用してデータ検証ツールをインストールします。

    pip install google-pso-data-validator
    
  5. 移行元の Oracle データベースと移行先の Cloud SQL for PostgreSQL データベースへの接続を作成します。

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

相対的な整合性を確保するため、この検証はレプリケーション中に実行することをおすすめします。テーブルのクエリが大きい場合、短いプロモーション期間中に実行に時間がかかりすぎることがあります。このような場合は、データ検証ツールを使用してフィルタを追加して実行時間を短縮するか、最終的な検証用にテーブルのサブセットを含むようにテーブルリストを準備します。