Overview#

Migration Toolkitは、移行プロセスの詳細な制御を提供する強力なコマンドラインツールです。 Migration Toolkitの使用は、2段階のプロセスです。

  1. toolkit.properties ファイルを編集して、ソースデータベースとターゲットデータベースを指定します。

  2. コマンドラインで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 モジュールを有効にします。

  • -connRetryCount <connection_attempts> オプションを使用して、データの移行中にターゲットデータベース接続が失われた場合に実行する再試行回数を指定します。

  • -connRetryInterval <seconds> オプションを使用して、データ移行中に各ターゲットデータベースに再接続を試行する前に待機する秒数を指定します。

  • -abortConnOnFailure <true/false> オプションを使用して、データの移行中にすべてのターゲットデータベースの再接続が失敗した場合に、移行を中止するかどうかを指定します。デフォルトはtrue で、指定された-connRetryCount しきい値の後に接続が失敗した場合にセッションを中止します。

  • -pgIdleTxSessionTimeOut <seconds> を使用して、MTK接続セッションのPostgreSQLまたはEDB Postgres Advanced Server idle_in_transaction_session_timeout 構成オプションの値をオーバーライドします。

オブジェクト移行のサポート#

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は、他の機能をまだサポートしていません。このカテゴリの機能には、自動ストレージ管理、テーブル圧縮、外部テーブルが含まれます。多くの場合、成功する回避策を実装できます。

  • 自動ストレージ管理をシステム固有のボリューム管理ソフトウェアに置き換えることができます。

  • 圧縮ファイルシステムにあるテーブルスペースにデータを保存することにより、テーブル圧縮を実装できます。

  • 外部テーブルはEDB Postgres Advanced Serverには存在しませんが、フラットテキストファイルをデータベースのステージングテーブルにロードすることができます。 EDB*Loaderユーティリティを使用して、データをEDB Postgres Advanced Serverデータベースにすばやくロードすることをお勧めします。

  • 複数のプロファイルをOracleデータベースからEDB Postgres Advanced Serverに移行する場合、移行の完了時にプロファイルをユーザーに手動で割り当てる必要があります。

サポートされていないPostgres機能#

Migration Toolkitは、次のPostgres機能の移行をサポートしていません。

  • OPERATOR CLASS

  • OPERATOR FAMILY

OPERATOR CLASS およびOPERATOR FAMILY の詳細については、

PostgreSQL core documentation を参照してください。