知られざる weblogic server の新機能・変更点 (12.1.2/12.1.3編)
TRANSCRIPT
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
WebLogic Server勉強会@東京
知られざる WebLogic Server の新機能・変更点 (12.1.2/12.1.3編)
ソリューション事業推進本部 ソリューションビジネス部
山田 貴裕
2014/12/18
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
はじめに
• 発表する内容は個人の見解であり、所属する組織の公式な見解ではありません。
• 資料の内容は正確を期するよう注意しておりますが、妥当性や
正確性について保証するものではありません。
• WebLogic Server(WLS) 12.1.2/12.1.3の新機能・変更点のうち、マイナーな部分をいくつか取り上げます。
– 特に注意書きがないものは、WLS 12.1.2/12.1.3のどちらのバージョンも該当します。
2
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
自己紹介
• 自己紹介
– 山田 貴裕 (Twitter: @yamadamn)
– 伊藤忠テクノソリューションズ株式会社(CTC)
• ソリューション事業推進本部 ソリューションビジネス部
– Java EE開発者やDBAを経て、ミドルウェアのサポートエンジニアに
• Oracle Fusion Middleware が主担当
– WebLogic Server, Coherence など
• 大規模案件にも従事し、設計や構築を担当
–Oracle ACE (Middleware & SOA) • ミドルウェア分野では日本で実質一人
• この勉強会を通じて、Oracle ACEに推薦
3
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
アジェンダ
• OUI導入に伴うであろう新機能・変更点
• 設定・MBean関連の新機能・変更点
• 起動・停止スクリプトの新機能・変更点
• その他の新機能・変更点
• まとめ・参考資料
4
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
アジェンダ
• OUI導入に伴うであろう新機能・変更点
• 設定・MBean関連の新機能・変更点
• 起動・停止スクリプトの新機能・変更点
• その他の新機能・変更点
• まとめ・参考資料
5
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
OUI導入に伴うであろう新機能・変更点 - インストーラの種類
• インストーラの種類の変更
– Generic版(.jar)のみに統一し、32bit JDKを含むインストーラの廃止
WLS 12.1.1 まで
WLS 12.1.2/12.1.3
– OEPEバンドル版のみ 32bit JDKを含むが、開発専用
OTNからダウンロードしたモジュールは商用利用できません。
Oracle Software Delivery Cloud (https://edelivery.oracle.com/)
を利用してください。 6
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
OUI導入に伴うであろう新機能・変更点 - アップグレード方法
• アップグレード方法の変更
– アップグレードウィザード(weblogic.Upgrade)の廃止
• アップグレードインストーラ(MOSからダウンロード)もなくなった
– 新規バージョンを別途インストールし、ドメイン再構成ウィザードを利用
• $ORACLE_HOME/oracle_common/common/bin/reconfig(.sh|.cmd)
7
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
OUI導入に伴うであろう新機能・変更点 - 製品ディレクトリ構成
• 製品ディレクトリ構成の変更 (完全タイプインストールでの比較)
8
WLS 12.1.1 WLS 12.1.2 WLS 12.1.3
サンプルドメインは別途構成
oracle_common
配下にも一部あり
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
OUI導入に伴うであろう新機能・変更点 - コンソールモードの廃止
• コンソールモードの廃止
– コンソールモードでのインストール不可
• 代替) GUI環境を用意するか、サイレントインストール 参考『サイレント・モードでのOracle Universal Installerの使用』 http://docs.oracle.com/cd/E50629_01/core/OUIRF/silent.htm
– コンソールモードでのドメイン構成不可
•無視してGUIモードで起動しようとする
•代替) GUI環境を用意するか、WLSTオフラインによるドメイン構成
参考『一歩先に進むためのWLST活用技法』 https://blogs.oracle.com/wlc/entry/wlstudy_20130723_2
9
$ java -jar fmw_12.1.3.0.0_wls.jar -mode=console
無効な引数: -mode=console
$ {WL_HOME}/common/bin/config.sh -mode=console
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
OUI導入に伴うであろう新機能・変更点 - その他
• その他の変更点
– Windowsの場合、管理者モードでインストールやパッチ適用
• パッチ適用は以前はSmart Update(bsu)だが、OPatch(opatchコマンド)を利用
– パッチの確認方法
• WLS起動時やweblogic.versionユーティリティで適用パッチが出力されなくなった
• 代替) opatch lsinventoryを利用
– ミドルウェアホーム(MW_HOME)→Oracleホーム(ORACLE_HOME)
• マニュアル上の記載の変更が主
• スクリプトの中身は、まだMW_HOME(やBEA_HOME)が多い
– beahomelistの廃止
• C:¥bea¥beahomelist(Windows環境)、$HOME/beahomelist(Unix環境)が廃止
10
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
アジェンダ
• OUI導入に伴うであろう新機能・変更点
• 設定・MBean関連の新機能・変更点
• 起動・停止スクリプトの新機能・変更点
• その他の新機能・変更点
• まとめ・参考資料
11
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
設定・MBean関連の新機能・変更点 - スレッド関連(1)
• スレッド関連(1)
– 自己チューニング・スレッド最小/最大プール・サイズ
• 従来も起動オプションやWLSTで設定できたが、隠しパラメータ的扱い
• 管理コンソールから設定変更可能になった
– Muxerのデフォルト実装が「weblogic.socket.NIOSocketMuxer」 • 以前は、NTSocketMuxer(Windows環境)、
PosixSocketMuxer/DevPollSocketMuxer(Unix環境)
• 環境→サーバー→{サーバー名}→構成→チューニング→詳細
参考『スレッドダンプから見るWebLogic Serverの世界』 http://d.hatena.ne.jp/yamadamn/20141207/1417928145
12
:
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
設定・MBean関連の新機能・変更点 - スレッド関連(2)
• スレッド関連(2) - KernelMBean
– UseDetailedThreadName
• 有効化すると、アプリケーション名やワークマネージャ名をスレッド名に設定
– 従来でも管理コンソールなどからMBean経由で実行スレッドの詳細は取得可能
• 多少オーバーヘッドがあるとされているが、スローダウンやハングアップ発生時に、スレッドダンプを取得するときに分かりやすくなる
参考『WebLogic Server MBean Reference』 - KernelMBean
https://docs.oracle.com/middleware/1212/wls/WLMBR/mbeans/KernelMBean.html
• 管理コンソールからは現状設定できないので、WLSTで変更する
13
[ACTIVE] ExecuteThread: '0' for queue:
'weblogic.kernel.Default (self-tuning)'
for workmanager: sample-app@null@wm-test
edit()
startEdit()
cd('/Servers/ms1')
cmo.setUseDetailedThreadName(true)
save()
activate()
この部分が追加
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
設定・MBean関連の新機能・変更点 - スレッド関連(3)
• スレッド関連(3) - ThreadPoolRuntimeMBean
– OverloadRejectedRequestsCount
• サーバー単位の [ワークマネージャの共有容量] を超えて、拒否された(503エラー)
リクエスト数を取得
– ワークマネージャ単位の容量制約を超えたリクエスト数は、今のところ取得不可の模様
– StuckThreadCount
• スタックしたスレッド数を取得
– 12.1.1までもワークマネージャ単位では用意されていたが、サーバー単位に取得可能
• 従来は各実行スレッドのスタック状態を判定する必要があった
– スレッドダンプから[STUCK]になっているスレッド名をgrepしても可
(WLSTでの実行例)
14
wls:/wls1213/serverConfig> serverRuntime()
wls:/wls1213/serverRuntime> prompt()
wls:/> cd('/ThreadPoolRuntime/ThreadPoolRuntime')
wls:/> print cmo.getOverloadRejectedRequestsCount()
5
wls:/> print cmo.getStuckThreadCount()
3
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
設定・MBean関連の新機能・変更点 - CompleteWriteTimeout
• CompleteWriteTimeout
– HTTPレスポンスのタイムアウトを設定
– 従来は完了メッセージタイムアウト(完全なメッセージ受信の待機時間)と兼用していたが分離
• CompleteWriteTimeoutを指定すると、CompleteMessageTimeout(完了メッセージタイムアウト)の設定を上書き
• 管理コンソールからは現状設定できないので、WLSTで変更する
• 参考『WebLogic Server MBean Reference』 - KernelMBean https://docs.oracle.com/middleware/1212/wls/WLMBR/mbeans/KernelMBean.html
15
edit()
startEdit()
cd('/Servers/ms1')
cmo.setCompleteWriteTimeout(120)
save()
showChanges()
activate()
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
設定・MBean関連の新機能・変更点 - データソース・接続プール
• データソース・接続プール
– Oracle DB用の[テスト対象の表名]のデフォルト
• SQL SELECT 1 FROM DUAL (~12.1.2)
• SQL ISVALID (12.1.3)
※12.1.2からは「SQL PINGDATABASE」もサポート (特にRAC環境)
– 無効化されるまでリフレッシュに失敗した接続の数、
フラッシュされるまでのテストの失敗数
• WLS 8.1には存在した設定
• WLS 9.x以降も隠しパラメータ的に設定できたが、正式に復活
• サービス→データソース→{データソース名}→構成→接続プール→詳細
参考『解説!JDBCデータソースと接続プール』(WebLogic Server勉強会@大阪)
http://www.slideshare.net/OracleMiddleJP/20140212-wls-benkyokaiosaka
16
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
アジェンダ
• OUI導入に伴うであろう新機能・変更点
• 設定・MBean関連の新機能・変更点
• 起動・停止スクリプトの新機能・変更点
• その他の新機能・変更点
• まとめ・参考資料
17
Copyright (c)2014 ITOCHU Techno-Solutions Corporation 18
起動・停止スクリプトの新機能・変更点 - 追加設定スクリプトの読込
$DOMAIN_HOME
startWebLogic.sh
$DOMAIN_HOME/bin
startWebLogic.sh
startManagedWebLogic.sh
setDomainEnv.sh
$WL_HOME/common/bin
commEnv.sh
call
read
weblogic.
Server
javaコマンド呼び出し
参考『WebLogic Serverの起動・停止スクリプトを極める』 https://blogs.oracle.com/wlc/en
try/レポート_起動_停止スクリプトとスレッドダンプ
call
setStartupEnv.sh
setUserOverrides.sh
read
$ORACLE_HOME/oracle_common/
common/bin/commEnv.shを読込 (存在する場合のみ)
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
起動・停止スクリプトの新機能・変更点 - 各スクリプト内容
• startWebLogic.sh
– umask 037→027
– 環境変数SAVE_MEMORYがtrueの場合、CMMを有効化 (12.1.3)
• 参考『WebLogic Server Cooperative Memory Management in
Oracle Exalogic Elastic Cloud Envinronments (12c (12.1.3))』 https://docs.oracle.com/cd/E57014_01/wls/WLEXA/cmm.htm
• setDomainEnv(.sh|.cmd)
– $WL_HOME/common/derby/lib/derby.jar がある場合はDerby起動
• 不要な場合は、startWebLogic.sh noderbyで起動したり、derby.jarをリネームなど
• stopWebLogic(.sh|.cmd)
– shutdown.py→shutdown-${SERVER_NAME}.py (12.1.3)
• サーバー単位に作成するようになり、同時複数サーバー停止も安全に
19
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
起動・停止スクリプトの新機能・変更点 - 追加されたスクリプト一覧
• $DOMAIN_HOME/binに追加されたスクリプト
– 以下も $DOMAIN_HOME/bin に追加されたが、実際は
$WL_HOME/server/bin の同名スクリプトを呼び出し
20
スクリプト名 リリース 用途 備考
setStartupEnv(.sh|.cmd) 12.1.2 汎用設定
setUserOverrides(.sh|.cmd) 12.1.2 汎用ユーザー設定 デフォルトなし
startComponent(.sh|.cmd) 12.1.2 システムコンポーネント起動 主にOHS
stopComponent(.sh|.cmd) 12.1.2 システムコンポーネント停止 主にOHS
スクリプト名 リリース 用途 備考
startNodeManager(.sh|.cmd) 12.1.2 ドメイン固有ノードマネージャ起動
stopNodeManager(.sh|.cmd) 12.1.3 ドメイン固有ノードマネージャ停止
installNodeMgrSvc.cmd 12.1.2 ノードマネージャサービス登録 Windows用
uninstallNodeMgrSvc.cmd 12.1.2 ノードマネージャサービス削除 Windows用
startRSDaemon(.sh|.cmd) 12.1.3 Replicated Storeデーモン起動 Exalogic用
stopRSDaemon(.sh|.cmd) 12.1.3 Replicated Storeデーモン停止 Exalogic用
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
アジェンダ
• OUI導入に伴うであろう新機能・変更点
• 設定・MBean関連の新機能・変更点
• 起動・停止スクリプトの新機能・変更点
• その他の新機能・変更点
• まとめ・参考資料
21
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
その他の新機能・変更点 - セキュリティ関連
• デモ証明書の鍵長が512→2048ビットに変更
– 最近のブラウザは1024ビット未満の証明書を拒否
– デモIDキーストア(DemoIdentiy.jks)も $WL_HOME/server/lib ではなく、
ドメインごと($DOMAIN_HOME/security)に配置
デモ証明書は開発環境用途です。
本番環境では利用しないようにしましょう。
• ネットワークチャネルごとにカスタムIDキーストアを指定可能
(12.1.3)
22
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
その他の新機能・変更点 - JDBC関連
• バンドルされるOracle JDBC Thin Driver
– ojdbc6.jar 11.2.0.3.0 (WLS 12.1.2)
• WLS 12.1.1と同じバージョンだが、以前は $WL_HOME/server/libに配置
• $ORACLE_HOME/oracle_common/modules/oracle.jdbc_11.2.0 に配置
– ojdbc7.jar 12.1.0.2.0 (WLS 12.1.3)
• $ORACLE_HOME/oracle_common/modules/oracle.jdbc_12.1.0 に配置
• ローカルトランザクションのコミット
– 非XA接続のローカルトランザクションで、アプリでコミット・ロールバックをしていない場合、接続プールに戻されるときにデフォルトでコミット
• JDBC仕様へ準拠するためだが、無効にするとドライバ依存の動作
• XA接続のローカルトランザクションはデフォルトでロールバック
23
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
その他の新機能・変更点 - 非推奨・廃止機能
• boot.properties自動作成不可 (12.1.3)
– 起動オプション -Dweblogic.system.StoreBootIdentity=true を指定すると NoSuchMethodError で起動せず
• 常時付加することは元々推奨されていなかったが、セキュリティを考慮か
• 参考『boot.propertiesから見るWebLogic Serverの世界』 http://www.slideshare.net/OracleMiddleJP/bootpropertiesweblogic-server
• WLフルクライアントJar(wlfullclient.jar)が非推奨 (12.1.3)
– WLシンT3クライアントJar(wlthint3client.jar)などを代わりに利用
• WebSocket独自実装が非推奨 (12.1.3)
– 12.1.2 で独自仕様で導入されたが、標準仕様(JSR 356)を推奨
• 参考『WebLogicのWebSocket』 http://www.slideshare.net/TakahiroYamada3/weblogic-websocket
24
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
その他の新機能・変更点 - ドキュメント構成
• ドキュメント構成が分かりやすく
– URLも分かりやすく
• 例) サーバーの起動と停止
12.1.1 http://docs.oracle.com/cd/E28613_01/web.1211/b65889/overview.htm
• 12.1.2 http://docs.oracle.com/cd/E50629_01/wls/START/overview.htm
– 英語版ドキュメントは「Alta UI」に対応して更に変更
• 参考) Alta UI http://builder.japan.zdnet.com/tool/35057195/ 25
WLS 12.1.1
カテゴリ単位にブック羅列
WLS 12.1.2/12.1.3
目的ごとにタブ切替
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
アジェンダ
• OUI導入に伴うであろう新機能・変更点
• 設定・MBean関連の新機能・変更点
• 起動・停止スクリプトの新機能・変更点
• その他の新機能・変更点
• まとめ・参考資料
26
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
まとめ
• WLSはバージョンアップで互換性を極力保ちながらも、内部的に大きな変更を加えて、進化しています。
– 特に、WLS 12.1.1→12.1.2で、内部的に大きな変更がうかがえます
– 2014年12月時点で、WLS 10.3.0までPremier Supportを終了しています。
古いバージョンをご利用の場合、バージョンアップをご検討ください。
• 「神は細部に宿る」
– 細かな変更点からWLSの緻密さが伺えます。
– 何か発見があったら勉強会や懇親会などで教えてください。
27
Copyright (c)2014 ITOCHU Techno-Solutions Corporation
参考資料
• Oracle WebLogic Serverの新機能 12c (12.1.2)
– http://docs.oracle.com/cd/E50629_01/wls/NOTES/toc.htm
• Oracle WebLogic Serverの新機能 12c (12.1.3)
– http://docs.oracle.com/cd/E57014_01/wls/NOTES/toc.htm
• WebLogic Server 12.1.2の旧リリースとの互換性
– http://docs.oracle.com/cd/E50629_01/wls/WLUPG/compat.htm
• WebLogic Server 12.1.3 Compatibility with Previous Releases
– http://docs.oracle.com/cd/E57014_01/wls/WLUPG/compat.htm
• 全部知っていたら“WebLogic博士”!? WebLogic Server 12c
の新機能/変更点
– https://blogs.oracle.com/wlc/entry/javaee_c118 (後半)
28