パーティションをエクスポートおよびインポートすると、あるドメインから別のドメインにパーティションを簡単に移動できます(パーティションにデプロイされたアプリケーションを含む)。この機能は、ドメイン間でのパーティションのレプリケート、および開発環境から本番環境へのドメインの移動に役立ちます。
この章の内容は次のとおりです。
システム管理者は、WLST (オンラインまたはオフライン)、Representational State Transfer (REST) API (オンラインのみ)またはWebLogic Server管理コンソール(オンラインのみ)を使用して、ドメイン・パーティションをエクスポートし、すでにエクスポートしたパーティションを別のドメインにインポートできます。
次の項では、エクスポート操作とインポート操作の詳細を説明します。
パーティションがソース・ドメインからエクスポートされるとき、次のものがパーティション・アーカイブ・ファイルとしてパッケージ化されます。
パーティション構成
パーティションに含まれるすべてのリソース・グループ
これらのリソース・グループによって参照されるすべてのリソース・グループ・テンプレート
パーティションのファイル・システムのコンテンツ、<partition-file-system>/configディレクトリ
オプションで、パーティションにデプロイされたアプリケーションのアプリケーション・バイナリ・ファイルおよび構成
アプリケーション・ランタイムの状態およびアプリケーション固有のランタイム構成は、パーティション・アーカイブ・ファイルには含まれません。他には、キュー内のJMSメッセージ、組込みLDAPレルム内のユーザーなどがエクスポートされません。
WLSTのexportPartitionコマンドを使用して、パーティション・アーカイブ・ファイル(<PartitionName.zip)を作成できます。これは、パーティションの構成および(オプションで)パーティションのアプリケーションとライブラリをアーカイブ・ファイルにコピーします。このコマンドによって、インポート時にパーティションの構成を変更するために使用できるattributes.jsonファイルも作成されます。
コマンドの構文は次のようになります。
exportPartition(partitionName, expArchPath, [includeAppsNLibs], [keyFile])
partitionNameはエクスポートするパーティションの名前、expArchPathはパーティション・アーカイブ・ファイルを保存するディレクトリへのフルパス、includeAppsNLibs (オプション)はアプリケーションおよびライブラリのバイナリ・ファイルをパーティション・アーカイブ・ファイルに含めるかどうかを指定し、keyFile (オプション)はパーティション・アーカイブ・ファイル内の属性を暗号化するための暗号化鍵として使用する文字列を含むファイルへのフルパスを指定します。「ドメイン・パーティションのエクスポート: WLSTの例」を参照してください。
パーティション・アーカイブは、次の特定のパーティション関連ファイルを含む.zipファイルです。
| ファイルおよびディレクトリ | 説明 |
|---|---|
|
|
|
アーカイブ・ファイルのタイムスタンプおよびドメイン情報が含まれます。 |
|
パーティションのインポート中に管理者が変更できるMBean属性およびプロパティが含まれます。アーカイブ・ファイルに含まれる以外に、このファイルのコピーは更新を簡易化するためにファイル・システムのアーカイブ・ファイルにも配置されます。 |
|
暗号化および暗号化された属性の復号化に使用される暗号化された秘密鍵が含まれます。 |
|
このパーティションに関連付けられているリソース・グループ・テンプレートに関連するファイルが含まれます。 |
|
|
|
|
|
リソース・グループ・テンプレート・レベルのバイナリ・ファイルが含まれます。 |
|
リソース・グループ・レベルのアプリケーション・バイナリ・ファイルが含まれます。 |
パーティションをインポートする前提条件として、サーバー・インスタンスにドメインが構成されている必要があります。パーティションを新しいドメインにインポートする場合は、新たにインポートされたパーティションが認識されるように、一部の外部システムを構成することが必要となることがあります。パーティション・アーカイブ・ファイルのインポート中に、システム管理者は、ドメイン(仮想ターゲット、セキュリティ・レルムおよびリソース・グループ・テンプレートなど)での依存性を更新し、オプションで、パーティション構成の他の属性(パーティション・プロパティ、JDBC、JMSおよびリソース・グループ内の他のリソースなど)も更新して有効にする必要がある場合があります。また、新しいパーティションにアプリケーションおよびシステム・リソースをデプロイする必要があります。
システム管理者は、インポート処理の実行中に、ターゲット・ドメインに適するように属性が変更された<PartitionName>-attributes.jsonファイルを指定して、パーティション構成の特定の部分をオーバーライドできます。ただし、name属性の値の変更はサポートされていません。たとえば、次のサンプル<PartitionName>-attributes.jsonの"name" : "P1"は変更できません。
{
"partition" : {
"name" : "P1",
"jdbc-system-resource-override" : {
"URL" : "url.com",
"Id" : "0",
"name" : "test123",
"CachingDisabled" : "false",
"Registered" : "false",
"User" : "test123",
"DynamicallyCreated" : "false",
"DataSourceName" : "test-source"
},
"resource-group-template" : {
"name" : "RGT1",
"jdbc-system-resource" : {
"name" : "jdbc1",
"descriptor-file-name" : "jdbc/P1DB1-8882-jdbc.xml"
}
"jms-server-resource" : {
"name" : "jms1",
"PagingDirectory" : ""
}
}
}
前述の例では、すべてのJDBCSystemResourceOverrideMBean属性は、現在の値とともに<PartitionName>-attributes.jsonファイルにコピーされます。
リソース・グループ・テンプレートがすでにターゲット・ドメインに存在する場合、createNewオプションを使用して、既存のリソース・グループ・テンプレートを上書きし、新しい名前で新しいリソース・グループ・テンプレートを作成する必要があります。(「ドメイン・パーティションのインポート: 主な手順」の手順2を参照してください。)
ドメイン・パーティションをエクスポートすると、パーティションおよびリソース・グループ・テンプレート構成の属性がattributes.jsonファイルに存在します。エクスポートされるパーティションで参照されるシステム・リソースもattributes.jsonに表示されます。
WebLogic Server MTを使用するとパーティションのすべてのシステム・リソース属性をJSONファイルにエクスポートできるため、これらの属性を変更してパーティションとともにインポートできます。システム・リソースをオーバーライドできることは、パーティションにリソース・グループとそのリソース・グループに直接デプロイされているシステム・リソースがあるPaaSユースケースでとりわけ役立ちます(リソース・グループが通常はリソース・グループ・テンプレートから導出されるSaaSユースケースと比較して)。
注意:
パーティション属性をオーバーライドする場合は注意が必要です。加えた変更と全体の構成に矛盾がある場合、起動時またはその後に構成検証の問題が発生する可能性があります。次のattributes.jsonファイルは、JDBCシステム・リソース要素の例を示します。
"jdbc-system-resource": {
"name": "mydb",
"jdbc-data-source": {
"@xmlns": "http:\/\/xmlns.oracle.com\/weblogic\/jdbc-data-source",
"@xmlns:sec": "http:\/\/xmlns.oracle.com\/weblogic\/security",
"@xmlns:wls": "http:\/\/xmlns.oracle.com\/weblogic\/security\/wls",
"@xmlns:xsi": "http:\/\/www.w3.org\/2001\/XMLSchema-instance",
"@xsi:schemaLocation": "http:\/\/xmlns.oracle.com\/weblogic\/jdbc-data-source http:\/\/xmlns.oracle.com\/weblogic\/jdbc-data-source\/1.0\/jdbc-data-source.xsd",
"name": "mydb",
"jdbc-driver-params": {
"url": "jdbc:derby:memory:mydb",
"properties": {"property": [
{
"name": "user",
"value": "scott"
},
{
"name": "databaseName",
"value": "prodMydb"
}
]},
"password-encrypted": "{AES}LbwIP8Ca\/RYAv4z599NAqM0eyHCcCl2um3gR6tziNpM="
}
}
}
たとえば、リソースが本番ドメインに適したものにするために、ユーザー値をscottからScottProd(本番ドメインのユーザー)に、URLをjdbc:derby:memory:mydbからjdbc:derby:memory:dbprodに編集できます。パーティションをインポートすると、システム・リソースにはattributes.jsonファイルに含まれている新しい値が反映されます。
パスワードは暗号化されてエクスポートされます。インポート後、パスワードはconfig.xmlファイルに配置され、インポート・ドメインのドメイン固有のキーにより暗号化されます。パスワードを変更する必要がある場合は、次の手順を実行する必要があります。
パーティションがインポートされるドメインからweblogic.security.Encryptユーティリティを使用して、新しい暗号化されたパスワードを作成します。
JSONファイルのパスワードを手順1で作成したパスワードで置き換えます。
パーティションをインポートします。
インポート後は、JSONファイルに格納したパスワードがシステム・リソースに対して使用されます。
パーティションがエクスポートされる場合は、エクスポート処理のincludeAppsオプションの値によって、アプリケーション・バイナリ・ファイルがパーティション・アーカイブ・ファイルに含まれるかどうかが判断されます。includeAppsがtrueの場合は、バイナリ・ファイルが含まれます。falseの場合は、除外されます。<PartitionName>-attributes.jsonファイルには、アプリケーションまたはライブラリのソース・パス、デプロイメント・プランのパスおよびステージング・モードの属性が含まれます。これらの属性は、<PartitionName>-attributes.jsonファイルで変更できます。
includeAppsオプションは、アプリケーションのインポート時のデプロイ方法にも影響します。
true (デフォルト)の場合、リソース・グループ・テンプレート・レベルのアプリケーションかリソース・グループ・レベルのアプリケーションかに応じて、デプロイメント・ファイルは<domain-dir>/<server>/uploadまたは<partition-dir>/<server>/uploadにコピーされ、元のステージング・モードを使用してデプロイされます。ステージング・モードがNOSTAGEまたはEXTERNAL (ターゲット・サーバー上)の場合、システム管理者は、ターゲット・ドメインの正しい場所からアプリケーションを使用できるようにする必要があります。
falseの場合、システム管理者は、ターゲット・ドメインの正しい場所からアプリケーションを使用できるようにする必要があります。
エクスポート処理中に、新しい秘密鍵が生成され、エクスポートされた<PartitionName>.zipファイルのexpPartSecretファイルに保存されます。partition-config.xmlファイルの暗号化されたすべての属性および<PartitionName>.zipの一部であるシステム・リソース・ディスクリプタは、expPartSecretファイルの新しい秘密鍵で暗号化されます。または、keyFileオプションでユーザー独自の秘密鍵を使用することもできます。
インポート処理中に、パーティション全体が読み取られ、<PartitionName>-attributes.jsonファイルに従って属性が変更された後、暗号化された属性は次の手順を使用して処理されます。
エクスポートされた.zipのexpPartSecretファイルの秘密鍵が読み取られます。
秘密鍵は、2番目の鍵(WebLogic Serverソースのデフォルトの鍵またはインポートするkeyFileオプションで指定された鍵のいずれか)を使用して復号化されます。ユーザーが指定した鍵はインポートで使用した鍵と一致する必要があります。
(エクスポート処理で読み取られて変更された)パーティションのMBeanの暗号化されたすべての属性が、expPartSecretファイルから読み取られた鍵を使用して復号化されます。
パーティションのMBeanの暗号化されたすべての属性が、インポートされたドメインのドメイン固有の鍵(SerializedSystemIni.dat)を使用して暗号化されます。
ドメイン・パーティション(ソース・ドメイン)をその構成およびデータ全体とともにパーティション・アーカイブ・ファイルとしてエクスポートできます。構成に多くの変更を加えることなく、パーティション・アーカイブ・ファイルをWebLogic Server MT (ターゲット・ドメイン)の別のインスタンスにインポートできます。
仮想ターゲットやセキュリティ・レルムなどのドメインの依存性を更新し、オプションでパーティション構成の他の属性を更新して有効にする必要がある場合があります。
ドメイン・パーティションをエクスポートする前に、最初に1つを作成またはインポートする必要があります。
ドメイン・パーティションをエクスポートする主な手順は次のとおりです。
次のWLSTコマンドは、partition-1を/var/tmpディレクトリにエクスポートします。アプリケーションおよびライブラリのバイナリ・ファイルは含まれません。/home/foo/mykeyfileは、mykeyfile暗号化鍵へのパスです。
wls:/mydomain/serverConfig> exportPartition("partition-1", "/var/tmp/", false, "/home/foo/mykeyfile")
ドメイン・パーティションをインポートする前に:
先にドメイン・パーティション(ソース・ドメイン)をパーティション・アーカイブ・ファイルにエクスポートしておく必要があります。
サーバー・インスタンスにはドメイン(ターゲット・ドメイン)が構成されている必要があります。
ドメイン・パーティションをインポートする主な手順は次のとおりです。
『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のドメイン・パーティションのエクスポートに関する項およびドメイン・パーティションのインポートに関する項
『Oracle WebLogic Server Administration Consoleオンライン・ヘルプ』のパーティションのエクスポートに関する項およびパーティションのインポートに関する項