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 タブの 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権限が必要です。 OracleGRANT 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—指定されたユーザーのパスワードが含まれます。