44
<Insert Picture Here> WebLogic Server 管理 () 入門 日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔 20120412

Oracle WebLogic Server管理(再)入門

Embed Size (px)

DESCRIPTION

WebLogic Server入門セッションです。WebLogic Serverドメイン定義、管理サーバと管理対象サーバ、管理モードと運用モード、管理コンソールの使い方、デプロイメント、クラスタ、JDBCデータ ソース設定などの運用管理のポイントをご紹介します。

Citation preview

Page 1: Oracle WebLogic Server管理(再)入門

<Insert Picture Here>

WebLogic Server 管理 (再) 入門

日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔 2012年04月12日

Page 2: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved. 2

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 3: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

Agenda

• WebLogic ServerとJava EE

• ドメインのポイント

• デプロイメントのポイント

• データソースのポイント

3

Page 4: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

WebLogic Server

JNDI

トランザクションマネージャ

セキュリティ・レルム

LDAP ATN Auditor ATZ

JMSサーバ

Destination (Queue /Topic)

JDB

C

データソース

RDBMS

Web サーバ

Plug In

WebLogic ServerとJava EE

4

Web Container EJB Container

Java EE アプリケーション

JMS

RMI

JTA

JDBC

JAAS

JNDI

Servlet JSP EJB JPA JSF

Page 5: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

開発者と運用担当者の役割

• アプリケーション開発者:

• Java EE 標準仕様に則って実装を行う

• APサーバが提供する拡張機能を使うかどうかを検討する

• 運用環境が固定されていれば適用できるケースもあり

• WebLogic Server運用担当者:

• 開発したアプリケーションが適切に動作するようにWebLogic Serverを設定する

• アプリケーションが使用するリソースは何か?

• 非機能要件は?

5

Page 6: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

運用担当者

Web サーバ

WebLogic Server

JNDI

トランザクションマネージャ

セキュリティ・レルム

LDAP ATN Auditor ATZ

JMSサーバ

Destination (Queue /Topic)

JDB

C

データソース

RDBMS

Plug In

開発者と運用担当者のスコープ

6

開発者

Web Container EJB Container

Java EE アプリケーション

Page 7: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

Agenda

• WebLogic ServerとJava EE

• ドメインのポイント

• デプロイメントのポイント

• データソースのポイント

7

Page 8: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

ドメインとは?

• WebLogic Serverの管理の単位

• WebLogic で管理される設定はドメイン単位で管理される

• = 設定ファイルが作られる単位

• 論理的な区画設定なので、サーバが稼働する物理境界で区切る必要はない

• 原則:『同じ設定を使用するリソースはひとつのドメインで管理』

8

Page 9: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

用語の確認

• ドメイン … リソース管理単位 = 設定の単位

• サーバ … WebLogic Serverインスタンス(=Javaプロセス)

• マシン … H/W境界

• 管理サーバと管理対象サーバ

• 管理サーバ … ドメインの設定を管理する(= configにアクセス可能な)サーバ。ドメイン内に必ず1つ。

• 管理対象サーバ … 管理サーバから設定情報を取得して起動するサーバ。通常は、アプリケーション、サービスのデプロイ先として使用。

9

Page 10: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

ドメイン

マシン

マシン

クラスタ

ドメインで管理されるリソース

10

管理対象サーバ

管理対象サーバ

管理対象サーバ

アプリケーション

JMSサーバ

セキュリティ

診断モジュール

管理サーバ

JMSサーバ

JMSサーバ

JDB

C データソース

JMSモジュール

ログ etc

ログ etc

ログ etc

ログ etc

トランザクション

NM

NM

設定ファイル

Page 11: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

ドメイン構成例

• シングルサーバドメイン

• 開発用途で使用することが多い

• マルチサーバドメイン

• 運用環境ではこの構成の方が多い

11

物理サーバ

ドメイン

サーバ (管理サーバ)

APP

物理サーバ

ドメインA

サーバa (管理サーバ)

APP1

ドメインB

サーバb (管理サーバ)

APP2

物理サーバ

ドメイン

サーバb (管理対象サーバ)

APP

物理サーバX

ドメイン

サーバa (管理サー

バ)

サーバa (管理サーバ)

物理サーバY

サーバb (管理対象サ

ーバ)

サーバc (管理対象サ

ーバ)

サーバd (管理対象サ

ーバ)

APP

Page 12: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

ドメインの作成

• コンフィグレーションウィザード

• $MW_HOME/wlserver_12.1/common/bin/config.sh (cmd)

• GUIをサポートしない環境ではコンソールモードになる

• ドメインに必要なファイルが生成される

• 設定ファイル, 起動スクリプト, セキュリティファイル etc

12

ドメインの出力先はウィザードで指定可能

ドメイン名: 任意

ドメインの場所: デフォルトは$MW_HOME/user_projects/domains

ファイルは [ドメインの場所/ドメイン名]配下に作成される

Page 13: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

ドメインディレクトリ構成

ディレクトリ 説明

1 domain ドメインディレクトリ (ディレクトリ名=ドメイン名)

0 autodeploy 自動デプロイメントディレクトリ(開発モード用)

0 bin 起動・停止スクリプト etc

管理サーバ: startWebLogic.sh / stopWebLogic.sh

管理対象サーバ: startManagedWebLogic.sh / stopManagedWebLogic.sh

0 config コンフィグレーションディレクトリ

config.xmlが配置される

0 init-info ドメインの初期化情報

0 lib 共有ライブラリ用ディレクトリ

0 pending ペンディングコンフィグレーションストア

(編集中のコンフィグレーションの保存先)

0 security セキュリティファイル (ldift, SerializedSystemIni.dat)

1 servers サーバローカルディレクトリ

servers配下にサーバごとにディレクトリが作成される 0 server_name

13

Page 14: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

ドメイン作成のポイント

• ドメイン作成時に決めておきたいこと

• ドメイントポロジ

• サーバ、マシン、クラスタの構成

• JDBCセキュリティストアの設定 (使用する場合)

• 管理サーバのマシン設定はドメイン作成時に行う

• あとで設定するのは難易度高(WLSTオフライン)

• サーバの起動モードは、本番モードが基本

• 開発環境のみ開発モード(OEPE使用時は本番モードでもOK)

• 必要に応じて起動IDファイルを作成

14

Page 15: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

サーバの起動スクリプト

• setDomainEnv.sh (cmd) • ドメイン環境設定

• MEM_ARGS

• USER_MEM_ARGS

• JAVA_OPTIONS

• Java/WLSオプション指定

• 起動順 (停止は逆順)

1. 管理サーバ

2. 管理対象サーバ

15

CALL

CALL

ドメイン環境設定スクリプト

管理対象サーバ起動 スクリプト

管理サーバ起動 スクリプト $ ./startManagedWebLogic.sh <server_name> <admin_url>

server_name … 起動する管理対象サーバ名

admin_url … 管理サーバのURL (ホスト名, ポート番号)

Page 16: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

ドメイン

マシン

管理サーバと管理対象サーバ

16

マシン

設定ファイル

server.log domain.log

管理対象サーバ

MBean

管理対象サーバ

MBean

server.log

server.log

管理サーバ

管理コンソール

(consoleApp)

MBean

設定変更

起動時に読込

起動時に設定を取得

ドメインログ転送

更新・監視

更新・監視

Page 17: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

別マシンでの管理対象サーバの起動

• 管理対象サーバ用テンプレートを作成 1. WebLogic Serverをインストール

2. ドメイン作成 (管理サーバ、管理対象サーバ、[マシン])

3. 管理サーバ側マシンでpackコマンド(-managed=true)

• テンプレートJarファイルが生成される

4. テンプレートJarを管理対象サーバ側のマシンにコピー

5. 管理対象サーバ側のマシンでunpackコマンド

• 管理対象サーバ用テンプレートから復元

6. 管理サーバ / 管理対象サーバ起動

17

マシンA(管理サーバ)

WebLogic Serverインストール

ドメイン

テンプレートJar

マシンB(管理対象サーバ)

WebLogic Serverインストール

ドメイン

テンプレートJar

① ①

② ドメイン作成

③ pack ④ コピー ⑤ unpack

Page 18: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

pack/unpackコマンド

• packコマンド (管理サーバ側)

• unpackコマンド (管理対象サーバ側)

• -managed … trueの場合は管理対象サーバ用テンプレート

• -domain … ドメインディレクトリ(pack), 展開先ディレクトリ(unpack)

• -template … テンプレートJARファイル名

• -template_name … テンプレート名(コンフィグレーションテンプレート)

18

$ cd $MW_HOME/wlserver_12.1/common/bin

$ ./pack –managed=true –domain=/u01/work/domains/mydomain –template=/u01/work/domains/mydomain_managed.jar –template_name=mydomain

$ cd $MW_HOME/wlserver_12.1/common/bin

$ ./unpack–domain=/opt/domains/mydomain –template=/tmp/mydomain_managed.jar

Page 19: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

管理コンソール

19

管理コンソールは管理サーバにだけデプロイされる管理用Webアプリケーション

http://<hostname>:<port>/console

* 自動的にデプロイされるので明示的なデプロイは不要

Page 20: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

チェンジセンター

• 管理コンソールで設定作業を行う場合は、チェンジセンターでコンフィグレーションロックを取得する必要がある

20

Page 21: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

チェンジセンターのポイント

• チェンジセンターのロック機構はWLSユーザ単位

• 同じユーザアカウントを複数名で共有すると意味を成さない

• ユーザ毎に個別のアカウントを使用する

• Adminユーザは複数作っておいたほうが安心

• ロック状態は、アクティブ化(暗黙解放)もしくは明示的に解放しなければ継続する

• コンソールログアウトやサーバ再起動でもロックは解放されない

• コンソールのプリファレンス設定で、チェンジセンターのロックに関する設定を行う

21

Page 22: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

チェンジセンターのプリファレンス

22

ロックを保持したままログアウトしようとすると …

別のユーザがロック中にロックを取得しようとすると …

Page 23: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

その他の管理ツール

• コマンドラインツール

• WLST … 管理コンソール, コンフィグレーションウィザードの機能を併せ持つコマンドラインツール。 Jythonベース

• weblogic.Deployer … アプリケーションデプロイメントツール

• weblogic.Admin (非推奨)

23

Page 24: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

Agenda

• WebLogic ServerとJava EE

• ドメインのポイント

• デプロイメントのポイント

• データソースのポイント

24

Page 25: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

デプロイメントとは?

• アプリケーションをWebLogic ドメインに登録し対象指定されたサーバでアクティブにすること

• デプロイメントフェーズは2段階ある

• インストール (準備完了状態)

• アプリケーションをドメインに登録

• アプリケーションのデプロイ対象指定(サーバ、クラスタ)

• アクティベーション (アクティブ状態)

• デプロイ対象でアプリケーションを起動

• = クライアントからのアクセス可能な状態

25

Page 26: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

コンソールデプロイメント

26

①ロック取得

②[インストール]開始

アプリケーション・インストール・アシスタントが開始される

Page 27: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

アプリケーション・イントール・アシスタント

- オプション設定画面

27

アプリケーションのステージング設定

(= デプロイ対象サーバへのアプリケーション・ファイルのコピー)

stage: 管理サーバからデプロイ対象のサーバにファイルコピー (デプロイメントプロセスの一環として実行)

nostage: デプロイ対象のサーバにファイルをコピーしない (共有フォルダにアプリケーション・ソースファイルを配置する etc)

* 各サーバのステージング設定は、[サーバ]→[構成]-[デプロイメント]で指定可能

Page 28: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

アプリケーションの起動

28

起動はコンフィグレーションロック不要

状態が「アクティブ」であることを確認

Page 29: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

デプロイメントのポイント

• コンソールデプロイ時は必ず2段階デプロイメント

• インストール後の起動を忘れないように

• アンデプロイ時は停止→削除

• デプロイメントの細かい制御はコマンドラインデプロイメントの方が自由度が高い

• アプリケーション・ソースファイルは、必ず管理サーバがアクセス可能なファイルシステムに配置する必要がある

• デプロイ対象が管理対象サーバの場合は、ステージング設定も考慮する (stage/nostage)

29

Page 30: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

コマンドラインデプロイメント

30

準備完了

アクティブ

② ③

⑥ ⑤

WLST weblogic.Deployer

① distributeApplication() -distribute

② startApplication() -start

③ stopApplication() -stop

④ undeploy() -undeploy

⑤ deploy() -deploy

⑥ undeploy() -undeploy

⑦ redeploy() -redeploy ⑦

コマンドラインデプロイメントはWLST、またはweblogic.Deployerで実行可能

* コマンドは管理サーバに対して実行

Page 31: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

Agenda

• WebLogic ServerとJava EE

• ドメインのポイント

• デプロイメントのポイント

• データソースのポイント

31

Page 32: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

JDBCデータソース

• Java EEにおけるデータベースアクセス

32

WebLogic Server

データソース

接続プール

JNDI

デプロイ時にバインド

RDBMS

デプロイ時に

初期容量まで接続

JNDIルックアップ

@Resource(name = "jdbc/test")

DataSource ds;

try (Connection conn = ds.getConnection();

PreparedStatement pstmt = conn.prepareStatement(QUERY)) {

pstmt.setString(1, "xxx");

ResultSet rs = pstmt.executeQuery();

while(rs.next()) {

// ....

}

} catch (SQLException e) {

// 例外処理

}

開発者

運用担当者

接続オブジェクト取得

Page 33: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

データソース作成の前の確認事項

• JDBCドライバ

• JDBCドライバクラス名

• JDBC URL書式

• DB接続情報

• ホスト名/ポート番号

• ユーザ名/パスワード

• 最大接続数

33

Page 34: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

データソースの作成

34

JNDI名は複数バインド可能

WebLogic JNDIの区切り文字は 「.」もしくは「/」

Page 35: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

データソースの設定

35

増加した容量を縮小するまでの秒数。0で無効化。

•容量=接続プール内の物理接続(DB接続)数

•初期容量 = 接続プール作成時の物理接続数。初期容量分作成できないとデプロイ失敗

•最大容量 = 接続プールの最大物理接続数

•最小容量 = 縮小時の最小物理接続数

* 原則として『初期容量=最大容量』と考えて良いが、容量設定が大きい場合は、初期容量 < 最大容量とすることもあり。この場合、縮小も考慮に入れるので必要に応じて最小容量も設定

Page 36: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

データソースのモニタ

36

• データソースの[監視]タブのテーブルに行が表示されていればデータソースはデプロイ済み

• 表のカスタマイズを選択して必要な情報を追加する

• 「○○現在数」はモニタ時点のスナップショット

• 「最大○○」は最大負荷情報を取得可能

• サーバにデプロイされたコンポーネントからアクセスできるかどうかは各サーバのJNDIツリーを確認

Page 37: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

JNDIツリーの確認

37

Page 38: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

データソースのポイント

• データソースはサーバ起動時にデプロイされる

• デプロイに失敗してもサーバは起動する

• 接続プールのモニタでデプロイ済みかどうかを確認

• データソースのJNDI名をルックアップできないとアプリケーションはデータソースを利用できない

• JNDIツリーの確認も忘れずに

• アプリケーション処理スレッドが接続待ちにならないような設定が理想的

• DB物理接続数は、接続プールの「容量」で管理

• 初期容量、最大容量、(+最小容量) を適切に設定する

38

Page 39: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

まとめ

• WebLogic Serverの運用管理を行うための第一歩

• WebLogic Serverの管理概念を理解する

• ドメイン、マシン、サーバ、クラスタ …

• アプリケーションの動作に必要となるリソースの設定方法を理解する

• データソース、セキュリティ、トランザクション、JMS …

• アプリケーションのデプロイメント

39

Page 40: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

Oracle Universityからのお知らせ

• WebLogic Serverの管理方法をさらに学習したい方に最適な研修コースをご提供しています。 • Classroomトレーニングだけでなく、Live Virtual Class、『Oracle トレーニング・オンデマンド』など多様な受講形態から選択いただけます。

40

Page 41: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

コース内容

■Oracle Fusion Middleware の概要 ■WebLogic Serverのアーキテクチャ

■Oracle WebLogic Serverのインストール ■管理コンソールおよび他の管理ツールの概要

■WebLogic Server ドメインのコンフィグレーション ■Oracle WebLogic Server の管理およびロギングの使用

■アプリケーションのデプロイ ■データソース、JDBCドライバ、接続プールの設定

■JMS アプリケーションのコンフィグレーション ■WebLogic Serverの基本セキュリティのコンフィグレーション

■Oracle HTTP Server のコンフィグレーション ■Oracle WebLogic クラスタのコンフィグレーション

■バックアップおよびリカバリの管理 ■全体バックアップ、増分バックアップ

受講

前提条件

・Linux の基本コマンドおよびデスクトップのナビゲーション

・クライアント/サーバーの概念における TCP/IP ネットワークに関する基本的な知識

・Java EE の基礎知識(サーブレットや JSP など) ※推奨

対象者 ・Oracle WebLogic Server 11g管理者

・Javaアプリケーション開発者

コース日程 5日間 日程の詳細は Oracle University Webサイト にてご確認ください。

受講料 定価¥363,825(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。

Oracle Application Gridの基盤を支える

Oracle WebLogic Server 11gの管理コース! このコースでは、Web管理者がOracle WebLogic Server 11gのインストールおよび設定

する方法について説明します。Web管理者が管理コンソールやコマンドライン、および

スクリプトツール(WLST)などを使用して、Java EEアプリケーションをOracle

WebLogic Server 11gにデプロイする方法についても説明します。

その他に、Oracle WebLogic Server のWebインタフェースとしてOracle HTTP Serverを設

定する方法を解説し、またOracle WebLogic Serverクラスタを設定してアプリケーションのフェイルオーバーとロードバランシングをサポートする方法を学習します。また、

WebLogic Server管理者の管理タスクの概要について説明します。

Oracle WebLogic Server 11g: 管理

ミドルウェア

Page 42: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

WebLogic Server勉強会 参加者の皆さまの特典

http://education.oracle.co.jp/campaign_wlstudy/

42

Page 43: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved.

Page 44: Oracle WebLogic Server管理(再)入門

Copyright© 2012, Oracle. All rights reserved. 44