Oracle Application Server 10g Fast Connection Failover構成ガイド

Similar documents
Oracle Application Server 10g Release 3(10.1.3)- アジャイル・エンタープライズ(俊敏な企業)のためのデータ・アクセス

Oracle Web CacheによるOracle WebCenter Spacesパフォーマンスの向上

スケーラビリティおよび高可用性を目的としたOracle Content Database中間層の構成についてのベスト・プラクティス

Oracle DatabaseとIPv6 Statement of Direction

Microsoft Windows向けOracle Database 12cでのOracleホーム・ユーザーの導入

Oracle DatabaseとIPv6 Statement of Direction

untitled

富士通Interstage Application Server V10でのOracle Business Intelligence の動作検証

Oracle Application Server 10g (9.0.4): Manually Managed Cluster

intra-mart Accel Platform

Oracle Secure Enterprise Search 10gクイック・スタート・ガイド

JD Edwards EnterpriseOneリアルタイム・イベントのOracle Enterprise Service Busへのパブリッシュ

Oracle Enterprise Linux 5における認証

MAA/Data Guard 10g Release 2セットアップ・ガイド – RACプライマリのためのRACロジカル・スタンバイ作成

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

SESにおけるCustom Searchインタフェースの実装 - search.oracle.comでのケース・スタディ

Oracle Warehouse Builder 10 g Release 2 ビジネス・ルール主導によるデータ統合

AJAXを使用した高い対話性を誇るポートレットの構築

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

faq Oracle Application Server 10g Oracle HTTP Server

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

Oracle9i Application Server for Windows NT/2000 リリース・ノート追加情報 リリース

Oracle Warehouse Builder: 製品ロードマップ

Oracle Enterprise Manager System Monitoring Plug-inインストレーション・ガイドfor Microsoft SQL Server, リリース4( )およびリリース3( )

Oracle Enterprise Manager 10g System Monitoring Plug-In for IBM WebSphere Application Server

Oracle Real Application Clusters 10g: 第4世代

Oracle Application Server 10g Oracle HTTP Server FAQ

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

Microsoft Word - MOPatch-1.doc

Microsoft Word - J-jdev_dba_db_developers.doc

Microsoft Word - J-sap-availability-on-rac-twp.doc

橡CoreTechAS_HighAvailability.PDF

Oracle Data Pumpのパラレル機能

Oracle SALTを使用してTuxedoサービスをSOAP Webサービスとして公開する方法

Oracle Application Server 10g: Oracle Enterprise Messaging Service FAQ

Slide 1

Spring Frameworkに対するオラクルのサポート

Oracleセキュア・エンタープライズ・サーチ

Microsoft Word - J-migratingjdevelope#110A7A.doc

WebOTX V6 JDBCアプリケーションのトラブルシューティング(JDBCデータソース)

Microsoft Word - nvsi_080188jp_r1_netvault_oracle_rac_backup_complemental_guide_j_174x217.doc

Oracle ADF 11g入門

Oracle Access ManagerとOracle Identity Managerの同時配置

Polycom RealConnect for Microsoft Office 365

付録

Symantec AntiVirus の設定

Oracle Data Pumpのパラレル機能

透過的アプリケーション・フェイルオーバー

Interstage Interaction Manager V9 Oracle Database 11g 適用手順書

Oracle Enterprise Manager 10g R2 Grid Control: データベース管理の新機能

Oracle Real Application Clusters 10g Release 2: Microsoft SQL Server 2005との技術的比較

スライド 1

HP Device Manager4.7インストール・アップデート手順書

IPM Release 2.6 へのアップグ レード

Troubleshooting SSH connections with Reflection X

Microsoft Word - J-10REASONSWHYSQLSERVERISNOTTHEBESTDECISIONFORSAP_reviewed.doc

F5のBlG-IPロード・バランサによる高可用性を持つOracleASインフラストラクチャの構成

DBMSリポジトリへの移行マニュアル

クラスタ構築手順書

Oracle Application Server 10gリリース2( )Oracle HTTP Serverの概要

< 写真欄 > 11g R2 Real Application Clusters スキルチェック ポイント解説

Microsoft Word - JDBC-ODBCu691cu8a3c docx

自己管理型データベース: 自動SGAメモリー管理

Oracle Application Server 10g(9

製品組み込み手順書 Oracle Tuxedo (Linux版)  

使用する前に

日本語タイトルを入力

第 2 版

Oracle Application Server高可用性ガイド, 10gリリース3( )

Oracle Cloud Adapter for Oracle RightNow Cloud Service

Oracle Database 10g Release 2:Maximum Availability Architectureへのロードマップ

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

(Veritas\231 System Recovery 16 Monitor Readme)

Oracle Application Server 10g( )インストール手順書

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

<Documents Title Here>

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

Microsoft Word - XOOPS インストールマニュアルv12.doc

Oracle Data Provider for .NET の新機能

MIB サポートの設定

Statement of Direction: Oracle Fusion Middleware Oracle Business Intelligence Discoverer

Visual Basic Oracle Database 11 Release 1

Oracle Fusion Middleware 10g R2

Microsoft® Windows® Server 2008/2008 R2 の Hyper-V 上でのHP ProLiant用ネットワークチーミングソフトウェア使用手順

Microsoft Word - JDBCドラバーの設定.doc

Oracle Solarisゾーンによるハード・パーティショニング

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

WebOTX V6 J2EEアプリケーションのトラブルシューティング

新OS使用時の留意事項

クラスタ環境でのデータベースのアップグレード手順

目次 はじめに... 2 無料トライアルのサインアップ方法... 3 トライアル環境へのアクセス 参考情報

Oracle Identity Managementの概要およびアーキテクチャ

VPN 接続の設定

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx

Oracle Secure Enterprise Search 10gを使用したセキュアな検索

インテル(R) Visual Fortran コンパイラ 10.0

CLUSTERPRO MC ProcessSaver 1.0 for Windows 構築ガイド 2012(Sep) NEC Corporation はじめに責任範囲適用範囲概要事前準備クラスタ設定

APEX Spreadsheet ATP HOL JA - Read-Only

Microsoft Word - OCSv2_Calendar_PSR9042.doc

Oracle BI Publisherの概要

Transcription:

Oracle Application Server 10g Fast Connection Failover 構成ガイド オラクル ホワイト ペーパー 2006 年 10 月

Oracle Application Server 10g Fast Connection Failover 構成ガイド 1. 概要... 3 2. OracleAS 10gにおけるFast Connection Failoverの構成... 4 2.1 Fast Connection FailoverをサポートしているJDBC 接続 URLのタイプ 4 2.2 OracleAS 10g 中間層でImplicit Connection CacheおよびFast Connection Failoverを有効にする... 5 2.2.1 OracleAS 10g R2 データソースでImplicit Connection CacheおよびFast Connection Failoverを有効にする... 6 2.2.2 OracleAS 10g R3 データソースでImplicit Connection CacheおよびFast Connection Failoverを有効にする... 7 2.3 RACノードから中間層にイベントを伝播するためのOracle Notification Serverの構成... 8 2.3.1 10g R1 DbにおけるFCF ONS 構成... 9 2.3.2 10g R2 DbにおけるFCF ONS 構成... 9 2.3.3 OracleAS 10g R2 におけるFCF ONS 構成... 10 2.3.4 OracleAS 10g R3 におけるFCF ONS 構成... 11 3. OracleAS 環境におけるFast Connection Failoverのテストと検証... 12 3.1 RACノードと中間層間のONS 通信の検証... 13 3.2 JDBCドライバがONSイベントを処理し 正しくフェイルオーバーしていることを検証する... 16 まとめ... 18 付録... 19 Oracle Application Server 10g Fast Connection Failover 構成ガイド 2

Oracle Application Server 10g Fast Connection Failover 構成ガイド 1. 概要 Oracle Application Sever の高可用性ソリューションは Oracle データベースの高可 用性機能と連携して使用でき 他に匹敵するものがないエンドツーエンドな高可用性を提供します Fast Connection Failover は オラクル環境における中間層テクノロジとデータベース層テクノロジの高度な統合を明確に実証しています この 2 つの層の障害通知メカニズムは Oracle Notification Server(ONS) に基づき統合され DB インスタンスに障害が起きた場合 データベースはただちに中間層に通知します 実装面から見ると Fast Connection Failover(FCF) は Oracle 10g JDBC ドライバの機能である JDBC Implicit Connection Cache(ICC) が提供する Real Application Cluster(RAC)10g クライアントです その第一の目的は キャッシュで接続の妥当性と可用性を保証することです 主に次の機能を提供します Implicit Connection Cacheにおける接続の迅速なDead Connection Detection (DCD) キャッシュからの古い接続や不良な接続の削除 上位層での再試行を容易にするコール元へのエラーの伝播 新しいデータベース インスタンスが Real Application Cluster と結合するときの接続再配分 ONS サービス停止通知 ONS サービス開始通知 Oracle Application Server 10g Fast Connection Failover 構成ガイド 3

Oracle Application Server 10g R3 以降 Implicit Connection Cache および Fast Connection Failover は Oracle Containers for J2EE(OC4J) データソースに完全に統合されました そのため この機能の構成が非常に簡単になり FCF と組み合せた場合に使用できるデータソース関連の機能 (EJB に対するコンテナ管理永続性など ) もすべて利用できます Oracle Application Server の以前のリリースでも FCF の機能を十分に活用しながら最大可用性が得られますが いくつかの特別な構成変更も必要です このホワイト ペーパーの目的は次のとおりです 1. Oracle Application Server の各リリースで Fast Connection Failover を有効にする構成ガイドを提供 2. OracleAS 中間層と Oracle Database RAC 間の Fast Connection Failover が正しく機能していることを検証するテストのセットとトラブルシューティングのヒントを提供このホワイト ペーパーでは Fast Connection Failover で使用される様々な機能やテクノロジの技術的な説明はしません 付録に掲載したその他のドキュメントや詳細を参照してください 2. OracleAS 10g における Fast Connection Failover の構成 Oracle Application Server 10g のリリースが異なっても Fast Connection Failover の構成に必要な手順は同じです JDBC 接続 URLは データベースに接続するサービス名を使用する必要があります サービスIDは使用できません 対応するOracle Containers for J2EEデータソースでImplicit Connection CacheとFCFが有効になります データベース (10g R1または10g R2のReal Application Clusters(RAC)) とOracleAS 中間層の間でイベントを伝播するように Oracle Notification Server(ONS) が構成されます 以降では この各手順について OracleAS 10g の各リリースごとに詳しく説明します 環境固有の問題の発生を防ぐため Metalink(Metalink.oracle.com) を通じて両方の層 ( データベースと中間層 ) に最新のパッチが適用されているか確認することを強くお薦めします 2.1 Fast Connection Failover をサポートしている JDBC 接続 URL のタイプ FCF を有効にする場合 OracleAS のデータソース定義で使用された URL のサービス名識別子のみを使用できます 次に OracleAS で使用される有効な URL の例を示します Oracle Application Server 10g Fast Connection Failover 構成ガイド 4

url="jdbc:oracle:oci:@tns_alias" or url="jdbc:oracle:oci:@(description= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=service_name)))" or url="jdbc:oracle:oci:@(description= (ADDRESS=(PROTOCOL=TCP)(HOST=cluster_alias) (PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=service_name)))" or url = "jdbc:oracle:thin@//host:port/service_name" url = jdbc:oracle:thin@//cluster-alias:port/service_name" or url="jdbc:oracle:thin:@(description= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=service_name)))" or url = "jdbc:oracle:thin:@(description= (ADDRESS=(PROTOCOL=TCP)(HOST=cluster_alias) (PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=service_name)))" service_name ベースの URL のみが許されます すなわち データベース用の SID に基づいた従来の URL は無効です 無効な使用方法 : url = "jdbc:oracle:thin@host:port:sid" 2.2 OracleAS 10g 中間層で Implicit Connection Cache および Fast Connection Failover を有効にする Implicit Connection Cache の OracleAS データソースへの統合は OracleAS のリリース に伴い進化してきました 1 最初の OracleAS 10g リリース (10g R1 および 10g R2) では そのデータソースを Implicit Connection Cache のデータソースに直接置き換 えることができました 最新リリース (10g R3 および 10g SOA) では OracleAS は Implicit Connection Cache を OracleAS が管理するデータソースに完全に統合しま す 以降では 10g の各リリースに対して OracleAS データソース構成で ICC を有効 にする方法を説明します 1 他のデータソースの詳細は ここを参照してください Oracle Application Server 10g Fast Connection Failover 構成ガイド 5

2.2.1 OracleAS 10g R2 データソースで Implicit Connection Cache および Fast Connection Failover を有効にする OracleAS 10g R2 では Implicit Connection Cacheサポートはネイティブなデータソースに限られます [1] エミュレート データソースと非エミュレート データソースは この機能をサポートしません ( つまり このリリースでは コンテナ管理永続性 EJBをFCFと一緒に使用できません ) OracleAS 10g R2 およびR3 に含まれるデフォルトJDBCドライバは JDBC 10.1.0.5 である点に注意してください 2 構成するトポロジで使用するデータベース リリースによっては JDBCドライバのアップグレードが必要な場合があります OracleASに含まれるJDBCドライバのアップグレードと証明書は これらのJDBCドライバの特定のバージョンに限られます 使用可能 / 証明済ドライバと必要なパッチは Metalinkで確認してください JDBC thin driversのアップグレードまたは変更は ここで説明します テストとデバッグには 既存のドライバを更新バージョンで直接オーバーライドします ただし この直接置換にはクラスローディング問題の可能性があるため 通常は避けてください OracleAS インスタンスで ICC と FCF を有効にするには データソース構成 (OracleASInstanceHOME/j2ee/oc4j_home/config 下の data-sources.xml ファイル ) を次のように変更する必要があります データソース クラスとして oracle.jdbc.pool.oracledatasource を指定 connectioncachename プロパティと connectioncachingenabled=true プロパティを指定 fastconnectionfailoverenabled=true プロパティを指定次の data-sources.xml のサンプルでは これらの変更を赤で示しています <data-source class="oracle.jdbc.pool.oracledatasource" name="oracleds" location="jdbc/oraclecache" connection-driver="oracle.jdbc.driver.oracledriver" username="scott" password="tiger" url="jdbc:oracle:thin:@(description= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=service_name)))"> <property name="connectioncachename" value="icc"/> <property name="connectioncachingenabled" value="true"/> <property name="fastconnectionfailoverenabled" value="true"/> </data-source> 2 10.1.0.4.2/10.1.0.5 Oracle Application Server 10g Fast Connection Failover 構成ガイド 6

2.2.2 OracleAS 10g R3 データソースで Implicit Connection Cache および Fast Connection Failover を有効にする OracleAS 10g R3 では Implicit Connection Cacheは 管理されたデータソースとネイティブなデータソース両方でサポートされます [2] 必要に応じて OracleAS 10g R3 に含まれるJDBCドライバをアップグレードできます 使用可能 / 証明済ドライバとパッチは 常にMetalinkで確認してください このアップグレードの実行に必要な手順は OracleAS 10g R2 のJDBCドライバをアップグレードする手順とは異なります その手順については ここで説明します OracleAS 10g R3 の管理されたデータソースで ICC を有効にするには 次の手順を実行します 同じファイルの各 XML 要素でconnection-pool-name 属性を使用して この管理されたデータソースがその接続のプールに使用する接続キャッシュの名前を指定します connectioncachename プロパティと connectioncachingenabled=true プロパティを指定します fastconnectionfailoverenabled=true プロパティを指定します 次の data-sources.xml のサンプルでは OracleAS 10gR3 の管理されたデータソースで ICC と FCF を有効にするための変更を赤で示しています <managed-data-source jndi-name="jdbc/managedds" description="managed DataSource" connection-pool-name="myconnectionpool name="managedds"/> <connection-pool name="myconnectionpool min-connections="10" max-connections="30" inactivity-timeout="30"> <connection-factory factory-class="oracle.jdbc.pool.oracledatasource" user="scott" password="tiger" url="jdbc:oracle:thin:@(description= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=service_name)))"> <property name="logintimeout" value="30"/> <property name="connectioncachingenabled" value="true"/> <property name="fastconnectionfailoverenabled" value="true"/> </connection-factory> </connection-pool> ネイティブなデータソースの場合 変更点は OracleAS 10g R2 の場合と同じです データソース クラスとして oracle.jdbc.pool.oracledatasource を使用する必要があります connectioncachename プロパティと connectioncachingenabled=true プロパティを指定する必要があります fastconnectionfailoverenabled=true プロパティを指定します Oracle Application Server 10g Fast Connection Failover 構成ガイド 7

次の data-sources.xml のサンプルでは OracleAS 10gR3 のネイティブなデータソー スで ICC と FCF を有効にするための変更を赤で示しています <native-data-source name="nativedatasource" jndi-name="jdbc/nativeds" description="native DataSource" data-source-class="oracle.jdbc.pool.oracledatasource" user="scott" password="tiger" url="jdbc:oracle:thin:@(description= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=host1) (PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=service_name)))"> <property name="connectioncachename" value="icc"/> <property name="connectioncachingenabled" value="true"/> <property name="fastconnectionfailoverenabled" value="true"/> </native-data-source> 2.3 RAC ノードから中間層にイベントを伝播するための Oracle Notification Server の構成 これは Fast Connection Failover を正しく構成するための最重要部分です 中間層 による JDBC 接続の検出とクリーンアップは RAC ノードから中間層へのデータ ベース イベントの正しい伝播に完全に依存します すでに説明したとおり これらの通知は Oracle Notification Server(ONS) により発行されます Oracle Application Server のリリースごとに異なる ONS バージョンが使用されます 次に 各製品にバンドルされた Oracle Notification Server のリリースを示します Oracleデータベース (10g R1または10g R2) には ONS 10.1.2が入っています OracleAS 10g R2 は ONS 10.1.2 を使用します OracleAS 10g R3 は ONS 10.1.3 を使用します 各 ONS の構成は それぞれの製品 / リリースの組合せにより多少異なります 各製品リリース用の構成が置かれるファイルは次のとおりです RACノード (10g R1または10g R2) のONS 定義は OHOME/opmn/conf /ons.configに置かれます OracleAS 10g R2のONS 構成は OHOME/opmn/ons.confで指定されます OracleAS 10g R3のONS 構成は OHOME/opmn/conf/opmn.xmlで指定されます Oracle Application Server 10g Fast Connection Failover 構成ガイド 8

Fast Connection Failover に関して これらのファイルには通知を送受信する ONS のアドレスとポートが入ります ONS が Fast Connection Failover イベントに使用するポートは remoteport というタグが付いたポートです ONS 通信は 中間層と RAC ノード ONS 構成の両方で正しいウォレット構成を指定することにより SSL を通じて保護できます ただし 一般に Db ノードはセキュアな層で実行するものであるため ONS に対しては SSL を無効にするほうが適しています ([4] [5]) その場合 RAC ノードおよび RAC ノードと直接通信するすべての中間層で 無効にする必要があります 最終パラメータを保存する場所とは関係なく ONS 構成の方法は製品リリースによっても異なる場合があります 一般に Db クライアントは Db ノードのアドレスを使用して構成しますが その逆はありません ( すなわち すべての中間層の ONS リスナーのアドレスで Db ノードを構成する必要はありません ) ただし OracleAS 10g R2 中間層では例外があります それについては次に説明します 2.3.1 10g R1 Db における FCF ONS 構成 Oracle 10g R1 DB では OracleDB_HOME/opmn/conf 下の ons.config ファイルを編集する必要があります 次に例を示します localport=6100 remoteport=6202 nodes=rac_node1.us.oracle.com:6200, rac_node2.us.oracle.com:6200 この変更を有効にするには onsctl reconfig コマンドを使用して ONS を再起動する必要があります ONS タイムアウトと接続性問題を回避するため RAC クラスタのすべてのインスタンスとすべての DB インスタンスでこれを実行し すべてのノードに同じ ONS 構成を共有させる必要があります 2.3.2 10g R2 Db における FCF ONS 構成 DBCA を使用して作成された Oracle 10g R2 Db の場合 ONS のホスト / ポート構成は自動的に追加されます それ以外では Oracle Clusterware ホームから racgons [8] ユーティリティを使用して手動でホストを追加する必要があります ホストを手動で追加するには ONS デーモンがクラスタで稼働しており 各デーモンが構成に存在する他のすべてのホストを認識している必要があります Oracle Clusterware bin ディレクトリ (ORA_CRS_HOME/bin/racgons) から racgons を次のように使用します racgons add_config hostname:port [hostname:port]... 例 (rac_node2 を rac_node1 ONS に追加 ): racgons add_config rac_node2.us.oracle.com:6200 Oracle Application Server 10g Fast Connection Failover 構成ガイド 9

2.3.3 OracleAS 10g R2 における FCF ONS 構成 ファームの構成管理に DCM を使用していない OracleAS スタンドアロン インス タンスの場合 OracleASHome/opmn/conf 下にある ons.conf ファイルを直接編集す ることにより ONS 構成を変更できます 次に例を示します localport=6100 remoteport=6202 nodes=rac_node1.us.oracle.com:6200, rac_node2.us.oracle.com:6200, mt_node1.us.oracle.com:6202, mt_node2.us.oracle.com: ただし 中間層インスタンスがファーム ( ファイル ベースまたはデータベース ベース ) の一部である場合 OracleAS Distributed Configuration Management(DCM) は ONS 構成ファイルに対して加えられたすべての構成変更を OracleAS 構成リポジトリがレポートするファームのインスタンスに関する情報で上書きします OracleAS 構成リポジトリは OracleAS インスタンスのみをレポートし データベース インスタンスはレポートしません したがって このタイプの ファーム シナリオ では DCM は ons.conf に対する変更を常に上書きし RAC ノードの追加をすべて削除します ( これは DCM による構成のアップグレードが発生した場合に起こります ) この場合 Db ノードの ONS 構成に中間層ノードを含める必要があります これにより 中間層ノードが ONS トポロジ情報を管理する RAC ノードとなるため DCM が実行する変更はなんら影響しません たとえば Db ノード rac_node1.us.oracle.com と rac_node2.us.oracle.com を持つ FCF 構成で中間層 mt_node1.us.oracle.com と mt_node2.us.oracle.com を構成するには RAC ノードで次の構成が必要です (OracleDBHome/opmn/conf 下の ons.config を編集するか 前述の 2.3.1 および 2.3.2 のように Db バージョンに応じて racgons を使用します ) localport=6100 remoteport=6202 nodes=rac_node1.us.oracle.com:6200, rac_node2.us.oracle.com:6200, mt_node1.us.oracle.com:6202, mt_node2.us.oracle.com 中間層 ONS 構成は DCM による管理に委ねることができます ( すなわち ファームのリポジトリによりレポートされる中間層のみを含めることができます ) Oracle Application Server 10g Fast Connection Failover 構成ガイド 10

2.3.4 OracleAS 10g R3 における FCF ONS 構成 OracleAS 10g R3 中間層の場合 中間層ホームの opmn.xml を変更して RAC ノード を含めることができます (DCM の問題なしに ) これは RAC ONS にすべて中 間層を追加するより よい方法です (ONS トポロジを結合および分離する中間層 が多数ある場合 [5] DB サイドで構成を管理するのは困難になります ) また ONS は OracleAS 10g R3 で拡張され ([5]) より優れた柔軟性と効率性を提供 する別のトポロジを許可します 中間層の ONS 構成への RAC ノードの追加は 中間層の opmn.xml ファイルの直接編集により このリリースで達成されました 次に例を示します <notification-server> <port local="6104" remote="6204" request="6007"/> <ssl enabled="false" walletfile="$ ORACLE_HOME\opmn\conf\ssl.wlt\default"/> <topology> <nodes list="mt_node1.us.oralce.com:6200,rac_node1.us.oracle.com:6200,rac_node2.us,oracle. com:6200"/> </topology> </notification-server> nodes ノードの後のリストは RAC ノードの ons.config に指定されている RAC ノードのアドレスとポートです ファイアウォールが Db と中間層の間に存在する場合 代替トポロジを使用できます ( ゲートウェイ トポロジ [5]) RAC ノードの <nodes> 要素は ONS トポロジ構成に対する追加です すなわち OracleAS インスタンスのトポロジ構成には 変更や削除を行ってはならない追加の <nodes> 要素または <discovery> 要素 ([5]) があります この変更を有効にするには opmn.xml ファイルを変更および保存後 opmnctl reload を実行する必要があります OracleAS 10 R3 SOA では これらの変更は OracleAS Control 画面から直接実行できます ( この場合 opmnctl reload を実行する必要はありません ) これを行うには OracleAS Control のメインの Cluster Topology 画面から 右下の Topology Network Configuration リンクをクリックします トポロジに対して利用できる各フィールドに RAC ノードのリストを入力します [5] Oracle Application Server 10g Fast Connection Failover 構成ガイド 11

ただし OracleAS Control で定義できるのは 1 つのタイプのトポロジのみです す なわち 次のように opmn.xml のトポロジ要素に複数のトポロジ タイプに含まれ る場合 <topology> <nodes list= "mt_node1.us.oracle.com:6200, mt_node2.us.oracle.com:6200, rac_node1.us.oracle.com:6200,rac_node2.us,oracle.com:6200"/> <discover list="*225.0.0.1:6879"/> </topology> 検出エントリを管理しながら OracleAS Control を使用してノード リストに要素 を追加することはできません (OracleAS Control では この画面に示したように 1 つのトポロジ タイプのみ構成できます ) 3. OracleAS 環境における Fast Connection Failover のテストと検証 前述した構成手順により JDBC ドライバは ONS を通じてデータベース イベン トを処理するように準備されています ( 無効な接続のフェイルオーバーと新しい RAC ノードへの接続の再割当ては Db インスタンスの可用性の変化に基づいて実行することが必要です ) それでも ONS が正しく機能し ファイアウォールや他のネットワーク ピースなどの中間要素が正しい動作を妨害していないことを確認してください Fast Connection Failover が正しく機能しているかを調べるには 次の検証が必要です Oracle Application Server 10g Fast Connection Failover 構成ガイド 12

RACノードと中間層間のONS 通信が正しく機能し データベース インスタンスが生成したONSイベントを中間層が正しく受信していること JDBCドライバがこれらのONSイベントを正しく処理し フェイルオーバーと接続クリーンアップが正しく機能していること 3.1 RAC ノードと中間層間の ONS 通信の検証 まず ONS が RAC ノードで稼働していることを検証します そのためには OHOME/opmn/bin から次を実行します onsctl ping このコマンドは 各 RAC ノードにおける ONS の稼働を確認します 中間層ノードでは OHOME/opmn/bin から次を実行します opmnctl ping このコマンドは ONS の可用性をレポートします 次に RAC ノードと中間層間の ONS 通信が正しく行われているかを検証する必要があります RAC ノードで OHOME/opmn/bin から次を呼び出します onsctl debug このコマンドは ONS デバッグ情報をレポートします 中間層接続と他のデータベース接続は 次の画面のようにリストされます Oracle Application Server 10g Fast Connection Failover 構成ガイド 13

中間層ノードで OHOME/opmn/bin から次を実行します opmnctl debug このコマンドは デバッグ レポートのすべての層 中間層とデータベース ノー ド からの接続をリストします Oracle Application Server 10g Fast Connection Failover 構成ガイド 14 Oracle Corporation 発行 Oracle Application Server 10g Fast Connection Failover Configuration Guide の翻訳版です

さらに 異なる層間のONS通信をテストするためにONSテスターを利用できます 3 テスターは ONS通知のsenderとしてもreceiverとしても実行できます テス ターを実行するには RACノードの 1 つでファイルを解凍し 次を実行します java -Doracle.ons.oraclehome=$ORACLE_HOME ONSTest -s 1 -r 0 p n 30 これにより RAC ノードで sender スレッドを開始し タイプ ons/test/shutdown の 30 個の ONS メッセージを送信します 次に OracleAS ノードの 1 つで次を実 行して ONS receiver を開始します java -Doracle.ons.oraclehome=$ORACLE_HOME ONSTest -s 0 r 1 p 通知の受領は receiver のコンソール OracleAS ノードの に記録され RAC ノー ドと OracleAS ノード間で ONS 通知が正しく流れていることを証明する必要があ ります 次の図に テスターによりレポートされるサンプル出力を示します 他 の中間層も ONS イベントを生成することがあるため 受信したイベントの中に テスターの sender スレッドが発行するイベントであるタイプ ons/test/ のイベント があることを確認する必要があります 3 このテスターは デバッグとテストのみを目的としています Oracle Application Server 10g Fast Connection Failover 構成ガイド 15 Oracle Corporation 発行 Oracle Application Server 10g Fast Connection Failover Configuration Guide の翻訳版です

3.2 JDBC ドライバが ONS イベントを処理し 正しくフェイルオーバーしていることを検証する JDBC ドライバが ONS イベントを正しく受信し処理していることを検証するには JDBC トレースを使用する必要があります Oracle 10g JDBC の JDBC トレースに は 特別な JDBC ライブラリが必要です このライブラリは OracleAS で使用で きるデフォルトまたはインストールされた JDBC ドライバをオーバーライドする 必要があります トレース ドライバには jdk1.4.jar が必要です これは 次か らダウンロードできます http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html 注意 : 10g R1 RAC と 10g R2 には それぞれ異なるライブラリがあります OracleAS 10g R2 の oc4j.jar にあるマニフェスト クラスパスは $OH/jdbc/lib/classes12dms.jar を実効クラスパスに含めますが ojdbc14dms.jar は含めないため $OH/jdbc/lib/classes12dms.jar を $OH/jdbc/lib/ojdbc14dms_g.jar に置き換える必要があります これは単にトレースのためであり トレース検証の完了後は元に戻す必要があります JDBC トレースを有効にするには 次を実行する必要があります 1. 次の行を追加します oracle.jdbc.driver.level=finest この行を デフォルト $OH/jdk/jre/lib/logging.properties ファイルの最後に追加します 2. 次のシステム プロパティを持つ OC4J VM を開始するように $OH/opmn/conf/opmn.xml を編集します Doracle.jdbc.LogFile=jdbc.log. これにより JDBC ドライバのロギング出力のみが入ったファイル $OH/j2ee/Oc4J_home/jdbc.log が生成されます Oracle Application Server 10g Fast Connection Failover 構成ガイド 16

または 独立したトレース プロパティ ファイルを作成および使用することにより 特別なロギング構成を使用します このファイルの位置は java.util.logging.config.file 環境変数を使用して パラメータとして OC4J JVM に渡されます トレースは 次のシステム プロパティを使用して有効にします oracle.jdbc.trace=true 例 : opmn.xml java-options は 次の指定で FCF アプリケーションを実行している OC4J コンテナに対して変更されます -Doracle.jdbc.trace=true -Djava.util.logging.config.file= c:\tracing.properties... c:\tracing.properties ファイルには 次が入っています handlers= java.util.logging.filehandler.level= INFO # default file output is in user's home directory java.util.logging.filehandler.pattern = jdbc.log java.util.logging.filehandler.limit = 50000 java.util.logging.filehandler.count = 1 java.util.logging.filehandler.formatter = java.util.logging.xmlformatter. # Setting this to SEVERE avoids duplicate output from default logger java.util.logging.consolehandler.level = SEVERE java.util.logging.consolehandler.formatter = java.util.logging.simpleformatter oracle.jdbc.level = FINEST oracle.jdbc.pool.level = FINEST 上述のいずれかの手順によりトレースが有効になると RAC DB 障害と接続フェイルオーバーが JDBC ドライバにより記録されます すなわち JDBC ドライバにより処理された FCF イベントに関する対応メッセージが jdbc_tracing.log ファイルに入れられます 次のようなイベントが含まれます initfailoverparametersに対するコール 4 FCF eventtypeおよびeventbody( 完全イベントを示す ) abortconnectionに対するコール ( クリーンアップする接続について ) 次の部分には jdbc_tracing.log サンプル ファイルに記録されるメッセージが含まれています Mar 3, 2005 3:07:43 PM oracle.jdbc.pool.oraclefailovereventhandlerthread handleevent FINE: OracleFailoverEventHandlerThread.handleEvent():<database/event/service> 4 DB サイドで障害が発生した場合 このネットワーク障害を通知する中間層の ONS ではなく 生き残っている RAC ノードからトリガーされた通知に基づいて 接続のフェイルオーバーが発生します そのため フェイルオーバー期間は ONS チューニングではなく RAC チューニングには基づきます この障害検出期間はデータベース依存であり チューニングできます [9][10] Oracle Application Server 10g Fast Connection Failover 構成ガイド 17

Mar 3, 2005 3:07:43 PM oracle.jdbc.pool.oracleconnectioncachemanager verifyandhandleevent FINER: eventtype=256eventbody=<version=1.0 service=serv1 instance=rac3 database=racstres host=hpcpq-7 status=down reason=user > Mar 3, 2005 3:07:43 PM oracle.jdbc.pool.oracleimplicitconnectioncache processfailoverevent FINE:OracleImplicitConnectionCache.processFailoverEvent(eventType=256,instName= Rac3,dbUniqName=RacStres,hostName=hpcpq-7,status=down, card=0) Mar 3, 2005 3:07:43 PM oracle.jdbc.pool.oracleimplicitconnectioncache markdownlostconnections FINE:OracleImplicitConnectionCache.markDownLostConnections(serviceDownEvent=tr uehostdownevent=false,instname=rac3,dbuniqname=racstres,hostname=hpcpq-7,stat us=down) Mar 3, 2005 3:07:43 PM oracle.jdbc.pool.oracleimplicitconnectioncache cleanupfailoverconnections FINE:OracleImplicitConnectionCache.cleanupFailoverConnections(serviceDownEvent=t ruehostdown Event=false,instName=Rac3,dbUniqName=RacStres,hostName=hpcpq-7,status=down) Mar 3, 2005 3:07:43 PM oracle.jdbc.pool.oracleimplicitconnectioncache doforeverycachedconnection FINE: OracleImplicitConnectionCache.doForEveryCachedConnection(task=2) Mar 3, 2005 3:07:49 PM oracle.jdbc.pool.oraclefailovereventhandlerthread handleevent Long Query Exception: java.sql.sqlexception: Io exception: Socket closed FINE: OracleFailoverEventHandlerThread.handleEvent():<database/event/service> Mar 3, 2005 3:07:49 PM oracle.jdbc.pool.oracleconnectioncachemanager verifyandhandleevent FINER: eventtype=256eventbody=<version=1.0 service=serv1 instance=rac1 database=racstres host=hpcpq-5 status=up card=1 reason=user > (JDBC ドライバ レベルのトレース出力で SQL 例外 invalid ons event received が見られることがあります 関連のない ONS イベントの一部が JDBC 処理で拒否されただけであり 無視します ) まとめ Fast Connection Failover は OracleAS 中間層と Oracle Real Application Cluster(RAC) データベース間の高度な統合を明確に実証します FCF は JDBC Implicit Connection Cache(ICC) が提供する 10g RAC クライアントであり この 2 層間でのイベント通信の通信手段として Oracle Notification Server(ONS) を使用します Fast Connection Failover では 中間層とデータベース間に正しいデータソースと ONS 構成が必要です この構成は OracleAS と Oracle DB リリースによって変わります この 2 層間での ONS 通知の流れと JDBC ドライバによるそれらの正し Oracle Application Server 10g Fast Connection Failover 構成ガイド 18

い使用は 正しい Fast Connection Failover 構成にとって重要です ここで説明した ように両方を検証することを強くお薦めします 付録 JDBC 構成 ONS 構成 Fast Connection Failover Real Application Clusters に関する その他のドキュメントと詳細は 次から入手できます [1] OracleAS 10g R2 データ ソース [2] OracleAS 10g R3 Datasources [3] Implicit Connection Cache and OC4J datasources [4] OracleAS 10g R2 OPMN ドキュメント [5] OracleAS 10g R3 OPMN ドキュメント [6] Oracle 10g R1 DB FCF documentation [7] Oracle 10g R2 DB FCF ドキュメント [8] Oracle 10g R2 DB racgons utility [9] Oracle 10g R2 DB CSS reconfiguration [10] Oracle 10g R1 DB CSS reconfiguration Oracle Application Server 10g Fast Connection Failover 構成ガイド 19

Oracle Application Server 10g Fast Connection Failover 構成ガイド 2006 年 10 月著者 : Fermin Castro Product Management Oracle Application Server Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口 : 電話 : +1.650.506.7000 ファックス : +1.650.506.7200 www.oracle.com Copyright 2006, Oracle. 無断転載を禁ず この文書はあくまで参考資料であり 掲載されている情報は予告なしに変更されることがあります オラクル社は 本ドキュメントの無謬性を保証しません また 本ドキュメントは 法律で明示的または暗黙的に記載されているかどうかに関係なく 商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証または条件に制約されません オラクル社は 本書の内容に関していかなる保証もいたしません また 本書により 契約上の直接的および間接的義務も発生しません 本書は 事前の書面による承諾を得ることなく 電子的または物理的に いかなる形式や方法によっても再生または伝送することはできません Oracle JD Edwards PeopleSoft および Retek は Oracle Corporation および関連会社の登録商標です 他の製品名は それぞれの所有者の商標です