Overview¶
Migration Toolkitは、移行プロセスをきめ細かく制御できる強力なコマンドラインツールです。 Migration Toolkitの使用は、2段階のプロセスです。
toolkit.propertiesファイルを編集して、ソースデータベースとターゲットデータベースを指定します。コマンドラインでMigration Toolkitを起動し、移行オプションを指定します。
Migration Toolkitは、データベースオブジェクトとデータをEDB Postgres Advanced ServerまたはPostgreSQLデータベースに移行するのに役立ちます。
Oracle
MySQL
SQL Server
Migration Toolkitでは、データベースオブジェクトとデータをSybaseからEDB Postgres Advanced Serverデータベースに移行することもできます。 Migration Toolkitを使用して、 EDB Postgres Advanced ServerとPostgreSQLの間で移行することもできます。 Migration Toolkitには多くのオプションが含まれており、移行プロセスをきめ細かく制御できます。
-safeModeオプションを使用して、移行時に各行をコミットします。-fastCopyオプションを使用してWALロギングをバイパスし、移行を最適化します。-batchSizeオプションを使用して、一括挿入のバッチサイズを制御します。-cpBatchSizeオプションを使用して、COPYコマンドで使用するバッチサイズを指定します。-lobBatchSizeオプションを使用して、ラージオブジェクトデータ型に使用されるバッチサイズを指定します。-filterPropオプションを使用して、指定した条件を満たす行のみを移行します。-customColTypeMappingオプションを使用して、選択した列のデータ型を変更します。-dropSchemaオプションを使用して、移行前に既存のスキーマを削除し、新しいスキーマを作成します。EDB Postgres Advanced Serverでは、
-allDBLinksオプションを使用して、すべてのOracleデータベースリンクを移行します。EDB Postgres Advanced Serverでは、
-copyViaDBLinkOraオプションを使用してdblink_oraモジュールを有効にします。
オブジェクト移行のサポート¶
Migration Toolkitは、オブジェクト定義(DDL)、テーブルデータ、またはその両方を移行します。次の表には、 Migration Toolkitで移行できるデータベースオブジェクトのタイプのプラットフォーム固有のリストが含まれています。
Object |
Oracle |
Sybase |
SQL Server |
MySQL |
|---|---|---|---|---|
Schemas |
X |
X |
X |
X |
Tables |
X |
X |
X |
X |
List-partitioned table |
X |
|||
Range-partitioned table |
X |
|||
Hash partitioned table |
X |
|||
Constraints |
X |
X |
X |
X |
Indexes |
X |
X |
X |
X |
Triggers |
X |
|||
Table data |
X |
X |
X |
X |
Views |
X |
X |
||
Materialized views |
X |
|||
Packages |
X |
|||
Procedures |
X |
|||
Functions |
X |
|||
Sequences |
X |
|||
Users/Roles |
X |
|||
Profiles |
X |
|||
Object types |
X |
|||
Object type methods |
X |
|||
Database links |
X |
|||
Queues |
X |
- インポートされるオブジェクトをきめ細かく制御できるコマンドの詳細については、
スキーマオブジェクト選択オプション を参照してください。
オンライン移行とオフライン移行¶
Migration Toolkitは、Postgresデータベースにすぐに直接移行できます(オンライン移行)。 Postgresデータベースでオブジェクト定義を再作成するために後で使用するスクリプトを生成することを選択することもできます(オフライン移行)。
デフォルトでは、 Migration
ToolkitはオブジェクトをPostgresデータベースに直接作成します。または、
-offlineMigration
オプションを含めてSQLスクリプトを生成し、後で使用して移行したオブジェクトまたはデータを新しいデータベースに再現します。
Migration
Toolkitによって生成された移行スクリプトを実行する前にカスタマイズすることにより、移行されたオブジェクトを変更できます。
-offlineMigration
オプションを使用すると、システムの負荷に最適な時間に実際の移行をスケジュールできます。
-offlineMigration オプションの詳細については、 オフライン移行オプション
を参照してください。
制限事項¶
EDB Postgres Advanced Serverは、一部のOracle機能を完全にサポートし、他の機能を部分的にサポートします。 Migration Toolkitは、サポートされていない機能を使用するオブジェクトを移行できません。
場合によっては、 Migration Toolkitは、部分的な互換性を提供する機能を使用するオブジェクトを移行できます。他の場合、 EDB Postgres Advanced Serverは適切な回避策をサポートします。
全文検索は、Oracleと完全な互換性がない機能の例です。 EDB Postgres Advanced Serverデータベースには、かなり長い間全文検索のサポートが含まれていますが、実装はOracleのものとは異なります。 Migration Toolkitは、この機能を使用するオブジェクトを移行できません。
EDB Postgres Advanced Serverはまだ他の機能をサポートしていません。このカテゴリの機能には、自動ストレージ管理、テーブル圧縮、外部テーブルが含まれます。多くの場合、成功する回避策を実装できます。
・ Automated Storage Managementは、システム固有のボリューム管理ソフトウェアに置き換えることができます。
圧縮ファイルシステム上にある表領域にデータを格納することにより、テーブル圧縮を実装できます。
EDB Postgres Advanced Serverに外部テーブルは存在しませんが、フラットテキストファイルをデータベースのステージングテーブルにロードできます。 EDB*Loaderユーティリティを使用して、データをEDB Postgres Advanced Serverデータベースにすばやくロードすることをお勧めします。
複数のプロファイルをOracleデータベースからEDB Postgres Advanced Serverに移行する場合、移行の完了時にプロファイルをユーザーに手動で割り当てる必要があります。
サポートされていないPostgres機能¶
Migration Toolkitは、次のPostgres機能の移行をサポートしていません。
OPERATOR CLASSOPERATOR FAMILY
OPERATOR CLASSおよびOPERATOR FAMILYの詳細については、PostgreSQL core documentation を参照してください。