Building the toolkit.properties file¶
Migration
Toolkitは、移行プロセス中にtoolkit.propertiesファイルに保存されている構成および接続情報を使用して、ソースデータベースとターゲットデータベースを識別して接続します。
Linuxでは、toolkit.propertiesファイルは/usr/edb/migrationtoolkit/etcにあります。
Windowsでは、ファイルはC:\Program Files\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は、ターゲットデータベースユーザのパスワードを指定します。
BigAnimalでターゲットデータベースを指定するには、Defining target information for BigAnimalを参照してください。
</ div>
Advanced Server URLの定義¶
Migration Toolkitは、次のプラットフォームからAdvanced Serverへの移行に役立ちます。
オラクル 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&mdash;プロトコルは常にjdbcです。edb&mdash; Advanced Serverを使用している場合、サブプロトコル値にedbを指定します。<host>&mdash; Postgresインスタンスが実行されているホストの名前またはIPアドレス。<port>&mdash; Advanced Serverデータベースリスナがモニタリングしているポート番号。デフォルトポート番号は5444です。<database_id>&mdash;ソースデータベースまたはターゲットデータベースの名前。{TARGET_DB_USER|SRC_DB_USER}&mdash;移行される各タイプのオブジェクトを作成する権限を持つユーザを指定します。データをテーブルに移行する場合、指定されたユーザは、各ターゲットテーブルの挿入、切り捨て、および参照の特権も必要とする場合があります。{TARGET_DB_PASSWORD|SRC_DB_PASSWORD}&mdash;特権Advanced Serverユーザのパスワードに設定します。
</ div>
PostgreSQL URLの定義¶
Migration Toolkitは、次のプラットフォームからPostgreSQLへの移行を支援します。
オラクル
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&mdash;プロトコルは常にjdbcです。postgresql&mdash; PostgreSQLを使用している場合、サブプロトコル値にpostgresqlを指定します。<host>&mdash; Postgresインスタンスが実行されているホストの名前またはIPアドレス。<port>&mdash; Postgresデータベースリスナがモニタリングしているポート番号。デフォルトポート番号は5432です。<<database_id>&mdash;ソースデータベースまたはターゲットデータベースの名前。{SRC_DB_USER|TARGET_DB_USER}&mdash;移行される各タイプのオブジェクトを作成する権限を持つユーザを指定します。データをテーブルに移行する場合、指定されたユーザは、各ターゲットテーブルの挿入、切り捨て、および参照権限も必要になる場合があります。{SRC_DB_PASSWORD|TARGET_DB_PASSWORD}&mdash;特権PostgreSQLユーザのパスワードに設定します。
</ div>
BigAnimal URLの定義¶
Migration Toolkitは、次のプラットフォームからBigAnimalへの移行を支援します。
オラクル
Advanced Server PostgreSQL
MySQL SQL Server
Migration
Toolkitは、toolkit.propertiesファイルからソースデータベースとターゲットデータベースの接続仕様を読み取ります。それぞれの接続情報には以下が含まれている必要があります。
データベースのURL
特権ユーザの名前
指定されたユーザに関連付けられたパスワード
BigAnimalに移行する場合、TARGET_DB_URLはJDBC
URLのフォームを取ります。例:
URLには次の情報が含まれます。
jdbc&mdash;プロトコルは常にjdbcです。postgres_type&mdash;サブプロトコルはPostgresタイプです。 Advanced Serverを使用している場合はedbを、 PostgreSQLを使用している場合はpostgresqlを指定します。<host_name>&mdash;クラスターのホスト名前。 BigAnimalポータルの接続タブのホストフィールドからコピーできます。<port>&mdash;データベースリスナがモニタリングしているポート番号。 BigAnimalポータルの接続タブのポートフィールドからコピーできます。<database_id>&mdash;ターゲットデータベースの名前。これを、移行ターゲットデータベースとして使用するクラスター内のデータベースの名前に設定します。クラスターのデフォルトデータベースの名前は、BigAnimalポータルの接続タブの** Dbname **フィールドに表示されます。多くの場合、移行ターゲットとして使用するために個別のデータベースが作成されます。TARGET_DB_USER&mdash;特権データベースユーザの名前を指定します。 BigAnimalポータルの接続タブのユーザーフィールドからコピーできます。TARGET_DB_PASSWORD&mdash;指定されたユーザのパスワードが含まれます。sslmode&mdash; 「require」または「verify-full」のいずれか。 Recommended settings for SSL modeを参照してください。 BigAnimalポータルの接続タブのサービスURI値の最後にリストされます。
オラクル URLの定義¶
Migration Toolkitは、 オラクルデータベースからPostgreSQLまたはAdvanced
Serverデータベースへの移行を支援します。
オラクルから移行する場合、toolkit.propertiesファイルでオラクルソースデータベースの接続仕様を指定する必要があります。接続情報には以下を含める必要があります。
オラクルデータベースのURL - 特権ユーザの名前 - 指定されたユーザに関連付けられたパスワード
オラクルデータベースから移行する場合、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>}
オラクル URLには次の情報が含まれます。
jdbc&mdash;プロトコルは常にjdbcです。oracle&mdash;サブプロトコルは常にoracleです。thin&mdash;ドライバのタイプ。thinのドライバタイプを指定します。<host_name>&mdash; オラクルサーバーが実行されているホストの名前またはIPアドレス。<port>&mdash; オラクルデータベースリスナがモニタリングしているポート番号。<database_id>&mdash; オラクルデータベースのデータベースSID。<service_name>&mdash; オラクルサービスの名前。SRC_DB_USER&mdash;特権オラクルユーザの名前を指定します。 オラクルユーザがオブジェクトをオラクルからAdvanced Serverに移行するには、 DBA権限がニーズです。 オラクルGRANT DBA TO userコマンドを使用してDBA権限をオラクルユーザに付与し、目的のデータベースオブジェクトを保証移行することができます。SRC_DB_PASSWORD&mdash;指定されたユーザのパスワードが含まれます。
</ div>
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&mdash;プロトコルは常にjdbcです。mysql&mdash;サブプロトコルは常にmysqlです。<host_name>&mdash;ソースサーバーが実行されているホストの名前またはIPアドレス。[<port>]&mdash; MySQLデータベースリスナがモニタリングしているポート番号。<database_id>&mdash;ソースデータベースの名前。SRC_DB_USER&mdash;特権MySQLユーザの名前を指定します。SRC_DB_PASSWORD&mdash;指定されたユーザのパスワードが含まれます。
!!! Note *
-データソースtinyInt(1)を使用して、0および1以外のバイト値をMySQLソースデータベースに格納make場合、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.25ドライバを使用できます。
このバグの詳細については、[MySQL bug report](https://bugs.mysql.com/bug.php?id=95280)を参照してください。
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にマップされます。
</ div>
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>
Sybase URLには次の情報が含まれます。
jdbc&mdash;プロトコルは常にjdbcです。jtds&mdash;ドライバ名前は常にjtdsです。sybase&mdash;サーバータイプは常にsybaseです。<host_name>&mdash;ソースサーバーが実行されているホストの名前またはIPアドレス。<port>&mdash; Sybaseデータベースリスナがモニタリングしているポート番号。<database_id>&mdash;ソースデータベースの名前。SRC_DB_USER&mdash;特権Sybaseユーザの名前を指定します。SRC_DB_PASSWORD&mdash;指定されたユーザのパスワードが含まれます。
SQL Server URLの定義¶
Migration Toolkitは、 SQL ServerデータベースからPostgreSQLまたはAdvanced Serverデータベースへの移行を支援します。 Migration Toolkitは、次のオブジェクト定義の移行をサポートしています。
スキーマ
テーブル
テーブルデータ
Constraints
インデックス
Migration
Toolkitは、toolkit.propertiesファイルからソースデータベースの接続仕様を読み取ります。接続情報には以下を含める必要があります。
ソースデータベースのURL
特権ユーザの名前
指定されたユーザに関連付けられたパスワード
SQL Serverデータベースに接続している場合、SRC_DB_URLはJTDS
URLのフォームを取ります。例:
jdbc:jtds:sqlserver:\<server_name>\[:<port>]\<database_id>
SQLサーバーのURLには次の情報が含まれます。
jdbc&mdash;プロトコルは常にjdbcです。jtds&mdash;ドライバ名前は常にjtdsです。sqlserver&mdash;サーバータイプは常にsqlserverです。<server_name>&mdash;ソースサーバーが実行されているホストの名前またはIPアドレス。<port>&mdash;ソースデータベースリスナがモニタリングしているポート番号。<database_id>&mdash;ソースデータベースの名前。SRC_DB_USER&mdash;特権SQL Serverユーザの名前を指定します。SRC_DB_PASSWORD&mdash;指定されたユーザのパスワードが含まれます。