Oracle® Fusion Middleware

WebLogic Scripting Toolの理解

12c (12.2.1.1)

E79354-01(原本部品番号:E78704-01)

2016年8月

このドキュメントでは、WebLogic Scripting Tool (WLST)について説明します。また、WLSTコマンドライン・スクリプト・インタフェースを使用して、WebLogic ServerのインスタンスおよびWebLogicドメインの構成、管理、およびこれらへの変更の永続化を行い、サーバー実行時イベントをモニターおよび管理する方法を説明します。

Oracle Fusion Middleware WebLogic Scripting Toolの理解, 12c (12.2.1.1)

E79354-01

Copyright © 2009, 20016, Oracle and/or its affiliates.  All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- ドキュメントのアクセシビリティについて

- 表記規則

1 概要とロードマップ

- 1.1 ドキュメントのスコープと対象読者

- 1.2 このドキュメントの手引き

- 1.3 関連ドキュメント

- 1.4 WLSTサンプル・スクリプト

- 1.4.1 WLSTオンライン・サンプル・スクリプト

- 1.4.2 WLSTオフライン・サンプル・スクリプト

2 WebLogic Scripting Toolの使用

- 2.1 WLSTオンラインまたはオフラインの使用

- 2.1.1 WLSTオンラインの使用

- 2.1.2 WLSTオフラインの使用

- 2.2 対話モード、スクリプト・モード、および組込みモード

- 2.2.1 対話モード

- 2.2.2 スクリプト・モード

- 2.2.3 組込みモード

- 2.3 WLSTのセキュリティ

- 2.3.1 WLST接続の保護

- 2.3.2 構成データへのアクセスの保護

- 2.3.2.1 WLSTオンラインからのアクセスの保護

- 2.3.2.2 暗号化された構成値の読み書き

- 2.3.3 セキュリティ・データへのアクセスの保護

- 2.4 対話モードまたはスクリプト・モードでのWLSTの使用の主な手順

- 2.4.1 WLSTの起動

- 2.4.1.1 提供済シェル・スクリプトを使用したWLSTの呼び出し

- 2.4.1.2 javaコマンドを使用したWLSTの呼出し

- 2.4.1.3 スクリプトの実行

- 2.4.1.4 「スタート」メニューからのWLSTの呼び出し

- 2.4.2 WLSTの終了

- 2.4.3 WLSTコマンドの構文

- 2.4.4 複数のWLSTインスタンスを呼び出すときの考慮事項

- 2.5 エラーおよびデバッグ出力のファイルへのリダイレクト

- 2.6 ヘルプの表示

- 2.7 AntからのWLSTの実行

- 2.7.1 パラメータ

- 2.7.2 ネストした要素として指定するパラメータ

- 2.7.2.1 script

- 2.7.2.2 classpath

- 2.7.3 例

- 2.7.3.1 例1

- 2.7.3.2 例2

- 2.7.3.3 例3

- 2.8 JythonモジュールとしてのWLSTのインポート

- 2.9 WLSTのカスタマイズ

- 2.9.1 カスタム・コマンドの統合ヘルプの追加

- 2.9.2 新しいWLSTコマンドを定義するサンプル・スクリプト

3 WLSTオフラインを使用したWebLogicドメインの作成

- 3.1 ドメイン・テンプレートの作成および使用(オフライン)

- 3.2 WebLogicドメインの作成と更新

- 3.3 構成階層情報の参照(オフライン)

- 3.4 WebLogicドメインの編集(オフライン)

- 3.5 代替手段: configToScriptコマンドの使用

- 3.6 クラスタ、JDBC、およびJMSリソースに関する考慮事項

- 3.7 リモート・マシンでの新しい管理対象サーバー・ドメインの作成

4 サーバーのライフサイクルの管理

- 4.1 WLSTとノード・マネージャを使用したサーバー管理

- 4.1.1 ノード・マネージャを使用したマシン上のサーバーの起動

- 4.1.2 ノード・マネージャを使用したWebLogicドメインまたはクラスタの管理対象サーバーの起動

- 4.2 ノード・マネージャを使用しないサーバーの起動および管理

- 4.2.1 ノード・マネージャを使用しない管理サーバーの起動

- 4.2.2 ノード・マネージャを使用しないサーバー状態の管理

5 MBeanのナビゲート(WLSTオンライン)

- 5.1 MBeanのナビゲートと照会

- 5.1.1 現在の管理オブジェクトの変更

- 5.1.2 構成MBeanサンプルのナビゲートと表示

- 5.2 実行時MBeanの参照

- 5.2.1 実行時MBeanサンプルのナビゲートと表示

- 5.3 MBean階層間のナビゲート

- 5.4 MBeanと属性の検索

- 5.5 WebLogicのその他のMBeanとカスタムMBeanへのアクセス

- 5.5.1 ドメイン実行時MBeanサーバー内のカスタムMBeanへのアクセス

- 5.5.2 編集MBeanサーバー内のカスタムMBeanへのアクセス

6 既存のWebLogicドメインの構成

- 6.1 WLSTオンラインを使用した既存のWebLogicドメインの更新

- 6.1.1 構成の変更の追跡

- 6.1.2 変更を元に戻すまたは取り消す

- 6.1.3 変更管理用の追加の操作と属性

- 6.2 WLSTオフラインを使用した既存のWebLogicドメインの更新

- 6.3 セキュリティ・データの管理(WLSTオンライン)

- 6.3.1 編集階層にアクセスすべきかどうかの判断

- 6.3.2 ユーザーの作成

- 6.3.3 グループへのユーザーの追加

- 6.3.4 ユーザーがグループのメンバーであるかどうかの検証

- 6.3.5 ユーザーが所属するグループのリスト表示

- 6.3.6 セキュリティ・レルムのユーザーとグループのリスト表示

- 6.3.7 パスワードの変更

- 6.3.8 セキュリティ・レルムでのユーザー・アカウントの保護

- 6.3.8.1 連続する無効なログイン試行回数の設定

- 6.3.8.2 ユーザー・アカウントのロック解除

- 6.3.9 追加LDAP認証プロバイダの構成

- 6.4 アプリケーションのデプロイ

- 6.4.1 WLSTオンラインを使用したアプリケーションのデプロイ

- 6.4.2 WLSTオフラインを使用したアプリケーションのデプロイ

7 デプロイメント・プランの更新

8 実行時情報の取得

- 8.1 実行時情報へのアクセス:主な手順

- 8.1.1 サーバー状態をモニターするスクリプト

- 8.1.2 JVMをモニターするスクリプト

- 8.2 ロギングの構成

- 8.3 WebLogic診断フレームワークでの操作

A WLSTデプロイメント・オブジェクト

- A.1 WLSTPlanオブジェクト

- A.2 WLSTProgressオブジェクト

B FAQ : WLST

- B.1 WLST全般

- B.2 Jythonのサポート

- B.3 WLSTの使用

はじめに

ここでは、このガイド『WebLogic Scripting Toolの理解』で使用されるドキュメントのアクセシビリティ機能および表記規則について説明します。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害があるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

斜体

イタリックは、ユーザーが特定の値を指定するプレースホルダー変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 概要とロードマップ

開始する前に、このガイドの内容および構成を理解してください。

トピック:

- ドキュメントのスコープと対象読者

- このドキュメントの手引き

- 関連ドキュメント

- WLSTサンプル・スクリプト

1.1 ドキュメントのスコープと対象読者

このドキュメントでは、Oracle WebLogic Scripting Tool (WLST)について説明します。また、WLSTコマンドライン・スクリプト・インタフェースを使用して、WebLogic ServerのインスタンスおよびWebLogicドメインの構成、管理、およびこれらへの変更の永続化を行い、サーバー実行時イベントをモニターおよび管理する方法を説明します。

このドキュメントは、Java Platform、Enterprise Edition (Java EE)を使用してJava EEアプリケーションをデプロイする、WebLogic Serverの管理者およびオペレータを対象としています。読者は、Webテクノロジ、およびWebLogic Serverがインストールされているオペレーティング・システムとプラットフォームに精通していることが前提となっています。

1.2 このドキュメントの手引き

このドキュメントの構成を理解してください。

次のように構成されています。

- この章「概要とロードマップ」では、このガイドの構成および関連ドキュメントについて説明します。

- WebLogic Scripting Toolの使用では、このスクリプト・ツールのしくみ、操作モード、およびこれを呼び出すための基本的な手順について説明します。

- WLSTオフラインを使用したWebLogicドメインの作成では、実行中のWebLogic Serverへ接続することなく(つまり、WLSTオフラインを使用して)、新規WebLogicドメインを作成したり既存WebLogicドメインを更新したりする方法について説明します。これは、構成ウィザードと同じ機能をサポートしています。

- サーバーのライフサイクルの管理では、WLSTを使用したWebLogic Serverインスタンスの起動および停止と、サーバーのライフサイクルのモニターおよび管理について説明します。

- MBeanのナビゲート(WLSTオンライン)では、WebLogicドメインの構成および実行時の情報を取得して、構成MBeanまたはカスタムMBeanを編集する方法について説明します。

- 既存のWebLogicドメインの構成では、スクリプトを使用した、WebLogicドメイン、サーバー、およびリソースの作成と管理の自動化について説明します。

- デプロイメント・プランの更新では、WLSTを使用したアプリケーションのデプロイメント・プランの更新について説明します。

- 実行時情報の取得では、WLSTを使用して、WebLogic Serverインスタンスの実行時の状態に関する情報を取得する方法について説明します。

- WLSTデプロイメント・オブジェクトでは、デプロイメント・プランを更新したり、現在のデプロイメント・アクティビティに関する情報にアクセスしたりするのに使用できる、WLSTデプロイメント・オブジェクトについて説明します。

- FAQ: WLSTでは、一般的な質問と回答のリストを示します。

1.3 関連ドキュメント

WLSTは、WebLogic Serverを管理およびモニターするためのインタフェースの1つです。他の管理インタフェースについては、以下の場所を参照してください。

- 『WebLogic Scripting Toolコマンド・リファレンス』: WebLogic Serverで使用できるWLSTコマンドについて説明します。

- 『インフラストラクチャ・コンポーネントWLSTコマンド・リファレンス』では、Oracle Fusion Middlewareインフラストラクチャ・コンポーネント(Java Required Files (JRF)、Webサービス、メタデータ・サービス(MDS)、Application Development Framework (ADF)、ダイナミック・モニタリング・サービス(DMS)、ロギング、診断フレームワーク、ユーザー・メッセージング・サービス(UMS)など)で使用できるWLSTコマンドについて説明します。

- 『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』では、監査、SSL、Oracle Identity Federation、Directory Integration Platform、Oracle Access Management (OAM)、Oracle Security Token ServiceおよびOracle Keystore Serviceを含むOracle Fusion Middlewareインフラストラクチャのセキュリティ・コンポーネントで使用可能なWLSTコマンドについて説明しています。

- Web Center WLSTコマンド・リファレンスでは、WebCenter Portal、WebCenter Content、WebCenter Information Rights Management (IRM)およびWebCenter Imaging Process Management (IPM)を含むWebCenterコンポーネントに使用できるWLSTコマンドについて説明しています。

- SOA Suite WLSTコマンド・リファレンスでは、SOA、Business Process Management (BPM)、Enterprise Scheduler (ESS)、Managed File Transfer (MFT)およびOracle Service Bus (OSB)で使用できるWLSTコマンドについて説明します。

- 『Oracle WebLogic Serverアプリケーションの開発』の「Antタスクを使用したWebLogic Serverドメインの構成と使用」: WebLogic Serverインスタンスを起動および停止し、WebLogicドメインを構成するためのWebLogic Antタスクの使用について説明します。

- 『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「デプロイメント・ツール」: アプリケーションやスタンドアロンのモジュールのデプロイ用にWebLogic Serverで用意されているいくつかのツールについて説明します。

- Oracle WebLogic Server管理コンソール・オンライン・ヘルプ: WebLogicドメインを管理およびモニターするためのWebベースのグラフィカル・ユーザー・インタフェースについて説明します。

- 『構成ウィザードによるドメインの作成』: グラフィカル・ユーザー・インタフェースを使用したWebLogicドメインの作成、または既存ドメインの拡張について説明します。

- 「PackおよびUnpackコマンドを使用したテンプレートとドメインの作成」: 既存のWebLogicドメインをすばやく簡単に再作成するコマンドについて説明します。

- 『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』: Java Management Extensions (JMX) APIを使用してWebLogic Serverリソースをモニターおよび変更する方法について説明します。

- 『SNMPによるOracle WebLogic Serverのモニタリング』: Simple Network Management Protocol (SNMP)を使用してWebLogicドメインをモニターする方法について説明します。

- 『Oracle WebLogic Serverサーバー環境の管理』: WebLogic Server環境の設計、構成および管理の方法について説明します。インストールされたWebLogic Serverの実装に携わるシステム管理者およびオペレータを対象としています。

- 『Oracle WebLogic Serverノード・マネージャの管理』: WebLogic Server環境内のサーバーを制御および管理するためにノード・マネージャを構成して使用する方法について説明します。

1.4 WLSTサンプル・スクリプト

Oracle Fusion Middlewareには、WLSTオンラインとオフライン両方のサンプル・スクリプトが用意されています。

以下の節では、付加的なスクリプトを作成する際のテンプレートとして実行または使用できるサンプル・スクリプトについて説明します。

- WLSTオンライン・サンプル・スクリプト

- WLSTオフライン・サンプル・スクリプト

スクリプトの実行については、「スクリプトの実行」を参照してください。

注意:

サンプル・スクリプトはデフォルトではインストールされていません。サーバー・サンプルをインストールするには、WebLogic Serverをインストールする際に付属サンプル・オプションを選択する必要があります。

1.4.1 WLSTオンライン・サンプル・スクリプト

WLSTオンライン・サンプル・スクリプトは、実行中のサーバーに接続して、管理タスクを実行し、WebLogic Server構成の変更を開始する方法を示します。WLSTオンライン・スクリプトは、ORACLE_HOME\user_projects\applications\wl_server\examples\src\examples\wlst\onlineディレクトリに格納されています。

表1-1は、WLSTオンライン・サンプル・スクリプトの概要を示します。

表1-1 WLSTオンライン・サンプル・スクリプト

WLSTサンプル・スクリプト

説明

cluster_creation.py

WLSTから管理サーバーに接続し、編集セッションを開始し、10個の管理対象サーバーを作成します。その後、2つのクラスタを作成し、サーバーを各クラスタに割り当て、WLSTとサーバーの接続を解除します。

cluster_deletion.py

cluster_creation.pyで作成したクラスタおよびサーバーを削除します。

configJMSSystemResource.py

WLSTから管理サーバーに接続して編集セッションを開始し、2つのJMSサーバーを作成した後でそれらを管理サーバーにターゲット指定します。その後、JMSシステム・モジュール内に、JMSトピック、JMSキュー、およびJMSテンプレートを作成します。JMSキューおよびJMSトピックは、サブデプロイメントを使用してターゲット指定されます。

deleteJMSSystemResource.py

configJMSSystemResource.pyで作成したJMSシステム・モジュールを削除します。

jdbc_data_source_creation.py

WLSTから管理サーバーに接続し、編集セッションを開始し、myJDBCDataSourceというJDBCデータ・ソースを作成します。

jdbc_data_source_deletion.py

jdbc_data_source_creation.pyで作成したJDBCデータ・ソースを削除します。

1.4.2 WLSTオフライン・サンプル・スクリプト

WLSTオフライン・サンプル・スクリプトは、ソフトウェアと一緒にインストールされたドメイン・テンプレートを使用してWebLogicドメインを作成する方法を示します。WLSTオフライン・スクリプトは、ORACLE_HOME\wlserver\common\templates\scripts\wlstディレクトリに格納されています。

表1-2 WLSTオフライン・サンプル・スクリプトの概要

表1-2 WLSTオフライン・サンプル・スクリプト

WLSTサンプル・スクリプト

説明

basicWLSdomain.py

ドメイン・テンプレートを開き、構成オブジェクトを作成および編集し、指定したディレクトリにドメイン構成情報を書き込む方法を示す、単純なWebLogicドメインを作成します。

このサンプルは、一般的な開発環境を表す単一のサーバーで構成されています。このタイプの構成は、本番環境では推奨されません。

このスクリプトでは、Basic WebLogic Server Domainテンプレートを使用します。

basicWLSSdomain.py

Basic WebLogic SIP Server Domainテンプレートを使用して、簡単なWebLogic SIP Serverドメインを作成します。スクリプトでは、ドメイン・テンプレートの開き方、構成オブジェクトの作成および編集方法、指定したディレクトリへのドメイン構成情報の書込み方法が示されます。

このサンプルは、一般的な開発環境を表す単一のサーバーで構成されています。このタイプの構成は、本番環境では推奨されません。

clusterMedRecDomain.py

3つの管理対象サーバーを作成してそれらをクラスタに割り当て、単一クラスタのWebLogicドメインを作成します。

このスクリプトはBasic WebLogic Server DomainテンプレートをAvitek Medical Records Sample拡張テンプレートで拡張して使用します。

distributedQueue.py

分散キューを作成する2つの方法を示します。

このスクリプトはBasic WebLogic Server DomainテンプレートをAvitek Medical Records Sample拡張テンプレートで拡張して使用します。

geo1Domain.py

Geographic Redundancy Site 1 Domainテンプレートを使用して、簡単なWebLogic SIP Serverドメインを作成します。スクリプトでは、ドメイン・テンプレートの開き方、構成オブジェクトの作成および編集方法、指定したディレクトリへのドメイン構成情報の書込み方法が示されます。

このサンプルは、一般的な開発環境を表す単一のサーバーで構成されています。このタイプの構成は、本番環境では推奨されません。

geo2Domain.py

Geographic Redundancy Site 2 Domainテンプレートを使用して、簡単なWebLogic SIP Serverドメインを作成します。スクリプトでは、ドメイン・テンプレートの開き方、構成オブジェクトの作成および編集方法、指定したディレクトリへのドメイン構成情報の書込み方法が示されます。

このサンプルは、一般的な開発環境を表す単一のサーバーで構成されています。このタイプの構成は、本番環境では推奨されません。

replicatedDomain.py

Oracle WebLogic SIP Server Replicated Domainテンプレートを使用して、簡単なWebLogic SIP Serverドメインを作成します。スクリプトでは、ドメイン・テンプレートの開き方、構成オブジェクトの作成および編集方法、指定したディレクトリへのドメイン構成情報の書込み方法が示されます。

このサンプルは、一般的な開発環境を表す単一のサーバーで構成されています。このタイプの構成は、本番環境では推奨されません。

sampleMedRecDomain.py

Avitek MedRecサンプルで使用されているものと同様のリソースを定義するWebLogicドメインを作成します。このサンプルでは、MedRecサンプル全体の再作成や、サンプル・アプリケーションのデプロイは行われません。

このスクリプトでは、Basic WebLogic Server Domainテンプレートを使用します。

2 WebLogic Scripting Toolの使用

WebLogic Scripting Tool (WLST)は、WebLogicドメインの作成、管理、および監視に使用できるコマンドライン・スクリプト環境です。この環境は、Javaのスクリプト・インタプリタであるJythonに基づいています。WLSTでは、ローカル変数、条件変数、フロー制御文など、標準のJython機能に加え、WebLogic Serverに固有の一連のスクリプト機能(コマンド)を使用できます。 WebLogicのスクリプト言語は、Jythonの言語構文(http://www.jython.orgを参照してください)に従って個々のニーズにあわせて拡張できます。

トピック:

- WLSTオンラインまたはオフラインの使用

- 対話モード、スクリプト・モード、および組込みモード

- WLSTのセキュリティ

- 対話モードまたはスクリプト・モードでのWLSTの使用の主な手順

- エラーおよびデバッグ出力のファイルへのリダイレクト

- ヘルプの表示

- AntからのWLSTの実行

- JythonモジュールとしてのWLSTのインポート

- WLSTのカスタマイズ

2.1 WLSTオンラインまたはオフラインの使用

WLSTは、WebLogic Server管理コンソールに相当するコマンドライン(WLSTオンライン)として、または構成ウィザードに相当するコマンドライン(WLSTオフライン)として使用できます。

WebLogic Server管理コンソールについては、Oracle WebLogic Server管理コンソール・オンライン・ヘルプを参照してください。構成ウィザードの詳細は、『構成ウィザードによるドメインの作成』を参照してください。

2.1.1 WLSTオンラインの使用

WLSTを使用して実行中の管理サーバーに接続し、アクティブなWebLogicドメインの構成の管理、ドメイン内のリソースに関するパフォーマンス・データの参照、またはセキュリティ・データの管理(ユーザーの追加、削除など)を実行できます。WLSTを使用して管理対象サーバーにも接続できますが、管理対象サーバーの構成データは変更できません。

WLSTオンラインはJava Management Extensions (JMX)クライアントです。それは、基盤となるリソース用に管理インタフェースを提供するJavaオブジェクトである、管理対象Bean (MBean)のサーバーのメモリー内コレクションと対話します。WebLogic Server MBeanについては、『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』のWebLogic Server MBeanの理解に関する項を参照してください。

2.1.2 WLSTオフラインの使用

WLSTを使用すると、実行中のWebLogic Serverインスタンスに接続せずに、ドメイン・テンプレートの作成、既存のテンプレートに基づいた新しいドメインの作成、または既存のアクティブでないドメインの拡張を実行できます。WLSTオフラインでは、WebLogicドメイン内のリソースに関するパフォーマンス・データを参照したり、セキュリティ・データを変更(ユーザーの追加、削除など)したりすることはできません。

WLSTオフラインでは、テンプレート・ビルダーを使用して作成したドメイン・テンプレートJAR内、またはドメインのconfigディレクトリ内に永続化されている構成データへの読み書きアクセスが可能です。詳細については、「構成階層情報の参照(オフライン)」を参照してください。

WLSTオフラインを使用する場合、構成データの変更に関する次の制限に注意してください。

- アクティブなWebLogicドメインの構成を管理する際にはWLSTオフラインを使用しないことをお薦めします。オフラインによる編集は、実行中のサーバーによって無視されるので、WLSTオンラインやWebLogic Server管理コンソールなどのJMXクライアントによって上書きされる場合があります。

- WebLogic Serverのデフォルト値のほとんどは、パフォーマンスを最適化するため、WebLogicドメインの構成ファイルには保持されていません。この最適化が原因で、WLSTオフラインでは管理オブジェクトを表示できない場合があります(WebLogic Serverでは対応するXML要素をドメインの構成ファイルに書き込んでいないため)。たとえば、ドメインがアクティブであるときにWebLogicドメインのロギングのデフォルト重大度を変更しなかった場合、WLSTオフラインではドメインのLog管理オブジェクトは表示されません。
WLSTオフラインで表示されない管理オブジェクトの属性のデフォルト値を変更する場合、最初にcreateコマンドを使用して管理オブジェクトを作成する必要があります。次に、cdを使用して管理オブジェクトに移動し、属性値を変更します。WebLogic Scripting Toolコマンド・リファレンスのcreateに関する項を参照してください。

2.2 対話モード、スクリプト・モード、および組込みモード

WLSTは様々な方法で呼び出せます。

WLSTコマンドは、次の任意の方法で呼び出すことができます。

- コマンドライン上で対話形式; 「対話モード」を参照してください。

- ファイルで提供されるバッチ形式; 「スクリプト・モード」を参照してください。

- Javaコードに組込み; 「組込みモード」を参照してください。

2.2.1 対話モード

コマンドを入力するとレスポンスがコマンド・ライン・プロンプトに表示される対話モードは、スクリプトを構築する前にツールについて学習したり、コマンド構文を試作したり、構成オプションを確認したりするのに役立ちます。対話形式によるWLSTの使用は、特に構成に重要な変更を加えた後、即座にフィードバックを取得するのに有用です。WLSTスクリプト・シェルは、WebLogic Serverのインスタンスとの永続的な接続を維持します。

WLSTでは、WLSTセッション期間に入力されるすべてのコマンドをファイルに書き込むことができます。このファイルは、編集して、WLSTスクリプトとして実行できます。詳細は、WebLogic Scripting Toolコマンド・リファレンスのstartRecordingおよびstopRecordingに関する項を参照してください。

2.2.2 スクリプト・モード

スクリプトは、シェル・スクリプトと同様に、ユーザーからの入力を必要とすることなくWLSTコマンドのシーケンスを呼び出します。スクリプトには、WLSTコマンドが拡張子.pyの付いたテキスト・ファイル(たとえば、filename.py)として含まれます。スクリプトを実行するには、スクリプト・ファイルをJythonコマンドと共に使用します。

WLSTスクリプトを使用して、次のことができます:

- WebLogic Server構成およびアプリケーション・デプロイメントの自動化

- トポロジの複数ノードに渡って、反復的に同じ構成設定を適用

- 対話モードでは制限されている、ループ、フロー制御コンストラクト、条件文、変数評価などのスクリプト言語機能を利用

- スクリプトを様々な時点で実行されるようスケジューリング

- 反復的なタスクや複雑なプロシージャの自動化

- 手を使わずにデータ・センターでアプリケーションを構成

WebLogic Serverでインストールされるサンプル・スクリプトについては、「WLSTサンプル・スクリプト」を参照してください。

2.2.3 組込みモード

組込みモードでは、Javaコード内でWLSTインタプリタをインスタンス化し、それを使ってWLSTコマンドおよびスクリプトを実行します。対話モードおよびスクリプト・モードで使用するWLSTコマンドおよび変数はすべて、組込みモードで実行可能です。組込みWLSTを使用してプログラムを実行する前に、次のコマンドを起動して適切な環境変数を設定します。

- Windows: WL_HOME\server\bin\setWLSEnv.cmd

- UNIX: WL_HOME/server/bin/setWLSEnv.sh
UNIXオペレーティング・システムでは、setWLSEnv.shコマンドはすべてのコマンド・シェルで環境変数を設定しません。Kornシェルまたはbashシェルを使用してこのコマンドを実行することをお薦めします。

例2-1は、WLSTインタプリタをインスタンス化し、それを使用して実行中のサーバーに接続し、2つのサーバーを作成し、それらをクラスタに割り当てる方法を示します。

例2-1 JavaクラスからのWLSTの実行

package wlst;
import java.util.*;
import weblogic.management.scripting.utils.WLSTInterpreter;
import org.python.util.InteractiveInterpreter;

/**
* Simple embedded WLST example that will connect WLST to a running server,
* create two servers, and assign them to a newly created cluster and exit.
* <p>Title: EmbeddedWLST.java</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: Oracle</p>
*/

public class EmbeddedWLST
{
static InteractiveInterpreter interpreter = null;
EmbeddedWLST() {
interpreter = new WLSTInterpreter();
}

private static void connect() {
StringBuffer buffer = new StringBuffer();
buffer.append("connect('adminusername','adminpassword')");
interpreter.exec(buffer.toString());
}

private static void createServers() {
StringBuffer buf = new StringBuffer();
buf.append(startTransaction());
buf.append("man1=create('msEmbedded1','Server')\n");
buf.append("man2=create('msEmbedded2','Server')\n");
buf.append("clus=create('clusterEmbedded','Cluster')\n");
buf.append("man1.setListenPort(8001)\n");
buf.append("man2.setListenPort(9001)\n");
buf.append("man1.setCluster(clus)\n");
buf.append("man2.setCluster(clus)\n");
buf.append(endTransaction());
buf.append("print 'Script ran successfully ...' \n");
interpreter.exec(buf.toString());
}

private static String startTransaction() {
StringBuffer buf = new StringBuffer();
buf.append("edit()\n");
buf.append("startEdit()\n");
return buf.toString();
}

private static String endTransaction() {
StringBuffer buf = new StringBuffer();
buf.append("save()\n");
buf.append("activate(block='true')\n");
return buf.toString();
}

public static void main(String[] args) {
new EmbeddedWLST();
connect();
createServers();
}
}

2.3 WLSTのセキュリティ

WLSTでは、WebLogicセキュリティ・フレームワークを使用して、認可されていないユーザーがWebLogicドメインを変更したり、暗号化されたデータを参照することを防止しています。

次の項では、WLSTのセキュリティ要件を満たすために行う必要のある操作について説明します。

- WLST接続の保護

- 構成データへのアクセスの保護

- セキュリティ・データへのアクセスの保護

2.3.1 WLST接続の保護

WLSTを使用してWebLogic Serverインスタンスに接続する場合、サーバー・インスタンスには管理ポートを介して接続することが推奨されます。管理ポートは、WebLogicドメイン内のすべてのWebLogic Serverインスタンスが管理トラフィック用に使用できる特別で安全なポートです。

このポートはデフォルトで有効ではありませんが、本番環境では有効にすることをお薦めします。管理ポートのデフォルト値は9002です。アプリケーションのトラフィックと管理トラフィックを分離することによって、重要な管理操作(サーバーの起動と停止、サーバーの構成の変更、およびアプリケーションのデプロイ)が、同じネットワーク接続上に存在する大量のアプリケーション・トラフィックと競合することがなくなります。

管理ポートでは、すべての通信がSSLを使用して保護される必要があります。デフォルトでは、WebLogicドメイン内のすべてのサーバーで、SSL用のデモ用証明書ファイルが使用されますが、これらの証明書は本番環境には適しません。

管理ポートの構成については、『Oracle WebLogic Serverサーバー環境の管理』の管理ポートと管理チャネルに関する項を参照してください。

2.3.2 構成データへのアクセスの保護

Weblogicドメインは、ドメイン・ディレクトリに保存される一群のXMLドキュメントに構成データを格納します。たとえば、これらの構成ドキュメントには、ドメイン内のデプロイされたリソース、リスニング・アドレス、および名前が記述されます。WebLogicドメイン内の1つまたは複数のサーバーが実行されている場合、各サーバー・インスタンスでは、構成データのメモリー内表現が、一群の管理対象Bean (MBean)として維持されます。

独自のセキュリティ対策を使用し、認可されたユーザーのみがファイル・システムを介してドメインの構成ファイルにアクセスできるようにする必要があります。ファイル・システムを介してドメインの構成ファイルにアクセスすることを認可されたユーザーであれば、テキスト・エディタ、WLSTオフライン、またはその他のツールを使用して構成ファイルを編集できます。

2.3.2.1 WLSTオンラインからのアクセスの保護

WLSTを使用してWebLogic Serverの実行中のインスタンスに接続する場合、アクティブなWebLogicセキュリティ・レルムで定義されているユーザーの資格証明(ユーザー名およびパスワード)を提供する必要があります。接続後は、一群のセキュリティ・ポリシーによって、表示または変更できる構成属性が決まります。(Oracle WebLogic Server MBeanリファレンスのMBeanのデフォルトのセキュリティ・ポリシーに関する項を参照してください。)

WLSTのconnectコマンドを呼び出す場合、次のいずれかの方法でユーザーの資格証明を提供できます。

- コマンド・ラインで資格証明を入力します。この方法は、WLSTを対話モードで使用している場合にのみお薦めします。
例:

connect('adminusername', 'adminpassword', 'localhost:7001'

詳細は、WebLogic Scripting Toolコマンド・リファレンスのconnectに関する項を参照してください。

- 資格証明をコマンド・ラインで入力してから、storeUserConfigコマンドを使用して、暗号化された形式の資格証明が格納されたユーザー構成ファイル、およびWebLogic Serverでその資格証明の復号化に使用されるキー・ファイルを作成します。以降のWLSTセッション(またはWLSTスクリプト)では、コマンド・ラインで資格証明を入力する代わりに、このファイルの名前を指定します。この方法は、WLSTをスクリプト・モードで使用している場合にお薦めします。スクリプト・モードでは、暗号化されていないユーザーの資格証明がスクリプトに格納されないためです。
たとえば、ユーザー構成ファイルおよびキー・ファイルを作成するには、次のように指定します。

connect('adminusername', 'adminpassword', 'localhost:7001')
storeUserConfig('c:/myFiles/myuserconfigfile.secure',
'c:/myFiles/myuserkeyfile.secure')

ユーザー構成ファイルおよびキー・ファイルを使用するには、次のように指定します。

connect(userConfigFile='c:/myfiles/myuserconfigfile.secure',
userKeyFile='c:/myfiles/myuserkeyfile.secure')

詳細は、WebLogic Scripting Toolコマンド・リファレンスのconnectとstoreUserConfigに関する項を参照してください。

- ドメインのboot.propertiesファイルが格納されているディレクトリからconnectコマンドを呼び出します。デフォルトでは、管理サーバーを作成すると、WebLogic Serverは資格証明を暗号化し、暗号化した資格証明をboot.propertiesファイルに格納します。ドメイン・ディレクトリからWLSTを起動した場合にのみ、WLSTでこのファイルが使用されます。
たとえば、ドメインのboot.propertiesファイルを削除していない場合、WLSTを起動して、connectコマンドを次のように呼び出すことができます。

c:\mydomain\> java weblogic.WLST
wls:/offline> connect()

詳細は、WebLogic Scripting Toolコマンド・リファレンスのconnectに関する項を参照してください。

2.3.2.2 暗号化された構成値の読み書き

WebLogicドメインの構成の一部の属性は、機密データへの権限のないアクセスを防ぐために暗号化されます。たとえば、JDBCデータ・ソースでRDBMSへの接続に使用されるパスワードは暗号化されます。

属性値は、暗号化された文字列としてドメインの構成ドキュメントに保存されます。この値は、実行中のサーバー・インスタンスでは、暗号化されたバイト配列形式のMBean属性として使用できます。暗号化されている属性は、名前がEncryptedで終わります。たとえばServerMBeanでは、IIOPプロトコルを介したアクセスの保護に使用されるパスワードがDefaultIIOPPasswordEncryptedという名前の属性として公開されます。

暗号化された属性の読み書きには、以下の形式が推奨されます。

WLSTオフラインの場合:

- 暗号化された値を書き込むには、暗号化属性の名前および暗号化されていない文字列をsetコマンドに渡します。例:
set('DefaultIIOPPasswordEncrypted', 'mypassword')

WLSTは、この文字列を暗号化し、暗号化された値をドメインの構成ファイルに書き込みます。

詳細は、WebLogic Scripting Toolコマンド・リファレンスの「set」を参照してください。

- WLSTオフラインでは、暗号化属性の暗号化されていない値が表示されません。lsコマンドを使用して管理属性を表示すると、WLSTオフラインでは、暗号化属性の値としてアスタリスクが返されます。getコマンドを使用すると、WLSTオフラインでは、アスタリスクを表すバイト配列が返されます。
例:

wls:/offline/wl_server/Server/examplesServer>ls()

returns

...
-rw-   DefaultIIOPPasswordEncrypted              ********
...

一方、

wls:/offline/wl_server/Server/examplesServer>get('DefaultIIOPPasswordEncrypted')

returns

array([42, 42, 42, 42, 42, 42, 42, 42], byte)

詳細は、WebLogic Scripting Toolコマンド・リファレンスのlsとgetに関する項を参照してください。

WLSTオンラインでは、各暗号化属性について、MBeanには暗号化されていないバージョンも格納されます。たとえば、ServerMBeanには、暗号化された値を格納するDefaultIIOPPasswordEncryptedという名前の属性と、暗号化されていないバージョンの値を格納するDefaultIIOPPasswordという名前の属性が格納されます。

WLSTオンラインで暗号化された値を読み書きするには、次のようにします。

- 暗号化された値を書き込むには、編集セッションを開始します。次に、以下のいずれかを行います。

- 暗号化されていない属性の名前と、暗号化されていない文字列をsetコマンドに渡します。例:
set('DefaultIIOPPassword', 'mypassword')

- 暗号化属性の名前と、暗号化されたバイト配列をsetコマンドに渡します。暗号化されたバイト配列は、encryptコマンドを使用して作成できます(WebLogic Scripting Toolコマンド・リファレンスのencryptに関する項を参照)。例:
set('DefaultIIOPPasswordEncrypted', encrypt('mypassword'))

- 注意:

暗号化されていない文字列を暗号化属性に渡さないでください。暗号化属性では、渡される値がすでに暗号化されていることを前提としています。

編集をアクティブ化すると、WebLogic Serverによって、暗号化された値がドメインの構成ファイルに書き込まれます。

- 属性の暗号化された値を読み込むには、暗号化属性の名前をgetコマンドに渡します。例:

get('DefaultIIOPPasswordEncrypted')

returns

array([105, 114, 111, 110, 115, 116, 101, 101, 108], byte)

2.3.3 セキュリティ・データへのアクセスの保護

WebLogic Serverユーザーのユーザー名とパスワード、セキュリティ・グループおよびセキュリティ・ロールは、WebLogicドメインのXML構成ファイルには格納されません。かわりに、WebLogicドメインでは、認証プロバイダと呼ばれる別のソフトウェア・コンポーネントを使用し、セキュリティ・データの格納やトランスポート、およびセキュリティ・データへのアクセスの提供を行います。認証プロバイダは、様々な種類のシステムを使用してセキュリティ・データを格納することができます。WebLogic Serverでインストールされる認証プロバイダでは、組込みLDAPサーバーが使用されます。

WLSTオフラインを使用してドメイン・テンプレートを作成する際、WLSTでは、認証プロバイダのデータ・ストアと残りのドメイン・ドキュメントがパッケージ化されます。ドメイン・テンプレートからドメインを作成すると、新しいドメインは、ドメイン・テンプレートから認証プロバイダのデータ・ストアの完全なコピーを取得します。

WLSTオフラインを使用して認証プロバイダのデータ・ストアのデータを変更することはできません。

ただし、WLSTオンラインを使用すると、認証プロバイダと対話して、ユーザー、グループおよびロールを追加、削除または変更できます。詳細については、「セキュリティ・データの管理(WLSTオンライン)」を参照してください。

2.4 対話モードまたはスクリプト・モードでのWLSTの使用の主な手順

WLSTを対話モードまたはスクリプト・モードで使用するときには、起動方法、終了方法およびその構文を理解する必要があります。

以下の節では、WLSTを設定および使用するための手順の概要を示します。

- WLSTの呼出し

- WLSTの終了

- WLSTコマンドの構文

- 複数のWLSTインスタンスを呼び出すときの考慮事項

2.4.1 WLSTの呼出し

WLSTは次の方法で呼び出すことが可能です。

- ご使用の環境に適切なシェル・スクリプトを実行し、WLSTシェルのWLSTコマンドを入力します。「提供済シェル・スクリプトを使用したWLSTの呼び出し」を参照してください

- java weblogic.WLSTコマンドを実行します。「javaコマンドを使用したWLSTの呼出し」を参照してください

- WLSTシェル・スクリプトを呼び出す際に準備済WLSTスクリプトを実行します。スクリプトの実行を参照してください。

- 「スタート」メニューからWebLogic Scripting Toolコマンドを実行します(Windowsのみ)。

注意:

UNIXまたはLinuxオペレーティング・システム上でWLSTによるドメインの作成や更新に時間がかかるような場合、CONFIG_JVM_ARGS環境変数を次の値に設定することにより、時間を短縮できます:

-Djava.security.egd=file:/dev/urandom

「AntからのWLSTの実行」を参照してください

2.4.1.1 提供済シェル・スクリプトを使用したWLSTの呼び出し

シェル・スクリプトを使用してWLSTを呼び出すには、ご使用の環境に適切なコマンドを実行します。WLSTを呼び出すには、この方法をお薦めします。この方法でWLSTを呼び出す場合、環境変数は自動的に設定されます。WLSTシェル内のWLSTコマンドを入力できます。

注意:

次のコマンドは、スタンドアロンWebLogic Serverインストールにのみ適用されます(他のFusion MiddlwareMiddlewareコンポーネントを含まないインストール)。多数のFusion MiddlwareMiddlewareコンポーネントは、カスタムWLSTコマンドを提供します。これらを使用するには、適切なディレクトリからWLSTを呼び出す必要があります。『Oracle Fusion Middlewareの管理』のカスタムWLSTコマンドの使用に関する項を参照してください。

UNIX

cd ORACLE_HOME/oracle_common/common/bin
./wlst.sh

ORACLE_HOMEは、インストール時に指定したOracleホーム・ディレクトリです。

WLSTを実行する前にWLSTプロパティをUNIX環境に設定するには:

export WLST_PROPERTIES="-Dweblogic.security.SSL.ignoreHostnameVerification=true,
-Dweblogic.security.TrustKeyStore=DemoTrust"
./wlst.sh

注意:

複数のWLSTオフライン・プロセスの実行中にログ・ファイル名が衝突しないようにするには、WLSTを呼び出す前に次のプロパティを環境に設定します。

export WLST_PROPERTIES="-Dwlst.offline.log=./logs/debug.log"

Windows

cd ORACLE_HOME\oracle_common\common\bin
wlst.cmd

ORACLE_HOMEは、インストール時に指定したOracleホーム・ディレクトリです。

2.4.1.2 javaコマンドを使用したWLSTの呼出し

javaコマンドを使用してWLSTの呼び出すには、最初にWLST用の環境を設定する必要があります。WLST用の環境を設定するには、次の手順を実行します。

1. 『Oracle WebLogic ServerおよびCoherenceのインストールと構成』の説明に従い、WebLogic Serverソフトウェアをインストールして構成します。

2. WebLogic ServerクラスをCLASSPATH環境変数に、WL_HOME\server\binをPATH環境変数に追加します。WL_HOMEは、WebLogic Serverホーム・ディレクトリのフルパスを示します。

setWLSEnvスクリプトを使用して、必要な変数を設定できます。

- Windows: WL_HOME\server\bin\setWLSEnv.cmd

- UNIX: WL_HOME/server/bin/setWLSEnv.sh
UNIXオペレーティング・システムでは、setWLSEnv.shコマンドはすべてのコマンド・シェルで環境変数を設定しません。Kornシェルまたはbashシェルを使用してこのコマンドを実行することをお薦めします。

環境を設定後、次の構文を使用してWLSTを呼び出します。(WLSTコマンドのオプションについては、表2-1を参照)。SSL引数については、表2-2を参照してください。表2-3に、WLSTの追加の起動引数を示します。

java
[ -Dweblogic.security.SSL.ignoreHostnameVerification=true
-Dweblogic.security.TrustKeyStore=DemoTrust ]
[ -Dweblogic.security.JavaStandardTrustKeyStorePassPhrase=password]
[ -Dweblogic.security.CustomTrustKeyStoreFileName=filename
-Dweblogic.security.TrustKeystoreType=jks
[ -Dweblogic.security.CustomTrustKeyStorePassPhrase=password]]
[ -Dweblogic.security.SSL.hostnameVerifier=classname]
weblogic.WLST
[ -loadProperties propertyFilename ]
[ -skipWLSModuleScanning ]
[ [-i] filePath.py ]

表2-1 WLSTのコマンド・オプション

オプション

説明

-loadProperties propertyFilename

WLSTセッションにプロパティをロードする場合はこのオプションを使用します。ここで、propertyFilenameは、name=valueのペアが格納されたファイルの名前。

JythonモジュールとしてWLSTをインポートしている場合、このオプションは使用できません(「JythonモジュールとしてのWLSTのインポート」を参照)。

このコマンドライン・オプションを使用するかわりに、loadProperties WLSTコマンドを使用できます。WebLogic Scripting Toolコマンド・リファレンスのloadPropertiesに関する項を参照してください。

-skipWLSModuleScanning

WebLogic Serverモジュールに対してパッケージのスキャンとキャッシュを省略することによって起動時間を短縮する場合は、このオプションを使用します。

[-i] filePath.py

WLSTスクリプトを実行する場合、このオプションを使用します。ここで、filePath.pyは、スクリプトの絶対パスまたは相対パス名。

デフォルトでは、WLSTは、スクリプトの実行後に終了(Javaプロセスを停止)します。WLSTが終了しないようにするには、-i を含めます。

注意: wlstProfile.pyというWLSTスクリプトが、WLSTを呼び出すディレクトリ内、またはuser.home (JVMによって決定されるオペレーティング・システムのユーザー・アカウントのホーム・ディレクトリ)内に存在する場合、WLSTによってwlstProfile.pyスクリプトが自動的に実行されるため、コマンド・ラインでこのWLSTスクリプト・ファイルの名前を指定する必要はありません。

このコマンド・ライン・オプションを使用するかわりに、WLSTの起動後、次のコマンドを使用できます。

execfile('filePath.py').

表2-2 SSLの引数

引数

定義

-Dweblogic.security.SSL.
ignoreHostnameVerification=true
-Dweblogic.security.
TrustKeyStore=DemoTrust

SSLリスニング・ポートを介してWLSTをWebLogic Serverインスタンスに接続する場合、およびサーバー・インスタンスでデモ用のSSLキーおよび証明書を使用している場合は、これらのシステム・プロパティを使用します。

ignoreHostNameVerificationは、ホスト名検証を無効にします。

TrustKeyStoreで、デモ用信頼キーストア(WL_HOME\server\lib\DemoTrust.jks)のCA証明書を信頼するようにします。

TrustKeyStoreは、接続先のサーバー・インスタンスがデモ用のIDと証明書を使用する場合には必須です。

デフォルトでは、Java標準信頼キーストア(SDK_HOME\jre\lib\security\cacerts)のCA証明書のみを信頼します。

-Dweblogic.security.
JavaStandardTrustKeyStorePassPhrase
=password

Java標準信頼キーストアの保護に使用されたパスワード。

Java標準信頼キーストアがパスワードで保護されており、そのCA証明書を信頼する場合には、この引数を使用する必要があります。

デフォルトでは、Java標準信頼キーストアはパスワードで保護されていません。

-Dweblogic.security.
CustomTrustKeyStoreFileName=
filename-Dweblogic.security.
TrustKeystoreType=jks

filenameにあるカスタム・キーストアのCA証明書を信頼するようにします。カスタム・キーストアを信頼するには、両方の引数を使用する必要があります。filenameはconfig.xmlに永続化されているServerMBean.CustomTrustKeyStoreFileName値と正確に一致する必要があります。CustomTrustKeyStoreFileName属性で指定された値が相対パス名の場合は、この引数でも同じ相対パス名を指定する必要があります。

-Dweblogic.security.
CustomTrustKeyStorePassPhrase=password

カスタム・キーストアの保護に使用されたパスワード。

カスタム・キーストアがパスワードで保護されている場合にのみ、この引数を使用する必要があります。

-Dweblogic.security.SSL.
hostnameVerifier=classname

カスタム・ホスト名検証クラスの名前。このクラスはweblogic.security.SSL.HostnameVerifierインタフェースを実装する必要があります。

表2-3 追加のWLST起動引数

引数

説明

-Dwlst.debug.init=value

trueの場合、デバッグ・モードは有効です。falseの場合、デバッグ・モードは無効です。デフォルトはfalseです。

-Dweblogic.wlstHome=path1: path2: ...: pathn

-Dweblogic.wlstHome=path1; path2; ...; pathn

起動時の.pyファイルのロード元のディレクトリ・パスのカンマ区切りリスト。パス・セパレータは、UNIXオペレーティング・システムでは:、Windowsでは;です。

-Dwlst.offline.log=path

WLSTオフライン・ロギングにパスおよびファイル名を設定します(-Dwlst.offline.log=./logs/debug.logなど)。

-Dwlst.offline.log.priority=debug

WLSTオフライン・ロギングのデバッグにログの優先度レベルを設定します。

例2-2 Javaコマンドを使用したWLSTの呼出し例

スクリプト・モードでWLSTを使用するには:

java weblogic.WLST c:/Oracle/Middleware/wlserver/common/templates/scripts/wlst/distributeQueues.py

SSLリスニング・ポートおよびデモ用の証明書を使用するWebLogic Serverインスタンス上でWLSTスクリプトを実行するには:

java -Dweblogic.security.SSL.ignoreHostnameVerification=true
-Dweblogic.security.TrustKeyStore=DemoTrust weblogic.WLST
c:/Oracle/Middleware/wlserver/common/templates/scripts/wlst/distributeQueues.py

対話モードでWLSTを使用するには:

java weblogic.WLST

対話モードでWLSTを起動した後でWebLogic Serverインスタンスに接続するには:

wls:/offline> connect('adminusername','adminpassword','localhost:7001')

2.4.1.3 スクリプトの実行

WLSTスクリプトは、以下のようにして実行できます。

- wlst.cmdまたはwlst.shコマンドに次のスクリプトを指定します。

wlst.sh  /oracle/middleware/wlserver/common/templates/scripts/wlst/distributedQueues.py

- java weblogic.WLSTコマンドにスクリプトを指定します。次のようにして、スクリプトにフルパスを指定するか、

java weblogic.WLST c:/Oracle/Middleware/wlserver/common/templates/scripts/wlst/distributedQueues.py

あるいは、以下のようにして、WLSTを呼び出す前にスクリプトが存在するディレクトリにナビゲートして、コマンドにスクリプト名だけを指定します。

cd C:/Oracle/Middleware/wlserver/common/templates/scripts/wlst
java weblogic.WLST distributeQueues.py

- 対話型WLSTを呼び出した後、次のexecfile()コマンドを使用します。

wls:offline> execfile('c:/Oracle/Middleware/wlserver/common/templates/scripts/wlst/distributedQueues.py')

注意:

パス名にバックスラッシュ(\)を使用する場合、バックスラッシュは特殊文字として認識されるため、エスケープする必要があります。詳細については、「WLSTコマンドの構文」を参照してください

2.4.1.4 「スタート」メニューからのWLSTの呼び出し

Windowsの場合は、「スタート」メニューのショートカットで環境変数を設定し、WLSTを呼び出します(「Oracle WebLogic」>「WebLogic Server」>「Tools」>「WebLogic Scripting Tool」)。

2.4.2 WLSTの終了

WLSTを終了するには、exit()コマンドを入力します。

wls:/mydomain/serverConfig> exit()
Exiting WebLogic Scripting Tool ...
c:\>

2.4.3 WLSTコマンドの構文

WLSTのコマンドを入力、またはスクリプトに記述する際は、次の構文を使用します。

- コマンド名および引数では、大文字と小文字を区別します。

- 引数は一重引用符または二重引用符で囲みます。たとえば、'newServer'または"newServer"です。

- 文字列にバックスラッシュ文字(\)を使用する場合は、そのバックスラッシュに別のバックスラッシュを前置するか、小文字のrを文字列全体の先頭に配置します。このまたはrを指定すると、Jythonによってバックスラッシュが特殊文字として解釈されなくなります。
たとえば、バックスラッシュが含まれるファイル・パス名を指定する際、次のように指定します。

readTemplate('c:\\userdomains\\mytemplates\\mytemplate.jar', 'Expanded')

または

readTemplate(r'c:\userdomains\mytemplates\mytemplate.jar', 'Expanded')

注意:

WindowsマシンでWLSTコマンドにパス名を指定する場合、フォワード・スラッシュ(/)を使用できます。例:

readTemplate('c:/userdomains/templates/template.jar', 'Expanded')

is as valid as

readTemplate('c:\\userdomains\\templates\\template.jar', 'Expanded')

- WLSTオフラインを使用している場合、管理オブジェクトの名前において、ピリオド(.)、フォワードスラッシュ(/)またはバックスラッシュ(\)は無効です。
名前の中にフォワードスラッシュ(/)が含まれる管理オブジェクトに対してcdを実行する必要がある場合、そのオブジェクト名をカッコで囲みます。例:

cd('JMSQueue/(jms/REGISTRATION_MDB_QUEUE)')

2.4.4 複数のWLSTインスタンスを呼び出すときの考慮事項

WLSTの起動ときに、WLSTを起動したユーザーのユーザー名に基づき、Jythonによって一時ディレクトリに情報が保存されます。同一のユーザーが同時に実行される2種類のWLSTインスタンスを呼び出す場合、この情報を一時ディレクトリに保存する際に競合が発生する場合があります。

複数のWLSTインスタンスを同一のユーザー名で呼び出す場合、java.io.tmpdirシステム・プロパティを定義し、同時実行中の他のWLSTインスタンスによって共有される一時ディレクトリをポイントします。たとえば、WLSTの起動に使用するjavaコマンドに次のパラメータを含めます。

-Djava.io.tmpdir=C:\mytempdir

2.5 エラーおよびデバッグ出力のファイルへのリダイレクト

エラーおよびデバッグ情報をファイルにリダイレクトできます。

WLSTの情報、エラー、およびデバッグに関する各メッセージを標準出力からファイルにリダイレクトするには、次のように指定します。

redirect(outputFile,[toStdOut])
stopRedirect()

このコマンドでは、dumpStack()およびdumpVariables()コマンドの出力もリダイレクトされます。

たとえば、WLST出力を、WLSTを起動したディレクトリ下のlogs/wlst.logファイルにリダイレクトするには、次のコマンドを指定します。

wls:/mydomain/serverConfig> redirect('./logs/wlst.log')

詳細は、WebLogic Scripting Toolコマンド・リファレンスのredirectおよびstopRedirectに関する項を参照してください。

2.6 ヘルプの表示

WLSTの各コマンドには、コマンドライン・ヘルプが用意されています。

WLSTのコマンドおよび変数に関する情報を表示するには、helpコマンドを入力します。

引数なしでhelpコマンドを指定すると、WLSTはコマンドのカテゴリの概要を示します。特定のコマンド、変数、またはコマンド・カテゴリの情報を表示するには、helpコマンドに対する引数として、その名前を指定します。すべてのオンラインまたはオフライン・コマンドの概要をコマンド・ラインからリスト表示するには、それぞれ以下のコマンドを使用します。

help('online')
help('offline')

helpコマンドは、問合せをサポートします。たとえば、help('get*')とすると、getで始まるすべてのコマンドについての構文および使い方の情報が表示されます。

たとえば、disconnectコマンドの情報を表示するには、次のコマンドを入力します。

wls:/mydomain/serverConfig> help('disconnect')

コマンドによって、次のメッセージが返されます。

Description:
Disconnect from a WebLogic Server instance.
Syntax:
disconnect()
Example:
wls:/mydomain/serverConfig> disconnect()

2.7 AntからのWLSTの実行

WebLogic Serverでは、Antビルド・ファイルからWLSTスクリプトを呼び出すカスタムAntタスクwlstを使用できます。WLSTスクリプト・ファイル(.py)を作成し、このタスクを使用してスクリプト・ファイルを呼び出すことができます。または、WLSTスクリプトをこのタスク内のネストした要素に作成できます。

Antの詳細は、『Apache Ant 1.7.1 Manual』(http://ant.apache.org/manual/)を参照してください。

wlstタスクは、WebLogic ServerにインストールされているバージョンのAntであらかじめ定義されています。このバージョンのAntをご使用のビルド環境に追加するには、次のスクリプトを実行します。WL_HOMEは、WebLogic Serverをインストールしたディレクトリです。

WL_HOME\server\bin\setWLSEnv.cmd (または、UNIXではsetWLSEnv.sh)

UNIXオペレーティング・システムでは、setWLSEnv.shコマンドはすべてのコマンド・シェルで環境変数を設定しません。Kornシェルまたはbashシェルを使用してこのコマンドを実行することをお薦めします。

独自にインストールしたAntでwlstタスクを使用する場合は、ビルド・ファイルに次のタスク定義を追加します。

<taskdef name="wlst"
classname="weblogic.ant.taskdefs.management.WLSTTask" />

2.7.1 パラメータ

表2-4に、<wlst>要素の属性として指定するwlstタスクのパラメータを示します。

表2-4 wlstのパラメータ

要素の属性として指定するwlstタスクのパラメータを示しています。「属性」列には、属性名と構文が示されています。「説明」列では、指定する値のタイプが説明されています。「必須」列には、属性が必須かどうかが示されています。ブール値の場合、属性のデフォルト値が示されています。" title="wlstのパラメータ" width="100%">

属性

説明

必須

properties="propsFile"

WLSTスクリプト内で参照できる名前と値のペアを含むプロパティ・ファイルの名前と場所。

いいえ

fileName="fileName"

実行するWLSTスクリプト・ファイルの名前と場所。指定されたWLSTスクリプト・ファイルが存在しない場合、このタスクは失敗します。

ネストした<script>が使用されていない場合、必須です。

arguments="arglist"

スクリプトに渡す引数のリスト。これらの引数には、sys.argv変数を使用してアクセス可能です。

いいえ

failOnError="value"

このタスクが失敗した場合に、Antのビルドが失敗するかどうかを指定するブール値。

いいえ。デフォルトはtrueです。

executeScriptBeforeFile="value"

fileName属性で指定されるスクリプト・ファイルの前に、ネストした<script>要素のスクリプトをこのタスクで呼び出すかどうかを指定するブール値。この属性のデフォルトは、埋め込まれたスクリプトが先に呼び出されることを指定するtrueです。

いいえ。デフォルトはtrueです。

debug="value"

このタスクの実行時にデバッグ文を出力するかどうかを指定するブール値。

いいえ。デフォルトはfalseです。

replaceProperties="value"

指定したWLSTスクリプトでAntプロパティを展開するかどうかを指定するブール値。

いいえ。デフォルトはtrueです。

2.7.2 ネストした要素として指定するパラメータ

以下の節では、<wlst>要素のネストした要素として指定するwlstタスクのパラメータについて説明します。

2.7.2.1 script

この要素にはWLSTスクリプトが含まれています。これは、スクリプト・ファイルの名前を付けるのにfileName属性を使用しない場合に必要です。

2.7.2.2 classpath

この要素はクラスパスに追加するクラスを指定します。classpathは、クラスパスにまだ存在しないクラスがスクリプトで必要な場合に使用します。

この要素は、標準のAnt classpath要素です。クラス・パスに追加するディレクトリおよびファイルを指定するネスト要素、またはビルド・ファイルの任意の場所で定義したpath要素への参照を指定できます。『Apache Ant 1.7.1 Manual』の「Path-like Structures」(http://ant.apache.org/manual/using.html#path)を参照してください。

2.7.3 例

以下の節では、createServer、loop、およびerrorターゲットの例を示します。

2.7.3.1 例1

次の例では、createServerターゲットが、以下の処理を行います。

- タスクのクラスパスにクラスを追加します。

- ネストしたscript要素のスクリプトを実行します。このスクリプトは、WebLogicドメインの管理サーバー(t3://localhost:7001)に接続します。(executeScriptBeforeFileはtrueに設定されているため、指定したWLSTスクリプト・ファイルよりも先に呼び出されることに注意してください。)

- fileName属性で指定したスクリプト・ファイルmyscript.pyを実行します。スクリプト・ファイルは、Antを起動したディレクトリにあります。このようなファイルを使用して、編集セッションの開始、新しいサーバーの作成、構成の変更の保存およびアクティブ化を実行可能です。

- スクリプトに渡される3つの引数を定義します。これらの引数には、sys.argv変数を使用してアクセス可能です。

- wlst Antタスクの実行が失敗しても、failOnError="false"設定に従って実行を続行します。

- デバッグを無効化します。

<target name="configServer">
<wlst debug="false" failOnError="false" executeScriptBeforeFile="true"
fileName="./myscript.py">
<classpath>
<pathelement location="${my.classpath.dir}"/>
</classpath>
<script>
connect('adminusername','adminpassword','t3://localhost:7001')
</script>
</wlst>
</target>

2.7.3.2 例2

次の例では、loopターゲットが、以下の処理を行います。

- パスの参照を使用して、タスクのクラスパスにクラスを追加します。

- Antを起動したディレクトリにあるWLSTスクリプト・ファイルmyscript.pyを実行します。(executeScriptBeforeFileはfalseに設定されているため、WLSTスクリプト・ファイルが、埋め込まれたスクリプトよりも先に実行されることに注意してください。)

- 埋め込まれたスクリプトを実行してt3://localhost:7001のサーバーに接続し、WebLogicドメイン内のサーバーのリストにアクセスしてそれを出力します。

- wlstタスクの実行が失敗すると、failOnError="true"設定に従ってビルドの失敗をもたらします。

- デバッグを有効化します。

<path id="my.classpath">
<pathelement location="${my.classpath.dir}"/>
</path>

<target name="loop">
<wlst debug="true" executeScriptBeforeFile="false"
fileName="./myscript.py" failOnError="true">
<classpath>
<pathelement location="${my.classpath.dir}"/>
</classpath>
<script replaceProperties="true">
print 'In the target loop'
connect('${admin.user}','${admin.password}','t3://localhost:7001')
svrs = cmo.getServers()
print 'Servers in the domain are'
for x in svrs: print x.getName()
</script>
</wlst>
</target>

2.7.3.3 例3

次の例では、errorターゲットが、以下の処理を行います。

- 埋め込まれたスクリプトを実行して変数thisWillCauseNameErrorを出力します。

- thisWillCauseNameError変数が存在せず、wlst Antタスクの実行が失敗しても、failOnError="false"設定に従って実行を続行します。

- デバッグを有効化します。

<target name="error">
<wlst debug="true" failOnError="false">
<script>print thisWillCauseNameError</script>
</wlst>
</target>

2.8 JythonモジュールとしてのWLSTのインポート

上級ユーザーは、WLSTをJythonモジュールとしてWebLogic Serverからインポートできます。WLSTのインポート後は、それを他のJythonモジュールと共に使用し、Jython構文で直接Jythonコマンドを呼び出せます。

主な手順としては、WLST定義およびメソッド宣言の.pyファイルへの変換、JythonモジュールへのWLSTファイルのインポート、インポートされたファイルからのWLSTの参照などです。

JythonモジュールとしてWLSTをインポートするには:

1. WLSTを呼び出します。

cd ORACLE_HOME/oracle_common/common/bin
./wlst.sh
wls:/offline>

2. WLSTの定義およびメソッド宣言を.pyファイルに変換するには、writeIniFileコマンドを使用します。

wls:/offline> writeIniFile("wl.py")
The Ini file is successfully written to wl.py
wls:/offline>

3. 新しいコマンド・シェルを開き、次のコマンドを入力して、Jythonを直接呼び出します。

c:\>java org.python.util.jython

Jythonパッケージ・マネージャが、クラスパス内のJARファイルを処理します。Jythonプロンプトが表示されます。

>>>

4. Jythonのimportコマンドを使用して、JythonモジュールにWLSTモジュールをインポートします。

>>>import wl

5. これで、WLSTメソッドをモジュール内で使用できるようになりました。たとえば、WLSTをサーバー・インスタンスに接続するには:

wl.connect('username','password')
....

注意:

WLSTをJythonモジュールとして使用する場合、ブロック引数を持つすべてのWLSTコマンドで、ブロックは常にtrueに設定され、コマンドが完了するまでWLSTがユーザーの対話をブロックすることが指定されます。WebLogic Scripting Toolコマンド・リファレンスのWLSTコマンドおよび変数リファレンスに関する項を参照してください。

記録されたスクリプトをJythonインタプリタで直接実行する場合、ブール値trueおよびfalseによってエラーが発生する場合があります。記録されたスクリプトをJythonインタプリタで実行する前に、スクリプトに対して次のいずれかの変更を行ってください。

- スクリプトに次の2行を追加してtrueおよびfalse値を定義します。

- true=1
false=0

- trueおよびfalse値を、wl.trueおよびwl.falseに変更します。ここで、wlはインポート元の名前です。

2.9 WLSTのカスタマイズ

デフォルトではWL_HOME/common/wlstにあるWLSTホーム・ディレクトリを使用して、WLSTをカスタマイズできます。WL_HOMEは、WebLogic Serverの最上位インストール・ディレクトリを表します。WLSTホーム・ディレクトリ内で定義されているPythonスクリプトはすべて、WLST起動時にインポートされます。

注意:

デフォルトのWLSTホーム・ディレクトリは、コマンド・ライン上で次の引数を渡すことで、カスタマイズできます。

-Dweblogic.wlstHome=<another-directory>

次の表では、WLSTをカスタマイズする方法について説明します。

表2-5 WLSTのカスタマイズ

次のカスタマイズを定義するには...

次を行います...

サンプル・スクリプトは、次を参照...

WLSTコマンド

新しいコマンドを定義するPythonスクリプトを作成し、そのファイルをWL_HOME/common/wlstにコピーします。

新しいWLSTコマンドを定義するサンプル・スクリプト

ライブラリ内のWLSTコマンド

新しいコマンドを定義するPythonスクリプトを作成し、そのファイルをWL_HOME/common/wlst/libにコピーします。

このディレクトリ内のスクリプトが、Jythonライブラリとしてインポートされます。

新しいWLSTコマンドを定義するサンプル・スクリプト

JythonモジュールとしてのWLSTコマンド

新しいコマンドを定義するPythonスクリプトを作成し、そのファイルをWL_HOME/common/wlst/modulesにコピーします。

このスクリプトは、「JythonモジュールとしてのWLSTのインポート」で説明したとおり、他のJythonモジュールにインポートできます

WL_HOME/common/wlst/modules/wlstModule.py

Jython 2.2.1で利用できるすべてのJythonモジュールが格納されている、JARファイルjython-modules.jarも、このディレクトリ内で利用可能です。

カスタムWLSTコマンドの統合ヘルプ

リソース・バンドル内に各コマンド・グループおよびコマンドのヘルプ・テキストを定義します。

addHelpCommandGroupを使用して、help()コマンドで表示されるコマンド・グループのリストにコマンド・グループを追加します。

addHelpCommandを使用して、help('commandGroup')コマンドで表示されるコマンドのリストにコマンドを追加します。

通常、カスタム・コマンドの定義が格納されている.pyファイルからaddHelpCommandGroupおよびaddHelpCommandを呼び出します。

詳細については、「カスタム・コマンドの統合ヘルプの追加」を参照してください。

該当なし

2.9.1 カスタム・コマンドの統合ヘルプの追加

WLSTをカスタマイズして、定義したカスタムWLSTコマンドの統合ヘルプを追加できます。統合ヘルプを追加するには、リソース・バンドル内に各コマンド・グループおよびコマンドのヘルプ・テキストを定義します。定義したファイルは、クラスまたはプロパティ・リソース・ファイルのいずれかになります。複数のコマンド・グループのヘルプを同じリソース・バンドルに定義できます。

注意:

リソース・バンドルは、クラスパスに指定されている必要があります。

リソース・バンドルには、コマンド・グループごとに次のエントリが格納されます。

<commandGroup>_ShortDescription=\
<short description of command group>
<commandGroup>_Description=\
\n<description of command group>

たとえば、次の行では、コマンド・グループnavigateの短い説明と説明が定義されています。

navigate_ShortDescription=\
Lists commands for navigating the hierarchy of beans.
navigate_Description=\
\n Navigates the hierarchy of beans and controls the prompt display. \n

help()コマンドを入力してコマンド・グループのリストを表示すると、次のようにリスト内にnavigateの短い説明が表示されます。

wls:/offline>help()
WLST is a command line scripting tool to configure and administer a WebLogic Server. Try:
help('all')        List all WLST commands available.
help('browser')    List commands for browsing the hierarchy.
help('navigate')   List commands for navigating the bean hierarchy.

help('navigate')コマンドを入力すると、次のようにグループのコマンド・リストの上に説明が表示されます。

wls:/offline> help('navigate')
Navigates the hierarchy of beans and controls the prompt display.
help('mycd')     Navigate the hierarchy of beans.
help('myprmpt')  Toggle the display of path information at the prompt.

リソース・バンドルには、標準パターンを使用したコマンドのヘルプ・テキスト・エントリも格納されます。次のように、コマンド名ごとにいくつかのエントリがあります。

<commandName>_ShortDescription
<commandName>_Description
<commandName>_Example
<commandName>_Syntax

次の行では、mycdコマンドのヘルプが定義されています。

mycd_ShortDescription=\
Navigate the hierarchy of beans.

mycd_Description=\
\nNavigate the hierarchy of configuration or runtime beans. This \
\ncommand uses a model that is similar to navigating a file system \
\nin a Windows or UNIX command shell. For example, to navigate back \
\nto a parent configuration or runtime bean, enter mycd(".."). The \
\ncharacter string .. (dot-dot) refers to the directory immediately \
\nabove the current directory. To get back to the root configuration \
\nbean after navigating to a configuration or runtime bean that is \
\ndeep in the hierarchy, enter mycd("/"). \

mycd_Example=\
wls:/mydomain/serverConfig> mycd('Servers')\n\
wls:/mydomain/serverConfig/Servers> mycd('myserver)\n\
wls:/mydomain/serverConfig/Servers/myserver>mycd('../..')\n\
wls:/mydomain/serverConfig>

mycd_syntax=\
mycd(mbeanName)
\n- mbeanName = Path to the configuration or runtime bean in the namespace.\
\n

help('commandGroup')コマンドを入力してグループのすべてのコマンドをリストすると、コマンド名の右側に、次のように短い説明が表示されます。

wls:/offline> help('navigate')
Navigates the hierarchy of beans and controls the prompt display.
help('mycd')     Navigate the hierarchy of beans.
help('myprmpt')  Toggle the display of path information at the prompt.

help('commandName')コマンドを入力すると、説明、例、および構文が表示されます。

wls:/offline> help('mycd')

Description:

Navigate the hierarchy of configuration or runtime beans. This
command uses a model that is similar to navigating a file system
in a Windows or UNIX command shell. For example, to navigate back
to a parent configuration or runtime bean, enter mycd(".."). The
character string .. (dot-dot) refers to the directory immediately
above the current directory. To get back to the root configuration
bean after navigating to a configuration or runtime bean that is
deep in the hierarchy, enter mycd("/").

Syntax:
mycd(mbeanName)
- mbeanName = Path to the configuration or runtime bean in the namespace.

Example:

wls:/mydomain/serverConfig> mycd('Servers')\n\
wls:/mydomain/serverConfig/Servers> mycd('myserver)\n\
wls:/mydomain/serverConfig/Servers/myserver>mycd('../..')\n\
wls:/mydomain/serverConfig>

リソース・バンドルにヘルプ・テキストを定義したら、addHelpCommandGroupを使用して、コマンド・グループ名をhelp()コマンドで出力されるコマンド・グループのリストに追加します。addHelpCommandを使用して、グループ内の各コマンドをhelp('commandGroup')コマンドで表示されるコマンドのリストに追加します。WebLogic Scripting Toolコマンド・リファレンスのaddHelpCommandGroupおよびaddHelpCommandに関する項を参照してください。

リソース・バンドルとローカライゼーションの詳細は、http://download.oracle.com/javase/6/docs/api/java/util/ResourceBundle.htmlを参照してください。

2.9.2 新しいWLSTコマンドを定義するサンプル・スクリプト

次のサンプル・スクリプトは、新しいWLSTコマンドを定義する方法を示しています。

def wlstHomeSample():
print 'Sample wlst home command'

このスクリプト内でwlstHomeSample()コマンドが定義され、このコマンドが次のようにテキスト文字列を出力します。

wls:/offline> wlstHomeSample()
Sample wlst home command

新しいWLSTコマンドをこの方法で定義する場合は、.pyファイルをWL_HOME/common/wlstディレクトリに格納します。

次のサンプル・スクリプトは、階層化された製品およびISVが独自のネームスペース内のWLSTにコマンドを追加できる、WLST libディレクトリの使用法を示しています。このスクリプトの構造は、前の例と同様です。唯一の違いは、WL_HOME/common/wlstディレクトリではなく、WL_HOME/common/wlst/libディレクトリに格納される点です。

def wlstExampleCmd():
print 'Example command'

このスクリプト内でwlstExampleCmd()コマンドが定義され、このコマンドが次のようにテキスト文字列を出力します。

wls:/offline>wlstLibSample.wlstExampleCmd()
Example command

WLST libディレクトリがない場合は作成する必要があります。

3 WLSTオフラインを使用したWebLogicドメインの作成

WebLogic Scripting Tool (WLST)オフラインを使用して、WebLogicドメインを作成および構成できます。WLSTでは、実行中のWebLogic Serverに接続しないで(つまり、WLSTオフラインを使用して)、構成ウィザードと同じ機能をサポートしながら、新しいWebLogicドメインを作成し、既存のWebLogicドメインを更新できます。

トピック:

- ドメイン・テンプレートの作成および使用(オフライン)

- WebLogicドメインの作成と更新

- 構成階層情報の参照(オフライン)

- WebLogicドメインの編集(オフライン)

- 代替手段: configToScriptコマンドの使用

- クラスタ、JDBC、およびJMSリソースに関する考慮事項

- リモート・マシンでの新しい管理対象サーバー・ドメインの作成

WebLogicドメインの作成に使用できるサンプル・スクリプトについては、「WLSTオフライン・サンプル・スクリプト」を参照してください。

構成ウィザードの詳細は、「構成ウィザードによるドメインの作成」を参照してください。

3.1 ドメイン・テンプレートの作成および使用(オフライン)

ドメイン・テンプレートは、ドメインの構成ドキュメント、アプリケーション、セキュリティ・データ、起動スクリプト、およびWebLogicドメインの作成に必要なその他の情報が含まれたJARファイルです。ドメイン・テンプレートを作成および使用するには、表3-1に示す手順を実行します。

注意:

WLSTによるドメインの作成や更新に時間がかかるような場合、CONFIG_JVM_ARGS環境変数を次の値に設定することにより、時間を短縮できます:

-Djava.security.egd=file:/dev/urandom

表3-1 ドメイン・テンプレートを作成する手順(オフライン)

次を行うには...

このコマンドを使用します...

詳細については、以下を参照

既存のWebLogicドメインを開くか、ドメインのテンプレートを選択する

readDomain(domainDirName)

selectTemplate(templateName, TemplateVersion)

loadTemplates()

WebLogic Scripting Toolコマンド・リファレンスのreadDomain、selectTemplateおよびloadTemplates

WebLogicドメインを修正する(オプション)

参照コマンドおよび編集コマンド

構成階層情報の参照(オフライン)

WebLogicドメインの編集(オフライン)

未設定の場合に、デフォルト・ユーザーのパスワードを設定する。

ドメイン・テンプレートに書き込むには、先にデフォルトのユーザー名およびパスワードを設定する必要があります。

cd('/Security/domainname/User/username')

cmo.setPassword('password')

WLSTオフライン・サンプル・スクリプト

ドメイン・テンプレートにドメイン構成情報を書き込む。

writeTemplate(templateName)

WebLogic Scripting Toolコマンド・リファレンスのwriteTemplate

テンプレートを使用してドメインを作成する。

createDomain(domainTemplate,

domainDir, user, password)

注意: 構成ウィザードでもドメイン・テンプレートを使用できます。「構成ウィザードによるドメインの作成」を参照してください。

WebLogic Scripting Toolコマンド・リファレンスのcreateDomain

例3-1は、既存のドメインからドメイン・テンプレートを作成するために必要な、基本的なコマンドを示します。

例3-1 既存のドメインからのドメイン・テンプレートの作成

# Read the domain from the domain home located at /domains/mydomain
readDomain('/domains/mydomain')

# Create the template jar mydomain.jar in /templates
writeTemplate('/templates/mydomain.jar')

3.2 WebLogicドメインの作成と更新

WebLogicドメインを作成または更新する場合、構成セッションに対して3つのフェーズがあります。

- readTemplate (作成の場合)またはreadDomain (更新の場合)を使用し、その後にオプションで1つ以上のaddTemplate()コールを続けて、構成をロードおよびマージします。

- 構成ツリーにナビゲートし、属性を更新することによって、構成を変更します。

- writeDomain (作成の場合)、updateDomain (更新の場合)、またはwriteTemplate (テンプレートの作成の場合)を使用し、その後に必要に応じてcloseTemplateまたはcloseDomainを続けて、構成を保存します。

次の例は、単一のテンプレートおよび複数のテンプレートからドメインを作成するコマンドの順序を示します。より広範囲のサンプルのWLSTオフライン・スクリプトは、次のディレクトリで入手できます。

ORACLE_HOME/wlserver/common/templates/scripts/wlst

例3-2は、単一のテンプレートからドメインを作成するために必要なコマンドの基本的な順序を示します。この例では、wls.jarテンプレートから基本的なWebLogic Serverドメインを作成します。

例3-2 単一のテンプレートからのドメインの作成

# Read the template to use for creating the domain
readTemplate('oracle_home/middleware/wlserver/common/templates/wls/wls.jar')

# Set the listen address and listen port for the Administration Server
cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort', 7001)

# Enable SSL on the Administration Server and set the SSL listen address and
# port
create('AdminServer','SSL')
cd('SSL/AdminServer')
set('Enabled', 'True')
set('ListenPort', 7002)

# Set the domain password for the WebLogic Server administration user
cd('/')
cd('Security/base_domain/User/'adminusername')
cmo.setPassword('adminpassword')

# If the domain already exists, overwrite the domain
setOption('OverwriteDomain', 'true')

# write the domain and close the template
writeDomain('/domains/mydomain')
closeTemplate()

exit()

例3-3は、ドメイン・テンプレートおよび1つ以上の拡張テンプレートを使用して新規ドメインを作成する方法を示します。この例では、wls.jarテンプレートから基本的なWebLogic Serverドメインを作成してから、WebLogic Webサービスの拡張テンプレートをドメインに追加してドメインを拡張します。

例3-3 複数のテンプレートからのドメインの作成

# Read the basis WebLogic Server domain template
readTemplate('oracle_home/middleware/wlserver/common/templates/wls/wls.jar')

# Add the second template, in this example, the Web Services template
addTemplate('/scratch/leturme/wls1213/oracle_common/common/templates/wls/
oracle.wls-webservice-template_12.1.3.jar')

# Set the listen address and listen port for the Administration Server
cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort', 7001)

# Enable SSL on the Administration Server and set the SSL listen address and
# port
create('AdminServer','SSL')
cd('SSL/AdminServer')
set('Enabled', 'True')
set('ListenPort', 7002)

# Set the domain password for the WebLogic Server administration user
cd('/')
cd('Security/base_domain/User/'adminusername')
cmo.setPassword('adminpassword')

# If the domain already exists, overwrite the domain
setOption('OverwriteDomain', 'true')

# write the domain and close the templates
writeDomain('/domains/mydomain')
closeTemplate()

exit()

3.3 構成階層情報の参照(オフライン)

WLSTオフラインでは、テンプレート・ビルダーを使用して作成したドメイン・テンプレートJAR内、またはWebLogicドメインのconfigディレクトリ内に永続化されている構成データへの読み書きアクセスが可能です。このデータは、XMLドキュメントの集合であり、管理オブジェクトの階層構造を表します。WebLogicドメインの構成ドキュメントを定義するスキーマは、次の場所に格納されています。

- http://xmlns.oracle.com/weblogic/domain/1.0/domain.xsd

- http://xmlns.oracle.com/weblogic/security/1.0/security.xsd

- http://xmlns.oracle.com/weblogic/weblogic-diagnostics/1.0/weblogic-diagnostics.xsd

- WL_HOME/server/lib/schema内のJARファイル。WL_HOMEはWebLogic Serverのインストール・ディレクトリです。このディレクトリ内では、以下のドキュメントが表現されています。このディレクトリには次が含まれます。

- domain.xsdドキュメント。パス名META-INF/schemas/schema-0.xsdのweblogic-domain-binding.jarで表現されます。

- security.xsdドキュメント。パス名META-INF/schemas/schema-1.xsdのweblogic-domain-binding.jarで表現されます。

- weblogic-diagnostics.xsdドキュメント。パス名META-INF/schemas/schema-0.xsdのdiagnostics-binding.jarで表現されます。

WLSTでは、この階層はファイルシステムとして表されます。ファイルシステムのルートが、WebLogicドメインを表す管理オブジェクトです。ドメイン・ディレクトリの下には管理対象オブジェクト・タイプのディレクトリ群があります。このオブジェクト・タイプの各インスタンスがタイプ・ディレクトリの下位ディレクトリであり、各管理属性および操作がディレクトリ内のファイルです。インスタンス・ディレクトリの名前は、管理オブジェクトのName属性の値と一致します。管理オブジェクトにName属性がない場合、NO_NAME_numberの形式でディレクトリ名が生成されます。ここで、numberは0(ゼロ)から始まり、追加のインスタンスごとに1ずつ増分します。

階層をナビゲートするには、UNIXまたはWindowsのコマンド・シェルでファイル・システムをナビゲートするのと同様に、cd、ls、pwdなどのWLSTコマンドを使用します(表3-2を参照)。

注意:

WebLogic Serverのデフォルト値のほとんどは、パフォーマンスを最適化するため、ドメインの構成ファイルには保持されていません。この最適化が原因で、WLSTオフラインでは管理オブジェクト全体を表示できない場合があります(WebLogic Serverでは対応するXML要素をドメインの構成ファイルに書き込んでいないため)。たとえば、WebLogicドメインがアクティブであるときにドメインのロギングのデフォルト重大度レベルを変更しなかった場合、WLSTオフラインではドメインのLog管理オブジェクトは表示されません。

WLSTオフラインで表示されない管理オブジェクトの属性のデフォルト値を変更する場合、最初にcreateコマンドを使用して管理オブジェクトを作成する必要があります。次に、cdを使用して管理オブジェクトに移動し、属性値を変更します。WebLogic Scripting Toolコマンド・リファレンスのcreateに関する項を参照してください。

表3-2 WebLogicドメイン構成情報の表示(オフライン)

次を行うには...

このコマンドを使用します...

詳細は、WebLogic Scripting Toolコマンド・リファレンスの次の項を参照

管理オブジェクトの階層をナビゲートする

cd(path)

「cd」

現在の管理オブジェクトの子の属性または管理オブジェクトをリストする

ls(['a' | 'c'])

「ls」

プロンプトで管理オブジェクトのナビゲーション・パス情報表示を切り替える

prompt(['off'|'on'])

「prompt」

構成階層内の現在の場所を表示する

pwd()

「pwd」

WLSTで使用されるすべての変数を表示する

dumpVariables()

「dumpVariables」

WLSTアクションの実行中に発生した最近の例外のスタック・トレースを表示する

dumpStack()

「dumpStack」

3.4 WebLogicドメインの編集(オフライン)

WLSTオフラインを使用してWebLogicドメインを編集するには、次の表で定義されているタスクのいずれかを実行します。

注意:

WLSTによるドメインの作成や更新に時間がかかるような場合、CONFIG_JVM_ARGS環境変数を次の値に設定することにより、時間を短縮できます:

-Djava.security.egd=file:/dev/urandom

表3-3 WebLogicドメインの編集

次を行うには...

このコマンドを使用します...

詳細は、WebLogic Scripting Toolコマンド・リファレンスの次の項を参照

アプリケーションをWebLogicドメインに追加する

selectTemplate(templateName)

loadTemplate(templateName)

「selectTemplate」および「loadTemplates」

リソースを1つまたは複数の宛先に割り当てる(クラスタへのサーバーの割り当てなど)

assign(sourceType, sourceName,
destinationType, destinationName)

「assign」

リソースの割当てを解除する

unassign(sourceType, sourceName,
destinationType, destinationName)

「unassign」

管理オブジェクトを作成および削除する

create(name, childMBeanType)
delete(name, childMBeanType)

「create」

「delete」

属性値を取得および設定する

get(attrName)
set(attrName, value)

「get」

「set」

構成オプションを設定する

setOption(optionName, value)

「setOption」

SQLファイルをデータベースにロードする

loadDB(dbVersion, connectionPoolName)

「loadDB」

3.5 代替手段: configToScriptコマンドの使用

WLSTには、既存のWebLogicドメインを読み込み、WebLogicドメインの再作成が可能なWLSTスクリプトを出力するconfigToScriptというコマンドがあります。WebLogic Scripting Toolコマンド・リファレンスのconfigToScriptに関する項を参照してください。

注意:

WebLogic Serverに加えて他のFusion Middlewareコンポーネントが含まれるドメインにconfigToScriptを使用する場合、configToScriptには、結果として生じるWLSTスクリプトにある、そのコンポーネントの構成が含まれないことに注意してください。WebLogic Server構成のみがこのスクリプトに含まれます。

configToScriptは将来のリリースで非推奨になります。リモート・サーバーでドメインを再作成するには、packおよびunpackを使用することをお薦めします。『PackおよびUnpackコマンドによるテンプレートとドメインの作成』を参照してください。

ドメイン・テンプレートの作成や使用とは異なり、configToScriptコマンドは、一緒に使用する必要のある複数のファイルを作成します。(ドメイン・テンプレートは単一のJARファイルです。)また、configToScriptコマンドが作成するスクリプトには、次の特徴があります。

- WLSTでのみ実行できます。
ドメイン・テンプレートは、WLSTまたは構成ウィザードで使用できます。

- WebLogic Serverインスタンスが実行されている必要があります。サーバーが実行されていない場合、このスクリプトによってサーバーが起動されます。
WLSTオフラインまたは構成ウィザードでは、ドメイン・テンプレートを使用して、サーバー・インスタンスを起動せずにWebLogicドメインを作成できます。

- アプリケーションおよびその他のリソースへの参照のみが含まれます。生成されたスクリプトを実行するとき、アプリケーションおよびリソースは、ファイルシステムを介してWebLogicドメインにアクセスできる必要があります。
WebLogicドメイン・テンプレートは、WebLogicドメインの作成に必要なすべてのアプリケーションおよびリソースが含まれたJARファイルです。ドメイン・テンプレートは自己完結型であるため、ドメイン・テンプレートを使用すると、ファイルシステムを共有しない別のシステムにWebLogicドメインを作成できます。

3.6 クラスタ、JDBC、およびJMSリソースに関する考慮事項

WLSTオフラインで、アプリケーション・スコープのJDBCやJMSリソース、またはその両方が含まれるアプリケーションを備えたテンプレートを使用してクラスタWebLogicドメインを作成または拡張した場合、ドメインの作成または拡張後に、アプリケーションとそのアプリケーション・スコープのリソースが確実にターゲット指定され、クラスタ環境に適切にデプロイされるために、追加の手順の実行が必要な場合があります。アプリケーション・スコープのモジュールのターゲット指定とデプロイメントの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「weblogic.deployerによるアプリケーションおよびモジュールのデプロイ」を参照してください。

JDBCリソースを使用してデータベースに接続する場合、データベース・ベンダーの要件に従って環境を変更します。通常、そのためには、ドライバ・クラスをCLASSPATH変数に追加し、ベンダー固有のディレクトリをPATH変数に追加します。SDKをPATH変数に追加し、WebLogic ServerクラスをCLASSPATH変数に追加するだけでなく、サンプルDerbyデータベースで必要な環境を設定するには、次のスクリプトを呼び出します。

ORACLE_HOME\user_projects\domains\wl_server\setExamplesEnv.cmd (Windowsの場合)

ORACLE_HOME/user_projects/domains/wl_server/setExamplesEnv.sh (UNIXの場合)

3.7 リモート・マシンでの新しい管理対象サーバー・ドメインの作成

WebLogicドメインに複数の管理対象サーバーがあり、その管理対象サーバーのドメイン・ディレクトリが管理サーバーが存在しないリモート・マシンに配置される場合は、オンライン・モードでWLST writeTemplateコマンドを使用できます。リモート・マシンから管理サーバーに接続した際にwriteTemplateコマンドを実行すると、テンプレートJARファイルに管理サーバー上のドメインが動的にパッケージ化され、指定したディレクトリにテンプレートJARが転送されます。

次のWLSTスクリプト例は、writeTemplateを使用して、リモート・マシンで管理対象サーバー・ドメインを作成または更新する方法を示します。ドメインの各リモート・マシンでスクリプトを実行します。

import os

wlsHome = os.getenv('WL_HOME')
mwHome = os.path.join(wlsHome, '..')

#Substitute the administrator user name and password values below as needed
connect('adminusername','adminpassword','localhost:7001')

#The path on the local machine where the template will be created,
#it should not already exist.
templatePath = 'user_templates/myTemplate.jar'

#get the packed template from the Administration Server
writeTemplate(templatePath)

#disconnect from online WLST connection to the Administration Server
disconnect()

#select and load the template that was downloaded from the Administration
#Server.
selectCustomTemplate('templatepath')

loadTemplates()

#specify the domain directory where the domain needs to be created
domainPath = 'domains/myRemoteDomain')

#create the domain
writeDomain(domainPath)

4 サーバーのライフサイクルの管理

WebLogic Scripting Tool (WLST)を使用してサーバー・ライフサイクルを管理および監視できます。存続期間中、サーバーは停止、起動、スタンバイ、管理、再開中、実行中など、複数の動作状態を遷移できます。

トピック:

- WLSTとノード・マネージャを使用したサーバー管理

- ノード・マネージャを使用しないサーバーの起動および管理

サーバーのライフサイクルの詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーのライフサイクルの理解に関する項を参照してください。

サーバー・インスタンスを起動および停止するその他の方法については、『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動と停止に関する項を参照してください。

4.1 WLSTとノード・マネージャを使用したサーバー管理

ノード・マネージャは、単一のWLSTセッションおよび単一のネットワーク接続を介して複数のサーバーのライフサイクルを制御できるユーティリティです(障害発生後にサーバーを自動的に再起動することもできます)。

ノード・マネージャの詳細は、『Oracle WebLogic Serverノード・マネージャの管理』を参照してください。

WLSTでは、ノード・マネージャに関して次のことを実行できます。

- ノード・マネージャの起動。

- ノード・マネージャへの接続後の、ノード・マネージャを使用したノード・マネージャ・マシン上のサーバーの起動および停止。図4-1を参照してください。

図4-1 マシン上のサーバーの起動

ノード・マネージャ・プロセスは、特定のWebLogicドメインまたは特定のマシンに関連付けられます。ドメインに関連付けられている場合は、ノード・マネージャ・プロセスを使用してそのドメインのサーバー・インスタンスの制御のみ実行できます。マシンに関連付けられている場合は、サーバー・インスタンスがノード・マネージャ・プロセスと同じマシン上に存在しているかぎり、同じノード・マネージャ・プロセスを使用して任意のWebLogicドメインのサーバー・インスタンスを制御できます。

ノード・マネージャ・クライアントとして動作しているときにWLSTで使用可能なコマンドについては、WebLogic Scripting Toolコマンド・リファレンスのノード・マネージャ・コマンドに関する項を参照してください。ノード・マネージャの構成については、『Oracle WebLogic Serverノード・マネージャの管理』のノード・マネージャのデフォルトの構成に関する項を参照してください。

- 管理サーバーへの接続、およびその後の管理サーバーを使用したドメイン内のサーバーの起動および停止。図4-2を参照してください。

図4-2 WebLogicドメイン内のサーバーの起動

このケースでは、WLSTが管理サーバーのクライアントで、管理サーバーでは1つまたは複数のノード・マネージャを使用して管理対象サーバーを起動しています。

管理サーバー・クライアントとして動作しているときにWLSTで使用可能なライフサイクル・コマンドについては、WebLogic Scripting Toolコマンド・リファレンスのライフサイクル・コマンドに関する項を参照してください。

4.1.1 ノード・マネージャを使用したマシン上のサーバーの起動

WLSTでは、任意のマシン上で実行されているノード・マネージャに接続でき、そのマシン上の1つまたは複数のWebLogic Serverインスタンスを起動できます。この方法を使用してWLSTおよびノード・マネージャでサーバー・インスタンスを起動するために、WebLogicドメインの管理サーバーが実行されている必要はありません。

WLSTをノード・マネージャに接続し、サーバーを起動するには:

1. サーバーを起動するようにノード・マネージャを構成します。

『Oracle WebLogic Serverノード・マネージャ管理』のJavaノード・マネージャの構成に関する項を参照してください。

2. WLSTを起動します。

3. ノード・マネージャを起動します。

ノード・マネージャがまだ起動していない場合は、DOMAIN_HOME/binまたはWL_HOME/server/binのいずれかのstartNodeManagerスクリプトを使用して起動します。詳細は、『Oracle WebLogic Serverノード・マネージャの管理』のスクリプトを使用したJavaベースのノード・マネージャの起動に関する項を参照してください。

4. nmConnectコマンドを入力して、WLSTをノード・マネージャに接続します。

wls:/offline>nmConnect('username','password','nmHost','nmPort',
'domainName','domainDir','nmType')

例:

nmConnect('adminusername', 'adminpassword', 'localhost', '5556',
'mydomain','c:/bea/user_projects/domains/mydomain','SSL')
Connecting to Node Manager ...
Successfully connected to Node Manager.
wls:/nm/mydomain>

nmConnectコマンド引数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのnmConnectに関する項を参照してください。

5. nmStartコマンドを使用して、サーバーを起動します。

wls:/nm/mydomain>nmStart('AdminServer')
starting server AdminServer
...
Server AdminServer started successfully
wls:/nm/mydomain>

6. nmServerStatusコマンドを入力して、管理サーバーのステータスをモニターします。

wls:/nm/mydomain>nmServerStatus('serverName')
RUNNING
wls:/nm/mydomain>

7. nmKillコマンドを入力して、サーバーを停止します。

wls:/nm/mydomain>nmKill('serverName')
Killing server AdminServer
Server AdminServer killed successfully
wls:/nm/mydomain>

WLSTノード・マネージャのコマンドの詳細は、WebLogic Scripting Toolコマンド・リファレンスのノード・マネージャのコマンドに関する項を参照してください。

4.1.2 ノード・マネージャを使用したWebLogicドメインまたはクラスタの管理対象サーバーの起動

ノード・マネージャを使用して管理対象サーバーおよびクラスタを起動するには:

1. サーバーを起動するようにノード・マネージャを構成します。

『Oracle WebLogic Serverノード・マネージャ管理』のJavaノード・マネージャの構成に関する項を参照してください。

2. WLSTを起動します。

3. ノード・マネージャを起動します。

ノード・マネージャがまだ起動していない場合は、domain_home/binまたはWL_HOME/server/binのいずれかのstartNodeManagerスクリプトを使用して起動します。詳細は、『Oracle WebLogic Serverノード・マネージャの管理』のスクリプトを使用したJavaベースのノード・マネージャの起動に関する項を参照してください。

4. 管理サーバーを起動します。

5. connectコマンドを使用して管理サーバー・インスタンスにWLSTを接続します。

wls:/offline> connect('username','password')

Connecting to weblogic server instance running at t3://localhost:7001 as
username weblogic ...
Successfully connected to Admin Server 'myserver' that belongs to domain
'mydomain'.
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used
instead.

wls:/mydomain/serverConfig>

connectコマンド引数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのconnectに関する項を参照してください。

6. 以下のいずれかを行います。

- 管理対象サーバーを起動するには次のコマンドを入力します - ここで、managedServerNameはサーバー名を示します。
start('managedServerName','Server')

- クラスタを起動するには次のコマンドを入力します - ここで、 clusterNameはクラスタ名を示します。
start('clusterName','Cluster')

詳細は、WebLogic Scripting Toolコマンド・リファレンスのstartに関する項を参照してください。

4.2 ノード・マネージャを使用しないサーバーの起動および管理

ノード・マネージャを使用せずに、管理サーバーを起動および管理できます。

以下の節では、ノード・マネージャを使用せずにサーバーを起動し、サーバー状態を管理する方法について説明します。

- ノード・マネージャを使用しない管理サーバーの起動

- ノード・マネージャを使用しないサーバー状態の管理

ノード・マネージャを使用しないと、WLSTでは管理対象サーバーを起動できません。サーバー・インスタンスを起動および停止するその他の方法については、『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動と停止に関する項を参照してください。

4.2.1 ノード・マネージャを使用しない管理サーバーの起動

ノード・マネージャを使用せずに管理サーバーを起動するには:

1. まだドメインを作成していない場合は、WLSTでWebLogicドメインを作成します。

詳細は、WLSTオフラインを使用したWebLogicドメインの作成を参照してください

2. ドメインを作成したコンピュータでシェル(コマンド・プロンプト)を開きます。

3. ドメインを配置したディレクトリに移動します。

4. 次のスクリプトのいずれかを実行して、環境を設定します。

- bin\setDomainEnv.cmd (Windowsの場合)

- bin/setDomainEnv.sh (UNIXの場合: このスクリプトをKornシェルから実行することをお薦めします。)

Windowsの場合は、「スタート」メニューのショートカットで環境変数を設定し、WLSTを呼び出すことができます(「ツール」→「WebLogic Scripting Tool」)。

5. 「WLSTの呼出し」での説明に従って、WLSTを呼び出します

WLSTプロンプトが表示されます。

wls:/offline>

6. WLSTのstartServerコマンドを使用して、管理サーバーを起動します。

startServer([adminServerName], [domainName], [url], [adminusername],
[adminpassword],[domainDir], [block], [timeout], [serverLog],
[systemProperties], [jvmArgs] [spaceAsJvmArgsDelimiter])

startServerコマンド引数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのstartServerに関する項を参照してください。

例:

wls:offline/>startServer('AdminServer','mydomain','t3://localhost:7001',
'adminusername','adminpassword','c:/domains/mydomain',
'true',60000,'false')

WLSTがサーバー・インスタンスを起動した後は、サーバーはWLSTとは別個のプロセスで実行されます。WLSTを終了しても、サーバーは停止されません。

4.2.2 ノード・マネージャを使用しないサーバー状態の管理

WLSTライフサイクル・コマンドを使うと、サーバー・インスタンスが遷移する状態を制御できます。WebLogic Scripting Toolコマンド・リファレンスのライフサイクル・コマンドに関する項を参照してください。サーバーに接続し、管理コマンドを発行する際は、WebLogicドメインの管理ポートを有効化および使用することをお薦めします。「WLST接続の保護」を参照してください。

例4-1に示すコマンドは、サーバーを明示的に次のサーバー状態に遷移させます: RUNNING->ADMIN->RUNNING->SHUTDOWN

WebLogic Serverを起動してからこのスクリプトを実行します。

例4-1 WLSTライフサイクルのコマンド

# Specify the SSL arguments when starting WLST
export WLST_PROPERTIES="-Dweblogic.security.TrustKeyStore=DemoTrust,   -Dweblogic.security.SSL.ignoreHostnameVerification=true"

./wlst.sh

# Connect to the Administration Server
connect("username","password","t3://localhost:7001")

# First enable the Administration Port. This is not a requirement.
# After you enable the Administration Port in a domain, WebLogic Server
# persists the setting in its configuration files. You do not need to repeat
# the process in future WLST sessions.
edit()
startEdit()
cmo.setAdministrationPortEnabled(1)
activate(block="true")

# check the state of the server
state("myserver")

# now move the server from RUNNING state to ADMIN
suspend("myserver", block="true")

# reconnect to the server
exit()
connect("username","password","t3://localhost:7001")

# check the state
state("myserver")

# now resume the server to RUNNING state
resume("myserver",block="true")

# check the state
state("myserver")

# now take a thread dump of the server
threadDump("./dumps/threadDumpAdminServer.txt")

# finally shutdown the server
shutdown(block="true")

5 MBeanのナビゲート(WLSTオンライン)

WebLogic Scripting Tool (WLST)オンラインを使用して、MBeanをナビゲート、問合せ、および編集できます。

トピック:

- MBeanのナビゲートと照会

- 実行時MBeanの参照

- MBean階層間のナビゲート

- MBeanと属性の検索

- WebLogicのその他のMBeanとカスタムMBeanへのアクセス

5.1 MBeanのナビゲートと照会

WLSTオンラインでは、MBeanに簡単にアクセスできます。JMX APIでは、MBeanに対して照会を行うためにJMXオブジェクト名を使用する必要がありますが、WLSTでは、ファイル・システム内のファイルの階層をナビゲートするのと同様なやり方で、MBeanの階層をナビゲートできます。

WebLogic Serverは、MBeanを階層データ・モデルにまとめます。WLSTファイル・システムでは、MBean階層はドライブに、MBeanタイプとインスタンスはディレクトリに、MBean属性と操作はファイルに相当します。UNIXまたはWindowsコマンド・シェルでファイル・システムをナビゲートするときと同じように、WLSTはcd、ls、pwdなどのコマンドを使用して、MBeanの階層構造をナビゲートします。MBeanインスタンスにナビゲートしたら、WLSTコマンドを使用してMBeanと対話します。

構成階層において、ルート・ディレクトリはDomainMBean(Oracle WebLogic Server MBeanリファレンスのDomainMBeanに関する項を参照)、MBeanタイプはルート・ディレクトリのサブディレクトリ、MBeanタイプの各インスタンスはMBeanタイプ・ディレクトリのサブディレクトリ、MBean属性および操作はMBeanインスタンス・ディレクトリの下のノード(ファイルなど)です。MBeanインスタンス・ディレクトリの名前は、MBeanのName属性の値と一致します。MBeanにName属性がない場合、NO_NAME_numberの形式でディレクトリ名が生成されます。ここで、numberは0 (ゼロ)から始まり、追加のMBeanインスタンスごとに1ずつ増分します。

図5-1 構成MBean階層

WLSTはまず、サーバーの構成MBeanのルートのWebLogic Serverインスタンスに接続します。これは、ルートをDomainMBeanとした単一の階層です。WLSTコマンドでは、サーバーの実行時MBean、ドメイン全体のサービスのためのMBean、ドメイン内のすべての構成MBeanの編集可能なコピーなど、WebLogicドメイン内のすべてのWebLogic Server MBean階層にアクセスできます。詳細は、WebLogic Scripting Toolコマンド・リファレンスのツリー・コマンドに関する項を参照してください。

MBean階層の詳細は、『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』のWebLogic Server MBeanのデータ・モデルに関する項を参照してください。

5.1.1 現在の管理オブジェクトの変更

WLSTオンラインでは、現在の管理オブジェクトを表す変数cmoが提供されます。この変数を使用すると、管理オブジェクトのget、set、またはinvokeメソッドを実行できます。たとえば、cmo変数では、次のコマンドが有効になります。

wls:/mydomain/edit> cmo.setAdministrationPort(9092)

この変数は、カスタムおよびjndi以外のすべてのWLST階層で利用できます。

WLSTでは、cmoの値が現在のWLSTパスに設定されます。ディレクトリを変更するごとに、cmoの値は現在のWLSTパスに再設定されます。たとえば、serverRuntime階層に変更すると、cmoはServerRuntimeに設定されます。serverConfig階層に変更すると、cmoはDomainMBeanに設定されます。DomainMBean下のServersディレクトリに変更すると、cmoはServerMBeanのインスタンスに設定されます(例5-1を参照)。

例5-1 現在の管理オブジェクトの変更

wls:/offline> connect('username','password')
Connecting to weblogic server instance running at t3://localhost:7001 as username weblogic ...
Successfully connected to Admin Server 'myserver' that belongs to domain 'mydomain'.
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
wls:/mydomain/serverConfig> cmo
[MBeanServerInvocationHandler]com.bea:Name=mydomain,Type=Domain
wls:/mydomain/serverConfig> cd('Servers')
wls:/mydomain/serverConfig/Servers> cmo
[MBeanServerInvocationHandler]com.bea:Name=mydomain,Type=Domain
wls:/mydomain/serverConfig/Servers> cd('myserver')
wls:/mydomain/serverConfig/Servers/myserver> cmo
[MBeanServerInvocationHandler]com.bea:Name=myserver,Type=Server

WLST変数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのWLST変数のリファレンスに関する項を参照してください。

5.1.2 構成MBeanサンプルのナビゲートと表示

例5-2のコマンドは、管理サーバーのインスタンスに接続してから、DomainMBeanの属性、操作、および子のMBeanを表示するようWLSTに指示します。

注意:

この読取り、書込み、および実行の各インジケータは、現在のユーザーのアクセス権に制限がないことを前提としています。WebLogicセキュリティ・レルムのポリシーによって適切な許可が付与されていないユーザーは、WLSTで読取り可能と示されている値でも、読み取ることができない場合があります。Oracle WebLogic Server MBeanリファレンスのMBeanのデフォルトのセキュリティ・ポリシーに関する項を参照してください。

親MBeanに戻るには、cd('..')コマンドを入力します。

wls:/mydomain/serverConfig/Servers/myserver/Log/myserver> cmo
[MBeanServerInvocationHandler]mydomain:Name=myserver,Server=myserver,Type=Log
wls:/mydomain/serverConfig/Servers/myserver/Log/myserver> cd('..')
wls:/mydomain/serverConfig/Servers/myserver/Log>
wls:/mydomain/serverConfig/Servers/myserver/Log> cmo
[MBeanServerInvocationHandler]mydomain:Name=myserver,Type=Server

親MBeanタイプに戻った後、WLSTはcmoをLogMBeanからServerMBeanに変更します。

階層の深くにあるMBeanにナビゲートした後でルートMBeanに戻るには、cd('/')コマンドを入力します。

例5-2 構成MBeanのナビゲートと表示

wls:/offline> connect('username','password')
wls:/mydomain/serverConfig> ls()
dr--   AdminConsole
dr--   AppDeployments
dr--   BridgeDestinations
dr--   Clusters
dr--   CoherenceClusterSystemResources
dr--   CoherenceServers
dr--   CustomResources
dr--   DeploymentConfiguration
dr--   Deployments
...
-r--   AdminServerName                              myserver
-r--   AdministrationMBeanAuditingEnabled           false
-r--   AdministrationPort                           9002
-r--   AdministrationPortEnabled                    false
-r--   AdministrationProtocol                       t3s
-r--   ArchiveConfigurationCount                    5
...
wls:/mydomain/serverConfig> cd('Servers')
wls:/mydomain/serverConfig/Servers> ls()
dr--   AdminServer
dr--   managed1
dr--   myserver
wls:/mydomain/serverConfig/Servers> cd('myserver')
wls:/mydomain/serverConfig/Servers/myserver> ls()
dr--   COM
dr--   CandidateMachines
dr--   Cluster
dr--   CoherenceClusterSystemResource
dr--   DefaultFileStore
dr--   ExecutiveQueues
dr--   FederationServices
dr--   IIOP
dr--   JTAMigrateableTarget
dr--   Log
dr--   Machine
dr--   NetworkAccessPoints
...
-r--   AcceptBacklog                                50
-r--   AdminReconnectIntervalSeconds                10
-r--   AdministrationPort                           0
-r--   AdministrationProtocol                       t3s
-r--   AutoKillIfFailed                             false
-r--   AutoMigrationEnabled                         false
-r--   AutoRestart                                  true
....
wls:/mydomain/serverConfig/Servers/myserver> cd('Log/myserver')
wls:/mydomain/serverConfig/Servers/myserver/Log/myserver> ls()
dr--   DomainLogBroadcastFilter
dr--   LogFileFilter
dr--   MemoryBufferFilter
dr--   StdoutFilter

-r--   BufferSize                                   8
-r--   DateForatPattern                             MMM d, yyyy h:mm:ss a z
-r--   DomainLogBroadcastFilter                     null
-r--   DomainLogBroadcastSeverity                   Warning
-r--   DomainLogBroadcasterBufferSize               1
-r--   FileCount                                    7
-r--   FileMinSize                                  500
-r--   FileName                                     myserver.log
-r--   FileTimeSpan                                 24
-r--   Log4jLoggingEnabled                          false
-r--   LogFileFilter                                null
-r--   LogFileRotationDir                           null
-r--   LogFileSeverity                              Debug
-r--   LoggerSeverity                               Info
-r--   LoggerSeverityProperties                     null
-r--   MemoryBufferFilter                           null
-r--   MemoryBufferSeverity                         Debug
-r--   MemoryBufferSize                             500
-r--   Name                                         myserver
-r--   Notes                                        null
-r--   NumberOfFilesLimited                         false
-r--   RedirectStderrToServerLogEnabled             false
-r--   RedirectStdoutToServerLogEnabled             false
-r--   RotateLogOnStartup                           true
-r--   RotationTime                                 00:00
-r--   RotationType                                 bySize
-r--   ServerLogBridgeUseParentLoggersEnabled       false
-r--   StdoutFilter                                 null
-r--   StdoutFormat                                 standard
-r--   StdoutLogStack                               true
-r--   StdoutSeverity                               Warning
-r--   Type                                         Log

-r-x   freezeCurrentValue                           Void : String(attributeName)

-r-x   isSet                                        Boolean : String(propertyName) String(propertyName)
-r-x   unSet                                        Void : String(propertyName)

lsコマンドの出力情報において、dはcdコマンドを使用できるMBean (ファイル・システムのディレクトリに類似)を示し、rは読取り可能なプロパティを示し、wは書込み可能なプロパティを示し、xは実行可能な操作を示します。

5.2 実行時MBeanの参照

構成情報と同様に、WebLogic Server実行時MBeanは階層データ構造として配列されています。管理サーバーに接続されているとき、serverRuntimeまたはdomainRuntimeコマンドを入力して、実行時MBean階層にアクセスします。

serverRuntimeコマンドにより、WLSTはサーバーの実行時管理オブジェクトのルートServerRuntimeMBeanに置かれ、domainRuntimeコマンドは、ドメイン全体の実行時管理オブジェクトのルートDomainRuntimeMBeanに置かれます。管理対象サーバーに接続されているとき、実行時MBeanのルートはServerRuntimeMBeanです。ドメイン実行時MBean階層は、管理サーバー上のみに存在します。管理対象サーバーに接続されているときにdomainRuntimeコマンドは使用できません。

詳細は、Oracle WebLogic Server MBeanリファレンスのServerRuntimeMBeanに関する項およびDomainRuntimeMBeanに関する項を参照してください。

cdコマンドの使用により、WLSTは任意の実行時子MBeanにナビゲートできます。実行時MBeanのナビゲーション・モデルは、構成MBeanのナビゲーション・モデルと同じです。ただし、実行時MBeanは基底となる管理対象リソース(管理サーバー上のドメイン全体の実行時MBeanを除く)と同じサーバー・インスタンスにのみ存在し、すべて編集不可です。

5.2.1 実行時MBeanサンプルのナビゲートと表示

例5-3のコマンドは、管理サーバーのインスタンスに接続してナビゲートし、サーバーおよびドメイン実行時MBeanを表示するようWLSTに指示します。

例5-3 実行時MBeanのナビゲートと表示

wls:/offline > connect('username','password')
wls:/mydomain/serverConfig> serverRuntime()
Location changed to serverRuntime tree. This is a read-only tree with
ServerRuntimeMBean as the root.
For more help, use help('serverRuntime')
wls:/mydomain/serverRuntime> ls()
dr--   ApplicationRuntimes
dr--   ClusterRuntime
dr--   ConnectorServiceRuntime
...
dr--   JDBCServiceRuntime
dr--   JMSRuntime
dr--   JTARuntime
dr--   JVMRuntime
dr--   LibraryRuntimes
dr--   MailSessionRuntimes
dr--   RequestClassRuntimes
dr--   ServerChannelRuntimes
dr--   ServerSecurityRuntime
dr--   ServerServices
dr--   ThreadPoolRuntime
dr--   WLDFAccessRuntime
dr--   WLDFRuntime
dr--   WTCRuntime
dr--   WorkManagerRuntimes

-r--   ActivationTime                               1093958848908
-r--   AdminServer                                  true
-r--   AdminServerHost
-r--   AdminServerListenPort                        7001
-r--   AdminServerListenPortSecure                  false
-r--   AdministrationPort                           9002
-r--   AdministrationPortEnabled                    false
...
wls:/mydomain/serverRuntime> domainRuntime()
Location changed to domainRuntime tree. This is a read-only tree with DomainRuntimeMBean
as the root.
For more help, use help('domainRuntime')
wls:/mydomain/domainRuntime> ls()
dr--   DeployerRuntime
...
dr--   ServerLifecycleRuntimes
dr--   ServerRuntimes

-r--   ActivationTime                               Tue Aug 31 09:27:22 EDT 2004
-r--   Clusters                                     null
-rw-   CurrentClusterDeploymentTarget               null
-rw-   CurrentClusterDeploymentTimeout              0
-rw-   Name                                         mydomain
-rw-   Parent                                       null
-r--   Type                                         DomainRuntime

-r-x   lookupServerLifecycleRuntime                 javax.management.ObjectName

: java.lang.String
wls:/mydomain/domainRuntime>

例5-4のコマンドは、管理対象サーバー・インスタンス上の実行時MBeanのナビゲートと表示をWLSTに指示します。

例5-4 管理対象サーバー上の実行時MBeanのナビゲートと表示

wls:/offline> connect('username','password','t3://localhost:7701')
Connecting to weblogic server instance running at t3://localhost:7701 as username weblogic ...
Successfully connected to managed Server 'managed1' that belongs to domain 'mydomain'.
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
wls:/mydomain/serverConfig> serverRuntime()
wls:/mydomain/serverRuntime> ls()
dr--   ApplicationRuntimes
dr--   ClusterRuntime
...
dr--   JMSRuntime
dr--   JTARuntime
dr--   JVMRuntime
dr--   LibraryRuntimes
dr--   MailSessionRuntimes
dr--   RequestClassRuntimes
dr--   ServerChannelRuntimes
dr--   ServerSecurityRuntime
dr--   ThreadPoolRuntime
dr--   WLDFAccessRuntime
dr--   WLDFRuntime
dr--   WTCRuntime
dr--   WorkManagerRuntimes
-r--   ActivationTime                               1093980388931
-r--   AdminServer                                  false
-r--   AdminServerHost                              localhost
-r--   AdminServerListenPort                        7001
-r--   AdminServerListenPortSecure                  false
-r--   AdministrationPort                           9002
-r--   AdministrationPortEnabled                    false
...
wls:/mydomain/serverRuntime>

5.3 MBean階層間のナビゲート

MBean階層内をナビゲートできます。

実行時階層から構成MBeanにナビゲートするには、serverConfigコマンド(管理サーバーのみに接続している場合はdomainConfigコマンド)を入力します。これにより、WLSTはserverRuntimeまたはdomainRuntimeコマンドを入力する直前のナビゲート先の構成MBeanに置かれます。

次のコマンド例では、実行時MBean階層から構成MBean階層にナビゲートし、また戻ってくるようWLSTに指示しています。

wls:/mydomain/serverRuntime/JVMRuntime/managed1> serverConfig()
Location changed to serverConfig tree. This is a read-only tree with DomainMBean as the root.
For more help, use help('serverConfig')
wls:/mydomain/serverConfig> cd ('Servers/managed1')
wls:/mydomain/serverConfig/Servers/managed1> cd('Log/managed1')
wls:/mydomain/serverConfig/Servers/managed1/Log/managed1> serverRuntime()
wls:/mydomain/serverRuntime/JVMRuntime/managed1>

実行時MBean階層から再びserverConfigコマンドを入力することで、WLSTは直前のナビゲート先の構成MBeanに置かれます。

wls:/mydomain/serverRuntime/JVMRuntime/managed1> serverConfig()
wls:/mydomain/serverConfig/Servers/managed1/Log/managed1>

詳細は、WebLogic Scripting Toolコマンド・リファレンスのツリー・コマンドに関する項を参照してください。

また、currentTreeコマンドを使用して現在のMBean階層の場所を保存し、そこから別の場所にナビゲートした後、再びそこに戻ることもできます。WebLogic Scripting Toolコマンド・リファレンスのcurrentTreeに関する項を参照してください。

例:

wls:/mydomain/serverConfig/Servers/managed1/Log/managed1> myLocation = currentTree()
wls:/mydomain/serverConfig/Servers/managed1/Log/managed1> serverRuntime()
wls:/mydomain/serverRuntime> cd('JVMRuntime/managed1')
wls:/mydomain/serverRuntime/JVMRuntime/managed1>myLocation()
wls:/mydomain/serverConfig/Servers/managed1/Log/managed1>

5.4 MBeanと属性の検索

特定のMBeanおよび属性を探すには、findコマンドを使用します。WLSTは、属性およびその値を格納するMBeanへのパス名を返します。

パスで指定されたMBeanを戻すには、getMBeanコマンドを使用します。詳細は、WebLogic Scripting Toolコマンド・リファレンスのfindおよびgetMBeanに関する項を参照してください。

例:

wls:/mydomain/edit !> find('DebugEjbCaching')

finding 'DebugEjbCaching' in all registered MBean instances ...

/Servers/AdminServer/ServerDebug/AdminServer                          false

/Servers/managed2/ServerDebug/managed2                           false

wls:/mydomain/edit !> bean=getMBean('Servers/managed2/ServerDebug/managed2')
wls:/mydomain/edit !> print bean
[MBeanServerInvocationHandler]bea.com:Name=managed2,Type=ServerDebug,
Server=managed2
wls:/mydomain/edit !>

注意:

インスタンスが見つからない場合、getMBeanは例外をスローしません。

別の方法としては、getPathコマンドが、指定したMBeanインスタンスのMBeanパス、または現在のMBean階層内のMBeanのためのObjectNameを返します。WebLogic Scripting Toolコマンド・リファレンスのgetPathに関する項を参照してください。

wls:/mydomain/serverConfig>path=getPath('com.bea:Name=myserver,Type=Server')
wls:/mydomain/serverConfig> print path
Servers/myserver

5.5 WebLogicのその他のMBeanとカスタムMBeanへのアクセス

WebLogic Server MBeanへのアクセスに加え、WLSTでは、WebLogic IntegrationおよびWebLogic Portalが提供するMBeanにアクセスできます。また、ユーザーが作成および登録したMBean(カスタムMBean)にアクセスし、独自のリソースを構成または監視できます。

(独自のMBeanの作成および登録については、『Oracle WebLogic Server JMXによる管理可能アプリケーションの開発』のカスタムMBeanのインストゥルメントと登録に関する項を参照してください。)

WebLogicのその他のMBeanまたはカスタムMBeanをナビゲートするには、カスタムMBeanが登録されているMBeanサーバー(実行時またはドメイン実行時)に応じて、customコマンドまたはdomainCustomコマンドを入力します。customは、WLSTが管理サーバーまたは管理対象サーバーのインスタンスに接続されている場合に入力できます。domainCustomは、WLSTが管理サーバーに接続されている場合にのみ入力できます。domainCustom,の詳細は、ドメイン実行時MBeanサーバー内のカスタムMBeanへのアクセスを参照してください。

WLSTでは、WebLogic Server以外のMBeanはすべてカスタムMBeanとして処理されます。

- WLSTでは、カスタムMBeanは階層に配置されずに、JMXオブジェクト名で編成およびリストされます。同じJMXドメイン名を持つMBeanはすべて、同じWLSTディレクトリにリストされます。たとえば、mycompany:で始まるJMXオブジェクト名で登録したカスタムMBeanはすべて、mycompanyという名前のディレクトリに配置されます。

- カスタムMBeanでは、スタブが使用できないため、cmo変数を使用できません。

- カスタムMBeanは編集できますが、WebLogic Serverの変更管理プロセスの対象にはなりません。MBeanのget、set、invoke、create、およびdeleteコマンドは、最初にstartEditコマンドを入力せずにMBeanに対して使用できます。「WLSTオンラインを使用した既存のWebLogicドメインの更新」を参照してください。これはcustom()ツリーには適用されますが、editCustom()ツリーには適用されません。

実行時MBeanサーバー上のカスタムMBeanのナビゲート例は以下のとおりです。

wls:/mydomain/serverConfig> custom()
Location changed to custom tree. This is a writable tree with No root.
For more help, use help('custom')
wls:/mydomain/custom> ls()
drw-   mycompany
drw-   anothercompany
wls:/mydomain/custom> cd("mycompany")
wls:/mydomain/custom/mycompany> ls()
drw- mycompany:y1=x
drw- mycompany:y2=x
wls:/mydomain/custom/mycompany> cd("mycompany:y1=x")
wls:/mydomain/custom/mycompany/mycompany:y1=x> ls()
-rw-   MyAttribute      10
wls:/mydomain/custom/mycompany/mycompany:y1=x>

5.5.1 ドメイン実行時MBeanサーバー内のカスタムMBeanへのアクセス

ドメイン実行時MBeanサーバー内に登録されているカスタムMBeanでメソッドを参照および呼び出す場合や操作を実行する場合は、domainCustom()コマンドを使用します。この操作は、「WebLogicのその他のMBeanとカスタムMBeanへのアクセス」で説明した、custom()コマンドを使用して実行時MBeanサーバー内に登録されているカスタムMBeanにアクセスする場合と似ています。domainCustomコマンドは、WLSTが管理サーバーに接続されている場合にのみ入力できます。

domainCustom()の詳細は、WebLogic Scripting Toolコマンド・リファレンスの「domainCustom」を参照してください。

ドメイン実行時MBeanサーバー内のカスタムMBeanにアクセスする方法については、『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』のドメイン実行時MBeanサーバーへのローカル接続の確立に関する項を参照してください。独自のMBeanの作成および登録については、『Oracle WebLogic Server JMXによる管理可能アプリケーションの開発』のカスタムMBeanのインストゥルメントと登録に関する項を参照してください。

5.5.2 編集MBeanサーバー内のカスタムMBeanへのアクセス

編集MBeanサーバー内に登録されているカスタムMBeanでメソッドを参照、変更および呼び出す場合や操作を実行する場合は、editCustom()コマンドを使用します。これは、custom()コマンドの使用と類似していますが、編集MBeanServerのカスタムMBeanは編集操作も可能です。editCustom()コマンドは、WLSTが管理サーバーに接続されている場合にのみ入力できます。

editCustom()の詳細は、『WebLogic Scripting Toolコマンド・リファレンス』のeditCustomに関する項を参照してください。

OHSなどのOracleシステム・コンポーネントでは、編集MBeanServerに表示されるカスタムMBeanを定義できます。これらのMBeanは編集可能で、WebLogic Serverの変更管理プロセスの対象になります。

6 既存のWebLogicドメインの構成

WebLogic Scripting Tool (WLST)オンラインとオフラインの両方を使用して、既存のWebLogicドメインを更新できます。

トピック:

- WLSTオンラインを使用した既存のWebLogicドメインの更新

- WLSTオフラインを使用した既存のWebLogicドメインの更新

- セキュリティ・データの管理(WLSTオンライン)

- アプリケーションのデプロイ

6.1 WLSTオンラインを使用した既存のWebLogicドメインの更新

WLSTオンラインではアクティブなWebLogicドメインと対話が行われるため、ドメインへのオンラインの変更はすべて、変更管理プロセスによって制御されます。このプロセスは、データベース・トランザクションと少し似ています。

構成の変更や変更の管理の詳細は、Oracle WebLogic Serverドメインの構成の理解の構成の変更管理のプロセスに関する項を参照してください。

表6-1に、WLSTオンラインを使用した既存のWebLogicドメインの更新手順を示します。

表6-1 既存のWebLogicドメインの更新手順(オンライン)

次を行うには...

このコマンドを使用します...

詳細は、WebLogic Scripting Toolコマンド・リファレンスの次の項を参照

編集MBean階層にアクセスする

edit()

このコマンドによって、編集可能なDomainMBeanである編集MBean階層のルートにWLSTが配置されます。

「edit」

現在の構成でロックを取得する

構成の変更が進行中であることを示すため、WLSTコマンド・プロンプトの最後に感嘆符(!)が表示されます。

startEdit([waitTimeInMillis],
[timeoutInMillis], [exclusive])

「startEdit」

WebLogicドメインを修正する

参照コマンドおよびオンライン編集コマンド

「参照コマンド」

「編集コマンド」

編集を検証する(オプション)

validate()

「validate」

変更を保存する

save()

「save」

WebLogicドメイン内のすべてのサーバー上で実行中の構成MBeanに変更を配布する

activate([timeout], [block])

「activate」

構成でのロックを解放する

stopEdit([defaultAnswer])

「stopEdit」

MBean属性に加えた変更がサーバーの再起動を必要とするかどうかを判断する(オプション)

isRestartRequired([attributeName])

「isRestartRequired」

例6-1のWLSTオンライン・スクリプトは、WLSTを管理サーバーに接続し、管理対象サーバーを作成する編集セッションを開始してから変更を保存してアクティブ化します。さらに、別の編集セッションを開始してから起動クラスを作成し、新しく作成されたサーバーにそれをターゲット指定します。

例6-1 管理対象サーバーの作成

connect("username","password")
edit()
startEdit()
svr = cmo.createServer("managedServer")
svr.setListenPort(8001)
svr.setListenAddress("address")
save()
activate(block="true")

startEdit()
sc = cmo.createStartupClass("my-startupClass")
sc.setClassName("com.bea.foo.bar")
sc.setArguments("foo bar")

# get the server mbean to target it
tBean = getMBean("Servers/managedServer")
if tBean != None:
print "Found our target"
sc.addTarget(tBean)
save()
activate(block="true")
disconnect()
exit()

例6-2の対話編集セッションは、開発モードで実行する管理サーバーを本番モードに変更しています。

例6-2 本番モードへの変更

wls:/offline> connect('username','password')
wls:/mydomain/serverConfig> edit()
wls:/mydomain/edit> startEdit()
Starting an edit session ...
Started edit session, please be sure to save and activate your changes once you are done.
wls:/mydomain/edit !> cmo.setProductionModeEnabled(true)
wls:/mydomain/edit !> activate()
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released
once the activation is completed.
The following non-dynamic attribute(s) have been changed on MBeans
that require server re-start:
MBean Changed : com.bea:Name=AdminServer,Type=WebServerLog,Server=AdminServer,
WebServer=AdminServer
Attributes changed : RotateLogOnStartup
MBean Changed : com.bea:Name=AdminServer,Type=WebServerLog,Server=AdminServer,
WebServer=AdminServer
Attributes changed : RotateLogOnStartup
MBean Changed : com.bea:Name=Domain1,Type=Log
Attributes changed : RotateLogOnStartup
Activation completed
wls:/mydomain/edit> exit()

注意:

WLSTを使用して管理サーバーを開発モードから本番モードに変更する場合、Java -Xverifyオプション(使用されている場合)は、noneからallに変更されず、手動でallに変更して、すべてのクラスが検証されていることを確認する必要があります。また、これにより、既存のboot.propertiesファイルがサーバーの起動時に使用されなくなることはありません。

6.1.1 構成の変更の追跡

WLSTによって開始されたすべての変更について、showChangesコマンドを使用すると、WLST編集セッションの開始以降、現在の構成に対して行ったすべての変更(サーバーによって暗黙的に実行されたすべてのMBean操作を含む)を表示できます。例6-3を参照してください。

例6-3 変更の表示

connect("username","password")
wls:/mydomain/serverConfig> edit()
wls:/mydomain/edit> startEdit()
Starting an edit session ...
Started edit session, please be sure to save and activate your
changes once you are done.
wls:/mydomain/edit !> cmo.createServer('managed2')
[MBeanServerInvocationHandler]mydomain:Name=managed2,Type=Server
wls:/mydomain/edit !> cd('Servers/managed2')
wls:/mydomain/edit/Servers/managed2 !> cmo.setListenPort(7702)
wls:/mydomain/edit/Servers/managed2 !> cmo.setListenAddress("localhost")
wls:/mydomain/edit/Servers/managed2 !> showChanges()
Changes that are in memory and saved to disc but not yet activated are:

All changes that are made but not yet activated are:

MBean Changed : com.bea:Name=Len,Type=Domain
Operation Invoked : create
Attribute Modified : Servers
Attributes Old Value : null
Attributes New Value : managed2
Server Restart Required : false

MBean Changed : com.bea:Name=managed2,Type=Server
Operation Invoked : modify
Attribute Modified : ListenPort
Attributes Old Value : null
Attributes New Value : 7702
Server Restart Required : false

wls:/mydomain/edit/Servers/managed2 !> save()
Saving all your changes ...
Saved all your changes successfully.
wls:/mydomain/edit !> activate()
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released
once the activation is completed.
Activation completed
wls:/mydomain/edit/Servers/managed2>

例6-4のWLSTオンライン・スクリプトは、管理者としてWLSTを実行中のサーバー・インスタンスに接続し、アクティブ化タスクを取得し、そのタスクのユーザーとステータスを出力します。また、行われたすべての変更も出力します。

getActivationTask関数は、アクティブ化のリクエストに関する情報を提供し、ユーザーが現在行っている、または最近行った変更の状態が反映された、現行のWLSTセッションで最新のActivationTaskMBeanを返します。このインタフェースが提供するメソッドを呼び出すことで、進行中または完了したばかりの最新のアクティブ化タスクに関する情報が取得されます。詳細は、Oracle WebLogic Server MBeanリファレンスのActivationTaskMBeanに関する項を参照してください。

例6-4 アクティブ化タスクのチェック

at = getActivationTask()
changes = at.getChanges()
newstate = at.getState()
print "The user for this Task is "+at.getUser()+ "and the state is:"
print newstate
print "The changes are:"
print changes

6.1.2 変更を元に戻すまたは取り消す

WLSTには、変更を元に戻す、または取り消すために、それぞれ次のコマンドが用意されています。

- undoコマンド。保存されていない編集、またはアクティブ化されていない編集を元に戻します。
(ディスクに保存されたものも含めて)アクティブ化されていないすべての編集を元に戻すか、または、最後のsave操作以降に行われたすべての編集を元に戻すかを指定します。WebLogic Scripting Toolコマンド・リファレンスのundoに関する項を参照してください。

- cancelEditコマンド。編集ロックを解放し、未保存の変更をすべて破棄します。WebLogic Scripting Toolコマンド・リファレンスのcancelEditに関する項を参照してください。

6.1.3 変更管理用の追加の操作と属性

前述の項で説明した標準の変更管理コマンドは、ConfigurationManagerMBeanの操作を呼び出す上で便利なコマンドです。ConfigurationManagerMBeanには、そうした操作に加え、編集セッションを記述する属性および操作があります。詳細は、Oracle WebLogic Server MBeanリファレンスのConfigurationManagerMBeanに関する項を参照してください。

このMBeanにアクセスするには、WLSTのgetConfigManagerコマンドを使用します。WebLogic Scripting Toolコマンド・リファレンスのgetConfigManagerに関する項を参照してください。

例6-5のWLSTオンライン・スクリプトは、WLSTを管理者としてサーバー・インスタンスに接続し、変更を加えている現在の編集者が管理者ではないかどうかをチェックして、構成の編集を取り消します。また、このスクリプトはすべての完了したアクティブ化タスクもパージします。このスクリプトを使用すると変更の編集を再開できますが、他の編集者が加えた変更が必要かどうかを検証する必要があります。

例6-5 構成マネージャの使用

connect('adminusername','adminpassword')
user = cmgr.getCurrentEditor()
if user != "weblogic":
cmgr.undo()
cmgr.cancelEdit()
cmgr.purgeCompletedActivationTasks()

6.2 WLSTオフラインを使用した既存のWebLogicドメインの更新

WLSTオフラインを使用して、既存のWebLogicドメインを更新できます。

WLSTオフラインを使用して既存のWebLogicドメインを更新するには、表6-2に示す手順を実行します。

注意:

アクティブなWebLogicドメインの構成を管理する際にはWLSTオフラインを使用しないことをお薦めします。オフラインによる編集は、実行中のサーバーによって無視されるので、WLSTオンラインやWebLogic Server管理コンソールなどのJMXクライアントによって上書きされる場合があります。

次の表のコマンドは、既存ドメインの読取り、必要に応じたドメインの更新、およびオフライン・モードでのドメインのクローズに使用されます。このプロセスでは、接続ファクトリのターゲットがサブデプロイメントの場合、updateDomainコマンドを実行してドメインを再起動した後、default-targeting-enabledが接続ファクトリに対してtrueに設定されます。

表6-2 既存のWebLogicドメインを更新する手順(オフライン)

次を行うには...

このコマンドを使用します...

詳細については、以下を参照

更新する既存のWebLogicドメインを開く

readDomain(domainDirName)

WebLogic Scripting Toolコマンド・リファレンスのreadDomain

現在のWebLogicドメインを拡張する(オプション)

selectTemplate(templateName)

loadTemplates()

WebLogic Scripting Toolコマンド・リファレンスのselectTemplateおよびloadTemplates

WebLogicドメインを修正する(オプション)

参照コマンドおよび編集コマンド

構成階層情報の参照(オフライン)

WebLogicドメインの編集(オフライン)

WebLogicドメインを保存する

updateDomain()

WebLogic Scripting Toolコマンド・リファレンスのupdateDomain

WebLogicドメインを閉じる

closeDomain()

WebLogic Scripting Toolコマンド・リファレンスのcloseDomain

6.3 セキュリティ・データの管理(WLSTオンライン)

WLSTオンラインを使用して、認証プロバイダなどのセキュリティ・データを管理できます。

WebLogicセキュリティ・サービスでは、認証プロバイダはユーザーまたはシステム・プロセスの身元を証明するソフトウェア・コンポーネントです。認証プロバイダでは、ID情報を記憶したり、トランスポートしたり、その情報が必要な場合にシステムの様々なコンポーネントで利用できるようにしたりします。

セキュリティ・レルムは、様々な種類の認証プロパティを使用して異なるユーザーおよびグループのセットを管理できます。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の「認証プロバイダ」を参照してください。WLSTを使用すると、次のタイプの認証プロバイダの操作を呼び出すことができます。

- WebLogic Serverのデフォルト認証プロバイダAuthenticatorMBean。デフォルトでは、セキュリティ・レルムはこの認証プロバイダを使用してユーザーとグループを管理します。

- weblogic.security.spi.AuthenticationProviderと任意Authentication SSPI MBeanを拡張したカスタム認証プロバイダ。詳細は、『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の「SSPI MBeanクイック・リファレンス」を参照してください。

以下の節では、WLSTを使用してユーザーおよびグループを管理するための基本的なタスクについて説明します。

- 編集階層にアクセスすべきかどうかの判断

- ユーザーの作成

- グループへのユーザーの追加

- ユーザーがグループのメンバーであるかどうかの検証

- ユーザーが所属するグループのリスト表示

- セキュリティ・レルムのユーザーとグループのリスト表示

- パスワードの変更

- セキュリティ・レルムでのユーザー・アカウントの保護

- 追加LDAP認証プロバイダの構成

AuthenticationProvider MBeanでサポートされるその他のタスクについては、Oracle WebLogic Server MBeanリファレンスのAuthenticationProviderMBeanに関する項を参照してください。

6.3.1 編集階層にアクセスすべきかどうかの判断

セキュリティMBeanの構成の変更にWLSTを使用している場合、編集階層にアクセスして編集セッションを開始する必要があります。たとえば、UserLockoutManagerMBeanのLockoutThreshold属性の値の変更は、編集階層内から行う必要があります。

セキュリティ・プロバイダの操作を呼び出してセキュリティ・プロバイダのデータ・ストア内のデータを追加、変更、または削除する場合、これらの操作を編集階層内から行うことはできません。かわりに、これらのコマンドは、serverConfigまたはdomainConfig階層から呼び出します。たとえば、AuthenticatorMBean MBeanのcreateUser操作は、編集階層から呼び出すことはできません。WLSTでこの制限を設けているのは、両立不能な変更が生じないようにするためです。たとえば、編集セッションにはアクティブ化されていない変更が含まれる可能性があり、このアクティブ化されていない変更ではセキュリティ機能が取り除かれ、これによってプロバイダのデータへの変更が無効になります。

6.3.2 ユーザーの作成

ユーザーを作成するには、UserEditorMBean.createUserメソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider MBeanによって拡張されます。詳細は、Oracle WebLogic Server MBeanリファレンスのUserEditorMBeanのcreateUserメソッドに関する項を参照してください。

このメソッドには、3つの入力パラメータが必要です。パスワードは8文字以上で、その内1つは特殊文字または数字にする必要があります。

username password user-description

このコマンドは、編集階層から呼び出すことはできませんが、serverConfigまたはdomainConfig階層からは呼び出すことができます。

次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダ上でcreateUserを呼び出します。

例6-6 ユーザーの作成

from weblogic.management.security.authentication import UserEditorMBean

print "Creating a user ..."
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthentication
Provider("DefaultAuthenticator")
atnr.createUser('new_user','adminpassword','new_admin')
print "Created user successfully"

6.3.3 グループへのユーザーの追加

ユーザーをグループに追加するには、GroupEditorMBean.addMemberToGroupメソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider MBeanによって拡張されます。詳細は、Oracle WebLogic Server MBeanリファレンスのaddMemberToGroupメソッドに関する項を参照してください。

このメソッドでは、次の2つの入力パラメータが必要です。

groupname username

このコマンドは、編集階層から呼び出すことはできませんが、serverConfigまたはdomainConfig階層からは呼び出すことができます。

次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してaddMemberToGroupを呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例6-7 グループへのユーザーの追加

from weblogic.management.security.authentication import GroupEditorMBean

print "Adding a user ..."
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider("DefaultAuthenticator")
atnr.addMemberToGroup('Administrators','my_user')
print "Done adding a user"

6.3.4 ユーザーがグループのメンバーであるかどうかの検証

ユーザーがグループのメンバーであるかどうかを検証するには、GroupEditorMBean.isMemberメソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider MBeanによって拡張されます。詳細は、Oracle WebLogic Server MBeanリファレンスのisMemberメソッドに関する項を参照してください。

このメソッドでは、次の3つの入力パラメータが必要です。

groupname username boolean

booleanは、子グループ内を検索するかどうかを指定します。trueを指定した場合、指定したグループまたはその子グループにメンバーが属していればtrueが返されます。

このコマンドは、編集階層から呼び出すことはできませんが、serverConfigまたはdomainConfig階層からは呼び出すことができます。

次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してisMemberを呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例6-8 ユーザーがグループのメンバーであるかどうかの検証

from weblogic.management.security.authentication import GroupEditorMBean
user = "my_user"
print "Checking if "+user+ " is a Member of a group ... "
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider("DefaultAuthenticator")
if atnr.isMember('Administrators',user,true) == 0:
print user+ " is not member of Administrators"
else:
print user+ " is a member of Administrators"

6.3.5 ユーザーが所属するグループのリスト表示

ユーザーまたはグループが含まれるグループのリストを表示するには、MemberGroupListerMBean.listMemberGroupsメソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider MBeanによって拡張されます。詳細は、Oracle WebLogic Server MBeanリファレンスのMemberGroupListerMBeanのlistMemberGroupsメソッドに関する項を参照してください。

このメソッドでは、次の入力パラメータが必要です。

memberUserOrGroupName

memberUserOrGroupNameは既存のユーザーまたはグループの名前を指定します。

このコマンドは、編集階層から呼び出すことはできませんが、serverConfigまたはdomainConfig階層からは呼び出すことができます。

次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してlistMemberGroupsを呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例6-9 ユーザーが所属するグループのリスト表示

from weblogic.management.security.authentication import MemberGroupListerMBean

print "Listing the member groups ..."
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider
("DefaultAuthenticator")
x = atnr.listMemberGroups('my_user')
print x

このメソッドは、名前のリストを参照するカーソル値(たとえば、Cursor_16)を返します。NameLister.haveCurrent、getCurrentName、およびadvanceの各操作は、返されたリスト内で繰返し実行され、現在のカーソル位置が指し示す名前を取得します。Oracle WebLogic Server MBeanリファレンスのNameListerMBeanに関する項を参照してください。

6.3.6 セキュリティ・レルムのユーザーとグループのリスト表示

ユーザー名またはグループ名のリストを確認するには、AuthenticationProviderインタフェースを介して使用できる一連のメソッドを呼び出します。

- GroupReaderMBean.listGroupsメソッドおよびUserReaderMBean.listUsersメソッドは2つの入力パラメータを取ります。1つは検索するユーザーまたはグループ名のパターンで、もう1つは取得する名前の最大数。
セキュリティ・レルムにはパターンに一致するユーザー名またはグループ名が数千(またはそれ以上)存在する場合があるので、このメソッドでは名前のリストを指し示すカーソルが返されます。

詳細は、Oracle WebLogic Server MBeanリファレンスのGroupReaderMBeanのlistGroups操作に関する項とUserReaderMBeanのlistUsers操作に関する項を参照してください。

- NameLister.haveCurrent、getCurrentName、およびadvanceの各操作は、返されたリスト内で繰返し実行され、現在のカーソル位置が指し示す名前を取得します。詳細は、Oracle WebLogic Server MBeanリファレンスのNameListerMBeanに関する項を参照してください。

- NameLister.close操作は、リストのかわりに保持されていたサーバー側リソースをすべて解放します。

これらのコマンドは、編集階層から呼び出すことはできませんが、serverConfigまたはdomainConfig階層からは呼び出すことができます。

例6-10のWLSTオンライン・スクリプトは、レルム内のすべてのユーザーと、それらのユーザーが属するグループをリスト表示します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例6-10 ユーザーおよびグループのリスト表示

from weblogic.management.security.authentication import UserReaderMBean
from weblogic.management.security.authentication import GroupReaderMBean

realm=cmo.getSecurityConfiguration().getDefaultRealm()
atns = realm.getAuthenticationProviders()
for i in atns:
if isinstance(i,UserReaderMBean):
userReader = i
cursor = i.listUsers("*",0)
print 'Users in realm '+realm.getName()+' are: '
while userReader.haveCurrent(cursor):
print userReader.getCurrentName(cursor)
userReader.advance(cursor)
userReader.close(cursor)

for i in atns:
if isinstance(i,GroupReaderMBean):
groupReader = i
cursor = i.listGroups("*",0)
print 'Groups in realm are: '
while groupReader.haveCurrent(cursor):
print groupReader.getCurrentName(cursor)
groupReader.advance(cursor)
groupReader.close(cursor)

6.3.7 パスワードの変更

ユーザーのパスワードを変更するには、UserPasswordEditorMBean.changeUserPasswordメソッドを呼び出します。このメソッドは、セキュリティ・レルムのAuthenticationProvider MBeanによって拡張されます。詳細は、Oracle WebLogic Server MBeanリファレンスのchangeUserPasswordメソッドに関する項を参照してください。

このコマンドは、編集階層から呼び出すことはできませんが、serverConfigまたはdomainConfig階層からは呼び出すことができます。

次のWLSTオンライン・スクリプトは、デフォルトの認証プロバイダに対してchangeUserPasswordを呼び出します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例6-11 パスワードの変更

from weblogic.management.security.authentication import UserPasswordEditorMBean

print "Changing password ..."
atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider("DefaultAuthenticator")
atnr.changeUserPassword('my_user','my_password','new_password')
print "Changed password successfully"

6.3.8 セキュリティ・レルムでのユーザー・アカウントの保護

UserLockoutManagerMBeanには、侵入者からユーザー・アカウントを保護する一連の属性が用意されています。デフォルトでは、これらの属性は最高の保護レベルに設定されています。このユーザー・アカウントの保護レベルを下げることもできます。たとえば、アカウントがロックされるまでの無効なログイン試行回数を増やしたり、ユーザー・アカウントがロックされるまでの無効なログイン試行期間を延ばしたり、ユーザー・アカウントのロック時間を変更したりできます。

UserLockoutManagerRuntimeMBeanにより、ロックアウト統計を収集する属性と、ユーザー・ロックアウトを管理する操作が提供されます。たとえば、現在ロックアウトしているユーザーの数や、サーバーの起動以降の無効なログイン試行回数を取得したり、ユーザー・アカウントに対するロックアウトをクリアできます。

ロックアウト構成の詳細は、Oracle WebLogic Server MBeanリファレンスのUserLockoutManagerMBeanインタフェースに関する項を参照してください。ロックアウト統計の収集とロックアウト操作の実行については、Oracle WebLogic Server MBeanリファレンスのUserLockoutManagerRuntimeMBeanインタフェースに関する項を参照してください。

次のタスクでは、UserLockoutManagerRuntimeMBeanメソッドを呼び出す例を示します。

- 連続する無効なログイン試行回数の設定

- ユーザー・アカウントのロック解除

これらのタスクではMBean属性を編集するため、WLSTでは管理サーバーに接続し、編集階層にナビゲートして、編集セッションを開始する必要がある点に注意してください。

6.3.8.1 連続する無効なログイン試行回数の設定

次のWLSTオンライン・スクリプトでは、ユーザー・アカウントがロックされるまでの連続する無効なログイン試行回数が設定されます。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例6-12 連続する無効なログイン試行回数の設定

from weblogic.management.security.authentication import UserLockoutManagerMBean

edit()
startEdit()

#You have two choices for getting a user lockout manager to configure
# 1 - to configure the default realm's UserLockoutManager:
ulm=cmo.getSecurityConfiguration().getDefaultRealm().getUserLockoutManager()

# 2 - to configure another realm's UserLockoutManager:
#ulm=cmo.getSecurityConfiguration().lookupRealm("anotherRealm").getUserLockoutManager()

ulm.setLockoutThreshold(3)
save()
activate()

6.3.8.2 ユーザー・アカウントのロック解除

次のWLSTオンライン・スクリプトは、ユーザー・アカウントのロックを解除します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例6-13 ユーザー・アカウントのロックの解除

from weblogic.management.runtime import UserLockoutManagerRuntimeMBean

serverRuntime()
ulm=cmo.getServerSecurityRuntime().getDefaultRealmRuntime().getUserLockoutManagerRuntime()
#note1 : You can only manage user lockouts for the default realm starting from
#when the server was booted (versus other non-active realms).
#note2 : If the default realm's user lockout manager's LockoutEnabled attribute
#is false, then the user lockout manager's runtime MBean will be null.
#That is, you can only manage user lockouts in the default realm if its user
#lockout manager is enabled.

if ulm != None:
ulm.clearLockout("myuser")

6.3.9 追加LDAP認証プロバイダの構成

一部のOracle Fusion Middleware製品のインストール時などの場合には、追加の外部LDAP認証プロバイダをWebLogic Serverセキュリティ・プロバイダに追加する必要があります。これは、WebLogic Server管理コンソールを使用するか(「認証およびIDアサーション・プロバイダの構成」を参照)、またはWLSTを使用するかのいずれかによって実行できます。

例6-14は、WLSTを使用してOracle Internet Directory (OID)認証プロバイダを追加する方法を示します。別種類のLDAP認証プロバイダを追加するには、表6-3で示されるように、createAuthenticationProviderコマンド内の適切なクラス・タイプを置換します。

注意:

対応するLDAPサーバーがドメインを起動するユーザーを含む場合の、LDAP認証プロバイダの切替えについては、『Oracle WebLogic Serverセキュリティの管理』のLDAP認証プロバイダの使用の要件に関する項を参照してください。

例6-14 認証プロバイダの追加

connect ('adminUser','adminPassword','t3://'+adminServerHost+':'+adminServerPort)
edit()
startEdit()
cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm')
# In the following command, substitute the appropriate class type
cmo.createAuthenticationProvider(LDAPProviderName,
'weblogic.security.providers.authentication.OracleInternetDirectoryAuthenticator')
cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm/AuthenticationProviders
/'+LDAPProviderName)
cmo.setControlFlag('SUFFICIENT')
cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm/
AuthenticationProviders/'+LDAPProviderName)
cmo.setHost(LDAPHost)
cmo.setPort(LDAPPort)
cmo.setPrincipal(LDAPAdmin)
set("Credential",LDAPAdminPassword)
cmo.setGroupBaseDN(LDAPGroupBase)
cmo.setUserBaseDN(LDAPUserBase)
cmo.setUserNameAttribute(usernameattribute)
cmo.setUserObjectClass('inetOrgPerson')
cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm/AuthenticationProviders
/DefaultAuthenticator')
cmo.setControlFlag('SUFFICIENT')
cd('/SecurityConfiguration/'+domainName+'/Realms/myrealm')
set('AuthenticationProviders',jarray.array([ObjectName('Security:Name=myrealm'
+LDAPProviderName), ObjectName('Security:Name=myrealmDefaultAuthenticator'),
ObjectName('Security:Name=myrealmDefaultIdentityAsserter')], ObjectName))
activate()

表6-3 外部LDAP認証プロバイダのクラス・タイプ

プロバイダ

クラス・タイプ

Oracle Internet Directory

weblogic.security.providers.authentication.OracleInternetDirectoryAuthenticator

Oracle Virtual Directory

weblogic.security.providers.authentication.OracleVirtualDirectoryAuthenticator

Microsoft AD

weblogic.security.providers.authentication.ActiveDirectoryAuthenticator

OpenLDAP

weblogic.security.providers.authentication.OpenLDAPAuthenticator

eDirectory

weblogic.security.providers.authentication.NovellAuthenticator

SunOne LDAP

weblogic.security.providers.authentication.IPlanetAuthenticator

6.4 アプリケーションのデプロイ

アプリケーションをデプロイするプロセスは、WLSTオフラインを使用するかWLSTオンラインを使用するかによって異なります。

次の各項では、プロセスについて説明します。

- WLSTオンラインを使用したアプリケーションのデプロイ

- WLSTオフラインを使用したアプリケーションのデプロイ

6.4.1 WLSTオンラインを使用したアプリケーションのデプロイ

WLSTがドメインの管理サーバーに接続される際は、deployコマンドを使用してアプリケーションをデプロイします。WebLogic Scripting Toolコマンド・リファレンスのdeployに関する項を参照してください。

例6-15のコマンドは、WebLogic Server ExamplesServerドメインのサンプル・アプリケーションをデプロイします。

例6-15 アプリケーションのデプロイ

# Deploying Applications

deploy("examplesWebApp","C:/Oracle/Middleware/wlserver/samples/server/examples/build/examplesWebApp")

注意:

WLSTオンラインを使用してアプリケーションをデプロイする場合は、以下の点に注意してください。

- デプロイメント操作は、管理サーバーを介して実行される必要があります。WLSTクライアントは、デプロイメント・コマンドを呼び出すために管理サーバーに接続する必要があります。

- アプリケーションをデプロイするために編集セッションに移動する必要はありません。

アプリケーションをデプロイするためのWLSTの使用については、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「デプロイメント・ツール」を参照してください。

6.4.2 WLSTオフラインを使用したアプリケーションのデプロイ

表6-4に、WLSTオフラインを使用した既存ドメインのアプリケーションのデプロイ手順を示します。

表6-4 アプリケーションのデプロイ手順(オフライン)

次を行うには...

このコマンドを使用します...

詳細については、以下を参照

テンプレート・ビルダーを使用してアプリケーション・テンプレートを作成する

適用なし

「ドメイン・テンプレート・ビルダーによるドメイン・ンプレートの作成」

既存のWebLogicドメインまたはテンプレートを開く

readDomain(domainDirName)

WebLogic Scripting Toolコマンド・リファレンスのreadDomainおよびreadTemplate

拡張テンプレートをWebLogicドメインに追加する

selectTemplate(templateName)

loadTemplates()

WebLogic Server WLSTコマンド・リファレンスのselectTemplateおよびloadTemplates

WebLogicドメインを保存する

updateDomain()

WebLogic Scripting Toolコマンド・リファレンスのupdateDomain

WebLogicドメインを閉じる

closeDomain()

WebLogic Scripting Toolコマンド・リファレンスのcloseDomain

addTemplateコマンドの使用例は、次のサンプルのWLSTスクリプトを参照してください。WL_HOMEは、WebLogic Serverの最上位のインストール・ディレクトリを表します。

WL_HOME\common\templates\scripts\wlst\clusterMedRecDomain.py

7 デプロイメント・プランの更新

WebLogic Scripting Tool (WLST)を使用して、アプリケーションのデプロイメント・プランを取得および更新できます。WLSTを使用してアプリケーションのデプロイメント・プランを更新する場合、変数の定義と変数の割当てを定義します。 変数の定義は新しい値を識別し、変数の割当ては新しい値を変更対象の記述子に関連付けます。

以下は、対話モードでWLSTを使用するための手順を示しています。スクリプトまたは組込みモードでWLSTを使用する方法については、WebLogic Scripting Toolの使用を参照してください。

対話モードでWLSTを使用してデプロイメント・プランを更新するには、次のステップを実行します:

注意:

次の手順で記載されるサンプル・コマンドは、MedRecアプリケーションを更新構成する方法を例示します。このアプリケーションは、Serverサンプルをインストールした場合にシステムにインストールされます。

1. アプリケーションのデプロイメント・プランを作成します。
詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのデプロイメント・プランの作成に関する項を参照してください。

2. WLSTを対話モードで起動します。

3. 次のコマンドを入力してアプリケーションとデプロイメント・プランをロードします。例:

plan=loadApplication(loadApplication('c:/Oracle/Middleware/user_projects/
applications/mydomain/modules/medrec/assembly/target/medrec.ear',
'c:/Oracle/Middleware/user_projects/applications/mydomain/modules/medrec/
assembly/target/Plan.xml')

WLST loadApplicationコマンドは、デプロイメント・プランを変更するためにアクセスできるWLSTPlanオブジェクトを返します。WLSTPlanオブジェクトの詳細は、「WLSTPlanオブジェクト」を参照してください。

4. 更新する構成オプションと対応するXPath値を特定します。構成オプションのXPath値は、weblogic.PlanGeneratorユーティリティを使用して判定できます。生成されたプランからXPathをコピーして、アクティブ・デプロイメント・プランに貼り付けることが可能です。『Oracle WebLogic Serverへのアプリケーションのデプロイ』のweblogic.PlanGeneratorコマンドライン・リファレンスに関する項を参照してください。

5. 前の手順で特定した構成オプションのデプロイメント・プランに変数の定義と変数の割当てが現在定義されているかどうかを確認します。これを行うには、次のコマンドの1つを入力します:

a. 変数を表示するには:

plan.showVariables()
Name                                                       Value
-----                                                       -----
SessionDescriptor_cookieMaxAgeSecs_12910569321171              -1
SessionDescriptor_invalidationIntervalSecs_12910568567990      75
SessionDescriptor_maxInMemorySessions_12910569321170           -1
SessionDescriptor_timeoutSecs_12900890060180                3600

b. 変数の割当てを表示するには:

plan.showVariableAssignments()
medrec.ear
|
META-INF/weblogic-application.xml
|
SessionDescriptor_timeoutSecs_12900890060180
medrec.ear
|
META-INF/weblogic-application.xml
|
SessionDescriptor_invalidationIntervalSecs_12910568567990
medrec.ear
|
META-INF/weblogic-application.xml
|
SessionDescriptor_maxInMemorySessions_12910569321170
medrec.ear
|
META-INF/weblogic-application.xml
|
SessionDescriptor_cookieMaxAgeSecs_12910569321171

6. 変数の定義と割当てが定義されていない場合は、以下のように、それらを作成して変数の割当てのXPath値を設定します。

a. 変数の定義を作成します。createVariable()メソッドを使用して変数の名前と値を指定します。例:

v=plan.createVariable('new_var', '3')

b. 変数の割当てを作成します。createVariableAssignment()メソッドを使用して、変数の名前、適用されるアプリケーション、および対応するデプロイメント記述子を指定します。例:

va=plan.createVariableAssignment('new_var', 'medrec.ear', 'META-INF/
weblogic-application.xml')
Creating VariableAssignment for ModuleOverride medrec.ear and
ModuleDescriptor with URI META-INF/weblogic-application.xml.
Created VariableAssignment with name new_var successfully.

c. 手順4でweblogic.PlanGeneratorを使用して生成したデプロイメント・プランからXPath値を貼り付け、XPath値を変数の割当てに設定します。例:

va.setXpath('weblogic-application/session-descriptor/new_var')

注意:

変数割当て用に正しいXPath値を取得するには、weblogic.PlanGeneratorユーティリティを使用して、値が空のテンプレート・デプロイメント・プランを生成することをお薦めします。テンプレート・デプロイメント・プランからXPath値の切取りまたはコピーを行い、WLSTスクリプトに貼り付けることができます。

7. デプロイメント・プランを保存します。例:

plan.save()

8 実行時情報の取得

WebLogic Scripting Tool(WLST)を使用して、WebLogic Serverインスタンスが生成する実行時の状態情報を取得し、ロギングを構成して、WebLogic診断フレームワークを使用できます。

トピック:

- 実行時情報へのアクセス:主な手順

- ロギングの構成

- WebLogic診断フレームワークでの操作

8.1 実行時情報へのアクセス:主な手順

管理サーバーは、WebLogicドメインに含まれる任意のサーバー上の任意のMBeanへのアクセスを提供する、ドメインの実行時階層をホストします。WLSTを使用して実行時情報にアクセスできます。

管理サーバーがWebLogicドメインに対して実行されていない場合、WLSTでは個々の管理対象サーバーに接続して実行時データを取得できます。

WebLogicドメインの実行時情報にアクセスする主な手順は、次のとおりです。

1. WLSTを呼び出し、実行中の管理サーバーのインスタンスに接続します。WLSTの呼出しを参照してください。

2. domainRuntimeコマンドを入力して、ドメインの実行時MBean階層にナビゲートします。

wls:/mydomain/serverConfig>domainRuntime()

domainRuntimeコマンドによりWLSTは、ドメイン全体の実行時管理オブジェクトのルートDomainRuntimeMBeanに置かれます。

3. ServerRuntimesにナビゲートしてから、モニターするサーバー・インスタンスにナビゲートします。

wls:/mydomain/domainRuntime>cd('ServerRuntimes/myserver')

4. サーバー・インスタンスで、実行時MBeanにナビゲートし、照会を行います。

wls:/mydomain/domainRuntime/ServerRuntimes/myserver>cd('JVMRuntime/myserver')>
wls:/mydomain/domainRuntime/ServerRuntimes/myserver/JVMRuntime/myserver>ls()

-r--   HeapFreeCurrent                              191881368
-r--   HeapFreePercent                              87
-r--   HeapSizeCurrent                              259588096
-r--   HeapSizeMax                                  518979584
-r--   JavaVMVendor                                 Sun Microsystems Inc.
-r--   JavaVendor                                   Sun Microsystems Inc.
-r--   JavaVersion                                  1.6.0_21
-r--   Name                                         AdminServer
-r--   OSName                                       Windows XP
-r--   OSVersion                                    5.1
-r--   Type                                         JVMRuntime
-r--   Uptime                                       409141

-r-x   preDeregister                                Void :
...

次の項では、WebLogic Serverサーバー・インスタンスおよびWebLogicドメイン・リソースに関する実行時情報を取得するためのスクリプト例を示します。

8.1.1 サーバー状態をモニターするスクリプト

例8-1のWLSTオンライン・スクリプトは、ドメインの実行時階層をナビゲートし、管理対象サーバーのステータスを5秒間隔でチェックします。このスクリプトは、サーバーの状態がRUNNINGから他のステータスに移行した場合に、サーバーを再起動します。ここでは、WLSTがWebLogicドメインの管理サーバーに接続されていることが前提となります。

例8-1 サーバー状態のモニター

# Node Manager needs to be running to run this script.

import thread
import time

def checkHealth(serverName):
while 1:
slBean = getSLCRT(serverName)
status = slBean.getState()
print 'Status of Managed Server is '+status
if status != "RUNNING":
print 'Starting server '+serverName
start(serverName, block="true")
time.sleep(5)

def getSLCRT(svrName):
domainRuntime()
slrBean = cmo.lookupServerLifecycleRuntime(svrName)
return slrBean

checkHealth("myserver")

8.1.2 JVMをモニターするスクリプト

例8-2のWLSTオンライン・スクリプトは、WebLogicドメインに含まれるすべての実行中サーバーのHJVMHeapSizeを監視します。3分ごとにヒープ・サイズをチェックし、指定したしきい値をヒープ・サイズが上回ると、警告を出力します。ここでは、WebLogicドメインの管理サーバーのURLがt3://localhost:7001であることが前提となります。

このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例8-2 JVMヒープ・サイズのモニター

waitTime=180000
THRESHOLD=300000000
uname = "adminusername"
pwd = "adminpassword"
url = "t3://localhost:7001"
def monitorJVMHeapSize():
connect(uname, pwd, url)
while 1:
serverNames = getRunningServerNames()
domainRuntime()
for name in serverNames:
print 'Now checking '+name.getName()
try:
cd("/ServerRuntimes/"+name.getName()+"/JVMRuntime/"+name.getName())
heapSize = cmo.getHeapSizeCurrent()
if heapSize > THRESHOLD:
# do whatever is neccessary, send alerts, send email etc
print 'WARNING: The HEAPSIZE is Greater than the Threshold'
else:
print heapSize
except WLSTException,e:
# this typically means the server is not active, just ignore
# pass
print "Ignoring exception " + e.getMessage()
java.lang.Thread.sleep(waitTime)

def getRunningServerNames():
# only returns the currently running servers in the domain
return domainRuntimeService.getServerRuntimes()

if __name__== "main":
monitorJVMHeapSize()

8.2 ロギングの構成

WLSTを使用すると、サーバー・インスタンスのロギングおよびメッセージ出力を構成できます。

構成できるログ属性を判断するには、Oracle WebLogic Server MBeanリファレンスのLogMBeanに関する項およびLogFileMBeanに関する項を参照してください。このリファレンスでは、各属性の有効な値も示されています。

例8-3のWLSTオンライン・スクリプトでは、LogFileMBeanを拡張するLogMBeanの属性を設定します。このスクリプトを実行する方法については、「WLSTの呼出し」を参照してください。

例8-3 ロギングの構成

# Connect to the server
connect("adminusername","adminpassword","t3://localhost:7001")
edit()
startEdit()

# set CMO to the server log config
cd("Servers/myserver/Log/myserver")
ls ()

# change LogMBean attributes
set("FileCount", 5)
set("FileMinSize", 400)

# list the current directory to confirm the new attribute values
ls ()

# save and activate the changes
save()
activate()

# all done...
exit()

8.3 WebLogic診断フレームワークでの操作

WebLogic診断フレームワーク(WebLogic Diagnostic Framework: WLDF)は、サーバーおよびアプリケーションによって生成される診断データを収集できる監視および診断フレームワークです。WLDFを構成して、データを収集し、そのデータを様々なソース(ログ・レコード、データ・イベント、および収集されたメトリック)に格納します。

WLSTを使用してのWebLogic診断フレームワークの構成を示すサンプル・スクリプトについては、『Oracle WebLogic Server診断フレームワークの構成と使用』の「WebLogic Scripting Toolの例」を参照してください。

WLSTで収集された診断情報を表示するには、次のいずれかのコマンドを使用してWLDFリポジトリからデータをエクスポートします。

- WLSTオフラインの場合、exportDiagnosticDataコマンドを使用します(WebLogic Scripting Toolコマンド・リファレンスのexportDiagnosticDataに関する項を参照)。

- WLSTオンラインの場合、exportDiagnosticDataFromServerコマンドを使用します(WebLogic Scripting Toolコマンド・リファレンスのexportDiagnosticDataFromServerに関する項を参照)。

詳細は、『Oracle WebLogic Server診断フレームワークの構成と使用』を参照してください。

A WLSTデプロイメント・オブジェクト

WLSTには、デプロイメント・プランを変更して、デプロイメント・コマンドのステータスを確認できるデプロイメント・オブジェクトが用意されています。

トピック:

- WLSTPlanオブジェクト

- WLSTProgressオブジェクト

A.1 WLSTPlanオブジェクト

WLSTPlanオブジェクトでは、loadApplicationコマンドを使用してアプリケーションをロードした後、アプリケーション・デプロイメント・プランを変更できます。

WebLogic Scripting Toolコマンド・リファレンスのloadApplicationで、このコマンドの詳細を説明します。

次の表では、デプロイメント・プランに対する操作に使用できるWLSTPlanオブジェクト・メソッドについて説明します。

表A-1 WLSTPlanオブジェクト・メソッド

操作対象

このメソッドを使用します...

次を行うには...

デプロイメント・プラン

DeploymentPlanBean getDeploymentPlan()

現在のアプリケーションのDeploymentPlanBeanを返します。

デプロイメント・プラン

void save() throws FileNotFoundException,
ConfigurationException

読取り元のファイルにデプロイメント・プランを保存します。

モジュールの記述子

ModuleDescriptorBean createModuleDescriptor(String
uri, String moduleOverrideName)

ModuleOverrideBean moduleOverrideNameについて、指定されたuriでModuleDescriptorBeanを作成します。

モジュールのオーバーライド

ModuleOverrideBean[] getModuleOverride(String
name)

ModuleOverrideBean nameを返します。

モジュールのオーバーライド

ModuleOverrideBean[] getModuleOverrides()

デプロイメント・プランで使用可能なすべてのModuleOverrideBeanオブジェクトを返します。

モジュールのオーバーライド

void showModuleOverrides()

名前/タイプのペアとしてデプロイメント・プラン内で使用可能なすべてのModuleOverrideBeanオブジェクトを出力します。

変数

VariableBean createVariable(String name,
String value)

デプロイメント・プラン内で値をオーバーライドできるこの指定値を使用してVariableBean nameを作成します。

変数

void destroyVariable(String name)

VariableBean nameを破棄します。

変数

VariableBean getVariable(String name)

VariableBean nameを返します。

変数

VariableBean[] getVariables()

デプロイメント・プランで使用可能なすべてのVariableBeanオブジェクトを返します。

変数

void setVariableValue(String name, String value)

変数nameを、指定されたvalueに設定します。

変数

void showVariables()

デプロイメント・プラン内のすべてのVariableBeanオブジェクトを名前/値のペアとして出力します。

変数の割当て

VariableAssignmentBean
createVariableAssignment(String name, String
moduleOverrideName, String moduleDescriptorUri)

ModuleOverrideBean moduelOverrideNameのModuleDescriptorBean moduleDescriptorUriのためのVariableAssignmentBeanを作成します。

変数の割当て

void destroyVariableAssignment(String name, String
moduleOverrideName, String moduleDescriptorName)

ModuleDescriptorBean moduleDescriptorNameのModuleDescriptorBean moduleOverrideNameのためのVariableAssignmentBean nameを破棄します。

変数の割当て

VariableAssignmentBean
getVariableAssignment(String name, String
moduleOverrideName, String moduleDescriptorName)

ModuleDescriptorBean moduleDescriptorNameのModuleDescriptorBean moduleOverrideNameのためのVariableAssignmentBean nameを返します。

A.2 WLSTProgressオブジェクト

WLSTProgressオブジェクトにより、実行されたデプロイメント・コマンドのステータスをチェックできます。

WLSTProgressオブジェクトは、次のコマンドによって返されます。詳細は、WebLogic Scripting Toolコマンド・リファレンスの次のコマンド(関連コマンドの項)を参照してください。

- deploy

- distributeApplication

- redeploy

- startApplication

- stopApplication

- updateApplication

次の表では、現在のデプロイメント・アクションのステータスをチェックするのに使用できるWLSTProgressオブジェクト・メソッドについて説明します。

表A-2 WLSTProgressオブジェクト・メソッド

このメソッドを使用します...

次を行うには...

String getCommandType()

このイベントのデプロイメントCommandTypeを返します。このコマンドは、distribute、redeploy、start、stop、またはundeployの各値のうち、1つを返します。

String getMessage()

このイベントのステータスに関する情報を返します。

ProgressObject
getProgressObject()

現在のデプロイメント・アクションと関連付けられたProgressObjectを返します。

String getState()

現在のデプロイメント・アクションの状態を取得します。このイベントのCommandType。このコマンドは、running、completed、failed、またはreleased (オブジェクトが本番環境へリリースされたことを示す)の各値のうち、1つを返します。

boolean isCompleted()

現在のデプロイメント・アクションが完了したかどうかを判断します。

boolean isFailed()

現在のデプロイメント・アクションが失敗したかどうかを判断します。

boolean isRunning()

現在のデプロイメント・アクションが実行中かどうかを判断します。

void printStatus()

コマンド・タイプ、状態、追加のメッセージなど、デプロイメント・アクションの現在のステータスを出力します。

B FAQ: WLST

「WLST全般」、「Jythonのサポート」および「WLSTの使用」には、WLSTに関連した様々なよくある質問が記載されています。

トピック:

- WLST全般

- Jythonのサポート

- WLSTの使用

B.1 WLST全般

WLSTに関する一般的な質問が扱われます。

WLSTと、WebLogic Serverの既存のコマンド・ライン・ユーティリティ(wlconfig、weblogic.Deployerなど)はどのような関係にありますか。

WLSTの機能には、以下のWebLogic Serverコマンド・ライン・ユーティリティの機能が含まれます。

- WebLogic Server構成の変更を行うためのwlconfig Antタスク・ツール(『Oracle WebLogic Serverアプリケーションの開発』の「Antタスクを使用したWebLogic Serverドメインの構成と使用」を参照)

- アプリケーション開発のためのweblogic.Deployerユーティリティ(『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「デプロイメント・ツール」を参照)

他のコマンドライン・ユーティリティやWebLogic Server管理コンソールよりもWLSTの使用を選択するのは、どういう場合ですか。

WebLogicドメインの作成、構成、および管理には、WLST、コマンドライン・ユーティリティ、およびWebLogic Server管理コンソールを互換的に使用できます。どの方法を選択するかは、グラフィカル・インタフェースとコマンドライン・インタフェースのどちらを使用するか、およびスクリプトを使ってタスクを自動化できるかどうかによって決まります。

WLSTオンラインとWLSTオフラインの違いは何ですか。

WLSTは、オンライン (実行中の管理サーバーまたは管理対象サーバーのインスタンスに接続された状態)でも、オフライン (実行中のサーバーに接続されていない状態)でも使用できます。

WLSTオンラインは、アクティブなWebLogicドメインと対話し、JMXで管理されるWebLogic Server Javaオブジェクトである、管理対象Bean (MBean)への簡単なアクセスを提供します。オンラインのWLSTでは、構成の内部表現の一部として永続化される情報にアクセスできます。

WLSTオフラインでは、実行中のWebLogic Serverに接続しないで、構成ウィザードと同じ機能をサポートしながら、新しいWebLogicドメインを作成したり、既存のWebLogicドメインを更新したりできます。オフラインのWLSTでは、configディレクトリ内で永続化される情報にのみアクセスできます。

B.2 Jythonのサポート

WLSTはJythonをサポートしています。

WLSTで使用されているJythonのバージョンは何ですか。

WLSTスクリプト環境は、Javaのスクリプト・インタプリタである、Jython 2.2.1に基づいています。

WLST内から通常のJythonスクリプトを実行できますか。

はい。WebLogic Serverの開発者および管理者は、Jython言語構文に従って、環境上の要件を満たすようWebLogicスクリプト言語を拡張できます。詳細についてはhttp://www.jython.orgを参照してください。

B.3 WLSTの使用

WLSTの使用に関する一般的な質問が扱われます。

サーバーでSSLポートまたは管理ポートが有効化されている場合、どうやってWLSTで接続すればいいでしょうか。

デモ用のSSLキーおよび証明書を使用するサーバーのSSLリスニング・ポートからWebLogic Serverインスタンスに接続する場合は、次のコマンドでWLSTを呼び出します。

java -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.TrustKeyStore=DemoTrust weblogic.WLST

それ以外の場合は、コマンド・プロンプトで次のコマンドを入力します。

java weblogic.WLST

エラーが発生した場合に、WLSTを続行させるか終了させるかを制御できますか。

はい。exitonerror変数で制御できます。WLSTでエラーが発生した場合に実行を終了するよう指定するには、この変数をtrueに、実行を続行するよう指定するにはfalseに設定します。この変数のデフォルトはtrueです。詳細は、WebLogic Scripting Toolコマンド・リファレンスのWLST変数のリファレンスに関する項を参照してください。

各コマンドの後に(および)を指定し、引数を一重引用符または二重引用符で囲まなければならないのはなぜですか。

これは、正規のJython構文です。詳細についてはhttp://www.jython.orgを参照してください。

WLSTを使用して、サーバーを起動し、アプリケーションをデプロイし、その後サーバーを停止することはできますか。

はい。次のWLSTコマンド・グループの説明を参照してください。

- WebLogic Scripting Toolコマンド・リファレンスのライフサイクル・コマンドに関する項

- WebLogic Scripting Toolコマンド・リファレンスのデプロイメント・コマンドに関する項

WLSTは管理対象サーバーに接続できますか。

はい。管理対象サーバーには、connectコマンドを使用して接続できます。管理対象サーバーに接続した状態で、サーバーの実行時データを参照したり、現在の認証プロバイダのデータ・ストアにあるセキュリティ・データを管理(たとえば、ユーザーを追加および削除)することができます。WebLogicドメインの構成は変更できません。詳細は、WebLogic Scripting Toolコマンド・リファレンスのconnectを参照してください。

WLSTで、プロパティ・ファイルに定義した変数を使用できますか。

はい。loadPropertiesコマンドを使用すれば、変数および値をプロパティ・ファイルからロードできます。スクリプト内で変数を使用すると、それらの変数はプロパティ・ファイルからの実際の値に置き換えられます。WebLogic Scripting Toolコマンド・リファレンスのloadPropertiesに関する項を参照してください。

configToScript コマンドは、config.xml内のセキュリティMBeanを変換しますか。

はい。セキュリティMBeanは変換されます。ただし、組込みLDAPの情報は変換されません。

WebLogic MBeanServerに登録されているカスタムMBeanにはどうすればアクセスできますか。

実行時MBeanサーバー上のカスタムMBeanツリーにナビゲートするには、customコマンドを使用します。ドメイン実行時MBeanサーバー上のカスタムMBeanツリーにナビゲートするには、domainCustomコマンドを使用します。詳細は、WebLogic Scripting Toolコマンド・リファレンスのツリー・コマンドに関する項を参照してください。

MBeanServerに登録されているMBeanがすべて表示されないのはなぜですか。

内部MBeanやドキュメントに記載されていないMBeanで、WLSTに表示されないものがあります。

WLSTオフラインでは、WLSTオンラインと同じMBeanが表示されないのはなぜですか。

WebLogic Serverのデフォルト値のほとんどは、パフォーマンスを最適化するため、WebLogicドメインの構成ファイルには保持されていません。この最適化が原因で、WLSTオフラインでは管理オブジェクト全体を表示できない場合があります(WebLogic Serverでは対応するXML要素をWebLogicドメインの構成ファイルに書き込んでいないため)。たとえば、WebLogicドメインがアクティブであるときにドメインのロギングのデフォルト重大度レベルを変更しなかった場合、WLSTオフラインではドメインのLog管理オブジェクトは表示されません。

WLSTオフラインで表示されない管理オブジェクトの属性のデフォルト値を変更する場合、最初にcreateコマンドを使用して管理オブジェクトを作成する必要があります。次に、cdを使用して管理オブジェクトに移動し、属性値を変更します。WebLogic Scripting Toolコマンド・リファレンスのcreateに関する項を参照してください。

カスタムMBeanを参照しているときに、No stub Availableというエラー・メッセージが表示されるのはなぜですか。

カスタムMBeanを参照中は、cmo変数を使用できません。

HTTPを介してWebLogic Serverインスタンスに接続することはできますか。

HTTPを介してWebLogic Serverインスタンスに接続している場合は、そのWebLogic ServerインスタンスのTunnelingEnabled属性がtrueに設定されていることを確認してください。詳細は、Oracle WebLogic Server MBeanリファレンスのTunnelingEnabledに関する項を参照してください。

Antを介してWLSTを呼び出すことはできますか。

はい。Antスクリプト内で新しくweblogic.WLSTプロセスを生成し、スクリプト・ファイルを引数として渡すことができます。

WLSTスクリプトはサーバー側で実行できますか。

はい。Javaコード内でWLSTインタプリタのインスタンスを作成し、それを使ってWLSTコマンドおよびスクリプトを実行できます。その後、それらがサーバー側で実行されるよう、WLSTスクリプトを起動クラスまたはejbCreateの一部として呼び出せます。詳細については、「組込みモード」を参照してください。

WLSTはカスタマイズできますか。

はい。WLSTホーム・ディレクトリを更新して、カスタムWLSTコマンド、ライブラリ内のWLSTコマンド、およびJythonモジュールとしてのWLSTコマンドを定義できます。詳細については、「WLSTのカスタマイズ」を参照してください。

カスタムWLSTコマンドを実行するにはどうすればよいですか。

カスタムWLSTコマンドは、WebLogic Server WLSTコマンドと同様の方法で実行します。.pyファイルにカスタム・コマンドを定義すれば、WLSTコマンド・ラインおよびスクリプト内から利用できるようになります。

カスタムWLSTコマンドを含むFusion Middleware (FMW)コンポーネントをインストールした場合も、同様に、WLSTコマンド・ラインおよびスクリプト内からそのコマンドを使用できるようになります。FMWカスタムWLSTコマンドの使用方法については、Oracle Fusion Middleware管理者ガイドの「Using Custom WLST Commands」を参照してください。

FMWカスタム・コマンドは、多くの(すべてではありません)既存のOracle ASCTLコマンドのWLSTバージョンです。使用可能なFMWコマンドの完全なリストと説明については、WebLogic Scripting Toolコマンド・リファレンスを参照してください。これらのコマンドは、WLSTコマンドラインでコマンドhelp()、help('commandGroup')、およびhelp('commandName')を入力することでそれぞれのヘルプを表示できます。

オラクルの法律上の注意点について

コピーライトについて

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

アルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のアルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが非公開の試作版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のベータ・トライアル契約のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。