前のトピック: PostgreSQL データベースから Oracle データベースへのデータの移動次のトピック: 移行スクリプトの複数インスタンスの実行


移行プロパティのカスタマイズ

PostgreSQL から Oracle にデータを移行する場合、移行ユーティリティのオペレーションをカスタマイズに使用できるプロパティ ファイルが 2 つあります。

migration.properties ファイルのプロパティを使用して、移行中のデータベース オブジェクトのコピーおよび挿入の動作を制御し、使用中の環境での処理を最適化することができます。 ほとんどの場合、プロパティのデフォルト値を使用すると、メモリに負荷をかけ過ぎずに高速で効率的なデータ移行が可能です。 ただし、使用中の環境でのメモリ制約によっては、以下のプロパティを変更してデータ移行方法をカスタマイズする必要がある場合があります。

migration.fetchsize

ソース データベースから取得してメモリ内に保持するレコード数を制御します。 値は 0 より大きい整数です。 デフォルト値は 1000 です。 例:

migration.fetchsize=1000
migration.batchsize

一括でターゲット データベースに挿入されるレコード数を制御します。 値は 0 より大きい整数です。 デフォルト値は 3000 です。 例:

migration.batchsize=3000
migration.queuesize

単一スレッドで移行されるレコードを保持するキューのサイズを制御します。 ソース データベースから取得されたレコードはこのキューに置かれ、ターゲット データベースへの一括挿入のために読み込まれます。 値は 0 より大きい整数です。 デフォルト値は 10000 です。 例:

migration.queuesize=10000
migration.parallel.table.number

同時に移行するテーブル数を制御します。 テーブルはそれぞれ単一のスレッドを使用して移行されます。 スレッドは、migration.fetchsize プロパティの値セットを参照してソース データベースからテーブルのレコードを取得し、migration.queuesize プロパティの値セットの上限までのレコードをキューに配置します。 キューからレコードが読み取られ、migration.batchsize プロパティの値で定義されたレコード数で一括挿入されます。 このプロパティは、一度に使用されるスレッド数を制御します。 値は 0 より大きい整数です。 デフォルト値は 5 です。

例:

migration.parallel.table.number=5

log4j-migration.properties ファイルが提供するプロパティを使用して、移行中のログ記録アクティビティを制御することができます。 ログ ファイルの名前や場所、最大ファイル サイズまたはバックアップ コピーの最大数を変更する必要がある場合以外は、ほとんどの場合プロパティのデフォルト値を使用してください。

log4j.appender.logfile.File

データ マイグレーション中に実行されたオペレーションに関する情報を記録するログ ファイルへの相対パスを指定します。 例:

log4j.appender.logfile.File=logs/migration.log
log4j.appender.logfile.MaxFileSize

ログ ファイルの最大サイズを KB 単位で指定します。 例:

log4j.appender.logfile.MaxFileSize=2048KB
log4j.appender.logfile.MaxBackupIndex

保存するバックアップ コピーの最大数を指定します。 例:

log4j.appender.logfile.MaxBackupIndex=3