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.#
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 タブの ServiceURI 値の最後にリストされています。
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権限が必要です。 OracleGRANT DBA TO userコマンドを使用してDBA権限をOracleユーザーに付与し、目的のすべてのデータベースオブジェクトが移行されるようにすることができます。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#
既定では、Microsoft JDBC Driver for SQL Serverは、クライアントとSQL
Server間のすべての通信にTLS暗号化を使用します。
TLS暗号化を無効にする場合は、 encrypt をfalse に設定します。
JDBC Type 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 Type 4ドライバーです。 http://jtds.sourceforge.net/ を参照してください。 Migration Toolkitを使用してMicrosoft SQL Serverの新しいバージョンを接続する場合、 Microsoft JDBC Driver for SQL Serverをお勧めします。
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)` を使用して0および1以外のバイト値をMySQLソースデータベースに保存する場合、MySQL Connector/J JDBC Driver URLにオプションパラメーター`?tinyInt1isBit=false` を追加してください。
MySQL Connector/J JDBC Driver 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—指定されたユーザーのパスワードが含まれています。