Comments
Description
Transcript
OracleユーザーのためのWebLogic 入門
<Insert Picture Here> OracleユーザーのためのWebLogic 入門 日本オラクル株式会社 製品事業統括 Fusion Middleware事業統括本部 担当シニアマネージャ 新井 庸介 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい ては、弊社の裁量により決定されます。 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 Copyright© 2012, Oracle. All rights reserved. 2 Agenda • アプリケーションサーバーとは • Oracle Databaseユーザーにとってのアプリケーションサ ーバーとは • Oracle WebLogic Server • Oracle DatabaseユーザーのためのWebLogic Server • まとめ Copyright© 2012, Oracle. All rights reserved. 3 <Insert Picture Here> アプリケーションサーバーとは Copyright© 2012, Oracle. All rights reserved. アプリケーションサーバーとは e-Wordsより ユーザからの要求を受け付けて、データベースなどの業務システムの処理に橋渡しする機能を持 ったサーバソフトウェア。ミドルウェアの一種で、ユーザが利用するWebブラウザなどのクライアント と、データベースなどの中間に位置する(3階層システム)。 プログラムの実行環境やデータベースへの接続機能、トランザクション管理機能などを持ち、ビジネ スロジックを実装しているのがアプリケーションサーバである。 クライアントやバックエンド側にビジネスロジックを実装する方式(2階層システム)に比べ、システム の変更や更新、増強などが容易で、柔軟性が高い。業務プロセスが少しでも変わったら全社員の PCを更新しなければならなかったりといった悩みを解消してくれる。 http://e-words.jp/w/E382A2E38397E383AAE382B1E383BCE382B7E383A7E383B3E382B5E383BCE38390.html •ビジネスロジックの実行 •データベースへの接続 •トランザクションの管理 等々 クライアント アプリケーションサーバー Copyright© 2012, Oracle. All rights reserved. データベース 5 Java EE アプリケーションサーバーとは • Java EEとは: Javaアプリケーションサーバーが満たすべ き標準仕様群 Webアプリケーションの開発標準(コード記法, 各種API, 通信規 約, etc), セキュリティ仕様, 分散トランザクション仕様, Webサービ スの仕様、等々 Java EEは数年に1度改訂され、新たに仕様が追加されたり、既 存の仕様が見直される。2011年現在の最新は”Java EE 6” (ご参考)Java標準仕様にはEEの他にSE(Java VMの標準仕様)及びME(組み 込みJavaソリューションのための標準仕様)がある • つまり Java EE アプリケーションサーバー=Java EE標準仕様を 満たす機能を持つJavaアプリケーションサーバー Copyright© 2012, Oracle. All rights reserved. 6 Java EE 仕様は誰が決めているのか? • Java 標準仕様(SE/EE/ME)はJavaコミュニティ(JCP)を通じ て決定される JCP (Java Community Process): Oracleが主催するJavaの標準技 術仕様の策定と標準化のための機関。 JCPは16名/社の中核メンバー(Executive Committee, 任期3年、メン バーによる投票にて選出)と約1000名/社のメンバーから構成される JCPメンバーは標準仕様の提案、及びしreviewする権限を、 Executive Committeeはこれを最終的に承認する権限を持つ Java標準仕様のメリット • オープンである=より良い仕様の策定 仕様が1ベンダーの意図に左右されない, ベンダーだけでなくユーザーも参加し幅広く議論 • 標準仕様である • ベンダ・ロックインの排除、技術の習得が容易 Copyright© 2012, Oracle. All rights reserved. 7 (ご参考)最近の標準仕様について • JSR-336: Java SE7 Release Contents ※JSR: (Java Specification Request): 標準仕様を記述した公式文章 内容: Java SE7 としてリリースする仕様群を決定 Expert Group: (Spec Lead) Oracle (Group Member)Google, Redhat • JSR-316: Java EE6 Specification 内容: Java SE6 としてリリースする仕様群を決定 Expert Group: (Spec Lead) Oracle (Group Member)Ericson, IBM, NCSoft, Oracle, OW2, Peking University, Redhat, SAP, SpringSource, Sybase, 他 (全25団体/個人) • JSR-348: Towards a new version of the Java Community Process 内容: JCP組織、及び仕様策定プロセスの見直し(透明性の向上、参加のし易さ 、ガバナンス、など) Expert Group: (Spec Lead) Oracle (Group Member)AT&T,Eclipse Foundation, Fujitsu, Google, HP, IBM, Intel, Nokia, Oracle, Redhat, RIM, TMobile, Vodafone, 他 (全30団体/個人) Copyright© 2012, Oracle. All rights reserved. 8 Java EEの最新動向と今後の方向性 • Java EE 6(2009年末 仕様決定) テーマ: 開発生産性の向上 コード量及び設定ファイルの削減 統合開発フレームワークの提供 • Java EE 7(2012冬 仕様決定予定) テーマ: クラウド アプリケーションとリソースの独立 マルチテナント 大規模環境向け技術の標準化 Copyright© 2012, Oracle. All rights reserved. 9 Java EEアプリケーションサーバーの 最新動向と今後の方向性 • 最新動向: Java EE 6対応 Oracle WebLogic 12c Oracle GlassFish 3 Java EE 6 対応済! • 今後の方向性: トレンド クラウド マルチテナント、集約 より高い性能 より高い可用性 モバイル ハイトランザクションへの対応 Copyright© 2012, Oracle. All rights reserved. 10 <Insert Picture Here> Oracle Databaseユーザーにとっての アプリケーションサーバーとは Copyright© 2012, Oracle. All rights reserved. アプリケーションサーバーに対する関心#1 ① DBとの接続、連携 • どうやって接続するの?ODBC? RACの場合の考慮点 は? • チューニングは?高い可用性を実現するには?… Copyright© 2012, Oracle. All rights reserved. 12 アプリケーションサーバーに対する関心#1 ②問題への対応(障害、性能劣化) ORA-xxx 遅い、重い • 問題をどうやって切り分ける? アプリケーションサーバー とDBのどっちに原因が? • 性能劣化はどっちが悪いの?アプリケーションサーバー とDBのどっちを直すべき? Copyright© 2012, Oracle. All rights reserved. 13 アプリケーションサーバーに対する関心#1 ③システム全体の可用性 DBは高可用性だが、 システム全体は? • DB層だけでなく、システム全体の可用性を高め、システ ムとして安定稼働させるにはどうすれば? Copyright© 2012, Oracle. All rights reserved. 14 <Insert Picture Here> Oracle WebLogic Server Copyright© 2012, Oracle. All rights reserved. Oracle WebLogic Server The World’s Leading Application Server • 15年にわたる製品実績 Javaと同じ1996年に誕生。成熟した製品機能 (例 クラスタ機能: ver.4.5から7世代にわたって改良し提供) • 市場シェアNo.1 世界シェアの2/5以上(Gartner) • 特徴 1. Java標準仕様に常に追随 2. Java標準仕様を超える、ミッションクリティカ ル環境のための高い機能を併せて提供 Copyright© 2012, Oracle. All rights reserved. 16 Oracle WebLogic Server 12c Global announcement ! 去る12/1, Oracle WebLogic Serverの次のメジャ ーバージョン”12c”について、ついに グローバルでアナウンスがなされました Copyright© 2012, Oracle. All rights reserved. 17 Oracle WebLogic Server 12c とは 特徴 1. Java EE 6, Java SE 7 対応による 高い開発生産性、保守性 2. Oracle DBとの高度な連携 3. 業務やサービスを止めない 高い信頼性 WebLogic Server 12c Copyright© 2012, Oracle. All rights reserved. 18 <Insert Picture Here> Oracle Databaseユーザーのための WebLogic Server Copyright© 2012, Oracle. All rights reserved. Agenda • Oracle DBユーザが持つアプリケーションサーバーに対 する関心についてのWebLogicの機能を紹介します 1. DBとの接続、連携 2. 問題への対応(障害、性能劣化) 3. システム全体の可用性 Copyright© 2012, Oracle. All rights reserved. 20 1. DBとの接続、連携 マルチデータソース機能 • 概要 WebLogicのDB接続機能。複数の接続プール(*)を論理的に1つ として扱い。負荷分散やフェイルオーバーを実現する (*)接続プール: 性能向上のためにDBとの接続を予め一定数張っておく機能。接続 プール自体はメジャーな製品の殆どが提供している機能だが、マルチデータソース (=マルチプール)はWebLogicの独自機能 • 機能 接続の自動閉塞、自動復旧(フェイルオーバー) 障害があった場合、接続プールは自動的に閉塞する(プール内の接 続をClean upする) 障害から復旧したら、接続プールは自動的に復旧する(自動的に接 続を再確立する) 負荷分散 RACノード間の負荷分散 Copyright© 2012, Oracle. All rights reserved. 21 1. DBとの接続、連携 Multi Data Source for Service A アプリ A Data Source Data Source • ノード4の障害回復や Service Aへの復帰の際、 接続プールは自動的に復 旧する • Service Aを利用するアプリ Aが、無効な接続をつかん でしまうことは無い Data Source Data Source Data Source 利用可能なデータソース Data Source 利用不可能なデータソース Service X 利用可能なサービス Service X 利用できないサービス Copyright© 2012, Oracle. All rights reserved. Service A WebLogic Server Service A • ノード4の障害やService A の構成変更時(ノード4を外 す)、当該の接続プールは 自動的に閉塞する Service A Service A マルチデータソース機能(図解) ノード1 ノード2 ノード3 ノード4 22 JDBCドライバの負荷分散及びフェイルオーバー機 能との違い • JDBCドライバはWebLogic以外のアプリケーションサーバー(以下 App Server)の接続プール機能と統合されていません。よって WebLogic以外では以下の問題が起きる可能性があります • 自動閉塞 閉塞できないApp Serverの場合、無効な接続が残存しアプリにエラーが返 ります 閉塞は出来るが、閉塞した接続と同一数の接続を残存ノードに張りにいく仕 様のApp Serverがあります。この場合、結果として想定以上の接続がある ノードに集中してしまう可能性があります • 自動復旧 閉塞後、接続プールに設定した接続数の全てを残存ノードに張ってしまい、 接続の復旧ができないケースがあります。この場合、結果として負荷分散 が不十分になります Copyright© 2012, Oracle. All rights reserved. 23 1. DBとの接続、連携 11g New! Active GridLink for RAC 12c Update! 性能改善 (スループッ ト向上) • RACノード負荷バランシング RACのノード負荷に合わせ動的に負荷分散 リソース 利用効率 改善 • トランザクション・アフィニティ 複数の更新クエリをRACの1ノードで集中処理し 不要な分散トランザクション処理を抑制 • 高速接続フェイルオーバー ノード障害時やサービス構成変更に即座に対応。DB処理 の即時フェイルオーバー、プロアクティブな接続管理 アプリ 安定稼働 WebLogic WebLogic WebLogic WebLogic WebLogic WebLogic GridLink GridLink GridLink GridLink GridLink GridLink XA 80% 20% RAC ノード負荷バランシング トランザクション・アフィニティ Copyright© 2012, Oracle. All rights reserved. 高速接続フェイルオーバー Active Grid Link for RACの仕組み WebLogic UCP-RAC モジュール WebLogic Server (RACサービスA用) RAC (1) ポーリング WLSコネクション・プール Oracle Database(RAC) サービスA ONS Daemon 死活・負荷状況通知 ONS client UCP-RAC モジュール ONS Daemon RAC (2) サービスA Oracle JDBCドライバ RACサービスに対するポーリングとONSからの通知の双方を活用 Copyright© 2012, Oracle. All rights reserved. 25 2.問題への対応(障害、性能劣化) Enterprise Manager – オンライン分析 Oracle Enterprise Manager EBS PSFT Siebel Custom … アプリケーションの管理 ・ユーザー視点での性能監視 ・トップダウン・アプローチによる 障害切り分け ・構成管理 ・EBS パッチ管理(推奨、履歴管理) ・EBS 環境のクローン アプリケーション ミドルウェアの管理 ・監視(可用性、リソース、性能) ・JVM の詳細分析 ・パッチ適用 ・構成管理 ミドルウェア 統合管理 ・単一のUI ・環境の比較、コピー ・運用管理ダッシュボード ・レポート(性能、セキュリティ等) ・ユーザーエクスペリエンス監視 データベース ストレージ Copyright© 2012, Oracle. All rights reserved. データベースの管理 ・管理(バックアップ、領域追加など) ・監視(可用性、性能、リソース) ・分析、アドバイス、チューニング ・パッチ適用 ・構成管理、オブジェクト管理 ・機密情報のマスキング その他の管理 ・OS(Unix/Windows/Linux)の監視 ・ストレージ(NetApp/EMC)の監視 ・構成管理 26 Enterprise Manager WebLogicからOracle DBにドリルダウンして問題解析 WebLogicの処理内容をグラフ表 示(ロック待機/CPU/DB待機など) DB待ちが発生している場合、 発行しているSQL文まで特定 ボトルネックが発生しているページや メソッドを特定 Copyright© 2012, Oracle. All rights reserved. 27 2.問題への対応(障害、性能劣化) JRockit Flight Recorder - オフラインでの分析 • JRockit Flight Recorder • 従来 Java EE/ISV アプリ ダンプを解析… Java EE/ISV アプリ Full thread dump Java HotSpot(TM) Client VM (1.5.0_06-64 mixed mode, sharing): 直近の実行情 報を常に記録 "Low Memory Detector" daemon prio=5 tid=0x0050a600 nid=0x1816a00 runnable [0x00000000..0x00000000] "CompilerThread0" daemon prio=9 tid=0x00509cb0 nid=0x1816600 waiting on condition [0x00000000..0xf0b06358] "Signal Dispatcher" daemon prio=9 tid=0x00509840 nid=0x1816200 waiting on condition [0x00000000..0x00000000] "Finalizer" daemon prio=8 tid=0x00509020 nid=0x1810200 in Object.wait() [0xf0a04000..0xf0a04ab0] at java.lang.Object.wait(Native Method) App Server - waiting on <0x26580360> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x26580360> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) Oracle WebLogic Server 5%以下の "Reference Handler" daemon prio=10 tid=0x00508c30 nid=0x180f200 in Object.wait() [0xf0983000..0xf0983ab0] at java.lang.Object.wait(Native Method) - waiting on <0x26580a50> (a java.lang.ref.Reference$Lock) JVM at java.lang.Object.wait(Object.java:474) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) 自動記録 JRockit VM 低負荷 - locked <0x26580a50> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x005013a0 nid=0x1804c00 waiting on condition [0xf07ff000..0xf08002c0] at java.lang.Thread.sleep(Native Method) at ThreadTest1.method1(ThreadTest1.java:7) at ThreadTest1.main(ThreadTest1.java:4) "VM Thread" prio=9 tid=0x00508450 nid=0x1803c00 runnable "VM Periodic Task Thread" prio=9 tid=0x0050bcb0 nid=0x1813000 waiting on condition "Exception Catcher Thread" prio=10 tid=0x005015e0 nid=0 問題解決に必要な情報の多くは消失 原因究明に多くの時間が必要 履歴を含めた情報を低負荷で記録し自動出力 迅速な原因究明を支援するGUIツール 1. トラブルの確実な原因追究を 「遡って」 実施可能 2. 障害発生→改善のサイクルと手間を大きく短縮化 Copyright© 2012, Oracle. All rights reserved. 28 JRockit Flight Recorder WebLogic→Oracle DB: オフラインでも問題解析 稼働状況を常に記録。記録の中か ら障害発生時にフォーカス 記録を更に細かく絞り込み、ある瞬 間に実行されていたSQLを特定 Copyright© 2012, Oracle. All rights reserved. 3. システム全体の可用性 ワークマネージャ – 流量制御, 過負荷保護 HWリソースのグループ化 • リクエストに対する処理スレッドの割り当てを自動制御 • Webアプリケーション単位またはURLグループ単位に、最大スレ ッド数、最小スレッド数、受け入れ可能トランザクション数を設定 できる WebLogic Server アプリケーションB アプリケーションA アプリケーションC スレッドプール Copyright© 2012, Oracle. All rights reserved. 30 ワークマネージャで出来ること • 暴走からの保護 特定のアプリケーションがすべてのスレッドを占有し、他のアプリ ケーションも含めてサービス停止となるような状況を阻止できる • 目標応答時間 性能要求に応じて目標応答時間を設定することで、WebLogicに 自動チューニングを行わせることが可能 • 管理アプリ HWリソースが枯渇していても、 Adminが使うような管理アプリに 対し最小限の実行スレッドの割当を保証し緊急時に備える Copyright© 2012, Oracle. All rights reserved. 31 3. システム全体の可用性 Oracle Coherence – DBアクセスのオフロード • Oracle Coherence インメモリ・データグリッド製品。デー タをメモリで分散管理し、性能、拡張 性、耐障害性を向上する • Coherenceで出来ること DBへのアクセス負荷軽減 キャッシュによる参照アクセス削減 非同期連携(複数の更新をサマリーして まとめる)による更新アクセス削減 Oracle Coherence 耐障害性の向上 システム全体の速度向上 Copyright© 2012, Oracle. All rights reserved. 32 Active Cache – インメモリソリューションによる性能向上 • Coherenceと連携しクラスタリング性能を向上する WebLogic機能 • メリット 1. 安定性向上 • WebLogicのメモリの空き容量を安定確保 • クラスタ処理をCoherenceに担わせ、稼働を安定させる 2. 性能向上 ■ Without Coherence*Web ■ With Coherence*Web ■ With full Coherence Weblogic Server with Coherence Copyright© 2012, Oracle. All rights reserved. 33 3. システム全体の可用性 Oracle JRockit JVM – 世界最速のJVM • オラクルが提供するJava SE完全準拠の高性能Java VM インテルアーキテクチャに最適化した業界最速のJVM(現在はSPARC版も 提供) 世界最高値 SPECjbb2005 Last updated: Jun. 3 2010 9611262 安定性を高める動的/自動メモリ管理 1998年 Ver.1リリースから12年の 6972897 5534233 5210501 利用実績 • JRockitとSun JVMとの違い Oracle JRockit 用途/プラットフォームを絞って高性能 高速性 サーバーサイド利用、Intelアーキテクチャに最適化 安定性 動的GC / JRockit Real time 高い管理性 JRockit Oracle JRockit Oracle JRockit Oracle JRockit 他社 JVM Linux Linux Linux AIX Sun JVM マルチプラットフォーム/デバイス サーバーサイド, PC, 携帯電話, 組み込み機器, etc, などどんな環境/用途でも同じように動作す る 豊富な利用実績 Mission Control / JRockit Flight Recorder Copyright© 2012, Oracle. All rights reserved. 34 3. システム全体の可用性 JRockit Real Time (JRRT) – GC遅延の抑止 • JRRTが出来ること • JRRTのメリット ガベージコレクションによる処理 遅延の平準化 応答性能保証 突発的な遅延を抑止し安定稼働 応答性能の平準化 120 従来のJava JRockit Real Time 105 • アプリケーションの修正不要 • 汎用HWとOS利用可 (特殊なHWやOSは不要) 120 90 105 90 75 75 60 60 45 45 30 15 30 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 ガベージコレクションの影響によるレ スポンスタイムの劣化、タイムアウト の発生 15 0 0 2000 4000 6000 8000 Copyright© 2012, Oracle. All rights reserved. 10000 12000 14000 16000 18000 35 まとめ • 本日ご紹介した内容: Oracle DBユーザーのための WebLogic機能 1. DBとの接続、連携 マルチデータソース、Active GridLink for RAC による連携 自動閉塞/復旧、高度な負荷分散 2. 問題への対応(障害、性能劣化) Enterprise ManagerとJRockit Flight Recorderによる WebLogic+DBのドリルダウン分析 3. システム全体の可用性 ワークマネージャ、Coherence、JRockitによる、 安定稼働のための様々な機能 Copyright© 2012, Oracle. All rights reserved. 36 OTNセミナーオンデマンド コンテンツに対する ご意見・ご感想を是非お寄せください。 OTNオンデマンド 感想 http://blogs.oracle.com/oracle4engineer/entry/otn_ondemand_questionnaire 上記に簡単なアンケート入力フォームをご用意しております。 セミナー講師/資料作成者にフィードバックし、 コンテンツのより一層の改善に役立てさせていただきます。 是非ご協力をよろしくお願いいたします。 Copyright© 2012, Oracle. All rights reserved. 37 OTNセミナーオンデマンド 日本オラクルのエンジニアが作成したセミナー資料・動画ダウンロードサイト 掲載コンテンツカテゴリ(一部抜粋) 100以上のコンテンツをログイン不要でダウンロードし放題 Database 基礎 データベースからハードウェアまで充実のラインナップ Database 現場テクニック Database スペシャリストが語る 毎月、旬なトピックの新作コンテンツが続々登場 Java WebLogic Server/アプリケーション・グリッド EPM/BI 技術情報 サーバー ストレージ 例えばこんな使い方 • • • • 製品概要を効率的につかむ 基礎を体系的に学ぶ/学ばせる 時間や場所を選ばず(オンデマンド)に受講 スマートフォンで通勤中にも受講可能 コンテンツ一覧 はこちら http://www.oracle.com/technetwork/jp/ondemand/index.html 毎月チェック! 新作&おすすめコンテンツ情報 はこちら http://oracletech.jp/seminar/recommended/000073.html OTNオンデマンド Copyright© 2012, Oracle. All rights reserved. 38 オラクルエンジニア通信 オラクル製品に関わるエンジニアの方のための技術情報サイト 技術資料 インストールガイド・設定チ ュートリアルetc. 欲しい資 料への最短ルート 特集テーマ Pick UP 性能管理やチューニングな ど月間テーマを掘り下げて 詳細にご説明 アクセス ランキング 他のエンジニアは何を見て いるのか?人気資料のラン キングは毎月更新 技術コラム SQLスクリプト、索引メンテ ナンスetc. 当たり前の運用 /機能が見違える!? http://blogs.oracle.com/oracle4engineer/ オラクルエンジニア通信 Copyright© 2012, Oracle. All rights reserved. 39 oracletech.jp ITエンジニアの皆様に向けて旬な情報を楽しくお届け 製品/技術 情報 Oracle Databaseっていく ら?オプション機能も見積 れる簡単ツールが大活躍 スキルアップ ORACLE MASTER! 試験頻出分野の模擬問 題と解説を好評連載中 セミナー 基礎から最新技術まで お勧めセミナーで自分にあ った学習方法が見つかる Viva! Developer 全国で活躍しているエンジ ニアにスポットライト。きらり と輝くスキルと視点を盗もう http://oracletech.jp/ oracletech Copyright© 2012, Oracle. All rights reserved. 40 あなたにいちばん近いオラクル Oracle Direct まずはお問合せください Oracle Direct システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。 ステム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。 Web問い合わせフォーム フリーダイヤル 専用お問い合わせフォームにてご相談内容を承ります。 http://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28 0120-155-096 ※フォームの入力にはログインが必要となります。 ※こちらから詳細確認のお電話を差し上げる場合がありますので ご登録の連絡先が最新のものになっているかご確認下さい。 ※月曜~金曜 9:00~12:00、13:00~18:00 (祝日および年末年始除く) Copyright© 2012, Oracle. All rights reserved. 41 Copyright© 2012, Oracle. All rights reserved. Copyright© 2012, Oracle. All rights reserved. 43