dbmigrationツールを使用すると、システムオブジェクト、データレコード、およびデプロイされたオブジェクト(ジョブとワークフローは除く)をリレーショナルデータベース間で移行できます。
始める前に
-
両方のMDMサーバーが実行されていることを確認します。
-
1台のコンピュータの2つのデータベース間で移行する必要がある場合は、2台のMDMサーバーを並べて実行する必要があります。これはターゲットサーバーで別のポートバインドを設定して行えます。
-
UpdateReportレコードをターゲットMDMサーバーに移行すると、予期しない結果が生じる場合があります。たとえば、一部の適格なトリガーがトリガーされたり、プロセスやジョブが実行されたりします。この問題を回避するには、移行の前に<$INSTALLDIR>がMDMサーバーのインストールディレクトリーを指定するファイル<$INSTALLDIR>\conf\mdm.confでsubscription.engine.autostart=false
を設定し、ターゲットMDMサーバーのイベントマネージャーを無効にする必要があります。移行が完了したら再び有効にする必要があります。設定を有効にするには、MDMサーバーの再起動が必要です。
手順
-
ターゲットMDMサーバーで<$INSTALLDIR>/tools/dbmigrationフォルダーを参照します。
-
dbmigration.properties.template ファイルのコピーに、たとえば、dbmigration.properties という名前を付けて、保存します。
-
テキスト エディターを使って、新しい dbmigration.properties ファイルを開きます。
-
"from"リストでソースサーバーへの接続情報を設定し、"to"リストでターゲットサーバーへの接続情報を設定します。
5.xから移行する場合の設定の一例を以下に示します:
####from 5.X using EJBs####
from.host=localhost
from.user=admin
from.password=talend
from.jndi.port=1199
to.url=http://192.168.32.191:8280/talendmdm
to.home=D:\\Talend\Talend-MDMServer
to.user=administrator
to.password=administrator
to.cluster.batch.size=500
6.Xから移行する場合の設定の一例を以下に示します:
####from 6.X using REST####
from.url=http://localhost:8180/talendmdm
from.user=administrator
from.password=administrator
to.url=http://192.168.32.191:8280/talendmdm
to.home=D:\\Talend\Talend-MDMServer
to.user=administrator
to.password=administrator
to.cluster.batch.size=500
ソースサーバーのデータコンテナーとデータモデルの名前が同じでない場合(たとえば、
ProductDemo
データコンテナーで
Product
データモデルを使用する場合)、
<data container>.datamodel=<datamodel>
の構文も使用して
dbmigration.propertiesファイルの接続方法を指定する必要があります。たとえば:
ProductDemo.datamodel=Product
注: 外部キー(FK)が存在するエンティティ(たとえば、Person
にPerson
に対する「is child of (~の子)」というFK関係)がある場合、移行プロセスでは正しい挿入順序にならない可能性があります。その結果、データの整合性が正しい場合でも、このようなレコードの検証が失敗することがあります。これを回避するには、最初にデータモデルをターゲットMDMサーバーにデプロイし、次にデータモデルエディターでFKフィールドに対するFK整合性チェックを一時的に無効にするという方法をお勧めします。
-
必要に応じて、パラメーター
db.migration.threads
によって指定された移行スレッドの数を修正します。
このパラメーターのデフォルト値は8
です。
-
お使いのシステムに対して適切なdbmigrationファイルを実行し、コマンド行にパラメーターとして設定するファイル名を入力します:
- Windowsの場合:
dbmigration.bat dbmigration.properties
- Linuxの場合:
dbmigration.sh dbmigration.properties
-
必要に応じて、システムのdbmigrationスクリプトを実行する際、CommandLineにパラメーターを追加できます。
以下のパラメーターを追加します… |
内容... |
-i |
インタラクティブモードで移行を行います。
たとえば、どのデータモデルを移行する必要があるか確認するメッセージが表示されます。Yと入力して移行するデータモデルを選択するか、Nと入力して、移行しないデータモデルをスキップします。
|
-v |
ユーザー定義データモデルの検証のみ実行します。
データモデルに自己参照エンティティ、または循環依存項目関係(EntityAがEntityBを参照し、EntityBがEntityCを参照し、EntityCがEntityAを参照するなど)があるかどうかを確認するメッセージが表示されます。
|
-
移行プロセスを完了するために、ターゲットサーバーを再起動します。ソースサーバーとターゲットサーバーが同じコンピュータで実行されていて、異なるポートバインドを使用している場合は、ソースサーバーを停止し、目的のポートでターゲットサーバーを起動します。
タスクの結果
これにより、ファイルに定義されている接続情報に沿って、データベースに保存されているMDMインスタンスがソースサーバーからターゲットサーバーに移行されます。