Oracle WebLogic Server でのドメインの移行方法としては pack/unpack コマンドが提供されています。
新たにリリースされた WebLogic Deploy Tooling (WDT) では、ドメインの移行(新規作成)だけでなく、既存のドメインに対してアプリケーションや JDBC データソースのみを移行することも可能です。
本記事では WDT の基本的な使用方法をご紹介します。
WebLogic Deploy Tooling(WDT) とは
WDT はシェルスクリプトとして提供されているツールであり、内部的には WebLogic Scripting Tool (WLST) が使用されています。
WDT を使用することで、対象の環境に存在するドメインの構成情報を YAML または JSON 形式のメタデータとして抽出し、アプリケーションをアーカイブファイルとして抽出します。抽出したメタデータ情報は「モデル」と呼ばれます。
抽出したモデルやアーカイブファイルを使用して、異なる WebLogic Server 環境にドメインの構成を移行することが可能です。
以下が WDT でできる主な内容です。
- ドメインの構成情報を、モデルとアーカイブログとして抽出
- モデルを使用した、ドメインの移行(新規作成)
- モデルを使用した、ドメインの設定を移行(既存ドメインの更新)
- モデルとアーカイブファイルを使用した、アプリケーションの移行
WDT は WebLogic Server 10.3.6 以降で使用可能です。
移行元と移行先の WebLogic Server のバージョンが異なっていても、モデルやアーカイブファイルの移行が可能です。
また、WDT は GitHub にて公開されているオープンソースツールであり、追加ライセンス無しで利用できます。
pack/unpack コマンドとの違い
Oracle WebLogic Server でのドメインの移行方法としては pack/unpack コマンドが提供されています。
pack/unpack では行えず、WDTでのみできること
pack/unpack コマンドは、ドメインのテンプレートを作成して別環境に移行するという点は WDT と類似していますが、pack/unpack コマンドでは一部設定を変更して移行するといったことはできません。
また、pack/unpack コマンドでは既存のドメインに対して変更を行うことはできません。
WDT では行えず、pack/unpack でのみできること
現行の WDT では、複数ノードでドメインを構成するために管理対象サーバ用のテンプレートを作成するといった方法が用意されていません。
そのため、複数ノードでドメインを構成する際には従来どおり pack/unpack コマンドを使用する必要があります。
pack/unpack コマンドと WDT の違い まとめ
以下は pack/unpack コマンドと WDT の違いをまとめた表です。
| 行えることに違いがある項目 |
pack/unpack |
WDT |
| 一部設定を変更して移行する |
✕ |
○ |
| 既存のドメインに対して変更を反映させる |
✕ |
○ |
| 複数ノードにまたがるドメインを移行(新規作成)する |
○ |
✕ |
WDT のインストール方法
WDTを利用するには、移行元環境と移行先環境のそれぞれで、GitHub からファイルをダウンロードし、WebLogic Server のインストールユーザーがアクセス可能な任意のディレクトリに展開します。
▶GitHub の WDT ダウンロードページのURL
https://github.com/oracle/weblogic-deploy-tooling/releases/
ダウンロードするバージョンの「Assets」から「weblogic-deploy.tar.gz」または「weblogic-deploy.zip」をクリックするとダウンロードできます。
最新バージョンの使用を推奨します。(※執筆時点の2022年12月では2.4.2を利用しました)
サポートされる WebLogic Server のバージョン、および JDK の組み合わせについてはユーザーガイドの以下ページをご確認ください。
▶INSTALL WDT
Supported WLS versions
https://oracle.github.io/weblogic-deploy-tooling/userguide/install/
WDT を使用した、ドメインの移行(新規作成)方法
WDT を使用したドメインの移行(新規作成)の流れは以下のとおりです。
-
1.discoverDomain を実行し、モデルとアーカイブファイルを作成
-
2.作成したモデルとアーカイブファイルを移行先に転送
-
3.モデルを編集
-
4.createDomain を実行し、ドメインを作成
本記事では、WebLogic Server 12.2.1.4 に存在するドメインを、別サーバ上にインストールした WebLogic Server 14.1.1 に移行(新規作成)する例をご紹介します。
1) discoverDomain を実行し、モデルとアーカイブファイルを作成
移行元環境にて、環境変数の設定をした上で discoverDomain を実行して、モデルとアーカイブファイルを作成します。
$ <WDT の展開先ディレクトリ>/bin/discoverDomain.sh -oracle_home $MW_HOME -domain_home $DOMAIN_HOME -archive_file <アーカイブファイル名> -model_file <モデル名> -domain_type <ドメインのタイプ>
※1行で記載します。
※Windows 環境で実行する場合は discoverDomain.cmd を実行します。
※-domain-type で指定する <ドメインタイプ> の値は以下のとおりです。
スタンドアロンドメインの場合 :WLS
Full-JRF ドメインの場合 :JRF
Restricted-JRF ドメインの場合 :RestrictedJRF
(実行例)
$ JAVA_HOME=/home/wls1221/jdk8
$ MW_HOME=/home/wls1221/Oracle/Middleware/Oracle_Home
$ DOMAIN_HOME=/home/wls1221/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain
$ export JAVA_HOME
$ export MW_HOME
$ export DOMAIN_HOME
$ /home/wls1221/work/weblogic-deploy/bin/discoverDomain.sh -oracle_home $MW_HOME -domain_home $DOMAIN_HOME -archive_file kka1221.zip -model_file kka1221.yaml -domain_type WLS
JDK version is 1.8.0_311-b11
JAVA_HOME = /home/wls1221/jdk8
WLST_EXT_CLASSPATH = /home/wls1221/work/weblogic-deploy/lib/weblogic-deploy-core.jar
CLASSPATH = /home/wls1221/work/weblogic-deploy/lib/weblogic-deploy-core.jar
WLST_PROPERTIES = -Dcom.oracle.cie.script.throwException=true -Djava.util.logging.config.class=oracle.weblogic.deploy.logging.WLSDeployLoggingConfig
/home/wls1221/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/wlst.sh /home/wls1221/work/weblogic-deploy/lib/python/discover.py -oracle_home /home/wls1221/Oracle/Middleware/Oracle_Home -domain_home /home/wls1221/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain -archive_file kka1221.zip -model_file kka1221.yaml -domain_type WLS
WebLogic Scripting Tool(WLST)を初期化しています...
WebLogic Server Administration Scripting Shellへようこそ
使用可能なコマンドに関するヘルプを表示するには、help()と入力してください
####<2022/12/19 18:02:53> <情報> <WebLogicDeployToolingVersion> <logVersionInfo> <WLSDPLY-01750> <The WebLogic Deploy Tooling discoverDomain version is 2.4.2:.53376e2:Nov 10, 2022 20:59 UTC>
####<2022/12/19 18:02:53> <情報> <WLSDeployLoggingConfig> <logLoggingDirectory> <WLSDPLY-01755> <The discoverDomain program will write its log to directory /home/wls1221/work/weblogic-deploy/logs>
####<2022/12/19 18:02:53> <情報> <ModelContext> <__copy_from_args> <WLSDPLY-01050> <WebLogic version for aliases is 12.2.1.4.0>
:
###<2022/12/19 18:02:59> <情報> <filter_helper> <apply_filters> <WLSDPLY-20016> <No filters of type discover found in filter configuration file /home/wls1221/work/weblogic-deploy/lib/model_filters.json>
####<2022/12/19 18:02:59> <情報> <variable_injector> <inject_variables_keyword_file> <WLSDPLY-19519> <No variables were inserted into the model during variable replacement>
Issue Log for discoverDomain version 2.4.2 running WebLogic version 12.2.1.4.0 offline mode:
Total: WARNING : 0 SEVERE : 0
discoverDomain.sh completed successfully (exit code = 0)
$
$ ls -la
合計 12
drwxrwxr-x. 2 wls1221 wls1221 45 12月 19 18:02 .
drwxrwxr-x. 8 wls1221 wls1221 4096 12月 19 17:39 ..
-rw-r-----. 1 wls1221 wls1221 1337 12月 19 18:02 kka1221.yaml
-rw-r-----. 1 wls1221 wls1221 2202 12月 19 18:02 kka1221.zip
$
実行結果の以下の箇所で、正常に完了しているかが確認可能です。
Total: WARNING : 0 SEVERE : 0
discoverDomain.sh completed successfully (exit code = 0)
2) 作成したモデルとアーカイブファイルを移行先環境に転送
手順 1) で作成したモデルとアーカイブファイルを、SCP などを使用して移行先環境に転送します。
3) モデルを編集
モデルにはドメインの構成情報が記載されていますが、管理ユーザーやパスワード、JDBC データソースの接続先 DB ユーザーのパスワードなどについては記載されていません。
そのため、移行先環境に転送したモデルをテキストエディタで開き、管理ユーザーやパスワード、JDBC データソースの接続先 DB ユーザーのパスワード、ノードマネージャのパスワードを記載します。
また、移行先環境でドメイン名や管理対象サーバ名、ポート番号などを変更したい場合はあわせて変更後の名称を記載します。以下の例では「base_domain」というドメイン名から「test_domain」というドメイン名に変更しています。
(変更前の例)
$ vi kka1221.yaml
domainInfo:
AdminUserName: --FIX ME--
AdminPassword: --FIX ME--
topology:
Name: base_domain
DomainVersion: 12.2.1.4.0
NMProperties:
JavaHome: /home/wls1221/jdk8
:
resources:
JDBCSystemResource:
JDBC Data Source-test:
Target: Server1
JdbcResource:
DatasourceType: GENERIC
JDBCConnectionPoolParams:
TestTableName: SQL ISVALID
JDBCDriverParams:
URL: jdbc:oracle:thin:@//weboel8:1521/v19
PasswordEncrypted: --FIX ME--
DriverName: oracle.jdbc.OracleDriver
Properties:
user:
Value: kka
:
(変更後の例)
domainInfo:
AdminUserName: 'weblogic'
AdminPassword: 'welcome1'
topology:
Name: test_domain
DomainVersion: 12.2.1.4.0
NMProperties:
JavaHome: /home/wls1221/jdk8
:
resources:
JDBCSystemResource:
JDBC Data Source-test:
Target: Server1
JdbcResource:
DatasourceType: GENERIC
JDBCConnectionPoolParams:
TestTableName: SQL ISVALID
JDBCDriverParams:
URL: jdbc:oracle:thin:@//weboel8:1521/v19
PasswordEncrypted: 'welcome2'
DriverName: oracle.jdbc.OracleDriver
Properties:
user:
Value: kka
:
なお、モデル内の「DomainVersion」に記載されている WebLogic Server のバージョン、「JavaHome」に記載されている JAVA_HOME のパスについては、変更は不要です。
4) createDomain を実行し、ドメインを作成
移行先環境にて環境変数の設定をした上で createDomain を実行し、ドメインを移行(新規作成)します。
$ <WDT の展開先ディレクトリ>/bin/createDomain.sh -oracle_home $MW_HOME -domain_parent <DOMAIN_HOMEの1つ上の階層のパス> -archive_file <アーカイブファイル名> -model_file <モデル名>
※1行で記載します。
※Windows 環境で実行する場合は createDomain.cmd を実行します。
※「-domain_parent」で指定したディレクトリが存在していない場合は、あらかじめ作成しておく必要があります。
(実行例)
$ JAVA_HOME=/home/wls1411/jdk8
$ MW_HOME=/home/wls1411/Oracle/Middleware/Oracle_Home
$ export JAVA_HOME
$ export MW_HOME
$ /home/wls1411/work/weblogic-deploy/bin/createDomain.sh -oracle_home $MW_HOME -domain_parent /home/wls1411/Oracle/Middleware/Oracle_Home/user_projects/domains -model_file /home/wls1411/work/kka_test/kka1221.yaml -archive_file /home/wls1411/work/kka_test/kka1221.zip
JDK version is 1.8.0_311-b11
JAVA_HOME = /home/wls1411/jdk8
WLST_EXT_CLASSPATH = /home/wls1411/work/weblogic-deploy/lib/weblogic-deploy-core.jar
CLASSPATH = /home/wls1411/work/weblogic-deploy/lib/weblogic-deploy-core.jar
WLST_PROPERTIES = -Dcom.oracle.cie.script.throwException=true
-Djava.util.logging.config.class=oracle.weblogic.deploy.logging.WLSDeployLoggingConfig
/home/wls1411/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/wlst.sh
/home/wls1411/work/weblogic-deploy/lib/python/create.py -oracle_home
/home/wls1411/Oracle/Middleware/Oracle_Home -domain_parent
/home/wls1411/Oracle/Middleware/Oracle_Home/user_projects/domains -model_file
/home/wls1411/work/kka_test/kka1221.yaml -archive_file /home/wls1411/work/kka_test/kka1221.zip
WebLogic Scripting Tool(WLST)を初期化しています...
WebLogic Server Administration Scripting Shellへようこそ
使用可能なコマンドに関するヘルプを表示するには、help()と入力してください
####<2022/12/19 21:14:06> <情報> <WebLogicDeployToolingVersion> <logVersionInfo> <WLSDPLY-01750> <The WebLogic Deploy Tooling createDomain version is 2.4.2:.53376e2:Nov 10, 2022 20:59 UTC>
####<2022/12/19 21:14:06> <情報> <WLSDeployLoggingConfig> <logLoggingDirectory> <WLSDPLY-01755> <The createDomain program will write its log to directory /home/wls1411/work/weblogic-deploy/logs>
####<2022/12/19 21:14:06> <情報> <ModelContext> <__copy_from_args> <WLSDPLY-01050> <WebLogic version for aliases is 14.1.1.0.0>
:
####<2022/12/19 21:14:14> <情報> <DatasourceDeployer> <_add_named_elements> <WLSDPLY-09606> <Adding Properties user to JDBCDriverParams>
####<2022/12/19 21:14:14> <情報> <ApplicationDeployer> <__add_applications> <WLSDPLY-09301> <Adding Application mywar to Domain test_domain>
Issue Log for createDomain version 2.4.2 running WebLogic version 14.1.1.0.0 offline mode:
Total: WARNING : 0 SEVERE : 0
createDomain.sh completed successfully (exit code = 0)
$
完了後、管理サーバや管理対象サーバを起動して移行が完了しているかを確認します。
WDT を使用した、既存ドメインに対する管理サーバや管理対象サーバの設定移行方法
WDT を使用した既存ドメインへの設定移行は、以下の流れで行います。
-
1.discoverDomain を実行し、モデルとアーカイブファイルを作成
-
2.作成したモデルとアーカイブファイルを移行先に転送
-
3.モデルを編集
-
4.updateDomain を実行し、管理サーバや管理対象サーバの設定を移行
1) discoverDomain を実行し、モデルとアーカイブファイルを作成
移行元環境にて、環境変数の設定をした上で discoverDomain を実行して、モデルとアーカイブファイルを作成します。
手順は「WDT を使用した、ドメインの移行(新規作成)方法」をご参照ください。
今回は「WDT を使用した、ドメインの移行(新規作成)方法」で作成したモデルとアーカイブファイルを使用します。
2) 作成したモデルとアーカイブファイルを移行先環境に転送
手順 1) で作成したモデルとアーカイブファイルを、SCP などを使用して移行先環境に転送します。
3) モデルを編集
移行先環境に転送したモデルをテキストエディタで開き、管理対象サーバ名、ポート番号など、移行先環境で変更したい項目や追加したい項目を変更、追記します。
また、あわせて JDBC データソースの移行を行う場合は、JDBC データソースの接続先 DB ユーザーのパスワードを記載します。
以下の例では、既存の管理対象サーバ(Server1)のポート番号の変更と、新たに管理対象サーバ(Server2)の追加を行い、それらの管理対象サーバに対して既存の JDBC データソースやアプリケーションをデプロイします。
なお、「domainInfo」や「topology」などで変更不要な項目は削除しても問題ありません。
(変更例)
$ vi kka1221.yaml
topology:
Server:
Server1:
ListenPort: 7003
Server2:
ListenPort: 7005
WebServer:
WebServerLog:
NumberOfFilesLimited: false
resources:
JDBCSystemResource:
JDBC Data Source-test:
Target: Server1,Server2
JdbcResource:
DatasourceType: GENERIC
JDBCConnectionPoolParams:
TestTableName: SQL ISVALID
JDBCDriverParams:
URL: jdbc:oracle:thin:@//weboel8:1521/v19
PasswordEncrypted: 'welcome2'
DriverName: oracle.jdbc.OracleDriver
Properties:
user:
Value: kka
appDeployments:
Application:
mywar:
SourcePath: wlsdeploy/applications/mywar.war
ModuleType: war
SecurityDDModel: DDOnly
Target: Server1,Server2
4) updateDomain を実行し、管理サーバや管理対象サーバの設定を移行
移行先環境にて、環境変数の設定をした上で updateDomain を実行して、管理サーバや管理対象サーバの設定を移行します。
$ <WDT の展開先ディレクトリ>/bin/updateDomain.sh -oracle_home $MW_HOME -domain_home $DOMAIN_HOME -archive_file <アーカイブファイル名> -model_file <モデル名>
※1行で記載します。
※Windows 環境で実行する場合は discoverDomain.cmd を実行します。
(実行例)
$ JAVA_HOME=/home/wls1411/jdk8
$ MW_HOME=/home/wls1411/Oracle/Middleware/Oracle_Home
$ DOMAIN_HOME=/home/wls1411/Oracle/Middleware/Oracle_Home/user_projects/domains/test_domain
$ export JAVA_HOME
$ export MW_HOME
$ export DOMAIN_HOME
$ /home/wls1411/work/weblogic-deploy/bin/updateDomain.sh -oracle_home $MW_HOME -domain_home $DOMAIN_HOME -archive_file /home/wls1411/work/kka_test/kka1221.zip -model_file /home/wls1411/work/kka_test/kka1221.yaml
JDK version is 1.8.0_311-b11
JAVA_HOME = /home/wls1411/jdk8
WLST_EXT_CLASSPATH = /home/wls1411/work/weblogic-deploy/lib/weblogic-deploy-core.jar
CLASSPATH = /home/wls1411/work/weblogic-deploy/lib/weblogic-deploy-core.jar
WLST_PROPERTIES = -Dcom.oracle.cie.script.throwException=true -Djava.util.logging.config.class=oracle.weblogic.deploy.logging.WLSDeployLoggingConfig
/home/wls1411/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/wlst.sh /home/wls1411/work/weblogic-deploy/lib/python/update.py -oracle_home /home/wls1411/Oracle/Middleware/Oracle_Home -domain_home /home/wls1411/Oracle/Middleware/Oracle_Home/user_projects/domains/test_domain -archive_file /home/wls1411/work/kka_test/kka1221.zip -model_file /home/wls1411/work/kka_test/kka1221.yaml
WebLogic Scripting Tool(WLST)を初期化しています...
WebLogic Server Administration Scripting Shellへようこそ
使用可能なコマンドに関するヘルプを表示するには、help()と入力してください
####<2022/12/20 0:00:19> <情報> <WebLogicDeployToolingVersion> <logVersionInfo> <WLSDPLY-01750> <The WebLogic Deploy Tooling updateDomain version is 2.4.2:.53376e2:Nov 10, 2022 20:59 UTC>
####<2022/12/20 0:00:19> <情報> <WLSDeployLoggingConfig> <logLoggingDirectory> <WLSDPLY-01755> <The updateDomain program will write its log to directory /home/wls1411/work/weblogic-deploy/logs>
####<2022/12/20 0:00:19> <情報> <ModelContext> <__copy_from_args> <WLSDPLY-01050> <WebLogic version for aliases is 14.1.1.0.0>
:
####<2022/12/20 0:00:25> <情報> <DatasourceDeployer> <_add_named_elements> <WLSDPLY-09609> <Updating Properties user in JDBCDriverParams>
####<2022/12/20 0:00:25> <情報> <ApplicationDeployer> <__add_applications> <WLSDPLY-09301> <Adding Application mywar to Domain test_domain>
Issue Log for updateDomain version 2.4.2 running WebLogic version 14.1.1.0.0 offline mode:
Total: WARNING : 0 SEVERE : 0
updateDomain.sh completed successfully (exit code = 0)
$
完了後、管理サーバや管理対象サーバを起動して変更が反映されているかを確認します。
WDT を使用した、既存ドメインに対するアプリケーションや JDBC データソースの移行方法
既存ドメインへのアプリケーションや JDBC データソースの移行は、前述の updateDomain を使用することでも実施が可能です。
ただし、updateDomain を使用する方法の場合は誤って管理サーバや管理対象サーバの設定を変更してしまうリスクがあることに留意してください。アプリケーションや JDBC データソースの移行のみを行いたいといったケースでは、updateDomain ではなく deployApps を実行します。
-
1.discoverDomain を実行し、モデルとアーカイブファイルを作成
-
2.作成したモデルとアーカイブファイルを移行先に転送
-
3.モデルを編集
-
4.deployApps を実行し、アプリケーションや JDBC データソースを移行
1) discoverDomain を実行し、モデルとアーカイブファイルを作成
移行元環境にて、環境変数の設定をした上で discoverDomain を実行して、モデルとアーカイブファイルを作成します。
手順は、前述の「WDT を使用した、ドメインの移行(新規作成)方法」項をご参照ください。
ここからは「WDT を使用した、ドメインの移行(新規作成)方法」で作成したモデルとアーカイブファイルを使用します。
2) 作成したモデルとアーカイブファイルを移行先環境に転送
手順 1) で作成したモデルとアーカイブファイルを、SCP などを使用して移行先環境に転送します。
3) モデルを編集
移行先環境に転送したモデルをテキストエディタで開き、移行先環境に移行してデプロイするアプリケーションの情報、JDBC データソースのパスワードなどを記載します。
(変更例)
$ vi kka1221.yaml
resources:
JDBCSystemResource:
JDBC Data Source-test:
Target: Server_1,Server_2
JdbcResource:
DatasourceType: GENERIC
JDBCConnectionPoolParams:
TestTableName: SQL ISVALID
JDBCDriverParams:
URL: jdbc:oracle:thin:@//weboel8:1521/v19
PasswordEncrypted: 'welcome2'
DriverName: oracle.jdbc.OracleDriver
Properties:
user:
Value: kka
appDeployments:
Application:
mywar:
SourcePath: wlsdeploy/applications/mywar.war
ModuleType: war
SecurityDDModel: DDOnly
Target: Server_1,Server_2
※モデル内で管理サーバや管理対象サーバへの変更内容を記載していたとしても、deployApps を実行する際には、管理サーバや管理対象サーバへの変更内容は無視されます。
4) deployApps を実行し、アプリケーションや JDBC データソースを移行
移行先環境にて、環境変数の設定をした上で deployApps を実行して、アプリケーションや JDBC データソースを移行します。
今回は移行先環境に同名のアプリケーションや JDBC データソースが既に存在しているため、あらかじめ管理コンソールからアプリケーションと JDBC データソースを削除した上で検証を実施します。
$ <WDT の展開先ディレクトリ>/bin/deployApps.sh -oracle_home $MW_HOME -domain_home $DOMAIN_HOME -archive_file <アーカイブファイル名> -model_file <モデル名>
(実行例)
$ JAVA_HOME=/home/wls1411/jdk8
$ MW_HOME=/home/wls1411/Oracle/Middleware/Oracle_Home
$ DOMAIN_HOME=/home/wls1411/Oracle/Middleware/Oracle_Home/user_projects/domains/test_domain
$ export JAVA_HOME
$ export MW_HOME
$ export DOMAIN_HOME
$ /home/wls1411/work/weblogic-deploy/bin/deployApps.sh -oracle_home $MW_HOME -domain_home $DOMAIN_HOME -archive_file /home/wls1411/work/kka_test/kka1221.zip -model_file /home/wls1411/work/kka_test/kka1221.yaml
JDK version is 1.8.0_311-b11
JAVA_HOME = /home/wls1411/jdk8
WLST_EXT_CLASSPATH = /home/wls1411/work/weblogic-deploy/lib/weblogic-deploy-core.jar
CLASSPATH = /home/wls1411/work/weblogic-deploy/lib/weblogic-deploy-core.jar
WLST_PROPERTIES = -Dcom.oracle.cie.script.throwException=true -Djava.util.logging.config.class=oracle.weblogic.deploy.logging.WLSDeployLoggingConfig
/home/wls1411/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/wlst.sh /home/wls1411/work/weblogic-deploy/lib/python/deploy.py -oracle_home /home/wls1411/Oracle/Middleware/Oracle_Home -domain_home /home/wls1411/Oracle/Middleware/Oracle_Home/user_projects/domains/test_domain -archive_file /home/wls1411/work/kka_test/kka1221.zip -model_file /home/wls1411/work/kka_test/kka1221.yaml
WebLogic Scripting Tool(WLST)を初期化しています...
WebLogic Server Administration Scripting Shellへようこそ
使用可能なコマンドに関するヘルプを表示するには、help()と入力してください
####<2022/12/20 1:08:40> <情報> <WebLogicDeployToolingVersion> <logVersionInfo> <WLSDPLY-01750> <The WebLogic Deploy Tooling deployApps version is 2.4.2:.53376e2:Nov 10, 2022 20:59 UTC>
####<2022/12/20 1:08:40> <情報> <WLSDeployLoggingConfig> <logLoggingDirectory> <WLSDPLY-01755> <The deployApps program will write its log to directory /home/w ls1411/work/weblogic-deploy/logs>
####<2022/12/20 1:08:40> <情報> <ModelContext> <__copy_from_args> <WLSDPLY-01050> <WebLogic version for aliases is 14.1.1.0.0>
:
####<2022/12/20 1:08:44> <情報> <DatasourceDeployer> <_add_named_elements> <WLSDPLY-09606> <Adding Properties user to JDBCDriverParams>
####<2022/12/20 1:08:44> <情報> <ApplicationDeployer> <__add_applications> <WLSDPLY-09301> <Adding Application mywar to Domain test_domain>
Issue Log for deployApps version 2.4.2 running WebLogic version 14.1.1.0.0 offline mode:
Total: WARNING : 0 SEVERE : 0
deployApps.sh completed successfully (exit code = 0)
$
完了後、管理サーバや管理対象サーバを起動して、アプリケーションや JDBC データソースの移行が反映されているか確認します。
WDT を使用する際の注意点
アプリケーションの配置場所によっては discoverDomain で 抽出ができない
discoverDomain を実行してドメイン情報やアプリケーションを抽出しますが、仕様上、 ORACLE_HOME 配下のファイルは取得されません。
移行元環境にて ORACLE_HOME 配下にアプリケーションを配置している場合、アプリケーションが抽出されないため、移行先環境に別途アプリケーションファイルを転送して手動でデプロイするといった対応が必要です。
オンライン(稼働中)での実行について
discoverDomain、updateDomain については、-admin_url オプションと -admin_user オプション を引数に指定することで、オンライン(稼働中)での実行が可能ですが、いくつか注意点があります。
オンライン実行時にはパスワード入力が要求される
discoverDomain、updateDomain をオンラインで実行する際には、ドメインの管理者ユーザーの(-admin_user オプションで指定したユーザー)のパスワードの入力が求められます。
updateDomain をオンラインで実行した場合の反映について
updateDomain をオンラインで実行した場合、変更内容によってはドメイン全体の再起動が必要となる場合があります。
実行完了時の終了コードが 「103」 の場合はドメイン全体の再起動が必要です。
deployApps のオンライン実行の可否
ユーザーガイドには deployApps についてもオンライン実行が可能である旨が記載されていますが、現行バージョン(2022年12月時点では 2.4.2) では、不具合により deployApps のオンライン実行が失敗することがオラクル社への確認で判明しています。
WDT 使用時のトラブルシューティング
WDT 使用時に何らかの問題が発生した場合は、以下の情報を取得の上、サポートセンターにお問い合わせください。(弊社とのプロダクトサポート契約が必要です)
- WDT のログ
UNIX:<WDT の展開先ディレクトリ>/logs/ 配下
Windows:<WDT の展開先ディレクトリ>\logs\ 配下
- 事象発生時の実行コマンド
- 事象発生時の標準出力の内容
- 移行元環境と移行先環境、それぞれの管理サーバ、管理対象サーバのサーバログ
(デフォルトのパス)
UNIX:$DOMAIN_HOME/servers/<該当のサーバ名>/logs/ 配下
Windows:%DOMAIN_HOME%\servers\<該当のサーバ名>\logs\ 配下
- 移行元環境と移行先環境、それぞれの設定ファイル一式
UNIX:$DOMAIN_HOME/config/ 配下
Windows:%DOMAIN_HOME%\config\ 配下
※これらの情報は初動調査に必要な情報のため、追加で別の情報の取得を依頼させていただく可能性がありますことをあらかじめご了承ください。
まとめ
WebLogic Server の新たな移行方法として WDT がリリースされました。
ドメインの移行やアプリケーションの移行(デプロイ)などにおいて、本記事がお役に立てれば幸いです。
執筆者情報
2008年度アシストに入社後、Oracle WebLogic Server や Oracle HTTP Server を中心にサポートエンジニアとして活動しており、これまでに4000件以上の問い合わせを対応。