Specifying connection properities#

Migration Toolkitは、移行プロセス中にtoolkit.properties ファイルに保存されている構成と接続情報を使用して、ソースデータベースとターゲットデータベースを識別して接続します。

Linuxでは、 toolkit.properties ファイルは/usr/edb/migrationtoolkit/etc にあります。

Windowsでは、ファイルはC:\Program Files\edb\mtk\etc にあります。

Mac OSでは、ファイルは/Library/edb/mtk/etc にあります。

この図は、サンプルtoolkit.properties ファイルを示しています。

A typical toolkit.properties file.

A typical toolkit.properties file.#

Migration Toolkitコマンドを実行する前に、選択したエディターでtoolkit.properties ファイルを変更します。ファイルを更新して、次の情報を含めます。

  • SRC_DB_URL は、Migration Toolkitがソースデータベースに接続する方法を指定します。各ソースデータベースのURLの形成の詳細は次のとおりです。

  • SRC_DB_USER は、ソースデータベース内の十分な特権を持つユーザー名を指定します。

  • SRC_DB_PASSWORD は、ソースデータベースユーザーのパスワードを指定します。

  • TARGET_DB_URL は、ターゲットデータベースのJDBC URLを指定します。

  • TARGET_DB_USER は、特権ターゲットデータベースユーザーの名前を指定します。

  • TARGET_DB_PASSWORD は、ターゲットデータベースユーザーのパスワードを指定します。

注釈

コマンドラインで指定しない限り、Migration ToolkitはソースデータベースがOracleであり、ターゲットデータベースがEDB Postgres Advanced Serverであると想定します。他のソースまたはターゲットデータベースの場合、 Oracle以外のソースデータベースからの移行 の説明に従って -sourcedbtype または`-targetdbtype` オプションを指定します。

BigAnimalでターゲットデータベースを指定する場合は、

BigAnimal URLの定義 を参照してください。

Advanced Server URLの定義#

Migration Toolkitは、次のプラットフォームからAdvanced Serverへの移行に役立ちます。

  • Oracle

  • PostgreSQL

  • MySQL

  • Sybase

  • SQL Server

各データベースタイプから移行されたオブジェクトの最終的なリストについては、

Functionality overview を参照してください。

Migration Toolkitは、toolkit.properties ファイルからソースデータベースとターゲットデータベースの接続仕様を読み取ります。それぞれの接続情報には次のものが含まれる必要があります。

  • データベースのURL

  • 特権ユーザーの名前

  • 指定されたユーザーに関連付けられたパスワード

URLはJDBC標準に準拠し、次のフォームます。

{TARGET_DB_URL|SRC_DB_URL}=jdbc:edb://<host>:<port><database_id>

Advanced Server URLには、次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • edb — Advanced Serverを使用している場合、サブプロトコル値にedb を指定します。

  • <host> — Postgresインスタンスが実行されているホストの名前またはIPアドレス。

  • <port> — Advanced Serverデータベースリスナーが監視しているポート番号。デフォルトのポート番号は5444です。

  • <database_id> —ソースまたはターゲットデータベースの名前。

  • {TARGET_DB_USER|SRC_DB_USER} —移行する各種類のオブジェクトを作成する権限を持つユーザーを指定します。データをテーブルに移行する場合、指定されたユーザーは、各ターゲットテーブルの挿入、切り捨て、および参照特権も必要とする場合があります。

  • {TARGET_DB_PASSWORD|SRC_DB_PASSWORD} — Advanced Server特権ユーザーのパスワードに設定します。

PostgreSQL URLの定義#

Migration Toolkitは、次のプラットフォームからPostgreSQLへの移行に役立ちます。

  • Oracle

  • Advanced Server

  • MySQL

  • SQL Server

各データベースタイプから移行されたオブジェクトの最終的なリストについては、

Functionality overview を参照してください。

Migration Toolkitは、toolkit.properties ファイルからソースデータベースとターゲットデータベースの接続仕様を読み取ります。それぞれの接続情報には次のものが含まれる必要があります。

  • データベースのURL

  • 特権ユーザーの名前

  • 指定されたユーザーに関連付けられたパスワード

PostgreSQL URLはJDBC標準に準拠し、次のフォームます。

{SRC_DB_URL|TARGET_DB_URL}=jdbc:postgresql://<host>:<port>/<database_id>

URLには次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • postgresql — PostgreSQLを使用している場合、サブプロトコル値にpostgresql を指定します。

  • <host> — Postgresインスタンスが実行されているホストの名前またはIPアドレス。

  • <port> — Postgresデータベースリスナーが監視しているポート番号。デフォルトのポート番号は5432です。

  • <database_id> —ソースまたはターゲットデータベースの名前。

  • {SRC_DB_USER|TARGET_DB_USER} —移行する各種類のオブジェクトを作成する権限を持つユーザーを指定します。データをテーブルに移行する場合、指定されたユーザーは、各ターゲットテーブルの挿入、切り捨て、および参照特権も必要になる場合があります。

  • {SRC_DB_PASSWORD|TARGET_DB_PASSWORD} — PostgreSQL特権ユーザーのパスワードに設定します。

BigAnimal URLの定義#

Migration Toolkitは、次のプラットフォームからBigAnimalへの移行に役立ちます。

  • Oracle

  • Advanced Server

  • PostgreSQL

  • MySQL

  • SQL Server

Migration Toolkitは、toolkit.properties ファイルからソースデータベースとターゲットデータベースの接続仕様を読み取ります。それぞれの接続情報には次のものが含まれる必要があります。

  • データベースのURL

  • 特権ユーザーの名前

  • 指定されたユーザーに関連付けられたパスワード

BigAnimalに移行する場合、TARGET_DB_URL はJDBC URLのフォームを取ります。例

jdbc:<postgres_type>://<host_name>[:<port>]/<database_id>?sslmode=<sslmode>

注釈

ターゲットデータベースURLに必要な値の多くは、BigAnimalポータルから入手できます。 BigAnimalで、クラスターを選択し、[ Connect ]タブに移動して値を見つけます。 !!!

URLには次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • postgres_type —サブプロトコルはPostgresタイプです。 Advanced Serverを使用している場合はedb を指定し、PostgreSQLを使用している場合はpostgresql を指定します。

  • <host_name> —クラスターのホスト名。 BigAnimalポータルの Connect タブの Host フィールドからコピーできます。

  • <port> —データベースリスナーが監視しているポート番号。 BigAnimalポータルの Connect タブの Port フィールドからコピーできます。

  • <database_id> —ターゲットデータベースの名前。これを、移行ターゲットデータベースとして使用するクラスター内のデータベースの名前に設定します。クラスターのデフォルトデータベースの名前は、BigAnimalポータルの Connect タブの Dbname フィールドに表示されます。多くの場合、移行ターゲットとして使用するために別のデータベースが作成されます。

  • TARGET_DB_USER —特権データベースユーザーの名前を指定します。 BigAnimalポータルの Connect タブの User フィールドからコピーできます。

  • TARGET_DB_PASSWORD —指定されたユーザーのパスワードが含まれます。

  • sslmode — “require”または”verify-full”のいずれか。 Recommended settings for SSL mode を参照してください。 BigAnimalポータルの Connect タブの Service URI 値の最後にリストされています。

Oracle URLの定義#

Migration Toolkitは、OracleデータベースからPostgreSQLまたはAdvanced Serverデータベースへの移行に役立ちます。 Oracleから移行する場合、 toolkit.properties ファイルでOracleソースデータベースの接続仕様を指定する必要があります。接続情報には以下を含める必要があります。

  • OracleデータベースのURL

  • 特権ユーザーの名前

  • 指定されたユーザーに関連付けられたパスワード

Oracleデータベースから移行する場合、SRC_DB_URLには、2つの形式のいずれかで指定されるJDBC URLが含まれる必要があります。最初のフォームは次のとおりです。

jdbc:oracle:thin:@<host_name>:<port>:<database_id>

2番目のフォームは次のとおりです。

jdbc:oracle:thin:@//<host_name>:<port>{<database_id|service_name>}

Oracle URLには、次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • oracle —サブプロトコルは常にoracle です。

  • thin —ドライバーのタイプ。 thin のドライバータイプを指定します。

  • <host_name> — Oracleサーバーが実行されているホストの名前またはIPアドレス。

  • <port> — Oracleデータベースリスナーが監視しているポート番号。

  • <database_id> — OracleデータベースのデータベースSID。

  • <service_name> — Oracleサービスの名前。

  • SRC_DB_USER —特権Oracleユーザーの名前を指定します。 OracleユーザーがOracleからAdvanced Serverにオブジェクトを移行するにはDBA権限が必要です。 Oracle GRANT DBA TO user コマンドを使用してOracleユーザーにDBA特権を付与して、目的のデータベースオブジェクトをすべて移行します。

  • SRC_DB_PASSWORD —指定されたユーザーのパスワードが含まれます。

SQL Server URLの定義#

Migration Toolkitは、 SQL ServerデータベースからPostgreSQLまたはAdvanced Serverデータベースへの移行に役立ちます。Migration Toolkitは、次のオブジェクト定義の移行をサポートしています。

  • スキーマ

  • テーブル

  • テーブルデータ

  • コンストレイン

  • インデックス

Migration Toolkitは、toolkit.properties ファイルからソースデータベースの接続仕様を読み取ります。接続情報には以下を含める必要があります。

  • ソースデータベースのURL

  • 特権ユーザーの名前

  • 指定されたユーザーに関連付けられたパスワード

SQL Serverデータベースに接続する場合、 SRC_DB_URL は、

Microsoft JDBC URL 推奨または JTDS URL のフォームを取ります。

Microsoft JDBC URL#

デフォルトでは、 SQL Server用のMicrosoft JDBC Driverは、クライアントとSQL Server間のすべての通信にTLS暗号化を使用します。 TLS暗号化を無効にする場合は、 encrypt をfalse に設定します。 JDBCタイプ4ドライバーを使用してMicrosoft SQL Serverへの接続の詳細については、 Building the connection URL を参照してください。

jdbc:sqlserver://<server_name>:<port>[;databaseName=<database_id>][;encrypt=false]

SQLサーバーURLには、次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • sqlserver —サーバータイプは常にsqlserver です。

  • <server_name> —ソースサーバーが実行されているホストの名前またはIPアドレス。

  • <port> —ソースデータベースリスナーが監視しているポート番号。

  • <database_id> —ソースデータベースの名前。

  • SRC_DB_USER —特権SQL Serverユーザーの名前を指定します。

  • SRC_DB_PASSWORD —指定されたユーザーのパスワードが含まれます。

JTDS URL#

jdbc:jtds:sqlserver://<server_name>:<port>/<database_id>

Tip

JTDSドライバーは、古いバージョンのMicrosoft SQL ServerをサポートするオープンソースのJDBC 3.0タイプ4ドライバーです。 http://jtds.sourceforge.net/ を参照してください。新しいバージョンのMicrosoft SQL ServerをMigration Toolkitに接続する場合、 SQL Server用のMicrosoft JDBC Driverをお勧めします。

SQLサーバーURLには、次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • jtds —ドライバー名は常にjtds です。

  • sqlserver —サーバータイプは常にsqlserver です。

  • <server_name> —ソースサーバーが実行されているホストの名前またはIPアドレス。

  • <port> —ソースデータベースリスナーが監視しているポート番号。

  • <database_id> —ソースデータベースの名前。

  • SRC_DB_USER —特権SQL Serverユーザーの名前を指定します。

  • SRC_DB_PASSWORD —指定されたユーザーのパスワードが含まれます。

MySQL URLの定義#

Migration Toolkitは、MySQLデータベースからAdvanced ServerまたはPostgreSQLデータベースへの移行に役立ちます。 MySQLから移行する場合、 toolkit.properties ファイルでMySQLソースデータベースの接続仕様を指定する必要があります。接続情報には以下を含める必要があります。

  • ソースデータベースのURL

  • 特権ユーザーの名前

  • 指定されたユーザーに関連付けられたパスワード

MySQLから移行する場合、SRC_DB_URL はJDBC URLのフォームを取ります。例

jdbc:mysql://<host_name>[:<port>]/<database_id>

URLには次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • mysql —サブプロトコルは常にmysql です。

  • <host_name> —ソースサーバーが実行されているホストの名前またはIPアドレス。

  • [<port>] — MySQLデータベースリスナーが監視しているポート番号。

  • <database_id> —ソースデータベースの名前。

  • SRC_DB_USER —特権MySQLユーザーの名前を指定します。

  • SRC_DB_PASSWORD —指定されたユーザーのパスワードが含まれます。

注釈

  • データ型`tinyInt(1)` を使用してMySQLソースデータベースに0と1以外のバイト値を保存する場合、MySQL Connector/J JDBCドライバーのURLにオプションのパラメーター`?tinyInt1isBit=false` を追加してください。

  • MySQL Connector/J JDBCドライバー8.0.26のバグのため、特定の場合に外部キーコンストレインの移行が失敗します。 EDBでは、 Migration Toolkitを使用したデータの移行にこのドライバーを使用しないことをお勧めします。代わりに、MySQL Connector/J JDBC Driver 8.0.30以降を使用してください。

このバグの詳細については、 MySQL bug report を参照してください。

TINYINT(1) は、 PostgreSQL/ EDB Postgres Advanced ServerでBIT(1) にマッピングされますこれは場合によっては予期されない場合があります。しかし、MySQL JDBCドライバーはそれをBIT(1) として報告するため、Migration ToolkitはPostgreSQL/ EDB Postgres Advanced ServerのBIT(1) にマッピングします。

値-128〜127を保持できるTINYINT(1) とは異なり、BIT(1) は0と1のみを保持できます。したがって、このフィールドに0と1以外の値を保存する場合、MySQL JDBCドライバーのデフォルト動作を変更する必要がある場合がありますドライバーがそれをTINYINT として報告するようにします。

この動作を変更するには、接続文字列で次のURLオプションを設定します。

jdbc:mysql://localhost:3306/world?tinyInt1isBit=false

この場合、JDBCドライバーはTINYINT(1) をTINYINT として報告し、ターゲットPostgreSQL/ EDB Postgres Advanced ServerのSMALLINT にマッピングされます。

Sybase URLの定義#

Migration Toolkitは、SybaseデータベースからAdvanced Serverデータベースへの移行に役立ちます。 Sybaseから移行する場合、toolkit.properties ファイルでSybaseソースデータベースの接続仕様を指定する必要があります。接続情報には以下を含める必要があります。

  • ソースデータベースのURL

  • 特権ユーザーの名前

  • 指定されたユーザーに関連付けられたパスワード

Sybaseから移行する場合、SRC_DB_URL はJTDS URLのフォームを取ります。例

jdbc:jtds:sybase://<host_name>[:<port>]/<database_id>

Tip

Sybase ASEおよび古いバージョンのMicrosoft SQL Server用のオープンソースJDBC 3.0タイプ4ドライバーについては、 http://jtds.sourceforge.net/ を参照してください。

Sybase URLには、次の情報が含まれています。

  • jdbc —プロトコルは常にjdbc です。

  • jtds —ドライバー名は常にjtds です。

  • sybase —サーバータイプは常にsybase です。

  • <host_name> —ソースサーバーが実行されているホストの名前またはIPアドレス。

  • <port> — Sybaseデータベースリスナーが監視しているポート番号。

  • <database_id> —ソースデータベースの名前。

  • SRC_DB_USER —特権Sybaseユーザの名前を指定します。

  • SRC_DB_PASSWORD —指定されたユーザーのパスワードが含まれます。