51
Oracle WebLogic Server 12c 技術概要 ~新機能紹介:運用管理編~ 日本オラクル株式会社 Fusion Middleware 事業統括本部 シニアセールスコンサルタント 二川 秀智 2012131OTNイブニングセミナー 20WebLogic Server勉強会@東京

Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Embed Size (px)

DESCRIPTION

主なトピックス: Active GridLinkの機能強化 - SCAN、FCF、RCLBサポート - XAトランザクション・アフィニティ - Webセッション・アフィニティ 耐障害アーキテクチャの改善 - Active GridLinkのData Guardサポート - JDBC TLOGストア

Citation preview

Page 1: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Oracle WebLogic Server 12c 技術概要

~新機能紹介:運用管理編~

日本オラクル株式会社 Fusion Middleware 事業統括本部

シニアセールスコンサルタント 二川 秀智

2012年1月31日

OTNイブニングセミナー

第20回 WebLogic Server勉強会@東京

Page 2: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved. 2

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

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

Page 3: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

WebLogic Server の進化

• 常に最新のJava SE/EE標準を実装し製品化

• ミッションクリティカル・システムを支えるための継続的な性能・堅牢性・管理容易性の追求

3

J2EE 1.3 J2SE 1.4.2 コア機能強化 ミッション・クリティカルシステムJ2EE基盤としての機能を確立

J2EE1.4 JavaSE 5 ゼロダウンタイム 計画外停止の最小化に加えて計画停止も最小化。厳しい運用要件にも柔軟に対応

Java EE 5 Java SE 5&6 オラクル製品との連携

• オラクルDB連携 • Enterprise Managerによる一元管理

• インメモリ技術との連携

Java EE 5&6 Java SE 6 オラクル製品との統合、サン製品との連携

• Oracle iASとの統合 • Oracle RACとの親和性強化

• Java技術(JRockit)の強化

• Sun Javaとの連携、統合

Java EE 6 Java SE 7(※) ミッション・クリティカル性の強化

• 最新標準への対応による開発生産性向上

• RAC連携強化: 耐障害性及びスループット向上

• 更なる高速化 • 運用管理性の強化

WebLogic 8.1

WebLogic 9.x

WebLogic 10.x

WebLogic 11g

WebLogic 12c

ミッションクリティカル Java EE基盤

自動チューニング 運用管理性向上

フルレイヤ クラスタリングの完成

オラクル製品群の 本格的な統合

クラウド・スケールの可用性 最先端の開発標準

New!!

※近日サポート予定(2012/1/16現在)

Page 4: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

WebLogic Server 12c New Feature ① Java EE 6フルサポート&開発効率化を支える支援機能

• Java EE 6 完全対応

• 開発生産性を劇的に向上

• より柔軟性の高い機能拡張

• 開発効率・品質のさらなる向上

• 選択可能な豊富な開発環境

• Maven統合可能な連携機能

• クラスローダー解析による品質向上

4

CAT

アプリケーション開発の効率化を実現するJava EEプラットフォーム

Page 5: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

WebLogic Server 12c New Feature ② データベース連携機能強化による高可用性OLTPの実現

• Active Grid Link for RACによる信頼性・性能向上

• DBクラスタを超える高可用性DB環境の実現

• 高可用性DB環境を利用したトランザクション・ログの保護

5

Active Data Guard

and Golden Gate

3X

OL

TP

Coherence

Active GridLink for RAC

Coherence

WebLogic Server

Active GridLink for RAC

WebLogic Server

3X

OL

TP

Oracle Databaseとの連携により堅牢なOLTP環境を提供

Page 6: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Agenda

• Active GridLinkの機能強化

• SCAN、FCF、RCLBサポート(WLS10.3.4~)

• XAトランザクション・アフィニティ(WLS10.3.4~)

• Webセッション・アフィニティ(WLS12.1.1~)

• 耐障害アーキテクチャの改善

• Active GridLinkのData Guardサポート(WLS10.3.4~)

• JDBC TLOGストア(WLS12.1.1~)

• その他の便利な機能

• RESTful Management Service(WLS12.1.1~)

• サポート対象のコンフィグレーション

6

Page 7: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLinkの機能強化

7

•SCAN、FCF、RCLBサポート(WLS10.3.4~)

•XAトランザクション・アフィニティ(WLS10.3.4~)

•Webセッション・アフィニティ(WLS12.1.1~)

Page 8: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

WebLogic Serverのデータソースの3タイプ 汎用データソース、マルチデータソース、GridLinkデータソース

8 8

WebLogic Server

マルチデータソース

データソース1

JNDI Tree

Lookup

DataSource

RAC

非RAC

Servlet

EJB

アプリケーション

データソース Connection

Connection

データソース1

Connection

Connection

データソース2

Connection

Connection

RAC データソース

Connection

Connection

Connection

データソース2

Connection

Connection

Connection

①汎用データソース

②マルチデータソース

③GridLinkデータソース

通称 “Active GridLink”

Page 9: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

WebLogic ServerからRACへの接続方式 マルチ・データソース、GridLink データソース

• 2つの異なる接続方式

1. マルチ・データソース(WebLogic 8.1 PS5~)

• WebLogic Serverで独自に実装された、クラスタ化されたデータベース(RACだけではない)へ接続するための汎用的なデータソース

• WebLogic Server側からの定期的な接続テストによる接続フェイルオーバ

• ラウンドロビンによる接続ロードバランシング

• 複数のDBインスタンスへの個別データソースをグループ化し抽象化

2. GridLink データソース (WebLogic 11gPS3~)

• RACの機能をフル活用したデータソース

• RAC側からイベントを受信し、高速接続フェイルオーバを実現

• RAC側からイベントを受信し、実行時接続ロードバランシングを実現

• 高度なRACインスタンス間のアフィニティ

• シングルデータソース

9

Page 10: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

マルチデータソースでのRAC接続

WebLogic Server

JNDI Tree

Internal Clients

(e.g. Servlets)

Lookup

Data Source

Multi Data Source

for Service A

Data Source

Data Source

RA

C D

ata

base

Serv

ice A

Data Source

Serv

ice A

S

erv

ice A

S

erv

ice

A

Data Source

•サービス毎にマルチデータソースを定義

•サービスを提供するインスタンス毎にデータソース

を定義し、マルチデータソースへメンバとして追加

Multi Data Source for Service B

Data Source

Serv

ice B

S

erv

ice B

Data Source

10

Page 11: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

マルチデータソースでのRAC接続の課題

• 接続設定の煩雑さ

• RACノード数×サービス数だけJDBC接続のコンフィグレーションが必要

• RACの構成変更(ノード追加など)時には手作業での設定変更が必要

• ポーリングによる死活監視の影響

• ポーリングのため死活検知の遅延が発生しやすい

• ポーリングのための負荷(WebLogic側、DB側)がかかる

• RAC側の状況を考慮しない制御

• 静的ラウンドロビンを採用するためRAC側の各マシンの性能や負荷状況に応じた制御が不可能

• 同一マルチデータソース内に限定されたXAトランザクションアフィニティ

• 複数のマルチデータソースがグローバルトランザクションに参加する場合は、XAトランザクションがRACインスタンスを跨ってしまう可能性が高い

11

Page 12: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLink for RAC(WLS10.3.4~) RAC特有の機能をフル活用したシングルデータソース

1. 待望のUniversal Connection Pool(UCP)との統合

2. Single Client Access Name(SCAN)に完全対応

3. RACからの通知による高速接続フェールオーバ

(Fast Connection Failover; FCF)

4. RACの負荷状況を考慮した実行時接続ロードバランシング

(Runtime Connection Load Balancing; RCLB)

5. XAトランザクションのRACインスタンス・アフィニティ

6. WebセッションのRACインスタンス・アフィニティ(WLS12.1.1~)

12

GridLink

WebLogic

GridLink

WebLogic

80% 20%

実行時接続ロードバランシング

GridLink

WebLogic

GridLink

WebLogic

XA/Webセッション・アフィニティ

XA or Session

GridLink

WebLogic

GridLink

WebLogic

高速接続フェイルオーバー

Page 13: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLink for RACの仕組み WebLogic ServerのデータソースへUCPの機能を統合

• WebLogicデータソースと統合されたUCP(Universal Connection Pool)

が、ONS(Oracle Notification Service)から通知されるRAC側の構成変更/負荷状況のイベントを元に、適切な接続の制御(ロードバランシング、フェールオーバ、アフィニティ)をおこなう

13

ON

S c

lien

t

UCP-RAC モジュール

ONS Daemon

ONS Daemon

WebLogic Server Oracle Database(RAC)

死活・負荷状況通知

GridLinkデータソース

(サービスA用)

インスタンス1

インスタンス2

サービス

A

UCP統合

Page 14: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Universal Connection Pool (UCP)

• 既存のJDBC接続プール(暗黙接続キャッシュ)に代わる機能として、Oracle Database 11g リリース11.1.0.7.0から提供

• 任意のJDBCドライバによる物理接続をプールすることができるが、特にOracle JDBCドライバによるOracle RACとの接続の場合、ONSからのFANイベント通知を利用して以下の機能を実現

• 高速接続フェールオーバー(FCF)

• 実行時接続ロードバランシング(RCLB)

• トランザクションベースのアフィニティ(XA Affinity)

• Webセッションベースのアフィニティ(Web Session Affinity)

14

UCP統合

ONS (Oracle Notification Service)・・・RACの情報をクライアントや他ONSへ通知する機能

FAN (Fast Application Notification)イベント・・・ONSが発行するRACノードやサービスのUp/Down情報、ロード・バランシング・アドバイザからの負荷の配分率のアドバイス

Page 15: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

WebLogicデータソースとUCPの統合

• UCPはアプリケーションサーバのデータソース機能に組み込んで利用することができる。実際WebLogic 10.3.4でGridLinkデータソースに組み込まれた。

15

GridLink

データソース ojdbcXX.jar

WebLogic のインストールに含まれるもの

ucp.jar

Oracle データベース

ons.jar

UCP統合

Page 16: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Single Client Access Name(SCAN) 単一の名前で動的なRACインスタンス変更に対応

• あたかもシングルインスタンスであるかのように単一名でRACに接続可能

• ノードの追加や削除時もクライアント側の設定変更は不要

• 接続ロードバランシングの提供

• 接続時フェールオーバーの提供

16

ローカル リスナ RACインスタンス

SCAN リスナ

Oracleクライアント (アプリケーション ・サーバ)

DNSサーバ

scan-vip1:1521

vip1:1521

vip2:1521

vip3:1521

vip4:1521

scan-vip2:1521

scan-vip3:1521

scan:1521

ホスト名 IPアドレス

scan

scan-vip1

scan-vip2

scan-vip3

共有 ストレージ

SE

RV

ICE

SCAN対応

Page 17: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

WebLogic データソースのSCANサポート

17

インスタンス1

インスタンス2

汎用データソース

マルチ・データソース

GridLink データソース

データソース

データソース

ロードバランシング

データソース

種類

SCANアドレスを

接続URLに指定

インスタンス名

の指定

(インスタンス名を指定せずに)

SCANによる接続

ロードバランシング

(インスタンス名を指定せずに)

SCANによる接続時

フェールオーバ

汎用データソース 可能 必要 サポートしない

(特定のインスタンスに

固定されてしまうため)

サポートしない (特定のインスタンスに

固定されてしまうため)

マルチ

データソース 可能

必要 (メンバのデータソース

毎に指定)

サポートしない (マルチデータソースによる

バランシングを利用すべき)

サポートしない (マルチデータソースによる

フェールオーバを利用すべき)

GridLink

データソース 可能 不要

(サービス名のみ指定) サポート サポート

インスタンス固定

インスタンス固定

SCAN対応

Page 18: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLink のSCANの利用設定 TNSリスナへの接続設定

18

SCAN名とポートを指定

RAC側の構成変更があってもこの設定の変更は不要

SCAN対応

Page 19: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLink のSCANの利用設定 ONSデーモンへの接続設定

19

ONSデーモンの接続先としてもSCAN名を利用できる

ONSのポート番号を指定

RAC側の構成変更があってもこの設定の変更は不要

SCAN対応

Page 20: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLink のフェイルオーバ 高速接続フェイルオーバ(FCF)のサポート

• UCPがサブスクライブするRAC/FANイベントを検知してWebLogic

Server のコネクションプールに通知

• RACノードの計画/計画外停止(DOWNイベント)

• RACノードの新規追加や復旧(UPイベント)

• 通知されたイベントを元にWebLogic Server側で制御

• 無効な接続を即座に検知し削除

• ノードの追加や削除を即座に検知し、

アクティブなRACインスタンスへ作業を再配布

GridLink DataSource

Instance2

RAC Database

Instance1

Instance3

Fail-over Handler Thread

Start ONS Subscribe

Handle Event ONS Publish X

X X

X

Universal Connection Pool(UCP)

20

FCF対応

Page 21: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

FCFが有効なシナリオ

21

FCF対応

シナリオ FCFの動作 メリット

計画外停止

ノード停止の通知を受け取ると、すぐに無効なそのノードへの接続を接続プールから破棄し、ソケットも切断。

実行中のトランザクションは即座に例外を受け取るので、TCP/IPタイ

ムアウト待ちによるハングを防ぐことが可能

計画停止 ノード停止の通知を受け取ると、そのノードへの接続をマーキングする。アプリケーションが接続をプールに返却してしてから接続をプールから破棄 。全ての接続がなくなってからノードがシャットダウン。

実行中のトランザクションに影響を与えることなく、RACインスタンス

を停止し、メンテナンスすることが可能

Oracle

インスタンス

の追加

新しく追加されたインスタンスや再起動されたインスタンスをUCPが

認識し、そのインスタンスへの接続を作成。

RACインスタンスの追加や復旧後

はアプリケーションサーバーの再起動なしで接続の再バランシングが可能

Page 22: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

FCFを利用するための設定

• 管理コンソールにてデータソース作成時

• 「FANの有効化」をチェック

• 「ONSホストとポート」にONSの接続先を入力

• RACノード数分を複数指定しても、SCAN名で一括指定してもよい

22

FCF対応

Page 23: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLinkの負荷分散 実行時接続ロードバランシング(RCLB)のサポート

• Oracle RACのロード・バランシング・アドバイザが発信するFANイベント(ロード・バランシング・イベント)をONS経由でUCPが受信し、目標(サービスタイムまたはスループット)を最適化する接続先インスタンスを選択

• クラスタの設定変更、アプリケーションのワークロード、過負荷/ハング状態のノードに素早く反応

23

WebLogic

Connection Pool

Application

I’m busy

I’m very busy

I’m idle

30% connections

10% connections

60% connections

RAC Database

Instance1

Instance2

Instance3

RCLB対応

Page 24: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

RCLBが有効なシナリオ

24

RCLB対応

シナリオ RCLBの動作 メリット

性能の異なるマシンの混在

マシン性能にほぼ比例して、すなわち性能の高いマシンに多く、低いマシンには少なく作業が配分される

全体のスループットを最大化することが可能

OLTPとバッチの混在

バッチが実行されているノードへの作業配分を減らし、バッチが実行されていないノードへの作業配分を増やす

バッチ処理によるOLTP処理性能

への影響を最小限に抑えること可能

一部のノードの過負荷

過負荷ノードへは作業を配分せず、負荷の低いノードへ作業を配分

過負荷によるレスポンスタイムの悪化を最小限に抑えることが可能

Page 25: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

• 同一XAトランザクションからの接続要求に対しては同一RACインスタンスから確保した接続を返す(初回の接続はRCLBにより選択)

• Cache Fusionの発生を低減し、キャッシュヒット率向上

• 2フェーズコミットにかかるオーバヘッドを軽減

WebLogic Server

Active GridLinkのトランザクション制御 XAアフィニティ

25

XA Affinity

RAC Database

Instance1

Instance2

Instance3

EJB1 Data Source

WebLogic Server

EJB

EJB3 Data

Source

EJB2 Data Source

EJB4 Data

Source Transaction

Affinity Context

Page 26: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLinkのWebセッション制御 Web セッション・アフィニティ(WLS12.1.1~)

• 同一HttpSessionからの接続要求に対しは、できるだけ同一RACインスタンスから確保した接続を返す(初回の接続はRCLBにより選択)

• Cache Fusionの発生を低減し、キャッシュヒット率向上

RAC Database

Instance1

Instance2

Instance3

26

WebLogic Server

Servlet Data Source

JSP

Servlet Data Source

JSP

JSP

HttpSession

Web Session Affinity

Affinity Context

Page 27: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

XA、Webセッション・アフィニティの設定

1. Oracle RAC側の設定(RCLBの有効化)

• CLBの目標を”SHORT”に、RCLBの目標を”THROUGHPUT”または”SERVICE_TIME”に設定したサービスを新規作成し、起動

2. WebLogic Server側の設定

• GridLinkデータソースを作成

• 手順1で作成したサービス名を宛先に設定

• FANを有効化し、ONSの接続先を設定

3. アプリケーション

• アプリケーションの変更は不要で、GridLinkデータソースから接続を取得するだけでよい

• UCPの直接利用では”Affinity Callback”の実装が必要だったが、

GridLinkデータソースは自動でAffinity Contextが設定されるため不要

27

srvctl add service -d orcl -s demosvc -g srvpool1 -j SHORT -B THROUGHPUT

srvctl start service -s demosvc -d orcl

Affinity

Page 28: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLink for RAC バージョンごとの機能進化

機能 WebLogicバージョン メリット

SCANサポート 10.3.4 パフォーマンス

運用管理性

FCFサポート 10.3.4 高可用性

RCLBサポート 10.3.4 パフォーマンス

XA Affinity 10.3.4 パフォーマンス

Web Session Affinity 12.1.1 パフォーマンス

Data Guardサポート 10.3.4 高可用性

28

Page 29: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

機能 GridLinkデータソース マルチデータソース

データソースの構成 RAC側のサービスごとにGridLinkデータソースを1つ設定

RAC側のサービス数×ノード数

分の設定が必要

RAC構成変更時の

データソース設定変更

設定変更は不要 設定変更が必要

フェールオーバー RAC側からの通知による高速接続フェールオーバー(FCF)

WLS側からの定期的なポーリン

グによる障害検知のため遅延が発生しやすい

ロードバランシング DB側の負荷を考慮した実行時接続ロードバランシング(RCLB)

DB側の負荷を考慮しない静的ラウンドロビン

接続アフィニティ 複数GridLinkデータソースに跨るXAアフィニティ、Webセッションアフィニティ

同一マルチデータソース内でのXAアフィニティのみ

Data Guardサポート プライマリ側、スタンバイ側に同等構成のRACを配置できる

プライマリ側のRACは1インスタンスしか利用できない

29

GridLinkデータソース vs マルチデータソース

Page 30: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

耐障害アーキテクチャの改善

30

•Active GridLinkのData Guardサポート(WLS10.3.4~)

•JDBC TLOGストア(WLS12.1.1~)

Page 31: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLinkのData Guardサポート

• GridLinkデータソースはFCFに対応しているため、プライマリDBの障害時はData Guardによるフェールオーバー完了後のFANイベント通知を受けて、新プライマリDB(元スタンバイDB)へ自動接続することが可能

31

Node1

WebLogic

GridLink データソース

Data

Guard

Data Guard対応

Node2 Node1 Node2 Node1

WebLogic

GridLink データソース

Node2 Node1 Node2

ONS

Service: Order Entry Service: Order Entry

ONS ONS ONS ONS ONS ONS ONS

Primary Standby 新Primary

プライマリ のDBに 障害発生

Page 32: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Active GridLinkのData Guardサポート 接続記述子

jdbc:oracle:thin:@

(DESCRIPTION_LIST=

(LOAD_BALANCE=off)(FAILOVER=on)

(DESCRIPTION=

(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)

(ADDRESS_LIST=

(LOAD_BALANCE=on)

(ADDRESS=(PROTOCOL=TCP)(HOST=Austin-scan)(PORT=1521))

)

(CONNECT_DATA=(SERVICE_NAME=oltpworkload))

)

(DESCRIPTION=

(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)

(ADDRESS_LIST=

(LOAD_BALANCE=on)

(ADDRESS=(PROTOCOL=TCP)(HOST=Houston-scan)(PORT=1521))

)

(CONNECT_DATA=(SERVICE_NAME=oltpworkload))

)

)

32

プライマリ側RACのSCANアドレスを指定

スタンバイ側RACのSCANアドレスを指定

Data Guard対応

Page 33: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved. 33

トランザクション・ログ(TLOG)の重要性

• 2フェーズコミットにおいては、トランザクション・マネージャ(TM)は、現在のトランザクションの状態を安定したストレージ上のTLOGに保存しなければならない

• TM障害からの回復時に、TMはTLOGを利用してインダウト(後述)

なトランザクションを解決する

1. prepare

6.成功

2.OK

3. prepare

4.OK

5.commit

8.commit 9.成功

7.OK

10.OK

TM RM 1 RM 2

書込

削除

TLOG

REDOログ

REDOログ

JDBC TLOG

TLOGは障害からのトランザクションの回復のための重要なログ

Page 34: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved. 34

インダウト(不明区間)とは

• RMがprepareに対するOKを送ってから、TMからのcommitメッセージが届くまでの区間

• この区間は、RMはTMからの確定要求が来るまでトランザクションを保持し続ける。つまり確定要求が来ない限り、自分からは何もしない。

• この区間でTM障害が発生すると・・・、データベースのリソースはブロックされ続けてしまう。TMが長時間回復せず、各リソースマネージャが独断でヒューリスティックな決定(推定によるコミットorアボート)を行えば、データの不整合が発生しうる。

1. prepare

TM RM 1 RM 2

4.成功

2.OK

1. prepare

2.OK

3.commit

3.commit 4.成功

5.OK

5.OK

インダウト

(不明区間)

インダウト

(不明区間)

各RMはTMからの確定要求が来るまで、リソースのロックを保持し続ける

JDBC TLOG

Page 35: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

JDBC TLOGストア

• 従来はファイルストア(デフォルト・ストア)のみに格納できたトランザクション・ログ(TLOG)を、より信頼性かつ利便性の高いデータベースへ格納できるようにした機能

35

JDBC TLOG

メリット 概要

シンプル 全てのステートデータ(アプリケーション・データ、JMSメッセージ、TLOG)を整合性と同期を保った状態でデータベースへ格納

障害対策 TM障害時も別の正常なマシンでTMを再起動し、データベース上のTLOGへアクセスすることにより、インダウトなトランザクションを迅速に解決し、業務を継続(TLOGのコピーは不要)

災害対策 Data Guardの利用により、災害発生時にもスタンバイサイトで、インダウトなトランザクションを迅速に解決し、業務を継続

Page 36: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Machine B

JDBC TLOGストアが有効なシナリオ

• サーバ自動移行(WLSクラスタの機能)の簡素化

• 災害対策の簡素化(Data Guardとも連携して)

36

JDBC TLOG

Machine A

WLS

TLOG

Machine B

WLS

Machine A

WLS

-A

TLOG

WLS

-B

Machine B Machine A

WLS

-A

TLOG

WLS

-B

Data Guard

Server Migration

Fail Over スタンバイサイト プライマリサイト

Page 37: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Oracle RAC

Web Tier

従来の災害対策アーキテクチャ ステートの転送に複数の技術を利用するため同期が困難

Active Site Standby Site

Application Data

Local LB

Web Tier Local LB

Web Tier Local LB

Web Tier

Binaries

Configuration

Middleware Tier

WebLogic WebLogic

WebLogic

Binaries

Configuration

Oracle RAC

Web Tier

Application Data

Local LB

Web Tier Local LB

Web Tier Local LB

Web Tier

Binaries

Configuration

Middleware Tier

WebLogic WebLogic

WebLogic

Binaries

Configuration

Global Load Balancer

Transaction Logs

JMS Messages

Transaction Logs

JMS Messages

File Replication

Datagard or

GoldenGate

File Replication

Instance Instance

Instance

Instance Instance

Instance

37

JDBC TLOG

Page 38: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Oracle RAC

Web Tier

新しい災害対策アーキテクチャ 全てのステートをDBに格納するため、復旧がシンプル

Active Site Standby Site

Application Data

Local LB

Web Tier Local LB

Web Tier Local LB

Web Tier

Binaries

Configuration

Middleware Tier

WebLogic WebLogic

WebLogic

Binaries

Configuration

Oracle RAC

Web Tier

Application Data

Local LB

Web Tier Local LB

Web Tier Local LB

Web Tier

Binaries

Configuration

Middleware Tier

WebLogic WebLogic

WebLogic

Binaries

Configuration

Global Load Balancer

File Replication

Datagard or

GoldenGate

File Replication

Instance Instance

Instance

Instance Instance

Instance

Transaction Logs

JMS Messages

Transaction Logs

JMS Messages

38

JDBC TLOG

Page 39: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

JDBC TLOGストア設定方法

1. TLOG用JDBCデータソースの作成

• non XAドライバを利用し、かつ、「グローバル・ トランザクションのサポート」を非選択に

(TLOG用データソースへの書き込み自身

はJTAトランザクションには参加させない)

2. トランザクション・ログ・ストア

• ドメイン → サーバ

→ 構成 → サービス

→ トランザクション・ログ・ストア

• タイプ「JDBC」を選択

• 手順1で作成したデータソースを選択

3. 再起動後に自動的にTLOG

格納用のテーブルが作成される

39

JDBC TLOG

Page 40: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

JDBC TLOGストア構成上の注意点

• WebLogicよりも前にTLOG格納先のDBを起動すること

• TLOG用DBが起動していないと、WebLogicの起動に失敗する

• TLOG用のDBは冗長化(RACなど)を推奨

• TLOG用DBが停止すると、WebLogicはTM機能を提供できなくなるので、すべてのグローバルトランザクションは失敗する

40

JDBC TLOG

Page 41: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

その他の便利な機能

41

•RESTful Management Services(WLS12.1.1~)

Page 42: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

RESTful Management Serivce(12.1.1~)

• WebLogic Serverの簡易監視用RESTful Webサービス

• ブラウザ、JavaScript、Ruby、Perl、Java、JavaFXなどから利用可能

• リクエストはHTTP GETのみサポート(ReadOnly)

• レスポンスはHTML/JSON/XMLフォーマットを選択可能(

• リクエストのAcceptヘッダにて切り替え

• Acceptヘッダなし ・・・ HTML

• Accept: application/json ・・・ JSON

• Accept: application/xml ・・・ XML

• WebLogicの管理者権限を持つユーザのみアクセス可能 • Administratorsグループ

• Monitorsグループ

42

Page 43: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

RESTful Management Serivceの有効化

1. 管理コンソールから有効化(デフォルトは無効)

ドメイン → 構成 → 全般 → 詳細 →

“RESTful管理サービスの有効化” をチェック

2. 設定後、WebLogicを再起動

43

Page 44: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

利用可能なRESTfulリソース

44

種類 URL

サーバ http://localhost:7001/management/tenant-monitoring/servers

http://localhost:7001/management/tenant-monitoring/servers?format=full

http://localhost:7001/management/tenant-monitoring/servers/servername

クラスタ http://localhost:7001/management/tenant-monitoring/clusters

http://localhost:7001/management/tenant-monitoring/clusters?format=full

http://localhost:7001/management/tenant-monitoring/clusters/clustername

アプリ

ケーション

http://localhost:7001/management/tenant-monitoring/applications

http://localhost:7001/management/tenant-monitoring/applications?format=full

http://localhost:7001/management/tenant-monitoring/applications/applicationname

データ

ソース

http://localhost:7001/management/tenant-monitoring/datasources

http://localhost:7001/management/tenant-monitoring/datasources?format=full

http://localhost:7001/management/tenant-monitoring/datasources/datasourcename

Page 45: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

レスポンスの例

45

"body":

"items":

["name":"AdminServer",

"state":"RUNNING",

"health":"HEALTH_OK”]

,

"messages“:[]

JSON

<?xml version="1.0" encoding="utf-8"?>

<data><object>

<property name="body“><object>

<property name="items“><array><object>

<property name="name">

<value type="string">AdminServer</value>

</property>

<property name="state">

<value type="string">RUNNING</value>

</property>

<property name="health">

<value type="string">HEALTH_OK</value>

</property>

</object></array></property>

</object></property>

<property name="messages"><array></array></property>

</object></data>

XML HTML

Page 46: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

サポート対象のコンフィグレーション(as of 2012/1)

46

Page 47: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

サポート対象のOS/JDK/DB HW OS(64bit only ) *1 JDK(64bit only) *1 DB(WLSのDB依存機能用) *2

x64 RedHat Linux 5.6~

Oracle Linux 5.6~

SLES 10 SP2~

SLES 11

Oracle JDK 1.6.0_29~

JRockit R28.2.0~

Oracle 11.1.0.7~

Oracle RAC 11.1.0.7

Oracle 11.2.0.3~

Oracle RAC 11.2.0.3~

DB2/UDB 9.5~

DB2 9.7~

SQL Server 2008

SQL Server 2008R2

MySQL5.5

Sybase 15.5~

Windows 2008 R2

Solaris 10 U9~

Solaris 11

Oracle JDK 1.6.0_29~

Windows 7 SP1~

SPARC Solaris 10 U9~

Solaris 11

Power AIX 6.1 TL6~

AIX 7.1 TL0~

IBM JDK 6 SR9 FP2~

47

*1) 開発環境では32bit OS(MAC、Windows XP/VISTA/7、Linux 5)、32bit JDK(Oracle JDK、JRockit)もサポート http://www.oracle.com/technetwork/developer-tools/eclipse/system-requirements-101778.html *2) アプリケーションデータアクセスのみ用途には一定条件を満たすJDBCドライバならば上記以外のDBもサポート http://www.oracle.com/technetwork/middleware/ias/downloads/wls-1211x-certmatrix-1395408.xls ただし、マルチデータソース、GridLinkデータソースを利用の場合、Oracle RACは11gのみをサポート http://docs.oracle.com/cd/E24329_01/web.1211/e24367/oracle_rac.htm#i1080090

※2012年1月31日現在のサポート状況

Page 48: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

まとめ

48

Page 49: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Why WebLogic Server 12c? 開発生産性と堅牢性を両立する最先端のJava EE基盤

• 3本締めくらいで

49

開発生産性を追求したJava EE 6プラットフォーム

最新仕様Java EE 6への対応による開発生産性向上

Java EE 6の効率的な開発を支援する開発ツールの提供

ミッションクリティカルに求められる信頼性を変わらず提供

Oracle RACとの高度な連携

障害復旧、災害復旧の運用を簡素化

Page 50: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved.

Page 51: Active GridLinkの機能強化編/Oracle WebLogic Server 12c 技術概要

Copyright© 2012, Oracle. All rights reserved. 51