この章では、WebLogic Serverドメインをドメイン・パーティションに移行する方法について説明します。Domain to Partition Conversion Tool (D-PCT)で、既存のアプリケーションおよびリソースを非マルチテナント・ドメインからマルチテナント・ドメイン・パーティションに移行できます。
この章の内容は次のとおりです。
WebLogic Server Multitenant (MT)では、1つのWebLogic Serverドメイン内において複数の独立したパーティションがサポートされます。パーティションによってアプリケーション、リソース、セキュリティなどを同じドメイン内の他のパーティションから分離できます。WebLogic Server MTの構成の詳細は、「WebLogic Server Multitenant (MT)の構成: 全体像」を参照してください。
Domain to Partition Conversion Tool (D-PCT)で、既存のWebLogic Server 10.3.6、12.1.2、12.1.3または12.2.1ドメインをWebLogic Server 12.2.1ドメインのパーティションに移行できます。このツールは、エクスポート・ツールとインポート・ツールの2つのコンポーネントで構成されています。エクスポート・ツールはソース・ドメインをホストするWebLogic Serverインストールで使用され、インポート・ツールはターゲットWebLogic Server 12.2.1インストールで使用されます。
このツールを使用して、パーティション、リソース・グループおよびリソース・グループ・テンプレートを作成および構成できます。デフォルトでは、このツールですべてのアプリケーション、ライブラリおよびリソースが新規パーティションに移動されます。オプションで、個々のアプリケーション、ライブラリおよびリソースを選択するメカニズムも提供されます。
注意: ドメインのクラスタおよびサーバーの構成はパーティションに適用されません。したがって、新規12.2.1パーティションにマップされません。 |
このツールを構成する前に、次の前提条件を満たす必要があります。
ターゲット・ドメインはWebLogic Server 12.2.1インストールで構成されている必要があります。
JDK 8をダウンロードし、ソース・ドメインのホスト・マシンにインストールする必要があります。これは、WebLogic Server 10.3.6でエクスポート・ツールを実行するために必要です。
パッチ22644507
をダウンロードし、ターゲットWebLogic Server 12.2.1インストールにインストールします。このパッチによってパーティションのインポート機能が正しく動作します。このパッチは、My Oracle Support (http://support.oracle.com
)でパッチIDを指定してダウンロードできます。
OPatchを使用してこのパッチをインストールすることをお薦めします。詳細は、OPatchを使用したパッチ適用の「OPatchについて」を参照してください。
ターゲットWebLogic Server 12.2.1ドメインが稼働している必要があります。
ドメインからパーティションに直接変換し、JSONファイルに基づいた仮想ターゲットの作成がインポート・ツールで正しく行えるようにするには、ターゲット・ドメインとソース・ドメインのクラスタ名とサーバー名が同一であることが重要です。
デフォルトでは、インポート・ツールはJSONファイルで指定されている名前およびターゲットを使用して仮想ターゲットを作成します。ただし、インポート操作の前に仮想ターゲットを手動で構成することをお薦めします。インポートの前に仮想ターゲットを事前構成する場合、必ずJSONファイルのpartition
属性を変更し、このパーティションで使用するターゲット・ドメインに作成した既存の仮想ターゲットの名前を指定する必要があります。
インポート操作を使用して新規パーティションを作成する前に、新規ドメインのサーバー、クラスタ、仮想ターゲットおよびセキュリティ・レルムをソース・ドメインと同じ構成にしていることを確認する必要があります。パーティションのインポートの詳細は、「パーティションのエクスポートおよびインポート」を参照してください。
Domain to Partition Conversion Toolの構成の主な手順は次のとおりです。
次のタスクを実行して、WebLogic Serverドメイン・アプリケーション環境のエクスポートを準備します。
ドメイン・エクスポート・ツールzipディストリビューションを、ソースWebLogic Serverドメインが構成されているホスト・マシンにダウンロードします。ドメイン・エクスポート・ツールは、次の場所のOTNからダウンロードできます。
http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
ダウンロードしたwls1221_D-PCTx.zip
ファイルを解凍します。このファイルは、希望のディレクトリに解凍できます。エクスポート・ツール用に別途ディレクトリを作成することをお薦めします。エクスポート・ツールzipディストリビューションをこのディレクトリに解凍し、そこからエクスポート・ツール・スクリプトを実行する必要があります。
zipディストリビューションは次のファイルで構成されています。
README.txt - Domain to Partition Conversion Toolのインストールおよび実行に関するドキュメントを含むファイル。
exportDomainForPartition.sh
- ドメイン・アプリケーションをエクスポートするためにソースWebLogic Serverドメインで実行するスクリプト(UNIX)。
exportDomainForPartition.cmd
- ドメイン・アプリケーションをエクスポートするためにソースWebLogic Serverドメインで実行するスクリプト(Windows)。
com.oracle.weblogic.management.tools.migration.jar
- ドメイン・アーカイブ・ファイルへのソース・ドメインのエクスポートに使用されるPythonスクリプトおよびJavaクラスを含むJARファイル。
注意: com.oracle.weblogic.management.tools.migration.jar 内のクラスはJDK 8でビルドされています。したがって、WebLogic Server 10.3.6でエクスポート・ツールを実行する場合、エクスポート・スクリプトはJDK 8との組合せで実行する必要がありますが、これは、WebLogic Server 10.3.6インストールで通常使用されるJDKのバージョンではないことがあります。エクスポート・スクリプトを実行する前に、JAVA_HOME変数を適切に設定していることを確認します。 |
パーティション・アーカイブ・ファイル内の属性を暗号化するための暗号化鍵として使用する文字列を含むキー・ファイルを作成します。パスは管理サーバーによってアクセス可能である必要があります。鍵の文字列のサイズは、1-32文字です。
WebLogic Serverドメイン・アプリケーションをエクスポートするには、ソースWebLogic Serverドメイン管理サーバーが存在するホスト・マシンでエクスポート・スクリプトを実行する必要があります。
UNIXでこのスクリプトに渡される引数の構文は、次のとおりです。
exportDomainForPartition.sh ORACLE_HOME DOMAIN_HOME [keyFile] [TOOL_JAR] [app_name] [INCLUDE_APP_BITS={true|false}]
Windowsでこのスクリプトに渡される引数の構文は、次のとおりです。
exportDomainForPartition.cmd ORACLE_HOME DOMAIN_HOME [keyFile] [TOOL_JAR] [app_name] [INCLUDE_APP_BITS={true|false}]
Windowsでスクリプトを実行する前に、次のタスクを実行します。
コマンド・シェルを開き、エクスポート・ツール・ディストリビューションを解凍したディレクトリに移動します。
JAVA_HOME環境変数をJDK 8インストールのパスに設定します。次に例を示します。
C:\> set JAVA_HOME=C:\jdk1.8.0
注意: エクスポート操作時、ソース・ドメインで構成を変更しないことをお薦めします。 |
このスクリプトは、次の表に説明されている引数を受け入れます。
引数 | 説明 |
---|---|
ORACLE_HOME
|
WebLogic ServerがインストールされているOracleホーム・ディレクトリの名前。
この引数は、 |
DOMAIN_HOME
|
ソースWebLogic Serverドメインのフルパス。
この引数は、 |
keyFile
|
オプション。パーティション・アーカイブ・ファイル内の属性を暗号化するための暗号化鍵として使用する文字列を含むファイルへのフルパス。パスは管理サーバーによってアクセス可能である必要があります。 |
TOOL_JAR
|
com.oracle.weblogic.management.tools.migration.jar ファイルのパス。jarファイルがexportDomainForPartition.sh スクリプトと同じディレクトリにある場合、この引数はオプションです。 |
app_name
|
オプション。エクスポートするアプリケーション名のリスト。指定しない場合、ドメイン内のすべてのアプリケーションがエクスポートされます。 |
INCLUDE_APP_BITS |
オプション。アプリケーション・バイナリ・ファイルがアーカイブ・ファイルに含まれているかどうかを示すフラグ。この値のデフォルトはtrue で、バイナリ・ファイルが含まれていることを意味します。false の場合は、除外されます。 |
WebLogic Serverドメイン・アプリケーションのエクスポート: 例
例19-1 UNIXでのドメインのエクスポート・スクリプトの実行
次の例では、UNIXでパス/Oracle_Home/user_projects/domains/base_domain
からドメインをエクスポートします。引数/usr/myUserKeyFile
は暗号化鍵ファイルのパスで、download/com.oracle.weblogic.management.tools.migration.jar
はエクスポート・ツールjarファイルのパスです。
exportDomainForPartition.sh /Oracle_Home /Oracle_Home/user_projects/domains/base_domain /usr/myUserKeyFile /download/com.oracle.weblogic.management.tools.migration.jar
例19-2 Windowsでのドメインのエクスポート・スクリプトの実行
次の例では、WindowsでパスOracle_Home\\user_projects\\domains\\base_domain
からドメインをエクスポートします。引数myKeyfile
は暗号化鍵ファイルで、oracle.weblogic.management.tools.migration.jar
はエクスポート・ツールjarファイルです。
exportDomainForPartition.cmd C:\\Oracle_Home C:\\Oracle_Home\\user_projects\\domains\\base_domain myKeyfile C:\\com.oracle.weblogic.management.tools.migration.jar
注意: Windowsコマンド・シェルでドメインのエクスポート・スクリプトを実行する場合、パス区切りをエスケープする必要があります。 |
WebLogic Serverドメイン・アプリケーションのエクスポート操作時、JSONテキスト・ファイルが生成され、アーカイブ・ファイルおよび編集および変更が可能な別ファイルとして格納されます。このファイルでは、インポート操作時に作成されるパーティションのデフォルト値が指定されます。ただし、JSONファイルを編集してデフォルト値をオーバーライドできます。たとえば、JSONファイルでデフォルト仮想ターゲット名を指定します。別の名前の仮想ターゲットを作成する場合、JSONファイルを編集してvirtual-target
セクションの値を変更します。
次の例に、エクスポート・ツールで生成されるサンプルJSONファイルを示します。この例では、JSONファイル・オブジェクトと属性の両方およびそのオーバーライド方法を示します。
{ "virtual-target" : [ { "name":"${PARTITION_NAME}-AdminServer-virtualTarget" , "target":"AdminServer" , "uri-prefix":"/${PARTITION_NAME}" } ] "app-deployment": [{"name":"testApp1
","exclude-from-import":"false
"}], "persistence-store": [{"name":"WseeSoapjmsFileStore_auto_1
","exclude-from-import":"false
"},{"name":"WseeSoapjmsFileStore_auto_2
","exclude-from-import":"false
"}], "jms-server": [{"name":"WseeSoapjmsJmsServer_auto_1
","exclude-from-import":"false
"},{"name":"WseeSoapjmsJmsServer_auto_2
","exclude-from-import":"false
"}], "jms-system-resource": [{"name":"testJMSModule
", "exclude-from-import":"false
", "sub-deployment":[{"name":"testJmsServer
","exclude-from-import":"false
"}]}, {"name":"WseeSoapjmsJmsModule
","exclude-from-import":"false
", "sub-deployment":[{"name":"WseeSoapjmsJmsServer649564037
","exclude-from-import":"false
"}]}], "resource-group-template" : { "name":"${PARTITION_NAME}-RGTemplate" }, "partition" : { "default-target" : [ {"virtual-target":{ "name":"${PARTITION_NAME}-AdminServer-virtualTarget" }} ], "jdbc-system-resource-override" : [ { "name":"MedRecGlobalDataSourceXA
" , "url":"__EXISTING_VALUE__" , "user" : "__EXISTING_VALUE__" , "password-encrypted" : "__EXISTING_VALUE__" } ], "jms-system-resource-override":[ {"name":"testJMSModule
", "foreign-server-override":[ {"name":"ForeignServer1
", "foreign-destination-override":[ {"name":"ForeignDestination1
", "remote-jndi-name":"__EXISTING_VALUE__"}, {"name":"ForeignDestination2
", "remote-jndi-name":"__EXISTING_VALUE__"}], "foreign-connection-factory-override":[ {"name":"ForeignConnectionFactory1
", "remote-jndi-name":"__EXISTING_VALUE__", "username":"__EXISTING_VALUE__" }] }] }], "realm":"__EXISTING_VALUE__", "available-target":[ {"virtual-target":{ "name":"${PARTITION_NAME}-AdminServer-virtualTarget" }} ] } }
次の表では、JSONファイルで編集および変更できるオブジェクトと属性について説明します。
JSONファイルの編集可能なオブジェクトと属性 | 注意 |
---|---|
ルート・レベル・オブジェクト"virtual-target" | デフォルトでは、インポート・ツールはサンプル・ファイルに示しているように仮想ターゲットを作成します。インポート操作の前に仮想ターゲットを手動で構成することをお薦めします。仮想ターゲットの構成の詳細は、「仮想ターゲットの構成」を参照してください。
インポート操作時仮想ターゲットの自動作成をスキップするには、このオブジェクトと関連する値を必ず削除します。 |
オブジェクト"partition" | このオブジェクトでは、パーティションの作成に必要な要素と値を指定します。
このパーティションの仮想ターゲットを手動ですでに作成している場合、"virtual-target"値("default-target"および"available-target"内)を既存の仮想ターゲットの名前に置き換えます。 |
オブジェクト"resource-group-template" : | デフォルト・リソース・グループ・テンプレート名をオーバーライドするには、"name"値を編集します。 |
属性"exclude-from-import" | この属性で特定のオブジェクトまたはリソースをパーティションへのインポートから除外するかどうかが決まります。パーティションでのJMSおよびJDBCリソース・ターゲット指定の制限事項については、「ドメイン・パーティションへのWebLogic Serverドメインの移行: 制限事項」を参照してください。
この値を |
ドメイン・アプリケーション・アーカイブ・ファイルをインポートする前に、ターゲットWebLogic Server 12.2.1ドメインが稼働していることを確認します。
WebLogic Server 12.2.1ドメインに新規パーティションを作成し、アプリケーション・アーカイブ・ファイルを新たに作成したドメイン・パーティションにインポートするには、オンライン・モードでWLSTコマンドを使用して次の手順を実行します。
次の例に示すように、ドメイン・アーカイブ・ファイルをインポートするターゲットWebLogic Serverドメインに接続します。
connect('user', 'mypassword', 't3://myserver:7001')
次の構文を使用してimportPartition
コマンドを実行します。
importPartition( archiveFileName , partitionName , createRGT=true|false , userKeyFile )
コマンドは非同期であり、ImportExportPartitionTaskMBeanを戻します。このコマンドを次のように使用して、インポート操作の結果を取得できます。
result = importPartition( .... )
print result.getState()
を使用してインポートの結果の状態を取得したり、print result.getError()
を使用してインポートが失敗した場合のエラー・メッセージを表示できます。このコマンドの詳細は、WebLogic Server WLSTコマンド・リファレンスを参照してください。
次の表でimportPartition
コマンドに指定する必要のある引数について説明します。
引数 | 説明 |
---|---|
archiveFileName
|
インポートするドメイン・アーカイブ・ファイルのフルパス。
このコマンドでは、ドメイン・アーカイブ・ファイルの指定された場所で<domain name> |
partitionName
|
ターゲット・ドメインに作成されるパーティションの名前。 |
createRGT
|
アーカイブ・ファイル内のすべてのリソースに対してリソース・グループ・テンプレートを作成するかどうかを示すフラグ。
リソース・グループ・テンプレートを作成する場合は |
userKeyFile
|
エクスポート操作時に指定されたのと同じクリアテキスト・パスフレーズを含むユーザー・キー・ファイルの絶対パス。このファイルは、アーカイブ・ファイル内の属性の復号に使用されます。 |
ドメイン・パーティションへのアプリケーション・アーカイブのインポート: WLSTの例
次のWLSTコマンドでは、outDir/<domain>.zip
アーカイブ・ファイルをtestPartition
という名前の新規パーティションにインポートします。リソース・グループ・テンプレートも作成され、/usr/myUserKeyFile
が暗号化鍵として使用されます。
wls:/wsDomain/> importPartition( '/outDir/<domain>.zip', 'testPartition', true, '/usr/myUserKeyFile' )
Domain to Partition Conversion Toolの構成の制限事項は次のとおりです。
ツールではWebLogic Server 12.2.1ドメインのWebLogic Server 12.2.1ドメイン・パーティションへの移行はサポートされますが、ソース・ドメイン内の既存のリソース・グループはスキップされ、含まれません。
ライブラリおよびリソースの新規リリースへのドメイン・アップグレードは、インポート時サポートされません。管理者およびユーザーは、アーカイブ・ファイルのエクスポートの前にソース・ドメインからの必要なドメイン・アップグレードを行う必要があります。
アプリケーションのランタイム状態もアプリケーションに固有のランタイム構成もアーカイブ・ファイルにエクスポートされません。たとえば、キュー内のJMSメッセージや組込みLDAPレルム内のユーザーはエクスポートされません。
12.2.1より前のバージョンのWebLogic Serverでコンパイルされたリモート・クライアントは、パーティションにデプロイされているJNDIリソースをルックアップできません。WebLogic Serverバージョン12.2.1以上で再コンパイルする必要があります。
ソース・ドメイン内のクラスタまたは移行可能なターゲットにターゲット指定されたJMSおよびJDBCリソースをインポートする際の制限事項:
リソース・グループ内の複数のJMSリソースが複数の仮想ターゲットをターゲットとすることはできません。すべてのJMSファイル・ストアで同じ分散ポリシーを使用する必要があります。
JDBCでは、WebLogic Server Multitenantでのロギング・ラスト・リソース(LLR)機能の使用はサポートされません。このオプションを使用したデータ・ソースは代替設定を使用するよう変換する必要がありますが、この代替設定では十分ではない場合もあります。
エラーが発生しないよう、これらの制限事項に該当するJMSおよびJDBCリソースは、JSONファイルでexclude-from-import
属性を使用してインポートから除外する必要があります。このようなリソースは、アプリケーションでの必要に応じてパーティション内に手動で作成する必要があります。
次の表は、パーティションへのWebLogic Serverドメインの移行でサポートされる事例およびサポートされない事例の一覧です。
表19-1 移行の事例
ソース | ターゲット | ステータス |
---|---|---|
JMSサーバーなしの単一サーバー |
単一サーバーをターゲットとする仮想ターゲット |
サポート対象 |
JMSサーバーが1つある単一サーバー |
単一サーバーをターゲットとする仮想ターゲット |
サポート対象 |
JMSサーバーなしの単一サーバー |
クラスタをターゲットとする仮想ターゲット |
サポート対象 |
JMSサーバーが1つある単一サーバー |
クラスタをターゲットとする仮想ターゲット |
サポート対象 |
JMSサーバーなしのクラスタ |
単一サーバーをターゲットとする仮想ターゲット |
サポート対象 |
(Windows)JMSサーバーなしのクラスタ |
クラスタをターゲットとする仮想ターゲット |
サポート対象 |
WindowsからLinuxへのクロス・プラットフォームのドメイン移行 |
単一サーバーをターゲットとする仮想ターゲット |
サポート対象 |
JMSサーバーが複数あるクラスタ |
単一サーバーをターゲットとする仮想ターゲット |
サポート対象外 |
JMSサーバーが複数あるクラスタ |
クラスタをターゲットとする仮想ターゲット |
サポート対象外 |