Active GridLink for RAC 入門

1,983 views

Published on

WebLogic ServerのデータソースではOracle Real Application Clusters (RAC)の機能をフル活用できるActive GridLink for RACが提供されています。本セッションではGridLinデータソースの仕組みと構成のポイントを紹介します。後半は「クイズで確認!データソース」を 通じてポイントをレビューします。また、日本電気株式会社からActive GridLinkのオラクル社との共同WhitePaperの紹介をします。

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,983
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Active GridLink for RAC 入門

  1. 1. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1Active GridLink for RAC 入門日本オラクル株式会社オラクルユニバーシティ岡田 大輔2013年04月25日
  2. 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  3. 3. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3GridLinkデータソースとは(Active GridLink for RAC)
  4. 4. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4データソースとは? アプリケーションに対して論理名(JNDI名)を使ってデータストアへの接続(Connectionオブジェクト)を提供するオブジェクト WebLogic Serverのデータソースは接続プールから接続を取得する– データソースはサーバー起動時、またはデプロイ時に作成されるスコープ 作成方法 モジュール追加/削除 更新アプリケーション IDE, XMLエディタ × デロイメントプランシステム管理コンソール,WLST○ JMX
  5. 5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5データソースを使ったデータベースアクセスアプリケーションは接続情報を意識しない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) {// 例外処理}開発者 運用担当者接続オブジェクト取得
  6. 6. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6WebLogic Serverのデータソース 汎用データソース– クラスタ化されていない単一のデータベースへの接続に使用 マルチ・データソース– 複数の(汎用)データソースをグループ化し、データソース間での負荷分散やフェイルオーバ機能を提供する ⇒ クラスタ化されたデータベースへの接続に使用 GridLink データソース (WLS 10.3.4 ~)– Oracle RACの機能をフル活用するために構成するデータソース
  7. 7. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7データソースの種類WebLogic Serverマルチデータソースデータソース1JNDI TreeLookupRAC非RACServletEJBアプリケーションデータソースデータソース1データソース2RACデータソースConnectionデータソース2①汎用データソース②マルチデータソース③GridLinkデータソース(Active GridLink)ConnectionConnectionConnectionConnectionConnectionDataSourceアプリケーションはデータソースの種類は意識しない
  8. 8. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8GridLinkデータソースと汎用データソース 汎用データソース– 接続先のRACインスタンスを意識していない– 実行時ロードバランスはなく、RAC側の都合は意識できない。実行先RACインスタンスに偏りが出る可能性がある。– RACサービス(インスタンス)の動的な停止、起動に対する物理接続の作成、終了タイミングが制御できない GridLinkデータソース– 接続先のインスタンスを意識できる(アプリケーションからは透過)– FANイベントによりRAC側のステータスを把握でき、適切な実行時ロードバランスが可能– RACサービス(インスタンス)の停止では迅速にそのインスタンスだけの接続を終了させ、起動時は自動的にそこへの物理作成を作成RAC接続時の振る舞いの違いRACデータソースConnectionConnectionConnectionConnectionRACGridLink DSConnectionConnectionConnectionConnectionRAC1RAC1RAC2RAC2FANRACステータスなしRACステータス通常のデータソースGridLinkデータソース
  9. 9. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9GridLinkデータソースの機能 構成容易性の向上– Single Client Access Name(SCAN) 対応 可用性の向上– RACからの通知による高速接続フェールオーバ(FCF) 性能の向上– RACの負荷状況を考慮した実行時接続ロードバランシング(RLCB)– XAトランザクション・アフィニティ– Webセッション・アフィニティ(WLS12.1.1~)Oracle RAC環境を最大限に活かす機能を提供
  10. 10. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10 ONS (Oracle Notification Service)– RAC側の情報をFANイベントとして送信する仕組み FAN (Fast Application Notification )– RAC側の死活情報、負荷情報などを含んだ情報 UCP ( Universal Connection Pool)– GridLinkデータソースがFANイベント情報を扱うために内部で利用 ロード・バランシング・アドバイザ– RACのサービスレベルでの負荷状況をFANを通じてアプリケーションに提供UCP-RACモジュールONS DaemonWebLogicServerRAC死活・負荷状況通知インスタンス1GridLinkデータソース(サービスA用)インスタンス2ONSclientサービスAロード・バランシング・アドバイザONS DaemonFANGridLinkデータソースの仕組みWebLogic ServerデータソースにUCPの機能を統合
  11. 11. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11SCANSingle Client Access NameWebLogic ServerInterconnectShared StorageRAC1 RAC2OCR & Voting Disks ASM Volumesmlg-rac-scan 192.168.56.91mlg-rac-scan 192.168.56.92mlg-rac-scan 192.168.56.93rac1-priv192.168.57.21rac1 192.168.56.21rac1-vip 192.168.56.221rac2-priv192.168.57.22rac2 192.168.56.22rac2-vip 192.168.56.222SCAN=RACインタンスにアクセスする単一アドレスを提供•データソースの作成時のリスナーやONS指定にSCANアドレスを使用可能データソースSCAN Address
  12. 12. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12GridLink データソースの作成GridLinkデータソース作成①②
  13. 13. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13GridLinkデータソースの作成トランザクション・オプション③④
  14. 14. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14GridLinkデータソースの作成接続プロパティ – サービスの指定⑤リスナーにはSCANアドレスを指定可能•RACノードの構成変更があった場合もクライアントの設定変更は不要
  15. 15. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15GridLinkデータソースの作成リスナーのテスト⑥⑤で指定した[サービス名]と[ホストとポート]に基づいて JDBC URL が構成される
  16. 16. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16GridLinkデータソースの作成ONSクライアントの構成⑦ONSホストにはSCANアドレスを指定可能•RACノードの構成変更があった場合もクライアントの設定変更は不要
  17. 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17高速接続フェールオーバー (FCF) UCPがサブスクライブしているRAC FANイベントをWebLogic Server の接続プールに通知– RACノードの計画/計画外停止(DOWNイベント)– RACノードの新規追加や復旧(UPイベント) 通知されたイベントをもとにWebLogic Server側で接続プールを制御– 無効な接続を検知し即座に削除 … 障害インスタンスの接続だけ削除し、正常なインスタンスへの接続は維持– ノードの追加や削除を検知し、アクティブなRACインスタンスに分配障害時の早期エラー検出機能GridLink DataSourceInstance2RAC DatabaseInstance1Instance3Start ONS SubscribeHandle Event ONS PublishXXXXUniversal Connection Pool (UCP)FANWebLogic Server
  18. 18. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18FCFを有効化するにはFANの有効化を設定Downイベントを受け取ると …Downしたインスタンスへの接続のみを破棄し、使用可能なインスタンスへの接続を作成####<2013/04/21 8時25分19秒 JST> <Info> <JDBC> <MYHOST> <Server1> <[ACTIVE]ExecuteThread: 21 for queue: weblogic.kernel.Default (self-tuning)> <<WLSKernel>> <> <> <1366500319744> <BEA-001558> <サービスdemosvc.mlg.oracle.comのデータ・ソースRACDataSourceがインスタンス[flavia2]のサービス停止イベントを受け取りました。>Upイベントを受け取ると …Upしたインスタンスへの接続を回復####<2013/04/21 8時29分51秒 JST> <Info> <JDBC> <MYHOST> <Server1> <[ACTIVE]ExecuteThread: 21 for queue: weblogic.kernel.Default (self-tuning)> <<WLSKernel>> <> <> <1366500591907> <BEA-001560> <サービスdemosvc.mlg.oracle.comのデータ・ソースRACDataSourceがインスタンスflavia2のサービス起動イベントを受け取りました。>
  19. 19. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19実行時接続ロードバランシング (RCLB) Oracle RACのロード・バランシング・アドバイザ– RACインスタンスが自身のSQL実行統計を観測し、最適なリクエスト配分を算出 サービスタイムまたはスループットのどちらかを優先した方法でリクエスト配分を算出 リクエスト配分をFANイベントとして、ONS経由でGridLink内のUCPモジュールに送信 GridLinkデータソース– 各インスタンスのリクエスト配分率にしたがってプールからどのインスタンスへの接続を取得するかを選択 クラスタの設定変更、アプリケーションのワークロード、過負荷/ハング状態のノードにも対応負荷状況に応じた最適なリクエスト配分GridLinkデータソースApplicationRAC DatabaseInstance1Instance2Instance3ロード・バランシング・アドバイザリクエスト配分比率inst1: 30%inst2: 10%inst3: 60%リクエスト配分比率情報SQL実行統計SQL実行統計SQL実行統計比率に応じたコネクションFAN30%10%60%WebLogic Server
  20. 20. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20RCLBの動作各インタンスへの接続情報はJDBCOracleDataSourceInstanceRuntimeMBeanで取得可能•CurrCapacity – 現在の容量•CurrentWeight – 重み情報デフォルトでは30秒間隔で重みをチェックし必要に応じて各インスタンスへの接続容量をリバランス•weblogic.jdbc.gravitationShrinkFrequencySeconds で制御可能
  21. 21. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21 最初のリクエストはRCLBによってインスタンスを選択 コンテキスト内に選択されたインスタンス情報が保存され同じHttpセッション内で有効– セッション外のリクエストはXAアフィニティで処理– アフィニティのON/OFFをRAC側が自動的に制御。アフィニティヒントとしてFANで通知前回と同じインスタンス用のコネクションWebセッション・アフィニティセッション処理を同じRACインスタンスで処理GridLinkデータソースApplicationRAC DatabaseInstance1Instance2Instance3ロード・バランシング・アドバイザアフィニティヒントinst1: trueinst2: trueinst3: trueアフィニティ有効フラグ待機イベント統計待機イベント統計待機イベント統計HTTPセッションアフィニティ・コンテキストsessionXX : inst1FANWebLogic Server
  22. 22. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22XAトランザクション・アフィニティ 最初のリクエストはRCLBによってインスタンスを選択 コンテキスト内にインスタンス情報が保存され同じXAトランザクション内で有効になる– WebLogicのコンテキスト伝搬機能により他のサーバーでもコンテキスト情報が共有され同じRACインスタンスを選択– アフィニティのON/OFFをRAC側が自動的に制御。アフィニティヒントとしてFANで通知。XA処理を同じRACインスタンスで処理GridLInkデータソースTXClient 1RAC DatabaseInstance1Instance2Instance3XAトランザクションコンテキスト伝搬TXClient 2前回と同じインスタンス用のコネクションTxコンテキストXID xxx : inst1WebLogic Server
  23. 23. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23GridLinkデータソースのモニタ管理コンソール•RCLBベースの流用数 (成功/失敗) … RCLBを満たす(既存)接続を見つけた数•アフィニティ・ベースの流用数 (成功/失敗) … アフィニティ・ポリシーを満たす(既存)接続を見つけた数•失敗したアフィニティ・ベースの流用数が1以上の場合は、アフィニティ接続からRCLBに切り替えられたと考えられる
  24. 24. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.24GridLinkデータソースのモニタ監視ダッシュボード 複数のRuntimeMBean情報を一つ画面で監視可能•JDBCDataSourceRuntimeMBean•JDBCOracleDatabaseDataSourceInstanceRuntimeMBean
  25. 25. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25Tips: RCLBの確認GridLinkデータソースが正しく作成されているが…####<2013/04/19 18時39分53秒 JST> <Debug> <JDBCRAC> <MYHOST> <Server1> <[ACTIVE] ExecuteThread: 0 forqueue: weblogic.kernel.Default (self-tuning)> <<anonymous>> <BEA1-000446AAFD4496EFA173> <><1366364393878> <BEA-000000> <UCPRACModuleImpl [RACDataSource]: RACManager RCLB miss>Debugフラグ DebugJDBCRACを有効化してログを確認するとRCLBが有効になっていない•管理コンソール[デバッグ]または起動オプション(-Dweblogic.debug.DebugJDBCRAC=true)成功したRCLBベースの流用数が増えて欲しい…
  26. 26. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26Tips: RAC設定の確認RCLBを有効化[oracle@rac1 admin]$ srvctl config service -d flavia -s demosvcService name: demosvcService is enabledServer pool: flavia_demosvcCardinality: 2Disconnect: falseService role: PRIMARYManagement policy: AUTOMATICDTP transaction: falseAQ HA notifications: falseFailover type: NONEFailover method: NONETAF failover retries: 0TAF failover delay: 0Connection Load Balancing Goal: LONGRuntime Load Balancing Goal: NONETAF policy specification: NONEEdition:Preferred instances: flavia2,flavia1Available instances:[oracle@rac1 admin]$ srvctl config service -d flavia -s demosvc.mlg.oracle.comService name: demosvc.mlg.oracle.comService is enabledServer pool: flavia_demosvc.mlg.oracle.comCardinality: 2Disconnect: falseService role: PRIMARYManagement policy: AUTOMATICDTP transaction: falseAQ HA notifications: trueFailover type: NONEFailover method: NONETAF failover retries: 0TAF failover delay: 0Connection Load Balancing Goal: SHORTRuntime Load Balancing Goal: THROUGHPUTTAF policy specification: NONEEdition:Preferred instances: flavia1,flavia2Available instances:[oracle@rac1 admin]$ srvctl stop service -d flavia -s demosvc[oracle@rac1 admin]$ srvctl remove service -d flavia -s demosvc[oracle@rac1 admin]$ srvctl add service -d flavia -s demosvc.mlg.oracle.com -r flavia1,flavia2 -qTRUE -B THROUGHPUT -j SHORT[oracle@rac1 admin]$ srvctl start service -d flavia -s demosvc.mlg.oracle.comRCLBが有効ではないCLBの目標はSHORT, RCLBの目標はSERVICE_TIMEまたはTHROUGHPUTを指定CLBとRLCB目標が適切に設定されたサービス
  27. 27. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27参考: GridLinkデータソースとマルチデータソースGridLinkデータソースの方がRACとの親和性が高い機能 GridLinkデータソース マルチデータソースデータソースの構成RAC側のサービスごとにGridLinkデータソースを1つ設定RAC側のサービス数×ノード数分の設定が必要RAC構成変更時のデータソース設定変更設定変更は不要 設定変更が必要フェールオーバーRAC側からの通知による高速接続フェールオーバー(FCF)WLS側からの定期的なポーリングによる障害検知のため遅延が発生しやすいロードバランシングDB側の負荷を考慮した実行時接続ロードバランシング(RCLB)DB側の負荷を考慮しない静的ラウンドロビン接続アフィニティ複数GridLinkデータソースに跨るXAアフィニティ、Webセッションアフィニティ同一マルチデータソース内でのXAアフィニティのみData Guardサポートプライマリ側、スタンバイ側に同等構成のRACを配置できるプライマリ側のRACは1インスタンスしか利用できない
  28. 28. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28参考: マルチデータソースの設定マルチデータソース = 汎用データソースのグループマルチデータソース<data-source-list>で汎用データソースを指定汎用データソースRACインスタンスごとに汎用データソースを作成。汎用データソースの設定はすべて同じ設定にする
  29. 29. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29まとめ Active GridLink for RAC– WebLogic Server Suiteライセンスで使用可能– Oracle RACとWebLogic Serverの親和性を高める DB障害の即時検知機能やSCAN対応による運用性の向上 動的負荷分散やアフィニティ機能による性能の向上– アプリケーション側は特別なプログラミングや設定は不要
  30. 30. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30オラクルユニバーシティからのお知らせ
  31. 31. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31Oracle Universityからのお知らせ JDBCデータソースをはじめとしたWebLogic Serverの管理方法を体系的に学習したい方に最適な研修コースをご提供しています。– Classroomトレーニングだけでなく、Live Virtual Classや『Oracle トレーニング・オンデマンド』など多様な受講形態から選択いただけます。
  32. 32. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.32コース内容■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/12c管理者・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: 管理ミドルウェア※ Oracleトレーニング・オンデマンドでのご受講をオススメします!!※ WLS12cとの差分は参考資料を配布します
  33. 33. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.33Oracle WebLogic Server 11g: 管理コースを90日間いつでも何度でも。新時代のラーニングソリューション•インターネット経由でお好きな時間にお好きな場所で• 実際の講義をそのまま収録してストリーミング配信•教室と同じ演習環境を5日間使用可能•担当講師による Q&A•eKit(電子媒体テキスト)付きOracle トレーニング・オンデマンドとは?
  34. 34. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.34WebLogic Server勉強会 参加者の皆さまの特典http://education.oracle.co.jp/campaign_wlstudy/
  35. 35. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.35
  36. 36. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3636

×