Update Domain Toolは、モデル、アーカイブおよびWLSTを使用して既存のWebLogic Serverドメインの構成を更新し、WLSTオンライン・モードまたはオフライン・モードでアプリケーションおよびリソースをドメインにデプロイします。 Update Domain Toolは、モデルのtopology
セクションから要素を追加または再構成し、resources
およびappDeployments
セクションからアプリケーションおよびリソースをデプロイします。
Discover Domain Toolと同様に、Update Domain Toolはオフライン・モードまたはオンライン・モードで実行でき、オンライン・モードにはその動作を制御するオプションがあります。
-remote
モード - このモードでは、ドメインの管理サーバーが配置されているホスト以外のホストからツールを実行できます。 管理サーバーが実行されているホストのファイル・システムに直接アクセスできないため、次の制限があります:
wlsdeploy/applications
またはwlsdeploy/sharedLibraries
で始まる場合を除き、アーカイブ・ファイルへのパスを参照したモデルの属性はすべてエラーになります。ツールはそのようなディレクトリまたはファイルをリモートで作成できないためです。 たとえば、アーカイブ・ファイルwlsdeploy/domainBin/setUserOverrides.sh
内のファイル・エントリを参照するdomainBin: [ wlsdeploy/domainBin/setUserOverrides.sh ]
を指定すると、ツールがエラーで失敗します。 -ssh_user
(デフォルトでは、このツールを実行しているユーザーと同じユーザー)には、ドメインのホーム・ディレクトリ構造に対する完全な読取りおよび書込みアクセス権と、ドメイン固有のファイルが格納されている他のロケーションへの完全な読取りアクセス権が必要です。 SSHモードでの実行の詳細は、「SSHのサポート」およびVerify SSH Toolのページを参照してください。 Update Domain Toolは、指定されたモデル内の要素のみを追加または更新します。 ドメインに既に存在しないエレメントは削除されません。 Update Domain Toolは、RCUを使用するドメイン・タイプのRCUデータベースのスキーマの再作成または追加を試行しません。
WLSTオンライン・モードでは、ツールによって、アプリケーションおよび共有ライブラリの再デプロイおよびサーバーを再起動する必要性が最小限に抑えられます。 これはいくつかの点で行われます:
目標は、ツールが反復的なデプロイメントをサポートできるようにし、実行中のドメインに対して作業中にサービスの中断を最小限に抑えることができることです。
共有ライブラリをオンラインで更新する場合は、MANIFEST.MFファイルのバージョンを更新し、新しいライブラリを使用するようにアップグレードするアプリケーションのデプロイメント記述子を更新することによって、新しいバージョンのライブラリをデプロイすることをお勧めします。これにより、共有ライブラリのインプレース更新などの複雑な問題が回避されます。
共有ライブラリのオンラインのインプレース更新はサポートされていません。 MANIFEST.MFファイルのライブラリのバージョンを更新せずに、ライブラリの内容のみを更新する場合。 WebLogic Serverから、ライブラリがアプリケーションによって参照されており、アンデプロイできないことを示すエラーが表示されます。 先に進む前に、共有ライブラリを参照しているすべてのアプリケーションをアンデプロイする必要があります。これは、WebLogic Serverコンソールを使用する際の動作と同じです。 また、共有ライブラリは、別の共有ライブラリ・モジュールによって参照される可能性があり、そのライブラリがインプレースで更新されるときに共有ライブラリを使用するアプリケーションのアンデプロイおよびデプロイを自動化する機能を現在、WebLogic Server内で処理することはできません。
-output_dir
コマンド行引数が指定されている場合、ツールは、再起動が必要なサーバーおよびリソースに関する情報を提供する出力ファイルを生成します。 これらのファイルは、オンライン・デプロイメントにのみ適用できます。
ファイルrestart.file
には、再起動する必要があるサーバーおよびリソースのリストが含まれます。 例:
:AdminServer:Generic1:JDBCSystemResource
:AdminServer::
ファイルnon_dynamic_changes.file
には、新しい値を適用するために再起動が必要な属性を説明するテキストが含まれています。 例:
Server re-start is REQUIRED for the set of changes in progress.
The following non-dynamic attribute(s) have been changed on MBeans
that require server re-start:
MBean Changed : com.bea:Name=AdminServer,Type=Log,Server=AdminServer
Attributes changed : RedirectStderrToServerLogEnabled, RedirectStdoutToServerLogEnabled
MBean Changed : com.bea:Name=MailSession-0,Type=MailSession
Attributes changed : SessionPasswordEncrypted
ファイルresults.json
には、サーバーおよびリソースの再起動が必要な情報と、新しい値を適用するために再起動が必要な属性値が含まれています。
{
"nonDynamicChanges" : {
"com.bea:Name=MailSession-0,Type=MailSession" : [
"SessionPasswordEncrypted"
],
"com.bea:Name=AdminServer,Type=Log,Server=AdminServer" : [
"RedirectStderrToServerLogEnabled",
"RedirectStdoutToServerLogEnabled"
]
},
"nonDynamicChangesText" : [
"",
"Server re-start is REQUIRED for the set of changes in progress.",
"",
"The following non-dynamic attribute(s) have been changed on MBeans",
"that require server re-start:",
"MBean Changed : com.bea:Name=AdminServer,Type=Log,Server=AdminServer",
"Attributes changed : RedirectStderrToServerLogEnabled, RedirectStdoutToServerLogEnabled",
"",
"MBean Changed : com.bea:Name=MailSession-0,Type=MailSession",
"Attributes changed : SessionPasswordEncrypted",
""
],
"restarts" : [
{
"server" : "AdminServer",
"resourceName" : "Generic1",
"resourceType" : "JDBCSystemResource"
},
{
"server" : "AdminServer"
}
]
}
WLSTオフライン・モードでのUpdate Domain Toolの実行は、Create Domain Toolの実行と非常に似ています。ドメインのロケーションとアーカイブ・ファイルを指定するだけで、必要に応じてモデルと変数ファイルが分離されます。 例えば:
$ weblogic-deploy\bin\updateDomain.cmd -oracle_home c:\wls12213 -domain_home domains\DemoDomain -model_file DemoDomain.yaml -variable_file DemoDomain.properties -archive_file DemoDomain.zip
Create Domain Toolとは異なり、ドメインはすでに確立されているため、ドメインの親ディレクトリではなく、完全なドメイン・ホーム・ディレクトリが指定されます。
WLSTオンライン・モードでは、-domain_home
引数を削除して、WebLogic Server管理サーバーへの接続方法に関する情報を追加します。 管理サーバーからオンラインWLSTモードで実行する例を次に示します:
$ weblogic-deploy\bin\updateDomain.cmd -admin_url t3://127.0.0.1:7001 -admin_user weblogic -oracle_home c:\wls12213â -model_file DemoDomain.yaml -variable_file DemoDomain.properties -archive_file DemoDomain.zip
-remote
モードでツールを実行する例を次に示します:
$ weblogic-deploy\bin\updateDomain.cmd -remote -admin_url t3://my.remote.machine:7001 -admin_user weblogic -oracle_home c:\wls12213 -model_file DemoDomain.yaml -variable_file DemoDomain.properties -archive_file DemoDomain.zip
SSHモードで実行すると、非常に似ています。 この例では、WDTが実行されているホストから、ドメインの管理サーバーが実行されているホストへのSSH接続をすでに設定および検証済であることを前提としています。 また、その他のSSH関連の引数のデフォルト値が構成に十分であると想定しています。
$ weblogic-deploy\bin\updateDomain.cmd -ssh_host my.remote.machine -admin_url t3://my.remote.machine:7001 -admin_user weblogic -oracle_home c:\wls12213 -model_file DemoDomain.yaml -variable_file DemoDomain.properties -archive_file DemoDomain.zip
通常どおり、ツールはパスワードの入力を求めます(ツールの標準入力にパイプして入力することもできます)。 プロンプトをバイパスするには、次の2つのオプションのいずれかを使用できます:
-admin_pass_env
で変数名を使用します。-admin_pass_file
を使用してファイル名を指定します。 WLSTオンライン・モードでツールを実行する場合、更新操作でサーバーの再起動や、変更を取得するためにドメインの再起動が必要になることがあります。 更新操作では、ドメインが再起動されるまで操作を完了できない状況が発生することがあります。 Update Domain Toolを呼び出している可能性のあるスクリプトにこれらの条件を通信するには、シェル・スクリプトに2つの特殊なゼロ以外の終了コードがあり、これらの状態を通信します:
103
- ドメイン全体を再起動する必要があります。104
- モデルの変更にはドメインの再起動が必要であり、-cancel_changes_if_restart_required
が指定されているため、ドメインの変更は取り消されました。モデルまたは変数ファイルにWDT Encrypt Model Toolで暗号化されたパスワードが含まれている場合は、Create Domain Toolで復号化できるように、モデルの暗号化に使用するWDT暗号化パスフレーズを指定する必要があります。 これを行うには、次のいずれかのコマンドライン引数を指定します:
-passphrase_env <ENV_VAR>
- 指定された環境変数からパスフレーズを読み取ります。-passphrase_file <file-name>
- パスフレーズを含むファイルからパスフレーズを読み取る、または-passphrase_prompt
- シェル・スクリプトの標準入力に値をプロンプトまたはパイプして、stdin
からパスフレーズを読み取ります。「複数のモデルの使用」に説明されているように、Update Domain Toolでは複数のモデルを使用できます。
次の環境変数を設定できます。
JAVA_HOME
JDKのロケーション。 これは有効なJava 7以降のJDKである必要があります。 WLSDEPLOY_PROPERTIES
WLSTに渡されるシステム・プロパティ。Update Domain Tool (およびWLSTを使用するその他のツール)を実行する場合、ツールの実行に使用される実際のJDKは、JAVA_HOME
環境変数によって定義されたものではなく、Oracle HomeにWebLogic Serverをインストールするために使用されるJDKになります。 ベスト・プラクティスは、WebLogic Serverのインストールに使用したものと同じJDKインストールを指すようにJAVA_HOME
を設定することです。
ツールの完全なコンソール出力(stdoutおよびstderrに出力される出力)およびログ・ファイルupdateDomain.log
(通常は<install home>/weblogic-deploy/logs
ディレクトリにあります)を指定してください。 可能な場合は、モデル、変数およびアーカイブ・ファイル、および環境の理解に役立つその他の情報、実行していること、および何が起こっているかを記入してください。 たとえば、オンライン・モードで実行し、アプリケーションのデプロイでエラーが発生した場合、多くの場合、ドメインの管理サーバーのログ・ファイルがエラーの原因を理解するための鍵となります。
updateDomain
のパラメータ表パラメータ | 定義 | デフォルト |
---|---|---|
-admin_pass_env |
プロンプトで管理パスワードを入力する代替手段。 値は、WDTがパスワードの取得に使用する環境変数名です。 | |
-admin_pass_file |
プロンプトで管理パスワードを入力する代替手段。 値は、ツールがパスワードを取得するために読み取るパスワード文字列を含むファイルの名前です。 | |
-admin_url |
オンライン更新の管理サーバーURL。 | |
-admin_user |
オンライン更新の管理ユーザー名。 | |
-archive_file |
使用するアーカイブ・ファイルへのパス。 -model_file 引数が指定されていない場合、このアーカイブのモデル・ファイルが使用されます。 これは、アーカイブ・ファイルのカンマ区切りリストとして指定することもできます。 各アーカイブ内の内容が、リストの前のアーカイブより優先されます。 |
|
-cancel_changes_if_restart_required |
更新にドメインの再起動が必要な場合、変更を取り消します。 | |
-discard_current_edit |
更新の前に既存のドメインの編集をすべて破棄します。 | |
-domain_home |
(オフライン・モードでは必須)既存のローカル・ドメイン・ホームのロケーション。 | オンライン・モードの場合、サーバーの値。 |
-domain_type |
ドメインのタイプ(WLS 、JRF など) |
WLS |
-model_file |
モデル・ファイルのロケーション。 これは、モデル・ロケーションのコンマ区切りリストとして指定することもできます。このリストでは、前のモデル・ロケーションの上に続く各モデル層が配置されます。 | |
-oracle_home |
Oracle WebLogicインストールのホーム・ディレクトリ。 ORACLE_HOME 環境変数が設定されていない場合は必須です。 |
|
-passphrase_env |
プロンプトで暗号化パスフレーズを入力する代替手段。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。 | |
-passphrase_file |
プロンプトで暗号化パスフレーズを入力する代替手段。 この値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。 | |
-passphrase_prompt |
WDTが暗号化パスフレーズを要求したり、標準入力から読み取ったりできるようにします。 | |
-update_dir |
指定した場合、再起動情報を含むファイルは、restart.file 、non_dynamic_changes.file 、results.json などのこのディレクトリに書き込まれます。 |
|
-use_encryption |
(非推奨) -passphrase_prompt 引数に置き換えられます。 |
|
-variable_home |
モデルで使用される変数の値を含むプロパティ・ファイルのロケーション。 これは、プロパティ・ファイルのカンマ区切りリストとして指定することもできます。このリストでは、前述のプロパティ・レイヤーの先頭に続く各プロパティ・レイヤーのセットがあります。 | |
-wait_for_edit_lock |
ドメイン構成を変更するためにWLSTオンライン編集ロックを取得しようとする前に、アクティブな編集セッションおよび保留中の変更のチェックをスキップします。 | |
-remote |
リモート・マシンからドメインを更新します。 | |
-ssh_host |
リモート・ホストのDNS名またはIPアドレス。 | |
-ssh_port |
sshdデーモンが接続リクエストをリスニングしているリモート・ホスト上のTCPポート。 | 22 |
-ssh_user |
認証目的で使用するリモート・ホスト上のユーザー名。 | ツールを実行しているローカル・ユーザーと同じです。 |
-ssh_pass_env |
ユーザー名とパスワードによる認証時にリモート・ユーザーのパスワードを取得するために使用する環境変数名。 | |
-ssh_pass_file |
ユーザー名とパスワードによる認証時にリモート・ユーザーのパスワードのパスワード文字列を含むファイルのファイル名。 | |
-ssh_pass_prompt |
ユーザー名とパスワードによる認証時に、標準入力を介してリモート・ユーザーのパスワードの入力をユーザーに要求するようにツールに要求するフラグ。 | プロンプトを表示したり、標準入力から読み取ったりしないでください。 |
-ssh_private_key |
公開キーと秘密キーのペアで認証するときに使用するユーザーの秘密キーファイルのローカル・ファイル名。 | $HOME/.ssh/id_rsa |
-ssh_private_key_pass_env |
公開キーと秘密キーのペアで認証するときにユーザーの秘密キーのパスフレーズを取得するために使用する環境変数名。 | |
-ssh_private_key_pass_file |
公開キーと秘密キーのペアで認証するときに、ユーザーの秘密キーのパスフレーズ文字列を含むファイルのファイル名。 | |
-ssh_private_key_pass_prompt |
公開キーと秘密キーのペアで認証するときに、標準入力を介して秘密キーのパスフレーズを指定するようユーザーに要求するようにツールに要求するフラグ。 | プロンプトを表示したり、標準入力から読み取ったりしないでください。 |