Invoking Migration Toolkit

MigrationToolkitをインストールし、 toolkit.propertiesファイル でソースデータベースとターゲットデータベースの接続プロパティを指定すると、MigrationToolkitは移行を実行する準備が整います。

MigrationToolkitの実行可能ファイルの名前付けは、Linuxシステムでは runMTK.sh 、Windowsシステムでは runMTK.bat です。Linuxシステムでは、実行可能ファイルは次の場所にあります。

/usr/edb/migrationtoolkit/bin

Windowsでは、実行可能ファイルは次の場所にあります。

C:/Program Files/edb/mtk/bin

Note: MigrationToolkitの呼び出し時に次のエラーが表示される場合は、toolkit.propertiesファイルのファイル許可を確認してください。

MTK-11015: The connection credentials file ../etc/toolkit.properties is
not secure and accessible to group/others users. This file contains
plain passwords and should be restricted to Migration Toolkit owner user
only.

MigrationToolkitを実行するオペレーティングシステムユーザアカウントは、toolkit.propertiesファイルの所有者であり、ファイルの読み取りパーミッションが最低限必要ファイル。さらに、グループおよび他のユーザーに対して、いかなる種類のアクセス許可も存在してはなりません。以下は、ユーザenterprisedbがMigrationToolkitを実行している場合の推奨ファイル許可の例です。

-rw------- 1 enterprisedb enterprisedb 191 Aug 1 09:59 toolkit.properties

Importing Character Data with Embedded Binary Zeros (NULL characters)

MigrationToolkitは、値がNULLの列のインポートを適切にサポートします。

ただし、MigrationToolkitは、JDBC接続プロトコルしたNULL文字値(埋め込みバイナリゼロ0x00)のインポートをサポートしていません。NULL文字を含むデータをインポートする場合は、 -replaceNullChar オプションを使用して、NULL文字を単一の非NULLの置換文字に置き換えます。

Note :

  • MTKは、 NULL 文字を暗黙的に空の文字列に置き換えます。

  • -replaceNullChar オプションは、 -copyViaDBLinkOra オプションでは機能しません。

データを移行したら、SQLステートメントを使用して、 -replaceNullChar で指定された文字をバイナリのゼロに置き換えます。

オラクルからのスキーマの移行

コマンドラインで指定されていない限り、MigrationToolkitはソースデータベースがオラクルで、ターゲットデータベースがEDBPostgresAdvancedServerと想定しています。Linuxで完全なスキーマを移行するには、実行可能ファイルに移動し、次のコマンドを呼び出します。

$ ./runMTK.sh <schema_name>

Windowsで完全なスキーマを移行するには、実行可能ファイルに移動し、次のコマンドを呼び出します。

> ./runMTK.bat <schema_name>

どこで:

schema_name

schema_name は、移行するソースデータベース(toolkit.propertiesファイルで指定)内のスキーマの名前です。少なくとも1つの schema_name を含める必要があります。

注釈

移行されたスキーマのデフォルトデータベースユーザが自動的に移行される場合、そのようなカスタムプロファイルが存在する場合、デフォルトデータベースユーザのカスタムプロファイルも移行されます。カスタムプロファイルは、ユーザーが作成したプロファイルです。例、カスタムプロファイル>のプロファイル DEFAULT と MONITORING_PROFILE を除外する。

コマンド名前の後にスキーマ名のカンマ区切りリストを続けることで、マルチプルのスキーマを移行できます。

Linuxでは、次のコマンドを実行します。

$ ./runMTK.sh <schema_name1>,<schema_name2>,<schema_name3>

Windowsでは、次のコマンドを実行します。

> ./runMTK.bat <schema_name1>,<schema_name2>,<schema_name3>

Oracle以外のソースデータベースからの移行

ソースデータベースタイプとターゲットデータベースタイプを指定しない場合、Postgresはソースデータベースがオラクルであり、ターゲットデータベースがEDBPostgresAdvancedServerであると想定します。

MigrationToolkitを呼び出すには、コマンドウィンドウを開き、実行可能ファイルに移動して、次のコマンドを呼び出します。

$ ./runMTK.sh -sourcedbtype <db_type> -targetdbtype <target_type> [options, …] schema_name;

どこで:

-sourcedbtype source_type

source_type は、ソースデータベースのサーバータイプを指定します。 source_type は大文字小文字ません。デフォルトでは、 source_type はoracleです。 source_type は、次の値のいずれかです。

から移行するには:

指定してください:

オラクル

oracle(デフォルト値)

MySQL

mysql

SQLServer

sqlserver

Sybase

sybase

PostgreSQL

postgresまたはpostgresql

EDBPostgresAdvancedServer

enterprisedb

-targetdbtype target_type

target_type は、ターゲットデータベースのサーバータイプを指定します。 target_type は大文字小文字ません。デフォルトでは、 target_type は enterprisedb です。 target_type は次の値のいずれかです。

移行するには:

指定してください:

EDBPostgresAdvancedServer

enterprisedb

PostgreSQL

postgresまたはpostgresql

schema_name

schema_name は、移行するソースデータベース( toolkit.properties ファイルで指定)内のスキーマの名前です。少なくとも1つの schema_name を含める必要があります。

次の例では、 HR 名前付けのスキーマ(テーブル定義とテーブルコンテンツ)をLinuxシステム上のMySQLデータベースからEDBPostgresAdvancedServerホストに移行します。コマンドには ‑sourcedbtype および -targetdbtype オプションが含まれていることに注意してください。

$ ./runMTK.sh -sourcedbtype mysql -targetdbtype enterprisedb HR

Windowsでは、次のコマンドを使用します。

> ./runMTK.bat -sourcedbtype mysql -targetdbtype enterprisedb HR

MigrationToolkitコマンドの最後にスキーマのコンマ区切りリストを含めることにより、ソースデータベースからマルチプルのスキーマを移行できます。次の例では、マルチプルのスキーマ(HRおよびACCTG名前付け)をMySQLデータベースからPostgreSQLデータベースに移行します。

Linuxでは、次のコマンドを使用して、MySQLデータベースからマルチプルのスキーマを移行します。

$ ./runMTK.sh -sourcedbtype mysql -targetdbtype postgres HR,ACCTG

Windowsでは、次のコマンドフォームを使用します。

> ./runMTK.bat -sourcedbtype mysql -targetdbtype postgres HR,ACCTG