oracle® real application clustersotndnld.oracle.co.jp/.../101/doc_v12/rac.101/b12461-02.pdfv...

70
Oracle® Real Application Clusters 配置およびパフォーマンス 10g リリース 110.1部品番号 部品番号 部品番号 部品番号 : B12461-02 2004 7

Upload: others

Post on 15-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Oracle® Real Application Clusters配置およびパフォーマンス

10g リリース 1(10.1)

部品番号部品番号部品番号部品番号 : B12461-02

2004 年 7 月

Oracle Real Application Clusters 配置およびパフォーマンス , 10g リリース 1(10.1)

部品番号 : B12461-02

原本名 : Oracle Real Application Clusters Deployment and Performance Guide, 10g Release 1 (10.1)

原本部品番号 : B10768-02

原本著者 : David Austin、Mark Bauer

原本協力者 : Carol Colrain、Javier Seen

Copyright © 1999, 2004, Oracle Corporation. All rights reserved.

制限付権利の説明

このプログラム(ソフトウェアおよびドキュメントを含む)には、オラクル社およびその関連会社に所有権のある情報が含まれています。このプログラムの使用または開示は、オラクル社およびその関連会社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権と工業所有権に関する法律により保護されています。

独立して作成された他のソフトウェアとの互換性を得るために必要な場合、もしくは法律によって規定される場合を除き、このプログラムのリバース・エンジニアリング、逆アセンブル、逆コンパイル等は禁止されています。

このドキュメントの情報は、予告なしに変更される場合があります。オラクル社およびその関連会社は、このドキュメントに誤りが無いことの保証は致し兼ねます。これらのプログラムのライセンス契約で許諾されている場合を除き、プログラムを形式、手段(電子的または機械的)、目的に関係なく、複製または転用することはできません。

このプログラムが米国政府機関、もしくは米国政府機関に代わってこのプログラムをライセンスまたは使用する者に提供される場合は、次の注意が適用されます。

U.S. GOVERNMENT RIGHTS

Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation, and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.

このプログラムは、核、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションへの用途を目的としておりません。このプログラムをかかる目的で使用する際、上述のアプリケーションを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。万一かかるプログラムの使用に起因して損害が発生いたしましても、オラクル社およびその関連会社は一切責任を負いかねます。

Oracle は Oracle Corporation およびその関連会社の登録商標です。その他の名称は、Oracle Corporation または各社が所有する商標または登録商標です。

目次目次目次目次

はじめにはじめにはじめにはじめに ............................................................................................................................................................................ v

対象読者 ..................................................................................................................................................................... viこのマニュアルの構成 ............................................................................................................................................. vi

関連ドキュメント .................................................................................................................................................... vii表記規則 ................................................................................................................................................................... viii

配置およびパフォーマンスに関する新機能配置およびパフォーマンスに関する新機能配置およびパフォーマンスに関する新機能配置およびパフォーマンスに関する新機能 .......................................................................................... xi

Oracle Database 10g で導入された RAC の配置およびパフォーマンスに関する新機能 ............................ xii

1 配置およびパフォーマンスの概要配置およびパフォーマンスの概要配置およびパフォーマンスの概要配置およびパフォーマンスの概要

Real Application Clusters ドキュメントの概要ドキュメントの概要ドキュメントの概要ドキュメントの概要 ............................................................................................... 1-2

『Oracle Real Application Clusters 管理』 .................................................................................................... 1-2

『Oracle Real Application Clusters インストレーションおよび構成』 および 『Oracle Real Application Clusters クイック・インストレーション・ガイド for Oracle Database Standard Edition for Microsoft Windows』 ........................................................................................ 1-3

Real Application Clusters でのアプリケーションの配置の概要でのアプリケーションの配置の概要でのアプリケーションの配置の概要でのアプリケーションの配置の概要 ................................................................... 1-3

Real Application Clusters でのでのでのでの Oracle 機能の実装機能の実装機能の実装機能の実装 ......................................................................................... 1-4

Real Application Clusters のクラスタ・ファイル・システム ................................................................ 1-4

記憶域管理機能および Real Application Clusters .................................................................................... 1-4

Oracle Database 10g のサービス ................................................................................................................. 1-4

Real Application Clusters での Cluster Ready Services および高可用性 .............................................. 1-5Cluster Ready Services .......................................................................................................................... 1-5

Cluster Ready Services および高可用性 ............................................................................................. 1-5

追加の Oracle 高可用性機能およびソリューション ................................................................................. 1-6Real Application Clusters での接続時ロード・バランシング ........................................................ 1-6

i

Real Application Clusters での Recovery Manager(RMAN) ....................................................... 1-6

Data Guard .............................................................................................................................................. 1-7旧リリースのプライマリ / セカンダリ・インスタンス構成 .......................................................... 1-7

2 設計および配置方法設計および配置方法設計および配置方法設計および配置方法

高可用性を実現するためのサービス構成に関する推奨事項高可用性を実現するためのサービス構成に関する推奨事項高可用性を実現するためのサービス構成に関する推奨事項高可用性を実現するためのサービス構成に関する推奨事項 ........................................................................... 2-2

Real Application Clusters 環境におけるサービス・トポロジおよびワークロード管理 .................... 2-2

推奨される Oracle Real Application Clusters のサービス構成 ............................................................... 2-2

自動ワークロード・リポジトリ ................................................................................................................... 2-3

サービス・レベルおよびしきい値の設定 ................................................................................................... 2-4

Cluster Ready Services によるサービス再配置の管理 ............................................................................ 2-4

Real Application Clusters でのデータベースの一般的な配置でのデータベースの一般的な配置でのデータベースの一般的な配置でのデータベースの一般的な配置 ....................................................................... 2-4

Real Application Clusters での表領域の使用 ............................................................................................ 2-4

Real Application Clusters でのオブジェクトの作成およびパフォーマンス ....................................... 2-5

Real Application Clusters でのノードの追加と削除および SYSAUX 表領域 ....................................... 2-5

分散トランザクションおよび Oracle Real Application Clusters ............................................................ 2-5

3 パフォーマンスの監視パフォーマンスの監視パフォーマンスの監視パフォーマンスの監視

Real Application Clusters データベースの監視の概要データベースの監視の概要データベースの監視の概要データベースの監視の概要 ................................................................................... 3-2Real Application Clusters のインターコネクト設定の検証のインターコネクト設定の検証のインターコネクト設定の検証のインターコネクト設定の検証 .......................................................................... 3-2

インターコネクト処理への影響 ................................................................................................................... 3-2

Real Application Clusters のパフォーマンス・ビューのパフォーマンス・ビューのパフォーマンス・ビューのパフォーマンス・ビュー ................................................................................... 3-3Real Application Clusters のパフォーマンス統計のパフォーマンス統計のパフォーマンス統計のパフォーマンス統計 ........................................................................................... 3-3

Real Application Clusters 統計の内容 ........................................................................................................ 3-3

Real Application Clusters 環境における自動ワークロード・リポジトリ環境における自動ワークロード・リポジトリ環境における自動ワークロード・リポジトリ環境における自動ワークロード・リポジトリ ................................................... 3-4RAC 統計およびイベントの監視統計およびイベントの監視統計およびイベントの監視統計およびイベントの監視 ......................................................................................................................... 3-4

AWR および Statspack レポートでの RAC 統計およびイベント .......................................................... 3-4

RAC の待機イベント ..................................................................................................................................... 3-5

GCS 統計と GES 統計の分析によるパフォーマンス監視 ........................................................................ 3-5キャッシュ・フュージョンが Real Application Clusters に与える影響の分析 ........................... 3-6GCS 統計と GES 統計を使用したパフォーマンス分析 .................................................................... 3-6

GCS 統計を使用したキャッシュ・フュージョンによる転送の影響の分析 .......................................... 3-7

待機イベントに基づく応答時間の分析 ....................................................................................................... 3-8

ii

4 Oracle Enterprise Manager によるパフォーマンスの監視によるパフォーマンスの監視によるパフォーマンスの監視によるパフォーマンスの監視

Real Application Clusters でのでのでのでの Oracle Enterprise Manager の概要の概要の概要の概要 ............................................................ 4-2Real Application Clusters で使用するで使用するで使用するで使用する Enterprise Manager のパフォーマンス・ページのパフォーマンス・ページのパフォーマンス・ページのパフォーマンス・ページ ........................ 4-3

「Cluster Performance」ページの使用 ........................................................................................................ 4-3

「Cluster Database Performance」ページの使用 ....................................................................................... 4-3

「Cluster Cache Coherency」ページの使用 ................................................................................................ 4-3

「Cluster Cache Coherency Instances」ページの使用 .............................................................................. 4-4サービスの再配置および高可用性イベントサービスの再配置および高可用性イベントサービスの再配置および高可用性イベントサービスの再配置および高可用性イベント ....................................................................................................... 4-4

5 アプリケーション固有の配置アプリケーション固有の配置アプリケーション固有の配置アプリケーション固有の配置

Real Application Clusters ベースのアプリケーションの配置方法ベースのアプリケーションの配置方法ベースのアプリケーションの配置方法ベースのアプリケーションの配置方法 ............................................................... 5-2Real Application Clusters でのでのでのでの OLTP アプリケーションの配置アプリケーションの配置アプリケーションの配置アプリケーションの配置 .................................................................. 5-2

キャッシュ・フュージョンによる柔軟な実装 ........................................................................................... 5-2

Real Application Clusters でのデータ・ウェアハウス・アプリケーションの配置でのデータ・ウェアハウス・アプリケーションの配置でのデータ・ウェアハウス・アプリケーションの配置でのデータ・ウェアハウス・アプリケーションの配置 ................................... 5-3

Real Application Clusters でのデータ・ウェアハウス・アプリケーションのスピードアップ ........ 5-3

データ・ウェアハウス・システムおよび RAC におけるパラレル実行 ................................................ 5-3

パラレル・インスタンス・グループの使用 ............................................................................................... 5-4

A サービスの配置例サービスの配置例サービスの配置例サービスの配置例

構成計画構成計画構成計画構成計画 ................................................................................................................................................................... A-2

サービス計画 ................................................................................................................................................... A-2

クラスタ・ノードおよびネットワーク・インタフェースの計画 ........................................................... A-3

高可用性を実現するための手動構成 ........................................................................................................... A-4手順 1 ノード・アプリケーションの追加 ........................................................................................ A-5

手順 2 データベースおよびインスタンス・アプリケーションの追加 ........................................ A-5手順 3 サービス・アプリケーションの追加 .................................................................................... A-5

サービスの使用方法サービスの使用方法サービスの使用方法サービスの使用方法 ............................................................................................................................................... A-6

クライアント・アプリケーションでのサービスの使用方法 ................................................................... A-6ERP サービスに対する TNS 接続の記述 ............................................................................................ A-6TAF BASIC を使用する ERP サービスに対する TNS 接続の記述 .................................................. A-7

TAF 事前接続を使用する ERP サービスに対する TNS 接続の記述 .............................................. A-7ERP サービスに対する Thick JDBC 接続の記述 ................................................................................ A-8

ERP サービスに対する Thin JDBC 接続の記述 ................................................................................. A-8

サービスに対するリスナー構成 ................................................................................................................... A-8サンプル listener.ora のエントリ ......................................................................................................... A-9

iii

サンプル・リモート・リスナーのエントリ ....................................................................................... A-9

Oracle インスタンスのパラメータ ...................................................................................................... A-9ワークロード管理のための手動構成ワークロード管理のための手動構成ワークロード管理のための手動構成ワークロード管理のための手動構成 ................................................................................................................ A-10

手順 1 サービスの優先順位の追加 ......................................................................................................... A-10

手順 2 ジョブ・クラスの追加 ................................................................................................................. A-11

手順 3 サービス・パフォーマンスのしきい値の追加 ......................................................................... A-12

手順 4 サービス、モジュールおよびアクション監視の有効化 ......................................................... A-13

ジョブ・スケジューラでのサービスの使用方法 .................................................................................... A-14高速アプリケーション通知機能のためのコールアウトの使用方法高速アプリケーション通知機能のためのコールアウトの使用方法高速アプリケーション通知機能のためのコールアウトの使用方法高速アプリケーション通知機能のためのコールアウトの使用方法 ............................................................ A-14JDBC 高速アプリケーション通知の構成高速アプリケーション通知の構成高速アプリケーション通知の構成高速アプリケーション通知の構成 ........................................................................................................ A-17

JDBC クライアント・サイドの構成 ......................................................................................................... A-17

RAC の高可用性サーバー・サイドの構成 .............................................................................................. A-18手順 1 ONS デーモンの構成 ........................................................................................................... A-18

手順 2 ONS デーモンの実行の確認 ............................................................................................... A-18共有 Oracle ホームの使用 .................................................................................................................. A-18Real Application Clusters でのシャドウ事前接続サービスのイベント ..................................... A-19

高可用性コールアウトおよび Oracle 通知イベント ...................................................................... A-20

索引索引索引索引

iv

はじめにはじめにはじめにはじめに

このマニュアルでは、Oracle Real Application Clusters(RAC)10g データベース上でアプリケーションを実装する際の配置に関する考慮事項について説明します。また、配置後にRAC データベースのパフォーマンスを監視するための情報についても説明します。ここでは、次の内容について説明します。

� 対象読者

� このマニュアルの構成

� 関連ドキュメント

� 表記規則

v

対象読者対象読者対象読者対象読者このマニュアルは、次のタスクを実行するデータベース管理者を対象としています。

� RAC データベースでのアプリケーションの計画および配置

� RAC データベースのパフォーマンスの監視

シングル・インスタンスの Oracle データベースの配置とパフォーマンスのすべての方法論は、RAC にも適用されます。したがって、『Oracle Database パフォーマンス・チューニング・ガイド』および『Oracle データ・ウェアハウス・ガイド』の内容についてもよく理解している必要があります。

このマニュアルの構成このマニュアルの構成このマニュアルの構成このマニュアルの構成

第第第第 1 章「配置およびパフォーマンスの概要」章「配置およびパフォーマンスの概要」章「配置およびパフォーマンスの概要」章「配置およびパフォーマンスの概要」

この章では、RAC データベース上にアプリケーションを配置する際の考慮事項および RACの高可用性パフォーマンス機能を活用する場合の留意点について説明します。

第第第第 2 章「設計および配置方法」章「設計および配置方法」章「設計および配置方法」章「設計および配置方法」

この章では、シングル・インスタンスの Oracle データベースの配置方法の他に必要となる、RAC 環境用のデータベースの配置方法について説明します。

第第第第 3 章「パフォーマンスの監視」章「パフォーマンスの監視」章「パフォーマンスの監視」章「パフォーマンスの監視」

この章では、RAC のパフォーマンスの監視に関する一般的な推奨事項について説明します。

第第第第 4 章「章「章「章「Oracle Enterprise Manager によるパフォーマンスの監視」によるパフォーマンスの監視」によるパフォーマンスの監視」によるパフォーマンスの監視」

この章では、Oracle Enterprise Manager を使用した RAC 固有のパフォーマンス監視機能について説明します。

第第第第 5 章「アプリケーション固有の配置」章「アプリケーション固有の配置」章「アプリケーション固有の配置」章「アプリケーション固有の配置」

この章では、RAC 環境でのオンライン・トランザクション処理(OLTP)、データ・ウェアハウスおよび汎用(ハイブリッド)アプリケーションの配置について説明します。

付録付録付録付録 A「サービスの配置例」「サービスの配置例」「サービスの配置例」「サービスの配置例」

この付録では、高可用性およびワークロード管理のためのサービスの構成例を示します。

vi

関連ドキュメント関連ドキュメント関連ドキュメント関連ドキュメント詳細は、次の Oracle ドキュメントを参照してください。

� 『Oracle Real Application Clusters インストレーションおよび構成』

� 『Oracle Real Application Clusters クイック・インストレーション・ガイド for Oracle Database Standard Edition for Microsoft Windows』

� 『Oracle Real Application Clusters 管理』

� 『Oracle Enterprise Manager 概要』

� 『Oracle Database パフォーマンス・チューニング・ガイド』

� 『Oracle データ・ウェアハウス・ガイド』

� 『Oracle Database 概要』

� 『Oracle Net Services 管理者ガイド』

� 『Oracle Database 新機能』

� 『Oracle Database リファレンス』

� 『Oracle Database プラットフォーム・ガイド』

次のマニュアルは、Oracle 製品 CD-ROM に含まれています。

� 『Oracle Real Application Clusters インストレーションおよび構成』

� 『Oracle Real Application Clusters クイック・インストレーション・ガイド for Oracle Database Standard Edition for Microsoft Windows』

� 『Oracle Enterprise Manager Grid Control インストレーションおよび基本構成』

� 『Oracle Database for UNIX Systems 管理者リファレンス』

リリース・ノート、インストール関連ドキュメント、ホワイト・ペーパーまたはその他の関連ドキュメントは、OTN-J(Oracle Technology Network Japan)から、無償でダウンロードできます。OTN-J を使用するには、オンラインでの登録が必要です。登録は、次の Web サイトから無償で行えます。

http://otn.oracle.co.jp/membership/

すでに OTN-J のユーザー名およびパスワードを取得している場合は、次の URL で OTN-J Web サイトのドキュメントのセクションに直接接続できます。

http://otn.oracle.co.jp/document/

vii

表記規則表記規則表記規則表記規則この項では、このマニュアルの本文およびコード例で使用される表記規則について説明します。この項の内容は次のとおりです。

� 本文の表記規則

� コード例の表記規則

本文の表記規則本文の表記規則本文の表記規則本文の表記規則

本文では、特定の項目が一目でわかるように、次の表記規則を使用します。次の表に、その規則と使用例を示します。

規則規則規則規則 意味意味意味意味 例例例例

太字太字太字太字 太字は、本文中で定義されている用語および用語集に記載されている用語を示します。

この句を指定すると、索引構成表索引構成表索引構成表索引構成表が作成されます。

固定幅フォントの大文字

固定幅フォントの大文字は、システム指定の要素を示します。このような要素には、パラメータ、権限、データ型、Recovery Managerキーワード、SQL キーワード、SQL*Plus またはユーティリティ・コマンド、パッケージおよびメソッドがあります。また、システム指定の列名、データベース・オブジェクト、データベース構造、ユーザー名およびロールも含まれます。

NUMBER列に対してのみ、この句を指定できま

す。

BACKUPコマンドを使用して、データベースの

バックアップを作成できます。

USER_TABLESデータ・ディクショナリ・ビュー

内の TABLE_NAME列を問い合せます。

DBMS_STATS.GENERATE_STATSプロシージャ

を使用します。

固定幅フォントの小文字

固定幅フォントの小文字は、実行可能ファイル、ファイル名、ディレクトリ名およびユーザーが指定する要素のサンプルを示します。このような要素には、コンピュータ名およびデータベース名、ネット・サービス名および接続識別子があります。また、ユーザーが指定するデータベース・オブジェクトとデータベース構造、列名、パッケージとクラス、ユーザー名とロール、プログラム・ユニットおよびパラメータ値も含まれます。

注意注意注意注意 : プログラム要素には、大文字と小文字

を組み合せて使用するものもあります。これらの要素は、記載されているとおりに入力してください。

sqlplusと入力して、SQL*Plus をオープンし

ます。

パスワードは、orapwdファイルで指定します。

/disk1/oracle/dbsディレクトリ内のデー

タ・ファイルおよび制御ファイルのバックアップを作成します。

hr.departments表には、department_id、department_nameおよび location_id列が

あります。

QUERY_REWRITE_ENABLED初期化パラメータを

trueに設定します。

oeユーザーとして接続します。

JRepUtilクラスが次のメソッドを実装します。

viii

コード例の表記規則コード例の表記規則コード例の表記規則コード例の表記規則

コード例は、SQL、PL/SQL、SQL*Plus または他のコマンドライン文の例です。固定幅フォントで表示され、通常のテキストと区別されます。

SELECT username FROM dba_users WHERE username = 'MIGRATE';

次の表に、コード例で使用される表記規則とその使用例を示します。

固定幅フォントの小文字のイタリック

固定幅フォントの小文字のイタリックは、プレースホルダまたは変数を示します。

parallel_clauseを指定できます。

old_release.SQLを実行します。ここで、

old_releaseとはアップグレード前にインス

トールしたリリースを示します。

規則規則規則規則 意味意味意味意味 例例例例

[ ] 大カッコは、カッコ内の項目を任意に選択することを表します。大カッコは、入力しないでください。

DECIMAL (digits [ , precision ])

{ } 中カッコは、カッコ内の項目のうち、1 つが

必須であることを表します。中カッコは、入力しないでください。

{ENABLE | DISABLE}

| 縦線は、大カッコまたは中カッコ内の複数の選択項目の区切りに使用します。項目のうちの 1 つを入力します。縦線は、入力しないで

ください。

{ENABLE | DISABLE}[COMPRESS | NOCOMPRESS]

... 水平の省略記号は、次のいずれかを示します。

� 例に直接関連しないコードの一部が省略されている。

� コードの一部を繰り返すことができる。

CREATE TABLE ... AS subquery;

SELECT col1, col2, ... , coln FROM employees;

. . .

垂直の省略記号は、例に直接関連しない複数の行が省略されていることを示します。

SQL> SELECT NAME FROM V$DATAFILE;NAME------------------------------------/fsl/dbs/tbs_01.dbf/fs1/dbs/tbs_02.dbf.../fsl/dbs/tbs_09.dbf9 rows selected.

規則規則規則規則 意味意味意味意味 例例例例

ix

その他の記号 大カッコ、中カッコ、縦線および省略記号以外の記号は、記載されているとおりに入力する必要があります。

acctbal NUMBER(11,2);acct CONSTANT NUMBER(4) := 3;

イタリック体 イタリック体は、特定の値を指定する必要があるプレースホルダや変数を示します。

CONNECT SYSTEM/system_passwordDB_NAME = database_name

大文字 大文字は、システム指定の要素を示します。これらの要素は、ユーザー定義の要素と区別するために大文字で示されます。大カッコ内にないかぎり、表示されているとおりの順序および綴りで入力します。ただし、大 / 小文

字が区別されないため、小文字でも入力できます。

SELECT last_name, employee_id FROM employees;SELECT * FROM USER_TABLES;DROP TABLE hr.employees;

小文字 小文字は、ユーザー指定のプログラム要素を示します。たとえば、表名、列名またはファイル名などです。

注意注意注意注意 : プログラム要素には、大文字と小文字

を組み合せて使用するものもあります。これらの要素は、記載されているとおりに入力してください。

SELECT last_name, employee_id FROM employees;sqlplus hr/hr

CREATE USER mjones IDENTIFIED BY ty3MU9;

規則規則規則規則 意味意味意味意味 例例例例

x

配置およびパフォーマンスに関する新機能配置およびパフォーマンスに関する新機能配置およびパフォーマンスに関する新機能配置およびパフォーマンスに関する新機能

次の項では、このリリースの Oracle Real Application Clusters(RAC)の配置およびパフォーマンスに関する新機能について説明します。

� Oracle Database 10g で導入された RAC の配置およびパフォーマンスに関する新機能

関連項目関連項目関連項目関連項目 : Oracle Database 10g で導入された新機能の詳細は、『Oracle Database 新機能』を参照してください。

xi

Oracle Database 10g で導入されたで導入されたで導入されたで導入された RAC の配置およびパフォーマの配置およびパフォーマの配置およびパフォーマの配置およびパフォーマンスに関する新機能ンスに関する新機能ンスに関する新機能ンスに関する新機能

� サービスおよび自動ワークロード管理

アプリケーションのワークロードは、サービスを個別に管理および制御できるようにサービスとして定義できます。個別のアプリケーションまたは複合アプリケーションの主要なコンポーネントのサービスを作成できます。作成後、そのサービスを実行する時期と場所を定義できます。データベース全体のワークロードは、個別に管理できるいくつかのサービスに分割できます。これにより、様々なタスクで個々のユーザーまたはセッションを管理する負荷が軽減されます。

� Cluster Ready Services

Oracle Real Application Clusters(RAC)10g は、すべての Oracle Database 10g プラットフォームを対象とした完全な統合クラスタウェア管理ソリューションを導入しています。このクラスタウェアは、Cluster Ready Services(CRS)と呼ばれ、ほとんどのプラットフォーム上のサード・パーティ製クラスタウェアにかわるものです。

CRS では、RAC におけるサービスのプラットフォームも提供されるため、サービスを使用してクラスタの処理リソースの能力を 大限に活用することができます。各サービスは、インスタンスの処理要件に応じて、通常の起動に使用する 1 つ以上のインスタンス(優先インスタンス)に割り当てることができます。サービスに割り当てられた(優先)インスタンスのいずれかが使用できなくなった場合に使用する、1 つ以上の代替

(使用可能)インスタンスを定義することもできます。

� RAC 環境向け Oracle Enterprise Manager の拡張

Database Configuration Assistant(DBCA)によって Oracle Enterprise Manager Database Control がインストールおよび構成され、インスタンス・ターゲット、リスナー・ターゲット、ホスト・ターゲットおよびクラスタ・ターゲットを含む RAC の管理が可能になります。また、クラスタ内外の他のマシンに Enterprise Manager をインストールし、Oracle Enterprise Manager Grid Control を使用できます。Enterprise Manager Grid Control によって、複数の RAC データベースおよびクラスタ・ターゲットの管理が可能になります。

関連項目関連項目関連項目関連項目 : RAC 10g の CRS およびサービスの詳細は、第 1 章「配置およびパフォーマンスの概要」を参照してください。

関連項目関連項目関連項目関連項目 : 詳細は、第 4 章「Oracle Enterprise Manager によるパフォーマンスの監視」を参照してください。

xii

配置およびパフォーマンスの

1

配置およびパフォーマンスの概要配置およびパフォーマンスの概要配置およびパフォーマンスの概要配置およびパフォーマンスの概要

この章では、Oracle Real Application Clusters(RAC)上にアプリケーションを配置する場合の留意点を説明し、RAC アプリケーションの配置およびパフォーマンスについて説明します。内容は次のとおりです。

� Real Application Clusters ドキュメントの概要

� Real Application Clusters でのアプリケーションの配置の概要

� Real Application Clusters での Oracle 機能の実装

概要 1-1

Real Application Clusters ドキュメントの概要

Real Application Clusters ドキュメントの概要ドキュメントの概要ドキュメントの概要ドキュメントの概要この項では、RAC のドキュメント・セットについて説明します。このマニュアルでは、Cluster Ready Services(CRS)、記憶域、データベース作成および RAC でのサービスの配置を簡単に説明し、主に RAC での配置に関する項目を中心に説明します。 このマニュアルの設計および配置に関する項目では、RAC におけるサービス・トポロジおよびワークロード管理について説明します。特にこのマニュアルでは、自動ワークロード・リポジトリによるサービス・レベルの追跡とレポートについて、およびサービス・レベルのしきい値とアラートを使用して、RAC 環境の高可用性を向上させる方法について説明します。また、このマニュアルの付録には、サービスの配置例も記載しています。この配置例を使用すると、RAC環境でのサービスの配置および管理の方法について詳しく理解できます。

このマニュアルでは、Oracle Enterprise Manager および Automated Workload Repositoryと Oracle パフォーマンス・ビューを使用して、RAC 環境でパフォーマンスを監視およびチューニングする方法について説明します。また、このマニュアルでは、オンライン・トランザクション処理およびデータ・ウェアハウス環境の場合の、アプリケーション固有のいくつかの配置方法についても説明します。このマニュアルの他にも、『Oracle Real Application Clusters 管理』および『Oracle Real Application Clusters インストレーションおよび構成』を参照してください。次の項では、各マニュアルについて説明します。

� 『Oracle Real Application Clusters 管理』

� 『Oracle Real Application Clusters インストレーションおよび構成』 および 『Oracle Real Application Clusters クイック・インストレーション・ガイド for Oracle Database Standard Edition for Microsoft Windows』

『『『『Oracle Real Application Clusters 管理』管理』管理』管理』『Oracle Real Application Clusters 管理』では、RAC 固有の管理情報について説明しています。 『Oracle Real Application Clusters 管理』で説明する項目には、RAC 環境での Oracle Enterprise Manager の使用についても含まれています。また、サービスと記憶域の管理方法、および RAC 環境でインスタンスやノードを追加および削除する RAC のスケーラビリティ機能の使用方法について説明しています。さらに、Recovery Manager(RMAN)の使用方法および RAC でのバックアップとリカバリの実行方法についても説明しています。

『Oracle Real Application Clusters 管理』では、Server Control(SRVCTL)ユーティリティを使用した、データベースおよびインスタンスの起動と停止、構成情報の管理、インスタンスおよびサービスの削除と移動の方法についても説明しています。 また、その付録を使用して、様々な RAC ツールのエラーおよび情報メッセージを解決することもできます。トラブルシューティングに関する項では、RAC 固有の様々なログ・ファイルの内容の解釈方法について説明しています。

1-2 Oracle Real Application Clusters 配置およびパフォーマンス

Real Application Clusters でのアプリケーションの配置の概要

『『『『Oracle Real Application Clusters インストレーションおよび構成』インストレーションおよび構成』インストレーションおよび構成』インストレーションおよび構成』 およびおよびおよびおよび 『『『『Oracle Real Application Clusters クイック・インストレーション・ガイドクイック・インストレーション・ガイドクイック・インストレーション・ガイドクイック・インストレーション・ガイド for

Oracle Database Standard Edition for Microsoft Windows』』』』『Oracle Real Application Clusters インストレーションおよび構成』には、RAC が動作するすべての UNIX ベースのプラットフォームおよび Windows ベースのプラットフォームにおけるインストール前、インストール時およびインストール後の情報が記載されています。Oracle Database 10g Standard Edition と RAC を Windows ベースのシステムにインストールしている場合は、『Oracle Real Application Clusters クイック・インストレーション・ガイド for Oracle Database Standard Edition for Microsoft Windows』を参照してください。

Real Application Clusters でのアプリケーションの配置の概要でのアプリケーションの配置の概要でのアプリケーションの配置の概要でのアプリケーションの配置の概要RAC にアプリケーションを 適に配置するための留意点は、次のとおりです。

� RAC データ・ファイルの記憶域は、共有記憶域にする必要があります。RAC をインストールする際は、クラスタ・ファイル・システムをデータ・ファイル記憶域として使用します(使用可能な場合)。

� Database Configuration Assistant(DBCA)を使用してデータベースを作成します。

� DBCA を使用してユーザー固有の環境に対応するサービスを定義し、Oracle Enterprise Manager および Server Control(SRVCTL)ユーティリティを使用して、定義したサービスを管理します。

� サーバー・パラメータ・ファイル(SPFILE)を使用します。SPFILE は、クラスタ・ファイル・システムのファイルまたは共有 RAW デバイスに置く必要があります。

� 自動 UNDO 管理を使用します。

� 自動セグメント領域管理を使用します。

� Automatic Database Diagnostic Monitor(ADDM)を使用して、Oracle システムのチューニングに必要な負荷を軽減します。

注意注意注意注意 : 今回のリリースの追加情報は、Oracle Database 10g の READMEまたはリリース・ノートを参照してください。

関連項目関連項目関連項目関連項目 : Oracle Real Application Clusters 10g に対してこれらの機能を構成する方法の詳細は、『Oracle Real Application Clusters インストレーションおよび構成』を参照してください。

配置およびパフォーマンスの概要 1-3

Real Application Clusters での Oracle 機能の実装

Real Application Clusters でのでのでのでの Oracle 機能の実装機能の実装機能の実装機能の実装この項で説明する Oracle 機能により、RAC 環境のパフォーマンスが向上します。この項で説明する機能は次のとおりです。

� Real Application Clusters のクラスタ・ファイル・システム

� 記憶域管理機能および Real Application Clusters

� Oracle Database 10g のサービス

� Real Application Clusters での Cluster Ready Services および高可用性

� 追加の Oracle 高可用性機能およびソリューション

Real Application Clusters のクラスタ・ファイル・システムのクラスタ・ファイル・システムのクラスタ・ファイル・システムのクラスタ・ファイル・システムハードウェア・プラットフォームによっては、クラスタ・ファイル・システムに Oracleホームおよび Oracle データ・ファイルを格納できます。RAW デバイスに比べ、クラスタ・ファイル・システムの構成および管理は簡単です。さらに、スケーラブルで待機時間の短い、高リジリエンスの記憶域が提供されるため、コストが大幅に削減されます。

記憶域管理機能および記憶域管理機能および記憶域管理機能および記憶域管理機能および Real Application ClustersOracle 自動記憶域管理の高度な記憶域機能によって、シングル・インスタンスの Oracle と同様に、RAC の管理性が大幅に向上します。その他の記憶域機能には、Oracle Managed Files、自動セグメント領域管理および自動 UNDO 管理があります。記憶域管理機能の詳細は、Oracle データベースのマニュアルを参照してください。

Oracle Database 10g のサービスのサービスのサービスのサービス Oracle Database 10g の場合、アプリケーションのワークロードは、サービスを個別に管理および制御できるようにサービスとして定義できます。個別のアプリケーションまたは複合アプリケーションの主要なコンポーネントのサービスを作成できます。作成後、そのサービスを実行する時期と場所を定義できます。データベース全体のワークロードは、個別に管理できるいくつかのサービスに分割できます。これにより、様々なタスクで個々のユーザーまたはセッションを管理する負荷が軽減されます。

関連項目関連項目関連項目関連項目 :

� 『Oracle Database 2 日でデータベース管理者』

� 『Oracle Database 管理者ガイド』

� 『Oracle Database アプリケーション開発者ガイド - オブジェクト・リレーショナル機能』

1-4 Oracle Real Application Clusters 配置およびパフォーマンス

Real Application Clusters での Oracle 機能の実装

RAC データベースでは、サービスを使用してクラスタの処理リソースの能力を 大限に活用することができます。各サービスは、インスタンスの処理要件に応じて、通常の起動に使用する 1 つ以上のインスタンス(優先インスタンス)に割り当てることができます。サービスに割り当てられた(優先)インスタンスのいずれかが使用できなくなった場合に使用する、1 つ以上の代替(使用可能)インスタンスを定義することもできます。

クラスタ環境および非クラスタ環境のいずれの場合も、自動ワークロード・リポジトリ(AWR)を使用して、各サービスのパフォーマンス・メトリックを追跡できます。パフォーマンス・メトリックのしきい値は、この値を超えた場合にアラートを自動的に生成するように設定できます。CPU の使用を制限するなど、リソース割当てをさらに詳細に制御するために、サービスをリソース・マネージャのコンシューマ・グループにマップできます。ジョブ・スケジューラ、パラレル問合せ、Oracle Streams Advanced Queuing など、その他のOracle ツール製品や機能も、それぞれのワークロードの管理にサービスを使用できます。

Real Application Clusters でのでのでのでの Cluster Ready Services および高可用性および高可用性および高可用性および高可用性この項で説明する高可用性機能は次のとおりです。

� Cluster Ready Services

� Cluster Ready Services および高可用性

Cluster Ready ServicesOracle Real Application Clusters 10g は、すべての Oracle Database 10g プラットフォームを対象とした完全な統合クラスタウェア管理ソリューションを導入しています。このクラスタウェア機能は、クラスタ・データベースの管理に必要なすべての機能(ノードのメンバーシップ、グループ・サービス、グローバル・リソース管理および高可用性機能)を提供します。

このクラスタウェア機能は、Cluster Ready Services(CRS)と呼ばれ、RAC のインストール・プロセスでインストールします。Oracle 10g サービスなどの Oracle データベース機能は、基盤となる CRS メカニズムを使用して提供されます。特定のプラットフォームについては、一部のサード・パーティ製クラスタウェア製品も引き続きサポートされます。

Cluster Ready Services および高可用性および高可用性および高可用性および高可用性高可用性を備えた構成には、シングル・ポイント障害を回避することにより操作を維持する冗長なハードウェアとソフトウェアが含まれています。障害が発生すると、障害コンポーネントが実行していた処理を、CRS がバックアップ・コンポーネントに再配置します。Oracleのリカバリ・プロセスは、リソースを早急に再マスター化し、トランザクションの一部や障害トランザクションをリカバリして、システムを迅速にリストアします。

配置およびパフォーマンスの概要 1-5

Real Application Clusters での Oracle 機能の実装

多くの Oracle 製品と機能を組み合せることで、信頼性の高いコンピューティング環境を構築できます。そのためには、容量と冗長性を計画する必要があります。さらに、システム全体のコストおよび投資効率も考慮する必要があります。また、適切なハードウェアの選択や、高可用性構成の一部であるアイドル状態のマシンを使用するかどうかの決定など、その他にも現実的な考慮点があります。

追加の追加の追加の追加の Oracle 高可用性機能およびソリューション高可用性機能およびソリューション高可用性機能およびソリューション高可用性機能およびソリューションこの項で説明する追加の高可用性ソリューションは次のとおりです。

� Real Application Clusters での接続時ロード・バランシング

� Real Application Clusters での Recovery Manager(RMAN)

� Data Guard

� 旧リリースのプライマリ / セカンダリ・インスタンス構成

Real Application Clusters での接続時ロード・バランシングでの接続時ロード・バランシングでの接続時ロード・バランシングでの接続時ロード・バランシング接続時ロード・バランシング機能は、アクティブ・インスタンス間で接続を自動的に分散させます。接続時ロード・バランシングでは、この分散をクラスタ内の各ノードおよびインスタンスのワークロードに基づいて行います。RAC とキャッシュ・フュージョンを接続時ロード・バランシングと組み合せることで、アプリケーションまたはデータをパーティション化せずに、すべての種類のアプリケーションを実行できます。

Real Application Clusters でのでのでのでの Recovery Manager((((RMAN))))Recovery Manager(RMAN)は Oracle ツール製品の 1 つです。Recovery Manager を使用すると、データ・ファイル、制御ファイル、SPFILE およびアーカイブ REDO ログをバックアップ、コピー、リストアおよびリカバリできます。Recovery Manager は、コマンドライン・ユーティリティとして起動するか、Oracle Enterprise Manager で使用できます。

Recovery Manager は、すべてのインスタンスがクラスタ・データベース内のすべてのアーカイブ・ログ・スレッドにアクセスできるように構成することをお薦めします。メディア・リカバリの場合、リカバリを行うインスタンスは、すべてのアーカイブ REDO ログ・スレッドにアクセスする必要があります。そのため、リカバリを行うインスタンスが、クラスタ・データベース内のすべてのインスタンスからのアーカイブ・ログ・スレッドのローカル・コピーにアクセスできるようにし、メディア・リカバリの管理を簡単にします。

関連項目関連項目関連項目関連項目 : Real Application Clusters で Recovery Manager を使用するように構成する方法は、『Oracle Real Application Clusters 管理』を参照してください。また、Recovery Manager の詳細は、『Oracle Database バックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』を参照してください。

1-6 Oracle Real Application Clusters 配置およびパフォーマンス

Real Application Clusters での Oracle 機能の実装

Data GuardOracle Data Guard はスタンバイ・データベースとともに機能し、データベース破壊の原因となるエラー、障害および破損からデータを保護します。Data Guard は、スタンバイ・データベース環境での作成、管理および監視を自動化して、重要なデータを保護します。また、Oracle Data Guard によって、トランザクション上一貫した Oracle データベースのコピーを、本番データベースの損害または破損からリカバリして保持するための手動処理が自動化されます。

旧リリースのプライマリ旧リリースのプライマリ旧リリースのプライマリ旧リリースのプライマリ / セカンダリ・インスタンス構成セカンダリ・インスタンス構成セカンダリ・インスタンス構成セカンダリ・インスタンス構成Oracle 10g より前のリリースのプライマリ / セカンダリ・インスタンス構成をアップグレードする場合は、Database Upgrade Assistant(DBUA)によって、優先インスタンスおよび使用可能なインスタンスを 1 つずつ持つサービスがデータベース上に作成されます。

配置およびパフォーマンスの概要 1-7

Real Application Clusters での Oracle 機能の実装

1-8 Oracle Real Application Clusters 配置およびパフォーマンス

設計および配置

2

設計および配置方法設計および配置方法設計および配置方法設計および配置方法

この章では、Oracle Real Application Clusters(RAC)環境でのデータベースの設計および配置方法について簡単に説明します。配置サービス、RAC 内部での Cluster Ready Services

(CRS)によるサービスの管理方法など、一般的な高可用性項目についても説明します。内容は次のとおりです。

� 高可用性を実現するためのサービス構成に関する推奨事項

� Real Application Clusters でのデータベースの一般的な配置

方法 2-1

高可用性を実現するためのサービス構成に関する推奨事項

高可用性を実現するためのサービス構成に関する推奨事項高可用性を実現するためのサービス構成に関する推奨事項高可用性を実現するためのサービス構成に関する推奨事項高可用性を実現するためのサービス構成に関する推奨事項この項では、高可用性を実現するためのサービス構成に関する次の推奨事項について説明します。

� Real Application Clusters 環境におけるサービス・トポロジおよびワークロード管理

� 推奨される Oracle Real Application Clusters のサービス構成

� 自動ワークロード・リポジトリ

� サービス・レベルおよびしきい値の設定

Real Application Clusters 環境におけるサービス・トポロジおよびワークロー環境におけるサービス・トポロジおよびワークロー環境におけるサービス・トポロジおよびワークロー環境におけるサービス・トポロジおよびワークロード管理ド管理ド管理ド管理

RAC では、サービスがワークロード管理の基盤となります。クライアントおよび中間層アプリケーションは、グローバル・サービス名を指定して接続要求を行います。RAC では、計画停止および計画外停止に対応して、インスタンス間でサービスを再割当てできます。そのため、サービスによって、RAC 環境の可用性およびスケーラビリティが大幅に向上します。

推奨される推奨される推奨される推奨される Oracle Real Application Clusters のサービス構成のサービス構成のサービス構成のサービス構成使用可能なノード全体でサービス割当てを均等に分散させるサービス構成をお薦めします。これにより、構成が単純になり 適な高可用性が得られます。また、サービスを不均等に構成する方法もあります。つまり、ワークロードを共有する構成と様々なトポロジの間には共通点があるといえます。

たとえば、CRM 用の優先インスタンスとして機能する 2 つのインスタンス A および B を持つ 5 ノード構成クラスタがあるとします。このクラスタは、AP 用の優先インスタンスとしてインスタンス C、D および E を持つことができます。AP 用の 1 つ以上の優先インスタンスが使用不可になった場合は、AP 用としてインスタンス A および B を使用可能なインスタンスにします。CRM 用の 1 つ以上の優先インスタンスが使用不可になった場合は、CRM 用としてインスタンス C、D および E を使用可能なインスタンスにします。

この構成によって、各サービスは、優先インスタンスおよび使用可能なリカバリ・インスタンスとして機能するインスタンス・グループを使用できます。停止後、クライアントは、同一グループ内の別のインスタンスで接続をリカバリします。

関連項目関連項目関連項目関連項目 : Enterprise Manager を使用したサービスの管理の詳細は、『Oracle Enterprise Manager 概要』を参照してください。

2-2 Oracle Real Application Clusters 配置およびパフォーマンス

高可用性を実現するためのサービス構成に関する推奨事項

この構成の場合、通常の動作時は、RAC によって、サービスのアプリケーション・セッションが個別のインスタンス・グループへ転送されます。優先インスタンスが使用不可になると、CRS によって、サービスを提供している残りの RAC インスタンス間に接続が再配置されます。

ワークロード管理構成では、サービスに基づいてアフィニティを透過的に保つことによって、 大の可用性とパフォーマンスが達成されます。1 つのドメインで発生した計画停止および計画外停止は、他のドメインから切り離すことができ、影響を受けたサービスは個別にリカバリまたはアップグレードされます。

自動ワークロード・リポジトリ自動ワークロード・リポジトリ自動ワークロード・リポジトリ自動ワークロード・リポジトリ自動ワークロード・リポジトリでは、サービス・レベルの統計がメトリックとして追跡されます。サーバーによって生成されるアラートは、特定のしきい値を超えたり、必要なしきい値に達しない場合、これらのメトリックに基づいて発行されます。アラートが発行された場合は、ジョブの優先順位の変更、オーバーロード状態になったプロセスの停止、サービス・レベルの要件の変更などを行って応答します。これによって、サービス・レベルを変更しても、サービスの可用性を引き続き維持できます。サービス・レベルは、他のサービスを基準とする優先順位を付けて構成できます。また、次の項目も構成できます。

� サービス品質の測定

� サービス品質の変更を監視するためのイベント通知およびアラート・メカニズム

� サービス品質の変更に応答するためのリカバリ例

自動ワークロード・リポジトリによって、CRS ワークロード管理フレームワークおよびリソース・マネージャにおけるパフォーマンス・データ表現の永続性とグローバル性が保証されます。この情報によって、Oracle はサービス別にジョブ・クラスをスケジュールしたり、コンシューマ・グループに優先順位を割り当てることができます。必要に応じて、PL/SQLプロシージャ DBMS_SERVICE.disconnect_session_by_service_nameを使用して、手動でワークロードを再度均等に分散させることができます。このプロシージャを使用すると、一連のセッションを切断し、サービスを続行することができます。

関連項目関連項目関連項目関連項目 : 自動ワークロード・リポジトリの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。Oracleパッケージの詳細は、『PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

設計および配置方法 2-3

Real Application Clusters でのデータベースの一般的な配置

サービス・レベルおよびしきい値の設定サービス・レベルおよびしきい値の設定サービス・レベルおよびしきい値の設定サービス・レベルおよびしきい値の設定Enterprise Manager およびローカル・リスナーは、サービス・レベルの変更を示すイベントをサブスクライブします。サービス・レベルのメトリックのしきい値の設定には、Enterprise Manager または Oracle が提供するパッケージを使用できます。

メトリックの履歴値は、V$SERVICEMETRIC_HISTORYビューで調べることができます。アプリケーション・レベルからのサービスの情報は、V$SESSIONビューおよび V$SQLビューで取得できます。サービス・レベル、すなわちしきい値はベースラインとなる動作レベルで、イベントはこれらのベースラインに対する違反を示します。リソース消費などのタイミングは、GV$SVCMETRICで確認できます。どのインスタンスでどのサービスが実行中かを識別するには、V$ACTIVE_SERVICESビューおよび GV$ACTIVE_SERVICESビューを使用します。

Cluster Ready Services によるサービス再配置の管理によるサービス再配置の管理によるサービス再配置の管理によるサービス再配置の管理 計画停止または障害によってインスタンスがオフラインになると、CRS は使用可能な別のインスタンスにサービスを再配置します。CRS は、サービスを再配置した後、サービスを中断することなく接続を再確立します。これは、基盤となるサービス・コンポーネントが再配置可能であるかぎり実行されます。

Real Application Clusters でのデータベースの一般的な配置でのデータベースの一般的な配置でのデータベースの一般的な配置でのデータベースの一般的な配置この項では、RAC に対してデータベースを配置する際に考慮する事項を説明します。ここで説明する方法を採用しない場合でも、RAC データベースのパフォーマンスが低下することはありません。効率的なシングル・インスタンス設計であれば、アプリケーションはRAC データベースで効率的に実行されます。

Real Application Clusters での表領域の使用での表領域の使用での表領域の使用での表領域の使用ローカル管理表領域の使用の他に、自動セグメント領域管理を使用して領域管理をさらに簡単にすることができます。自動セグメント領域管理では、挿入を行うためのブロックの各インスタンスのサブセット間にインスタンスのワークロードが分散されます。これによってブロック転送が 小限に抑えられるため、RAC パフォーマンスが向上します。自動 UNDO 管理を RAC 環境に配置するには、各インスタンスに固有の UNDO 表領域が必要です。

関連項目関連項目関連項目関連項目 : RAC 環境でのサービスの構成方法の詳細は、『Oracle Real Application Clusters 管理』を参照してください。

2-4 Oracle Real Application Clusters 配置およびパフォーマンス

Real Application Clusters でのデータベースの一般的な配置

Real Application Clusters でのオブジェクトの作成およびパフォーマンスでのオブジェクトの作成およびパフォーマンスでのオブジェクトの作成およびパフォーマンスでのオブジェクトの作成およびパフォーマンス 原則として、DDL 文の使用はメンテナンス・タスクのみに限定し、システム操作のピーク時には実行しないようにします。ほとんどのシステムでは、新しいオブジェクトの生成量とその他の DDL 文に対する制限が必要です。シングル・インスタンスの Oracle データベースの場合と同様に、オブジェクトの作成と削除が多くなるとパフォーマンスのオーバーヘッドが増加する可能性があります。

Real Application Clusters でのノードの追加と削除およびでのノードの追加と削除およびでのノードの追加と削除およびでのノードの追加と削除および SYSAUX 表領域表領域表領域表領域RAC データベース環境にノードを追加する場合は、SYSAUX表領域のサイズを大きくする必要があります。また、クラスタ・データベースのノードを削除する場合は、SYSAUX表領域のサイズを小さくできる場合もあります。

分散トランザクションおよび分散トランザクションおよび分散トランザクションおよび分散トランザクションおよび Oracle Real Application ClustersOracle RAC データベース・インスタンスでトランザクションを開始する場合、そのトランザクションのすべての操作は同じインスタンスで完了する必要があります。これは、X/Open XA 分散トランザクション処理などのプロトコル(Microsoft Distributed Transaction Coordinator(DTC))を使用した分散トランザクション環境でも同様です。

いずれの場合でも、Oracle RAC データベースで実行している分散トランザクションのすべてのブランチは同じインスタンスで実行される必要があります。異なるインスタンスで異なるブランチを実行すると、2 フェーズ・コミット・プロトコルでのデッドロックまたは問題の原因となります。Oracle RAC データベースへの複数の接続にわたりロード・バランスを実行するアプリケーション層の接続プール機能では、各トランザクションのすべての操作を1 つの Oracle RAC データベース・インスタンス上で実行する必要があります。

関連項目関連項目関連項目関連項目 : 複数のインスタンスに対する SYSAUX表領域のサイズの設定方法については、『Oracle Real Application Clusters インストレーションおよび構成』を参照してください。

関連項目関連項目関連項目関連項目 : Real Application Clusters での分散トランザクションの詳細は、『Oracle Database アプリケーション開発者ガイド - 基礎編』を参照してください。

設計および配置方法 2-5

Real Application Clusters でのデータベースの一般的な配置

2-6 Oracle Real Application Clusters 配置およびパフォーマンス

パフォーマンスの

3

パフォーマンスの監視パフォーマンスの監視パフォーマンスの監視パフォーマンスの監視

この章では、Oracle Real Application Clusters(RAC)のパフォーマンスの監視方法について説明します。内容は次のとおりです。

� Real Application Clusters データベースの監視の概要

� Real Application Clusters のパフォーマンス・ビュー

� Real Application Clusters のパフォーマンス統計

� Real Application Clusters 環境における自動ワークロード・リポジトリ

� RAC 統計およびイベントの監視

関連項目関連項目関連項目関連項目 : Oracle Enterprise Manager を使用した Real Application Clusters のパフォーマンス監視方法については、第 4 章「Oracle Enterprise Manager によるパフォーマンスの監視」を参照してください。

監視 3-1

Real Application Clusters データベースの監視の概要

Real Application Clusters データベースの監視の概要データベースの監視の概要データベースの監視の概要データベースの監視の概要シングル・インスタンスの Oracle データベースのすべてのチューニング方法は、RAC データベースで実行されるアプリケーションに適用されるため、したがって、『Oracle Databaseパフォーマンス・チューニング・ガイド』に従って、シングル・インスタンスのチューニング方法論を実装してください。

Real Application Clusters のインターコネクト設定の検証のインターコネクト設定の検証のインターコネクト設定の検証のインターコネクト設定の検証 インターコネクトとノード間通信のプロトコルは、キャッシュ・フュージョンのパフォーマンスに影響を与える場合があります。さらに、インターコネクトの帯域幅、その待機時間および IPC プロトコルの効率によって、キャッシュ・フュージョンがブロック転送を処理する速度が決まります。

インターコネクト処理への影響インターコネクト処理への影響インターコネクト処理への影響インターコネクト処理への影響一度インターコネクトが動作可能になると、インターコネクトのパフォーマンスを大きく変更することはできません。ただし、IPC のバッファ・サイズを調整することで、インターコネクト・プロトコルの効率を変更できます。

ほとんどの場合、CLUSTER_INTERCONNECTSパラメータを設定する必要はありませんが、次の例に示すように、このパラメータを使用すると、プライベート・ネットワーク IP アドレスまたは NIC を割り当てることができます。

CLUSTER_INTERCONNECTS=10.0.0.1

オペレーティング・システム固有のベンダー IPC プロトコルを使用している場合は、トレース情報から IP アドレスが判明しない場合があります。ただし、Oracle では、ベンダー固有の IPC ライブラリの使用に基づいて正しいネットワーク・インタフェースを使用します。

関連項目関連項目関連項目関連項目 : IPC バッファ・サイズの調整の詳細は、ベンダー固有のインターコネクトのドキュメントを参照してください。

注意注意注意注意 : 『Oracle Real Application Clusters 管理』で説明する oifcfgコマンドを使用しても、プライベート・ネットワーク IP アドレスまたはプライベート IP アドレスを割り当てることができます。

3-2 Oracle Real Application Clusters 配置およびパフォーマンス

Real Application Clusters のパフォーマンス統計

Real Application Clusters のパフォーマンス・ビューのパフォーマンス・ビューのパフォーマンス・ビューのパフォーマンス・ビュー各インスタンスには、それぞれ一連のインスタンス固有のビューがあります。グローバル動的パフォーマンス・ビューに問い合せて、すべてのインスタンスからパフォーマンス情報を取り出すことができます。グローバル動的パフォーマンス・ビュー名には、GV$ という接頭辞が付きます。グローバル・ビューには、各インスタンス固有のビューのすべての列が含まれます。また、INST_ID列も含まれます。各インスタンスのアーカイブ REDO ログに固有の識別子を作成するために、アーカイブ REDO ログ・スレッドの名前にもインスタンス番号が追加されます。

CATCLUST.SQL によるによるによるによる Real Application Clusters のデータ・ディクショのデータ・ディクショのデータ・ディクショのデータ・ディクショナリ・ビューの作成ナリ・ビューの作成ナリ・ビューの作成ナリ・ビューの作成

RAC データベースの作成に Database Configuration Assistant(DBCA)を使用しなかった場合は、CATCLUST.SQLスクリプトを実行して RAC 関連のビューと表を作成する必要があります。このスクリプトの実行には、SYSDBA権限が必要です。

Real Application Clusters のパフォーマンス統計のパフォーマンス統計のパフォーマンス統計のパフォーマンス統計この項では、V$ ビューと GV$ ビューの概要を説明します。この 2 つのビューからは、クラスタ内のブロック転送の評価に使用できる統計が得られます。これらの統計を使用して、インターコネクトのブロック転送率や RAC データベース全体のパフォーマンスを分析します。

Real Application Clusters 統計の内容統計の内容統計の内容統計の内容RAC 固有の統計は、メッセージ要求カウンタまたは定期的な統計として表示されます。メッセージ要求カウンタには、特定のタイプのブロック・モード変換の数を示す統計が含まれます。定期的な統計は、特定のタイプの操作での読取りおよび書込み I/O に対する、合計または平均の待機時間を示します。

関連項目関連項目関連項目関連項目 : GV$ ビューの制限事項、および関連するパラメータとビューの詳細は、『Oracle Database リファレンス』を参照してください。

関連項目関連項目関連項目関連項目 : RAC データベースの作成方法の詳細は、『Oracle Real Application Clusters インストレーションおよび構成』を参照してください。

パフォーマンスの監視 3-3

Real Application Clusters 環境における自動ワークロード・リポジトリ

Real Application Clusters 環境における自動ワークロード・リポ環境における自動ワークロード・リポ環境における自動ワークロード・リポ環境における自動ワークロード・リポジトリジトリジトリジトリ

RAC 環境では、自動ワークロード・リポジトリ(AWR)の各スナップショットが、クラスタ内のすべてのアクティブ・インスタンスからのデータを取り込みます。各スナップショット・セットのデータは、すべてのアクティブ・インスタンスで同一時点で取り込まれたものです。各インスタンスのデータは個別に格納され、インスタンス識別子によって識別されます。たとえば、buffer_busy_waitという統計は、各インスタンスについての buffer waits 数を示します。AWR には、クラスタ全体から集約されたデータは格納されません。データはインスタンスごとに格納されます。

RAC 統計およびイベントの監視統計およびイベントの監視統計およびイベントの監視統計およびイベントの監視この項では、RAC 固有の待機イベントおよび統計を説明します。また、自動ワークロード・リポジトリ、Statspack または動的パフォーマンス・ビューの非定型問合せによって生成されたパフォーマンス・データにアクセスする場合の、待機イベントおよび統計の解析方法も説明します。

AWR およびおよびおよびおよび Statspack レポートでのレポートでのレポートでのレポートでの RAC 統計およびイベント統計およびイベント統計およびイベント統計およびイベントAWR および Statspack によって生成された統計スナップショットは、サマリー・データ(定期的な統計に基づくロード・プロファイルおよびクラスタ・プロファイル、インスタンスごとに収集された待機イベントなど)を表示するレポートを作成して評価します。

ほとんどの関連データは、「RAC Statistics」ページに集約されます。集約される情報は、次のとおりです。

� グローバル・キャッシュのロード・プロファイル

� グローバル・キャッシュの効率(パーセント)— ワークロード特性

� グローバル・キャッシュおよびエンキュー・サービス(GES)— メッセージ機能の統計

レポートの後半には、次の追加の RAC 関連セクションが表示されます。

� グローバル・エンキュー統計

� グローバル CR 統計

� 実行済のグローバル・カレント統計

� グローバル・キャッシュの送信統計

関連項目関連項目関連項目関連項目 : 待機イベントの分析の詳細は、『Oracle Database パフォーマンス・チューニング・ガイド』を参照してください。Statspack ユーティリティの詳細は、spdoc.txtファイルを参照してください。

3-4 Oracle Real Application Clusters 配置およびパフォーマンス

RAC 統計およびイベントの監視

RAC の待機イベントの待機イベントの待機イベントの待機イベント待機状態のセッションの分析および解析は、時間がかかっている場所を判別するための重要な手段です。RAC の場合、要求の結果を正確に反映するイベントにより待機時間が発生します。たとえば、インスタンスのセッションがグローバル・キャッシュ内のブロックを検索している場合、このセッションは、別のインスタンスがキャッシュしたデータを受け取るかどうか、ディスクから読み込むためのメッセージを受け取るかどうかは判別できません。グローバル・キャッシュに関する待機イベントは正確な情報を伝達し、グローバル・キャッシュのブロックまたはメッセージを待機中のイベントは次の状態になります。

� クラスタ待機クラスと呼ばれる広範囲のカテゴリに集約されます。

� ブロック待機中にアクティブになるプレースホルダ・イベントによって一時的に表されます。次に例を示します。

� gc current block request

� gc cr block request

� 要求の結果がわかっている場合は、正確なイベントを提供します。次に例を示します。

� gc current block 3-way

� gc current block busy

� gc cr block grant 2-way

つまり、RAC の待機イベントは、パフォーマンス分析にとって重要な情報を伝達します。これらのイベントは、キャッシュ・フュージョンの影響を正確に診断するために、Automatic Database Diagnostic Monitor(ADDM)で使用されます。

GCS 統計と統計と統計と統計と GES 統計の分析によるパフォーマンス監視統計の分析によるパフォーマンス監視統計の分析によるパフォーマンス監視統計の分析によるパフォーマンス監視インスタンス間のメッセージ交換および競合に関連する作業量およびコストを判断するために、次の項の説明に従って、ブロック転送率、各トランザクションで発生したリモート要求、グローバル・キャッシュ・イベントの待機数および待機時間を調べます。

� キャッシュ・フュージョンが Real Application Clusters に与える影響の分析

� GCS 統計と GES 統計を使用したパフォーマンス分析

パフォーマンスの監視 3-5

RAC 統計およびイベントの監視

キャッシュ・フュージョンがキャッシュ・フュージョンがキャッシュ・フュージョンがキャッシュ・フュージョンが Real Application Clusters に与える影響のに与える影響のに与える影響のに与える影響の分析分析分析分析グローバル・キャッシュ内のブロックへのアクセス、および一貫性を保持した場合の効果は、次の情報で示されます。

� gc current blocks received、gc cr blocks received などのカレント・ブロックおよび読込み一貫性ブロックについてのグローバル・キャッシュ・サービス統計

� gc current block 3-way、gc cr grant 2-way などのグローバル・キャッシュ・サービスの待機イベント

キャッシュ・フュージョンによる転送の応答時間は、物理的なインターコネクト・コンポーネント、IPC プロトコルおよび GCS プロトコルの制限が適用されるメッセージングおよび処理時間によって決まります。この応答時間は、不定期のログ書込み以外のディスク I/O 要因による影響は受けません。キャッシュ・フュージョン・プロトコルの場合は、キャッシュ一貫性を保証するためのデータ・ファイルへの I/O を行う必要はありません。基本的にRAC では、非クラスタ・インスタンスより多くのディスク I/O が発生しません。

GCS 統計と統計と統計と統計と GES 統計を使用したパフォーマンス分析統計を使用したパフォーマンス分析統計を使用したパフォーマンス分析統計を使用したパフォーマンス分析この項では、すべてのインスタンスでの使用頻度が高いホット・データ・ブロックおよびホット・オブジェクトを識別して、グローバル・キャッシュ・サービスのパフォーマンスを監視する方法を説明します。並行処理回数の多いブロックは、グローバル・キャッシュ・サービスの待機イベントおよび待機数によって特定できます。

次の待機イベントは、リモート・キャッシュまたはローカル・キャッシュがビジーなため、キャッシュ・データ・ブロックへのアクセスが保留状態であることを示します。

� gc current block busy

� gc current block 2-way busy

� gc current block 3-way busy

� gc cr block 2-way busy

� gc cr block 3-way busy

これらの待機イベントは、セッションによるブロックの確保や保留、またはリモート・インスタンス側のログ書込みによるブロック遅延(gc current、cr 2-way busy または cr 3-way busy など)が発生しているか、または同一インスタンス上のセッションが、インスタンス間を移動するブロックにアクセスしているため、現行のセッションが待機状態(gc current block busy など)になっていることを示します。

V$SESSION_WAITビューは競合するオブジェクトおよびデータ・ブロックを識別します。グローバル・キャッシュの待機イベントの P1 列および P2 列には、それぞれブロック要求のファイル番号およびブロック番号が指定されています。

3-6 Oracle Real Application Clusters 配置およびパフォーマンス

RAC 統計およびイベントの監視

前述の V$SESSION_WAIT への問合せなしで、「ビジー」オブジェクトを迅速に判別するために、セグメント統計 gc buffer busy が追加されています。

AWR インフラストラクチャは、アクティブ・セッション履歴のビューを提供します。このビューは、 近の待機イベントおよびその引数のトレースにも使用できます。そのため、ホット・ブロック分析に有効です。

AWR および Statspack で使用されるほとんどのレポート機能に、オブジェクト統計およびクラスタ待機クラスのカテゴリが含まれています。そのため、前述のビューのサンプリングが必要になることはほとんどありません。

AWR インフラストラクチャで収集されたスナップショット・データに対して ADDM を実行し、グローバル・キャッシュが与える影響の全体的な評価を取得することをお薦めします。この評価では、ビジー・オブジェクトおよび SQL での待機時間が も長いクラスタも特定されます。

GCS 統計を使用したキャッシュ・フュージョンによる転送の影響の分析統計を使用したキャッシュ・フュージョンによる転送の影響の分析統計を使用したキャッシュ・フュージョンによる転送の影響の分析統計を使用したキャッシュ・フュージョンによる転送の影響の分析この項では、読込みおよび変更頻度の高いオブジェクトおよびリモート・アクセスにより発生するサービス時間を識別して、グローバル・キャッシュ・サービスのパフォーマンスを監視する方法を説明します。ほとんどの場合、ディスク・アクセス待機時間よりもキャッシュ・フュージョンによる転送時間の方が短いという事実はあるものの、ディスクからの読取りによってブロック・アクセス遅延が増加する場合と同様に、ブロックの到着待ちが応答時間のほとんどを占める場合があります。

次の待機イベントは、ブロックの待機、確保またはログ・フラッシュなしでリモート・キャッシュ・ブロックがローカル・インスタンスへ送信されたことを示します。

� gc current block 2-way

� gc current block 3-way

� gc cr block 2-way

� gc cr block 3-way

gc current blocks received および gc cr blocks received についてのオブジェクト統計により、アクティブ・インスタンスで共有される索引および表が簡単に特定できます。前述のとおり、ほとんどの場合、ADDM による分析を行うと、インスタンス間の競合によって影響を受ける SQL 文およびデータベース・オブジェクトが特定されます。

注意注意注意注意 : ブロック競合およびセグメント・ブロックの待機に関連する統計を収集するには、Statspack をレベル 7 で実行する必要があります。

パフォーマンスの監視 3-7

RAC 統計およびイベントの監視

前述のイベントの平均待機時間を増加させる原因は、次のとおりです。

� 高負荷 : CPU の容量不足、長い実行キュー、スケジュールの遅延

� 設定の問題 : メッセージおよびブロック通信量にプライベート・インターコネクトではなくパブリック・インターコネクトを使用している

平均待機時間は適切で、インターコネクトまたは負荷には問題がないと診断された場合は、SQL 文が累計待機時間の原因になっている可能性があります。アクセスするブロック数を小にするために、SQL 文をチューニングする必要があります。

V$SQLAREAの CLUSTER_WAIT_TIME列は、グローバル・キャッシュ・イベントの個々のSQL 文によって発生する待機時間を表し、チューニングを必要とする SQL を特定します。

待機イベントに基づく応答時間の分析待機イベントに基づく応答時間の分析待機イベントに基づく応答時間の分析待機イベントに基づく応答時間の分析AWR および Statspack レポートまたは動的パフォーマンス・ビューに合計時間の高い値が示される場合でも、ほとんどのグローバル・キャッシュ待機イベントは正常です。通常は、これらのイベントがデータベースを長時間使用していることを示しており、実際には問題ありません。この項では、パフォーマンス・データを解析する際に注意が必要な、発生頻度の高い重要な待機イベントを説明します。

ユーザーの応答時間が長くなり、グローバル・キャッシュ(gc)での待機時間の比率が高い場合は、その原因を特定する必要があります。ほとんどのレポートには、合計時間に対する待機時間の割合の順で待機イベントが表示されます。

初に、定期的に収集されるパフォーマンス統計の影響と、待機時間のほとんどを占めるオブジェクトおよび SQL を特定する ADDM レポートを分析します。その後、AWR およびStatspack により生成される詳細なレポートを分析することをお薦めします。

RAC で も重要な待機イベントは、次のカテゴリに分類されます。

� ブロック指向型

� gc current block 2-way

� gc current block 3-way

� gc cr block 2-way

� gc cr block 3-way

� メッセージ指向型

� gc current grant 2-way

� gc cr grant 2-way

3-8 Oracle Real Application Clusters 配置およびパフォーマンス

RAC 統計およびイベントの監視

� 競合指向型

� gc current block busy

� gc cr block busy

� gc current buffer busy

� ロード指向型

� gc current block congested

� gc cr block congested

ブロック指向型待機イベント統計は、ブロックが 2 方向または 3 方向メッセージの結果として受信されたことを示します。つまり、1 メッセージおよび 1 転送を必要とするリソース・マスターから、ブロックが送信されたか、または 2 メッセージおよび 1 ブロック転送を必要とする別のノード(送信元)へブロックが転送されたことを示します。

これらのイベントは通常、ブロック競合が発生しないときに高い頻度で発生します。その待機時間は、物理ネットワーク上での処理に必要な時間、処理側インスタンスで要求を処理する時間、ブロック到着後に要求側インスタンスがウェイクアップ状態になるために必要な時間によって決まります。

これらの待機による影響が大きく、パフォーマンスに問題が発生するというアラートを受けた場合は、平均待機時間および合計待機時間を検討する必要があります。通常は、インターコネクトかロードの問題、または大きい共有作業セットに対して実行される SQL が根本的な原因と考えられます。

メッセージ指向型待機イベント統計は、インスタンスにブロックがキャッシュされなかったために、ブロックが受信されなかったことを示します。かわりに、要求側インスタンスがディスクからのブロックを読み取ったり、ブロックを変更できるグローバルな権限が付与されます。

これらのイベントの処理時間が長い場合は、実行頻度の高い SQL によるディスク I/O 回数の増加(cr grant の場合)、またはワークロードによって大量のデータが挿入されたため、頻繁に新しいブロックを検索しフォーマットする必要があると(current grant の場合)考えられます。

競合指向型待機イベント統計は、別のノードのセッションによって確保されたブロックが受信されたが、ディスクへの変更のフラッシュが完了していないため、または並列性が高いために保留され、すぐに送信できない状態になっていることを示します。セッションがキャッシュ・フュージョン操作をすでに開始している場合は、バッファは、ローカルでもビジーになる可能性があります。また、同一ノード上の別のセッションが、同一データの読取りまたは変更を行う場合、バッファはそれが完了するまで待機します。グローバル・キャッシュ内でやり取りされるブロックのサービス時間が長くなると、競合状態が悪化する可能性があります。これは、同一データに対して頻繁に行われる同時読取りおよび書込みアクセスが原因の可能性もあります。

パフォーマンスの監視 3-9

RAC 統計およびイベントの監視

ロード指向型待機イベントは、GCS で処理遅延が発生したことを示します。通常、その原因となるのは、高負荷、飽和状態の CPU です。この問題は、CPU の追加、ロード・バランシング、別のラウンドトリップ時間帯または新しいクラスタ・ノードへの処理のオフロード処理によって解決できます。前述のイベントについての待機時間には、セッションが開始し、ブロック要求開始後、ブロックの到着を待機するまでのラウンドトリップ全体が含まれます。

3-10 Oracle Real Application Clusters 配置およびパフォーマンス

Oracle Enterprise Manager に

4

Oracle Enterprise Manager によるによるによるによる

パフォーマンスの監視パフォーマンスの監視パフォーマンスの監視パフォーマンスの監視

この章では、Oracle Enterprise Manager を使用して Oracle Real Application Clusters(RAC)データベースのパフォーマンスを監視する方法を説明します。内容は次のとおりです。

� Real Application Clusters での Oracle Enterprise Manager の概要

� Real Application Clusters で使用する Enterprise Manager のパフォーマンス・ページ

� サービスの再配置および高可用性イベント

関連項目関連項目関連項目関連項目 : Enterprise Manager の詳細は『Oracle Enterprise Manager 概要』を、Enterprise Manager の使用方法の詳細は Enterprise Manager オンライン・ヘルプを参照してください。

よるパフォーマンスの監視 4-1

Real Application Clusters での Oracle Enterprise Manager の概要

Real Application Clusters でのでのでのでの Oracle Enterprise Manager の概要の概要の概要の概要Enterprise Manager を使用して、RAC データベースの現在と過去の可用性、パフォーマンス・メトリックおよび応答時間を表示できます。Enterprise Manager は、複数のクラスタ・データベースに対してこの情報を高水準で表示できます。個々のデータベースへの明示的なアクセスは不要です。

Enterprise Manager は、クラスタ、クラスタ・データベース、クラスタ・データベース・インスタンスなど、あらゆるレベルのクラスタ環境の監視をサポートします。また、Enterprise Manager は、RAC データベース全体のメトリックに応答し、しきい値を超えるとアラートを発行します。Enterprise Manager は、定義済メトリックとカスタマイズされたメトリックの両方を解釈します。さらに、カスタマイズされたメトリックを、クラスタ・データベース・インスタンス間または RAC データベース間でコピーできます。

また、Enterprise Manager では、パフォーマンス情報の表示およびデータベースのアラートの発行に、自動ワークロード・リポジトリから取得したデータも使用します。自動ワークロード・リポジトリによって収集された統計は、RAC データベースのすべてのインスタンスから集計されて、Enterprise Manager のサマリー・ページに表示されます。

Enterprise Manager は、次のパフォーマンス情報を提供します。

� Top Sessions(上位セッション): クラスタ・データベース・インスタンス・レベルでも多くの時間とリソースが必要なセッション、待機および SQL 文です。

� Top Consumers(上位コンシューマ): 上位サービス、上位モジュール、モジュールおよびサービス別上位アクション、上位クライアントの情報が含まれます。この機能により、統計の集計、クライアントの識別サポートなどができます。

� Database Locks(データベース・ロック): クライアント識別、サービス・モジュールおよびアクションが含まれます。

� Cluster Cache Coherency(クラスタ・キャッシュ一貫性): パフォーマンス情報として、Global Cache Service(GCS)および Global Enqueue Service(GCS)のアクティビティが表示されます。

RAC をインストールして、Database Configuration Assistant(DBCA)で RAC データベースを作成する場合、Enterprise Manager Database Control ツールには、RAC 環境の監視権限が事前に設定されています。Enterprise Manager Database Control を使用して、インスタンス・ターゲット、リスナー・ターゲット、ホスト・ターゲットおよびクラスタ・ターゲットを含む単一の RAC データベースを管理できます。また、Enterprise Manager Grid Control をクラスタ内外のサーバーにインストールし、複数の RAC データベースおよび複数のクラスタ・ターゲットを管理できます。

4-2 Oracle Real Application Clusters 配置およびパフォーマンス

Real Application Clusters で使用する Enterprise Manager のパフォーマンス・ページ

Real Application Clustersで使用するで使用するで使用するで使用するEnterprise Managerのパフォーのパフォーのパフォーのパフォーマンス・ページマンス・ページマンス・ページマンス・ページ

Enterprise Manager には、カラーコードされたヒストグラムによって、集計およびインスタンス固有のパフォーマンス統計が表示されます。Enterprise Manager の統計表示の統計チャートに表示される統計名を選択すると、チャートが色付きで再表示され見やすくなります。選択した統計をクリックし、表示される詳細ページで、その統計の詳細を確認できます。

1 つ以上のクラスタ・データベースのパフォーマンスの傾向を表示する RAC 固有の詳細ページには、クラスタ・データベースのホームページからアクセスできます。次の項で、これらのページについて説明します。

� 「Cluster Performance」ページの使用

� 「Cluster Database Performance」ページの使用

� 「Cluster Cache Coherency」ページの使用

� 「Cluster Cache Coherency Instances」ページの使用

「「「「Cluster Performance」ページの使用」ページの使用」ページの使用」ページの使用「Cluster Performance」ページは、すべてのホストまたは個々のホストの使用状況統計を表示します。この情報は、必要に応じてリソースを追加、保留または再配布するために使用できます。

「「「「Cluster Database Performance」ページの使用」ページの使用」ページの使用」ページの使用「Cluster Database Performance」ページは、各ホストまたはインスタンスについての実行キューの長さ、ページング率、サービス時間およびデータベース・スループットを示すチャートを表示します。このページは、「Details for Wait Class Page for Service Time」や

「Top Sessions Page for Database Throughput」などの詳細情報へのアクセスも提供します。

「「「「Cluster Cache Coherency」ページの使用」ページの使用」ページの使用」ページの使用「Cluster Cache Coherency」ページは、クラスタ・データベース全体に対するキャッシュ一貫性メトリックを表示します。このページでは、次のカテゴリでメトリックを分類します。

� Block Access Statistics

� Global Cache Convert、Global Cache Current Block Request および Global Cache CR Block Request

� Top 5 Library Cache Lock および Top 5 Row Cache Lock

Oracle Enterprise Manager によるパフォーマンスの監視 4-3

サービスの再配置および高可用性イベント

「Cluster Cache Coherency」ページは、これらの統計をインスタンスごとに表示します。また、Cache Coherency vs. Session Logical Reads チャートも表示されます。このチャートは、セッションの論理読込みに対する Global Cache CR Blocks Received、Current Blocks Received、Converts および Gets の割合を示します。

「「「「Cluster Cache Coherency Instances」ページの使用」ページの使用」ページの使用」ページの使用「Cluster Cache Coherency Instances」ページでは、グローバル・キャッシュ統計のリアルタイムな監視を表示します。「Cluster Cache Coherency Instances」ページは、次のカテゴリですべてのクラスタ・インスタンスに対するメトリックを表示します。

� Block Access Statistics

� Global Cache Convert、Global Cache Current Block Request および Global Cache CR Block Request

� Top 5 Library Cache Lock および Top 5 Row Cache Lock

サービスの再配置および高可用性イベントサービスの再配置および高可用性イベントサービスの再配置および高可用性イベントサービスの再配置および高可用性イベントEnterprise Manager は、データベース・レベルおよびインスタンス・レベルでイベントを監視するため、使用可能な任意のノードでデータベース・イベントを監視できます。ただし、データベース全体を監視するのは一度に 1 つのノードのみで、各ノードで監視できるのはそれぞれのローカル・インスタンスに対するイベントです。

4-4 Oracle Real Application Clusters 配置およびパフォーマンス

アプリケーション固有の

5

アプリケーション固有の配置アプリケーション固有の配置アプリケーション固有の配置アプリケーション固有の配置

この章では、Oracle Real Application Clusters(RAC)環境に対するオンライン(OLTP)、データ・ウェアハウスおよび汎用(ハイブリッド)アプリケーションの配置について説明します。内容は次のとおりです。

� Real Application Clusters ベースのアプリケーションの配置方法

� Real Application Clusters での OLTP アプリケーションの配置

� Real Application Clusters でのデータ・ウェアハウス・アプリケーションの配置

配置 5-1

Real Application Clusters ベースのアプリケーションの配置方法

Real Application Clusters ベースのアプリケーションの配置方法ベースのアプリケーションの配置方法ベースのアプリケーションの配置方法ベースのアプリケーションの配置方法シングル・インスタンス・アプリケーションのすべての開発方法と配置方法が、RAC にも適用されます。シングル・インスタンスの Oracle データベースで効率的に実行できるアプリケーションは、RAC でも効率的に実行できます。

Real Application Clusters でのでのでのでの OLTP アプリケーションの配置アプリケーションの配置アプリケーションの配置アプリケーションの配置RAC データベースはキャッシュ・フュージョンによって、オンライン・トランザクション処理(OLTP)アプリケーションに 適な配置サーバーになります。これは、これらのアプリケーションには次の要件があるためです。

� 障害時の高可用性

� 増加するシステム需要に対応するためのスケーラビリティ

� 需要変動に応じたロード・バランシング

Oracle および RAC の高可用性機能は、処理を中断することなく、障害が発生していないインスタンスにワークロードを再分散してロード・バランシングを実行します。RAC は、優れたスケーラビリティも提供します。これによって、ノードを追加または置換した場合、Oracle は、リソースを再マスター化してワークロードを再分散します。

キャッシュ・フュージョンによる柔軟な実装キャッシュ・フュージョンによる柔軟な実装キャッシュ・フュージョンによる柔軟な実装キャッシュ・フュージョンによる柔軟な実装オンライン・トランザクション処理システムのワークロードは、頻繁に変化します。RACは、システム負荷とシステム可用性の変化に対して柔軟にかつ動的に対応します。RAC は、次のような原因で変動する幅広いサービス・レベルに対応します。

� ユーザーの需要の変化

� 取引の集中(大量取引の発生)など、ピーク時のスケーラビリティの問題

� システム・リソースの可用性の変化

5-2 Oracle Real Application Clusters 配置およびパフォーマンス

Real Application Clusters でのデータ・ウェアハウス・アプリケーションの配置

Real Application Clusters でのデータ・ウェアハウス・アプリケーでのデータ・ウェアハウス・アプリケーでのデータ・ウェアハウス・アプリケーでのデータ・ウェアハウス・アプリケーションの配置ションの配置ションの配置ションの配置

この項では、RAC 環境でのデータ・ウェアハウス・システムの配置方法について説明します。また、共有ディスク・アーキテクチャで使用可能なデータ・ウェアハウス機能についても説明します。この項の内容は次のとおりです。

� Real Application Clusters でのデータ・ウェアハウス・アプリケーションのスピードアップ

� データ・ウェアハウス・システムおよび RAC におけるパラレル実行

� パラレル・インスタンス・グループの使用

Real Application Clusters でのデータ・ウェアハウス・アプリケーションのでのデータ・ウェアハウス・アプリケーションのでのデータ・ウェアハウス・アプリケーションのでのデータ・ウェアハウス・アプリケーションのスピードアップスピードアップスピードアップスピードアップ

RAC は、Oracle のシングル・インスタンスのメリットを拡大するため、データ・ウェアハウス・アプリケーションには理想的です。RAC は、RAC データベースに属するすべてのノード上で使用可能な処理能力を 大限に活用して、データ・ウェアハウス・システムをスピードアップおよびスケールアップすることによって、Oracle のシングル・インスタンスのメリットを拡大します。

クエリー・オプティマイザは、 適な実行計画の判断に、パラレル実行を検討します。クエリー・オプティマイザのデフォルトのコスト・モデルは CPU+I/O で、コスト単位は時間時間時間時間です。RAC では、クエリー・オプティマイザが、プロセッサ数に基づいてパラレル化の適切なデフォルト値を動的に計算します。代替アクセス・パスのコスト評価(表スキャンと索引アクセスなど)では、操作に使用できる並列度(DOP)が考慮されます。これによってOracle は、RAC 構成用に 適化された実行計画を選択します。

データ・ウェアハウス・システムおよびデータ・ウェアハウス・システムおよびデータ・ウェアハウス・システムおよびデータ・ウェアハウス・システムおよび RAC におけるパラレル実行におけるパラレル実行におけるパラレル実行におけるパラレル実行Oracle のパラレル実行機能では、マルチ・プロセスを使用して 1 つ以上の CPU で SQL 文を実行します。パラレル実行は、シングル・インスタンスの Oracle データベースおよび RACデータベースの両方で使用できます。

RAC は、パラレル処理をすべての利用可能なインスタンスに分散することによってパラレル実行を十分に活用します。パラレル操作に使用できるプロセスの数は、各表または索引に割り当てられる DOP によって異なります。

関連項目関連項目関連項目関連項目 : クエリー・オプティマイザの詳細は、『Oracle Database パフォーマンス・チューニング・ガイド』を参照してください。

アプリケーション固有の配置 5-3

Real Application Clusters でのデータ・ウェアハウス・アプリケーションの配置

パラレル・インスタンス・グループの使用パラレル・インスタンス・グループの使用パラレル・インスタンス・グループの使用パラレル・インスタンス・グループの使用インスタンス・グループを使用すると、どのインスタンスがパラレル実行サーバー・プロセスを割り当てるかを制御できます。これを行うには、各アクティブ・インスタンスを 1 つ以上のインスタンス・グループに割り当てます。次に、特定のインスタンス・グループをアクティブにして、どのインスタンスがパラレル処理を起動するかを動的に制御します。

注意注意注意注意 : 1 つのインスタンスは、1 つ以上のグループに属することができます。INSTANCE_GROUPSパラメータに、複数のインスタンス・グループ名をカンマで区切って入力してください。

5-4 Oracle Real Application Clusters 配置およびパフォーマンス

サービスの配

A

サービスの配置例サービスの配置例サービスの配置例サービスの配置例

この付録では、Oracle Real Application Clusters(RAC)データベースのサービスの配置例を説明します。内容は次のとおりです。

� 構成計画

� サービスの使用方法

� ワークロード管理のための手動構成

� 高速アプリケーション通知機能のためのコールアウトの使用方法

� JDBC 高速アプリケーション通知の構成

置例 A-1

構成計画

構成計画構成計画構成計画構成計画この付録には、RAC データベースの 1 つである Cluster Ready Services(CRS)の構成および統合の例、および継続的にアプリケーション・サポートを提供するためのサービスを示します。この例は、ORADB という RAC データベースを使用します。このデータベースは、それぞれ 1 つのインスタンスを持つノードを 4 つ含むクラスタで実行されます。インスタンス名は、RAC01、RAC02、RAC03 および RAC04 です。このデータベースは、オンライン・トランザクション処理(OLTP)を行う ERP、CRM、SELF_SERVICE という 3 つのコンポーネントと、バッチ指向の HOT_BATCH および STD_BATCH という 2 つのコンポーネントの計 5 つの主要コンポーネントを備えたアプリケーションをサポートします。

高可用性(HA)サービスを実現するための構成計画では、そのサービスで管理するアプリケーションまたはアプリケーションの部分、および使用可能にするサービス機能を定義します。

サービス計画サービス計画サービス計画サービス計画すべての HA サービス機能を使用するには、計画段階で、サービス名、プライマリ・ユーザー(クライアント、アプリケーション・サーバー、ジョブ・スケジューラなど)、優先インスタンス(サービスのデフォルトの起動インスタンス)および選択可能なインスタンス

(優先インスタンスが使用できない場合にサービスが実行されるインスタンス)を識別する必要があります。また、サービスの優先順位(リソースを優先的に使用できるサービスの順番)および応答時間のしきい値(サービスが要求された割合で実行されていない場合に、それを示す値)も定義できます。

この例にはすべてのオプションが含まれています。表 A-1 に、ORADB データベースとそのサービスの計画された構成を示します。この表の「優先インスタンス」および「選択可能インスタンス」の列には HA 情報を示し、「優先順位」および「応答時間」の列にはパフォーマンス情報を示します。

表表表表 A-1 サービス計画ワークシートサービス計画ワークシートサービス計画ワークシートサービス計画ワークシート

サービスサービスサービスサービス 用途用途用途用途 優先インスタンス優先インスタンス優先インスタンス優先インスタンス 選択可能インスタンス選択可能インスタンス選択可能インスタンス選択可能インスタンス 優先順位優先順位優先順位優先順位応答時間(秒)応答時間(秒)応答時間(秒)応答時間(秒)警告警告警告警告 / 重大な警告重大な警告重大な警告重大な警告

ERP クライアント・サービス

RAC01、RAC02 RAC03、RAC04 HIGH 0.5 / 0.75

CRM クライアント・サービス

RAC03、RAC04 RAC01、RAC02 STANDARD 0.5 / 1.0

SELF_SERVICE クライアント・サービス

RAC01、RAC02、RAC03、RAC04

- STANDARD 1.0 / 1.5

HOT_BATCH ジョブ・スケジューラ

RAC01 RAC02、RAC03、RAC04

HIGH 1.0 / 1.5

STD_BATCH ジョブ・スケジューラ

RAC01、RAC02、RAC03、RAC04

- LOW 3.0 / 5.0

A-2 Oracle Real Application Clusters 配置およびパフォーマンス

構成計画

この計画では、クラスタとデータベースが正常に起動した場合に、ERP サービスをコールしてインスタンス RAC01 および RAC02 で実行します。つまり、RAC01 および RAC02 の起動時に ERP が使用可能になります。他の 2 つのインスタンス RAC03 および RAC04 は、ERP サービスの優先インスタンスの 1 つに障害が発生した場合に選択可能になります。したがって、RAC01 が選択不可になった場合は、ERP のもう 1 つの優先インスタンスであるRAC02 が ERP サービスを引き続き実行する一方で、障害が発生した RAC01 のかわりにRAC03 または RAC04 がその ERP サービスの実行を引き継ぎます。RAC01 と RAC02 両方が使用不可となった場合は、RAC03 および RAC04 が ERP サービスを実行します。

CRM サービスの計画は ERP の場合と似ていますが、担当する役割は逆になります。CRMサービスが開始されるインスタンスは RAC03 および RAC04 で、優先インスタンスのいずれかまたは両方に障害が発生した場合には、RAC01 および RAC02 インスタンスがサービスを引き継ぎます。

SELF_SERVICE サービスおよび STD_BATCH サービスは、両方とも 4 つのうちのいずれのインスタンスでも開始するように計画されていますが、HOT_BATCH サービスは、RAC01でのみ開始します。各サービスはすでに 4 つのインスタンスに割り当てられているため、この計画では、SELF_SERVICE サービスおよび STD_BATCH サービスに対しては選択可能インスタンスが定義されていません。この計画では、HOT_BATCH サービスは、RAC01 が使用不可になった場合に、他のいずれかのインスタンスを使用できます。

表 A-1 には、サービスの優先順位および応答時間の計画も示しています。計画では、ERPサービスおよび HOT_BATCH サービスの優先順位が高く設定されています。これは、リソースが不足した場合(RAC03 と RAC04 のみが使用可能である場合など)は、他のサービスより優先されることを意味します。そのような場合は、優先順位の低い STD_BATCHサービスを中止でき、さらに CRM サービスまたは SELF_SERVICE サービスに、中止のフラグを設定することができます。応答時間はしきい値を示し、パフォーマンスがこの値に達しないと、通知がトリガーされます。

クラスタ・ノードおよびネットワーク・インタフェースの計画クラスタ・ノードおよびネットワーク・インタフェースの計画クラスタ・ノードおよびネットワーク・インタフェースの計画クラスタ・ノードおよびネットワーク・インタフェースの計画論理構成の完了後、インタフェース・ワークシートを作成して、クラスタ・ノードのインタフェース名およびアドレスを記録する場合があります。ほとんどのインタフェース、特にパブリック・インタフェースには、同一のホスト名とドメイン名が与えられます。名前が IPアドレスに解決できる場合は、Oracle Universal Installer(OUI)および Database Configuration Assistant(DBCA)の使用時に、それらの名前を使用した可能性があります。同様に、クラスタ・インターコネクト・インタフェースに対して使用したプライベート・インターコネクトの名前(名前がある場合)または IP アドレスを入力した可能性があります。インタフェース・ワークシートに記入する際、IP アドレスとともに、入力した名前も記録しておくことをお薦めします。

サービスの配置例 A-3

構成計画

仮想 IP アドレス(VIP)は、ネットワーク上のいずれの物理インタフェースに対しても固定しないでください。また、VIP に対応する名前は、必ずしも存在する必要はありません。NetCA または tnsnames.ora で、VIP の名前または IP アドレスを入力できます。クラスタ・エイリアスをサポートするベンダー・システムでは、名前または IP アドレスのリストを、対応するクラスタ・エイリアス名または IP アドレスに置き換えることができます。この例のクラスタ・エイリアス名は clusalias です。この例に示す一部の手順を実行するためには、使用するすべての VIP のサブネット・マスクおよび CRS のホーム・ディレクトリの場所を知っている必要があります。この例では、すべての VIP のサブネット・マスクは255.255.255.0 で、CRS のホーム・ディレクトリは /private/oracle/crs ですが、いずれも次の表には記載されていません。

表 A-2 に、この例のインタフェース・ワークシートを示します。

高可用性を実現するための手動構成高可用性を実現するための手動構成高可用性を実現するための手動構成高可用性を実現するための手動構成次の 3 つの手順は、表 A-1 および表 A-2 で示した情報に基づいて構成する方法を示しています。SRVCTL コマンドと構文の完全なリストは、『Oracle Real Application Clusters 管理』の付録 B を参照してください。

表表表表 A-2 クラスタ・ノード・インタフェースおよびアドレス・ワークシートの例クラスタ・ノード・インタフェースおよびアドレス・ワークシートの例クラスタ・ノード・インタフェースおよびアドレス・ワークシートの例クラスタ・ノード・インタフェースおよびアドレス・ワークシートの例

パブリック物理ノード名パブリック物理ノード名パブリック物理ノード名パブリック物理ノード名 |IP アドレスアドレスアドレスアドレス |物理インタフェース名物理インタフェース名物理インタフェース名物理インタフェース名

パブリック仮想パブリック仮想パブリック仮想パブリック仮想 IP 名名名名 |IP アドレスアドレスアドレスアドレス |論理インタフェース名論理インタフェース名論理インタフェース名論理インタフェース名

プライベート・インターコネクトプライベート・インターコネクトプライベート・インターコネクトプライベート・インターコネクト IPアドレスアドレスアドレスアドレス | 物理インタフェース名物理インタフェース名物理インタフェース名物理インタフェース名

clusnode-1 | 139.184.101.201 | hme0 [, hme1]

clusnode-1vip | 139.184.201.1 | hme0:1 [, hme1:1]

172.16.0.1 | qfe0

clusnode-2 | 139.184.101.202 |hme0 [, hme1]

clusnode-2vip | 139.184.201.2 | hme0:1 [, hme1:1]

172.16.0.2 | qfe0

clusnode-3 | 139.184.101.203 | hme0 [, hme1]

clusnode-3vip | 139.184.201.3 | hme0:1 [, hme1:1]

172.16.0.3 | qfe0

clusnode-4 | 139.184.101.204 | hme0 [, hme1]

clusnode-4vip | 139.184.201.4 | hme0:1 [, hme1:1]

172.16.0.4 | qfe0

注意注意注意注意 : VIP を追加するためには、UNIX の場合は root、Windows の場合は administrator としてシステムにログインする必要があります。その他のすべての SRVCTL 操作は oracle所有者および dbaグループとして実行されます。

A-4 Oracle Real Application Clusters 配置およびパフォーマンス

構成計画

手順手順手順手順 1 ノード・アプリケーションの追加 ノード・アプリケーションの追加 ノード・アプリケーションの追加 ノード・アプリケーションの追加ノード・アプリケーション構成のほとんどは、Cluster Ready Services(CRS)のインストール中に完了しています。それを確認するには、crs_statコマンドを実行して、クラスタ内の各アクティブ・ノードのリソース・メタデータおよびリスナー・リソースの順序を参照します。手動で新規ノード・アプリケーションを追加する場合、たとえば、Oracle の初期インストール後に clusnode-5を追加する場合は、UNIX では root、Windows ではadministratorとしてログインして次の SRVCTL コマンドを使用します。

srvctl add nodeapps -n clusnode-5 -o $ORACLE_HOME -A '139.184.201.5/255.255.255.0/hme0|hme1'

手順手順手順手順 2 データベースおよびインスタンス・アプリケーションの追加 データベースおよびインスタンス・アプリケーションの追加 データベースおよびインスタンス・アプリケーションの追加 データベースおよびインスタンス・アプリケーションの追加データベースと 4 つのインスタンスをそれぞれ次のように定義します(この例では、SPFILEの場所は $ORACLE_HOME/dbs/ORADB_spfileです)。

srvctl add database -d ORADB -o $ORACLE_HOME -s $ORACLE_HOME/dbs/ORADB_spfilesrvctl add instance -d ORADB -i RAC01 -n clusnode-1srvctl add instance -d ORADB -i RAC02 -n clusnode-2srvctl add instance -d ORADB -i RAC03 -n clusnode-3srvctl add instance -d ORADB -i RAC04 -n clusnode-4

手順手順手順手順 3 サービス・アプリケーションの追加 サービス・アプリケーションの追加 サービス・アプリケーションの追加 サービス・アプリケーションの追加サービス定義を次のように追加します。

srvctl add service -d ORADB -s ERP -r RAC01,RAC02 -a RAC03,RAC04srvctl add service -d ORADB -s CRM -r RAC03,RAC04 -a RAC01,RAC02srvctl add service -d ORADB -s SELF_SERVICE -r RAC01,RAC02,RAC03,RAC04srvctl add service -d ORADB -s HOT_BATCH -r RAC01 -a RAC02,RAC03,RAC04srvctl add service -d ORADB -s STD_BATCH -r RAC01,RAC02,RAC03,RAC04

関連項目関連項目関連項目関連項目 : SRVCTL コマンドのリストと例は、『Oracle Real Application Clusters 管理』の付録 B「サーバー制御ユーティリティ(SRCVCTL)のリファレンス」を参照してください。

サービスの配置例 A-5

サービスの使用方法

サービスの使用方法サービスの使用方法サービスの使用方法サービスの使用方法この例では、構成したサービスをアプリケーションが使用するために、Oracle Net Servicesの構成ファイルおよびその他のアプリケーション関連のリソースを設定する方法を示します。

クライアント・アプリケーションでのサービスの使用方法クライアント・アプリケーションでのサービスの使用方法クライアント・アプリケーションでのサービスの使用方法クライアント・アプリケーションでのサービスの使用方法アプリケーションおよび中間層の接続プールは、TNS 接続データを使用してサービスを選択します。選択したサービスは、SRVCTL または DBCA で add serviceを使用して作成されたサービスと一致する必要があります。V$ACTIVE_SERVICESビューに問い合せ、現在実行中のサービスを確認できます。

クライアントとの通信に仮想アドレスを使用すると、停止中のノードに対して発行された接続と SQL 文による TCP/IP タイムアウトが発生しないことが保証されます。使用するシステムでクラスタ・エイリアスが提供されている場合は、接続のみにそのクラスタ・エイリアスを使用します。ただし、アドレスとしてホスト名を使用しないでください。次の例のアドレス・リストでは、仮想 IP アドレスまたはクラスタ・エイリアスが使用されています。

ERP サービスに対するサービスに対するサービスに対するサービスに対する TNS 接続の記述接続の記述接続の記述接続の記述TNS Connection Description for ERP ServiceERP= (DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=yes) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME=ERP)))

また、クラスタ・エイリアスをサポートするプラットフォームの場合は、TNS エイリアスを次のように簡素化できます。

ERP=(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))

A-6 Oracle Real Application Clusters 配置およびパフォーマンス

サービスの使用方法

TAF BASIC を使用するを使用するを使用するを使用する ERP サービスに対するサービスに対するサービスに対するサービスに対する TNS 接続の記述接続の記述接続の記述接続の記述ERP= (DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)) (FAILOVER_MODE=(BACKUP=ERP)(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY =5)) )

TAF 事前接続を使用する事前接続を使用する事前接続を使用する事前接続を使用する ERP サービスに対するサービスに対するサービスに対するサービスに対する TNS 接続の記述接続の記述接続の記述接続の記述ERP= (DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)) (FAILOVER_MODE= (BACKUP=ERP_PRECONNECT)(TYPE=SESSION)(METHOD=PRECONNECT)(RETRIES=180)(DELAY =5)) ) ERP_PRECONNECT = (DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP_PRECONNECT)) (FAILOVER_MODE= (BACKUP=ERP)(TYPE=SESSION)(METHOD=BASIC)(RETRIES=180)(DELAY =5)) )

サービスの配置例 A-7

サービスの使用方法

ERP サービスに対するサービスに対するサービスに対するサービスに対する Thick JDBC 接続の記述接続の記述接続の記述接続の記述url="jdbc:oracle:oci:@TNS_ALIAS" url="jdbc:oracle:oci:@(DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))" url="jdbc:oracle:oci:@(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))"

ERP サービスに対するサービスに対するサービスに対するサービスに対する Thin JDBC 接続の記述接続の記述接続の記述接続の記述url="jdbc:oracle:thin:@(DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))" url="jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))"

サービスに対するリスナー構成サービスに対するリスナー構成サービスに対するリスナー構成サービスに対するリスナー構成すべてのリスナーがすべてのサービスとそれを実行するインスタンスを認識できるように、REMOTE_LISTENERS初期化パラメータを使用してリスナーを相互登録する必要があります。リスナーは、サーバー・サイドのロード・バランシングを使用しますが、その際、接続に対するセッション・カウントに基づいてロード・バランシングを実行するオプションがあります。リスナーは、VIP およびクラスタ・エイリアス(使用可能な場合)をリスニングしている必要があります。リスナーはホスト名でリスニングしないでください。ホスト名をリスニングすると、VIP が所有ノードに自動的に復帰した時点でセッションが切断されます。

A-8 Oracle Real Application Clusters 配置およびパフォーマンス

サービスの使用方法

サンプルサンプルサンプルサンプル listener.ora のエントリのエントリのエントリのエントリ各クラスタ・ノードの各リスナーには、ノードの VIP 名(またはアドレス)を指すアドレス指定とホストの物理 IP アドレス(またはホスト名)を指す二重のアドレス指定が必要です。

# Listener name definition for host clusnode-1 (see Table A-2 for details):# LISTENER_CLUSNODE-1 = (ADDRESS = (PROTOCOL = TCP)(HOST = clusnode-1vip)(PORT = 1521)) SID_LIST_LISTENER_CLUSNODE-1 = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = $ORACLE_HOME) (PROGRAM = extproc) ) )

サンプル・リモート・リスナーのエントリサンプル・リモート・リスナーのエントリサンプル・リモート・リスナーのエントリサンプル・リモート・リスナーのエントリ# TNS alias entry maps to REMOTE_LISTENER initialization parameter:LISTENERS_ORADB= (ADDRESS_LIST = (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)))

Oracle インスタンスのパラメータインスタンスのパラメータインスタンスのパラメータインスタンスのパラメータLOCAL_LISTENER、REMOTE_LISTENERおよび ACTIVE_INSTANCE_COUNT初期化パラメータの値が、サービスで VIP を使用するための有効な値であることを確認する必要があります。リスナー定義値が、「クライアント・アプリケーションでのサービスの使用方法」の項で定義されたものと一致する必要があります。次のガイドラインに従って正しい値を設定します。

local_listener=LISTENER_CLUSNODE-1 -- TNS entry listing the virtual IP address for -- node CLUSNODE-1remote_listener=LISTENERS_ORADB -- TNS entry listing the virtual IP addresses -- used by database ORADBACTIVE_INSTANCE_COUNTパラメータがデフォルト値になっていることを確認してください。このパラメータは設定しません。

サービスの配置例 A-9

ワークロード管理のための手動構成

ワークロード管理のための手動構成ワークロード管理のための手動構成ワークロード管理のための手動構成ワークロード管理のための手動構成次に示す 4 つの手順は、ワークロード、DBMS_SCHEDULER.CREATE_JOBの実行時間、リソース消費量、待機イベントなどの管理が可能なサービスの構成方法を示しています。 初の 2 つの手順は、自動ワークロード・リポジトリ(AWR)のサーバー・サイド・サービスのサービスの優先順位およびジョブ・クラスの構成に必要です。手順 3 および 4 では、サービス・パフォーマンスのしきい値を定義し、サービス内のモジュールおよびアクションの測定を可能にします。

手順手順手順手順 1    サービスの優先順位の追加サービスの優先順位の追加サービスの優先順位の追加サービスの優先順位の追加サービスをコンシューマ・グループにマッピングする前に、必要なコンシューマ・グループおよび関連するリソース・プランを、優先順位または比率ごとに作成する必要があります。この例では、サイトにはすでに high_priority、standard_priorityおよびlow_priorityという名前のコンシューマ・グループがあります。これらのコンシューマ・グループは、リソースの計画消費量を反映するデータベース・リソース・プランにマッピングされます。

次の SQL*Plus コマンドは、PL/SQL をコールして、各サービスを任意のコンシューマ・グループにマッピングし、DBA_SCHEDULER_JOB_CLASSESへの問合せ結果を表示します。

REM Create the consumer groupsexecute dbms_resource_manager.create_pending_area;execute DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (CONSUMER_GROUP => 'HIGH_PRIORITY', COMMENT => 'High priority consumer group');execute DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (CONSUMER_GROUP => 'STANDARD_PRIORITY', COMMENT => 'Standard priority consumer group');execute DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (CONSUMER_GROUP => 'LOW_PRIORITY', COMMENT => 'Low priority consumer group'); REM Create the service to consumer group mappingexecute DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,VALUE => 'ERP',CONSUMER_GROUP => 'HIGH_PRIORITY');execute DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,VALUE => 'CRM',CONSUMER_GROUP => 'STANDARD_PRIORITY');execute DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,VALUE => 'SELF_SERVICE',CONSUMER_GROUP => 'STANDARD_PRIORITY');execute DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,VALUE => 'HOT_BATCH',CONSUMER_GROUP => 'HIGH_PRIORITY');execute DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (ATTRIBUTE => DBMS_RESOURCE_MANAGER.SERVICE_NAME,VALUE => 'STD_BATCH',CONSUMER_GROUP => 'LOW_PRIORITY');

A-10 Oracle Real Application Clusters 配置およびパフォーマンス

ワークロード管理のための手動構成

execute dbms_resource_manager.submit_pending_area; REM View the resource manager mappingscol value format a30 trunccol attribute format a20 trunccol consumer_group format a20 truncSELECT ATTRIBUTE, VALUE, CONSUMER_GROUP from DBA_RSRC_GROUP_MAPPINGS;

問合せの出力は次のようになります。

ATTRIBUTE VALUE CONSUMER_GROUP-------------------- ------------------------------ --------------------SERVICE_NAME ERP HIGH_PRIORITYSERVICE_NAME HOT_BATCH HIGH_PRIORITYSERVICE_NAME STD_BATCH LOW_PRIORITYSERVICE_NAME CRM STANDARD_PRIORITYSERVICE_NAME SELF_SERVICE STANDARD_PRIORITYORACLE_USER SYS SYS_GROUPORACLE_USER SYSTEM SYS_GROUP

アクセス権限がないサービスにユーザーがアクセスすることを防ぐために、データベース・ユーザー・プロファイルにこのマッピングを含める必要があります。

execute DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP ( GRANTEE_NAME => 'PUBLIC', CONSUMER_GROUP => 'HIGH_PRIORITY', GRANT_OPTION => FALSE);

手順手順手順手順 2    ジョブ・クラスの追加ジョブ・クラスの追加ジョブ・クラスの追加ジョブ・クラスの追加データベースでは、Job Scheduler によって管理される、HOT_BATCHおよび STD_BATCHと呼ばれる 2 つのバッチ・キューが使用されます。これらのキューは、同じ名前のサービスを持つジョブ・クラスに対応しています。次の PL/SQL コードは、割り当てられたサービスを持つジョブ・クラスを作成します。

REM For single instance, the services must be created explicitly:REM execute dbms_service.create_service('HOT_BATCH', 'HOT_BATCH') ;REM execute dbms_service.create_service('STD_BATCH', 'STD_BATCH') ; REM Otherwise, for RAC, the instances were created with srvctl, soREM job classes can be directly scheduled with the scheduler:execute DBMS_SCHEDULER.CREATE_JOB_CLASS( JOB_CLASS_NAME => 'HOT_BATCH', RESOURCE_CONSUMER_GROUP => NULL, SERVICE => 'HOT_BATCH', LOGGING_LEVEL => DBMS_SCHEDULER.LOGGING_RUNS, LOG_HISTORY => 30, COMMENTS => 'P1 batch'); execute DBMS_SCHEDULER.CREATE_JOB_CLASS( JOB_CLASS_NAME => 'STD_BATCH', RESOURCE_CONSUMER_GROUP => NULL, SERVICE => 'STD_BATCH', LOGGING_LEVEL => DBMS_SCHEDULER.LOGGING_RUNS, LOG_HISTORY => 30, COMMENTS => 'P3 batch');

サービスの配置例 A-11

ワークロード管理のための手動構成

REM Verify the job class to service configurationcol service format a30 truncselect JOB_CLASS_NAME, SERVICE from DBA_SCHEDULER_JOB_CLASSES;

問合せの出力は次のようになります。

JOB_CLASS_NAME SERVICE------------------------------ ------------------------------DEFAULT_JOB_CLASSAUTO_TASKS_JOB_CLASSHOT_BATCH HOT_BATCHSTD_BATCH STD_BATCH

これらのジョブ・クラスで実行されているジョブは、このサービスを提供するインスタンスで実行されます。

手順手順手順手順 3    サービス・パフォーマンスのしきい値の追加サービス・パフォーマンスのしきい値の追加サービス・パフォーマンスのしきい値の追加サービス・パフォーマンスのしきい値の追加表 A-1 で示した ERP サービスおよび HOT-BATCH サービスにしきい値を追加します。

RAC インスタンスごとにしきい値を作成する必要があります。この手順の文を SQL*Plusセッションで実行します。

REM ERP service, baseline at 0.25s, warning at 0.5s, critical at 0.75:execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '500000', dbms_server_alert.operator_ge, '750000', 1, 5, 'RAC01', dbms_server_alert.object_type_service, 'ERP');execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '500000', dbms_server_alert.operator_ge, '750000', 1, 5, 'RAC02', dbms_server_alert.object_type_service, 'ERP');execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '500000', dbms_server_alert.operator_ge, '750000', 1, 5, 'RAC03', dbms_server_alert.object_type_service, 'ERP');execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '500000', dbms_server_alert.operator_ge, '750000', 1, 5, 'RAC04', dbms_server_alert.object_type_service, 'ERP'); REM HOT_BATCH service, baseline at 0.5, warning at 1.0s, critical at 1.5s:execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '1000000', dbms_server_alert.operator_ge, '1500000', 1, 5, 'RAC01', dbms_server_alert.object_type_service, 'ERP');

注意注意注意注意 : 応答時間は、次の例の DBMS_SERVER_ALERT.SET_THRESHOLDパッケージの仕様に従い、計画ワークシート(表 A-1)に示される秒からマイクロ秒に換算されます。

A-12 Oracle Real Application Clusters 配置およびパフォーマンス

ワークロード管理のための手動構成

execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '1000000', dbms_server_alert.operator_ge, '1500000', 1, 5, 'RAC02', dbms_server_alert.object_type_service, 'ERP');execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '1000000', dbms_server_alert.operator_ge, '1500000', 1, 5, 'RAC03', dbms_server_alert.object_type_service, 'ERP');execute DBMS_SERVER_ALERT.SET_THRESHOLD(dbms_server_alert.elapsed_time_per_call, dbms_server_alert.operator_ge, '1000000', dbms_server_alert.operator_ge, '1500000', 1, 5, 'RAC04', dbms_server_alert.object_type_service, 'ERP'); REM verify the threshold configurationselect METRICS_NAME, WARNING_VALUE, CRITICAL_VALUE, OBSERVATION_PERIOD from dba_thresholds;

手順手順手順手順 4    サービス、モジュールおよびアクション監視の有効化サービス、モジュールおよびアクション監視の有効化サービス、モジュールおよびアクション監視の有効化サービス、モジュールおよびアクション監視の有効化各サービス内の重要なモジュールおよびアクションのパフォーマンス・データを有効にして追跡することができます。パフォーマンス統計は、V$SERV_MOD_ACT_STATS ビューで参照できます。次に、SQL*Plus セッションで実行されるコマンドとアクションを示します。

1. ERP サービスで、モジュール payroll 内の exceptions pay アクションを監視します。

2. ERP サービスで、モジュール payroll 内のすべてのアクションを監視します。

3. HOT_BATCH サービスで、モジュール posting 内のすべてのアクションを監視します。

4. DBA_ENABLED_AGGREGATIONSに対する問合せによって構成を確認します。

execute DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE(SERVICE_NAME => 'ERP', MODULE_NAME=> 'PAYROLL', ACTION_NAME => 'EXCEPTIONS PAY');execute DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE(SERVICE_NAME => 'ERP', MODULE_NAME => 'PAYROLL', ACTION_NAME => null);execute DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE(SERVICE_NAME => 'HOT_BATCH', MODULE_NAME =>'POSTING', ACTION_NAME => null); REM Verify the enabled service, module, action configurationcol AGGREGATION_TYPE format a20 trunc heading 'AGGREGATION'col PRIMARY_ID format a20 trunc heading 'SERVICE'col QUALIFIER_ID1 format a20 trunc heading 'MODULE'col QUALIFIER_ID2 format a20 trunc heading 'ACTION'select * from DBA_ENABLED_AGGREGATIONS ;

問合せの出力は次のようになります。

AGGREGATION SERVICE MODULE ACTION------------ -------------------- ---------- -------------SERVICE_MODULE_ACTIO ERP PAYROLL EXCEPTIONS PAYSERVICE_MODULE_ACTIO ERP PAYROLLSERVICE_MODULE_ACTIO HOT_BATCH POSTING

サービスの配置例 A-13

高速アプリケーション通知機能のためのコールアウトの使用方法

ジョブ・スケジューラでのサービスの使用方法ジョブ・スケジューラでのサービスの使用方法ジョブ・スケジューラでのサービスの使用方法ジョブ・スケジューラでのサービスの使用方法DBMS_SCHEDULER.CREATE_JOBプロシージャを使用して、ジョブ・クラス下で実行するジョブを定義します。この例では、手順 2 で定義されたジョブ・クラスの割当てにより、MY_NAME.MY_PROCプロシージャは HOT_BATCH サービスで実行されます。

execute DBMS_SCHEDULER.CREATE_JOB(JOB_NAME => 'my_report_job', JOB_TYPE => 'stored_procedure', JOB_ACTION => 'my_name.my_proc();', NUMBER_OF_ARGUMENTS => 4,START_DATE => SYSDATE+1, REPEAT_INTERVAL => 5, END_DATE => SYSDATE+30, JOB_CLASS => 'HOT_BATCH', ENABLED => TRUE, AUTO_DROP => false, COMMENTS => 'my report on daily status');

高速アプリケーション通知機能のためのコールアウトの使用高速アプリケーション通知機能のためのコールアウトの使用高速アプリケーション通知機能のためのコールアウトの使用高速アプリケーション通知機能のためのコールアウトの使用方法方法方法方法

カスタム作成されたアプリケーション・コールアウトは、プログラムまたはシェル・スクリプト・ラッパーで、クラスタ上のアプリケーション、クラスタ上にないアプリケーション、または中間層で管理される接続プールを起動および停止するために使用できます。コールアウトは、サービスまたはサービスの一部の起動時、停止時または障害が発生して自動的に再起動するときに、RAC によってただちに実行されます。コールアウトとしてエンコードできる他のアクションには(アプリケーションの再起動の他に)不良チケットの記録、管理者への電子メール送信またはページング、サード・パーティのイベント・システムまたはクラスタウェア・コンポーネントの起動などがあります。

コールアウトは RAC-HA を CRS に配置するための要件ではありませんが、コールアウトを使用した通知メカニズムを作成することをお薦めします。CRS のホーム・ディレクトリがネットワーク全体で共有されていない場合、各新規コールアウトは、各 RAC ノード上の/private/oracle/crs/racg/usrcoディレクトリに配置する必要があります。

次の例(Bourne シェル・スクリプト)に、HA イベントが発生すると必ず起動するいくつかのコールアウト・オプションを示します。これらのコールアウトは、すべての DOWN 条件に対して、ログへのアップタイム・ステータス・レコードの書込みと不良チケットの記録

(IT トラブル・チケット・アプリケーションを使用)の 2 つのアクションを実行します。

#!/usr/bin/sh# # Description: Example wrapper script to enable RAC event logging and notification# to generic third-party systems. The script showcases two possible# methods to enable local or remote logging/notification of RAC-# detected events.# # Note: Unless your CRS home directory is on an NFS-mounted device, you should # copy this script to the racg/usrco directories in your CRS home

A-14 Oracle Real Application Clusters 配置およびパフォーマンス

高速アプリケーション通知機能のためのコールアウトの使用方法

# directory, for all RAC nodes protected by Oracle Integrated Clusterware. # This is a one-time setup.# # For additional details on callouts and what name=value pairs are passed by RAC,# please review /private/oracle/crs/racg/usrco/README. # Global variables:# AWK=/usr/bin/awkMY_CRS_HOME=/private/oracle/crs # Scan and parse arglist:# for ARGS in $*; do PROPERTY=`echo $ARGS | $AWK -F"=" '{print $1}'` VALUE=`echo $ARGS | $AWK -F"=" '{print $2}'` #> map EVTTYPE to EVENT_TYP, NODE to HOST: case $PROPERTY in #> note: EVENT_TYP is one of: NODE, DATABASE, INSTANCE, SERVICE, SERVICEMEMBER EVENT_TYP | event_typ) NOTIFY_EVENT_TYP=$VALUE ;; VERSION | version) NOTIFY_VERSION=$VALUE ;; SERVICE | service) NOTIFY_SERVICE=$VALUE ;; DATABASE | database) NOTIFY_DBNAME=$VALUE ;; INSTANCE | instance) NOTIFY_INSTANCE=$VALUE ;; HOST | host) NOTIFY_HOST=$VALUE ;; STATUS | status) NOTIFY_STATUS=$VALUE ;; TIMESTAMP | timestamp) NOTIFY_SVRLOGDATE=$VALUE ;; esacdone # #################################################### [1] Notification Method 1: On-cluster file logging# #################################################### This section simply writes one-line entries for each event published by RAC,# and the log is written to standard RAC log directory. It will blindly record# all RAC events, regardless of state (UP, DOWN or NOT_RESTARTING): RACEVT_LOGFILE=$MY_CRS_HOME/racg/log/rac_${NOTIFY_SERVICE}_uptime.log

サービスの配置例 A-15

高速アプリケーション通知機能のためのコールアウトの使用方法

echo RAC\(v$NOTIFY_VERSION\): $NOTIFY_STATUS event, type "$NOTIFY_EVENT_TYP", \ `if [ -n "$NOTIFY_SERVICE" ]; then \ echo "for service $NOTIFY_SERVICE" fi` \ \[`if [ -n "$NOTIFY_INSTANCE" ]; then \ echo "inst: $NOTIFY_INSTANCE" fi` \ `if [ -n "$NOTIFY_DATABASE" ]; then \ echo "db: $NOTIFY_DATABASE" fi` \ `if [ -n "$NOTIFY_HOST" ]; then \ echo "db: $NOTIFY_HOST" fi` \ \] received on $NOTIFY_SVRLOGDATE >> $RACEVT_LOGFILE # ######################################################### [2] Notification Method 2: On-cluster program execution# ######################################################### Let's assume you have a custom client program in /tmp (say logTicket) to which# you can pass certain arguments. This program connects to a customer-service# application that processes incident tickets for your IT department:# % /tmp/logTicket {serverside_timestamp} \# {databasename} {servicename} \# {instancename} {hostname}# # Let us also assume that a ticket would be logged only for NOT_RESTARTING events,# as they are the ones that exceeded RAC-monitored timeouts and seriously need# human intervention for full resolution.# # -------------------# ONE SOLUTION TO [2]:# -------------------if [ $NOTIFY_STATUS = "NOT_RESTARTING" -o $NOTIFY_STATUS = "not_restarting" ]; then /tmp/logTicket $NOTIFY_SVRLOGDATE $NOTIFY_DBNAME \ $NOTIFY_SERVICE \ $NOTIFY_INSTANCE $NOTIFY_HOST >> $RACEVT_LOGFILEfi

A-16 Oracle Real Application Clusters 配置およびパフォーマンス

JDBC 高速アプリケーション通知の構成

JDBC 高速アプリケーション通知の構成高速アプリケーション通知の構成高速アプリケーション通知の構成高速アプリケーション通知の構成高速アプリケーション通知を使用するには、アプリケーションで JDBC 暗黙接続キャッシュを使用する必要があります。JDBC 接続プールは、コールアウト・メカニズムと統合され、次の利点を提供します。

� サービスをサポートする 初の RAC インスタンスに、接続プール用に定義されている小限のセッションを送るかわりに、サービスの初回起動時に RAC 全体で接続を均等

に分散させます。

� 追加の RAC インスタンスを消費すると同時に、サービスが追加のインスタンスで UPとして登録されます。

� 終了した接続を消去すると同時に、サービスがすべてのインスタンスで DOWNとして宣言され、そのノードも同時に DOWNとして宣言されます。

� エラーをクライアントにレポートすると同時に、サービスが再起動を繰り返し試行する間クライアントを待機させるかわりに NOT RESTARTINGステータスが検出されます。

� サービスをサポートする RAC インスタンス全体に、実行時にクライアントの作業要求を分散します。

JDBC クライアント・サイドの構成クライアント・サイドの構成クライアント・サイドの構成クライアント・サイドの構成JDBC 暗黙接続キャッシュおよび Oracle Notification Service(ONS)の構成方法は、『JDBCユーザーズ・ガイドおよびリファレンス』を参照してください。ONS が正しく構成されない場合は、暗黙接続キャッシュの作成に失敗し、 初の getConnection()requestで該当する例外が発生します。

データソースに対して 初の getConnection()要求を行う前に、ConnectionFailoverEnabledプロパティを設定します。高速接続フェイルオーバーが有効な場合、フェイルオーバーは、接続キャッシュ内の各接続に対して適用されます。Connection Cache Manager を使用してアプリケーションで明示的に接続キャッシュを作成する場合は、ConnectionFailoverEnabledを設定する必要があります。

サービスの配置例 A-17

JDBC 高速アプリケーション通知の構成

RAC の高可用性サーバー・サイドの構成の高可用性サーバー・サイドの構成の高可用性サーバー・サイドの構成の高可用性サーバー・サイドの構成中間層の ONS クライアントが状態変化を受信し対応するために、RAC のイベント・システムはすべての ONS に HA イベントを転送するように構成する必要があります。

手順手順手順手順 1    ONS デーモンの構成デーモンの構成デーモンの構成デーモンの構成ONS デーモンは、RAC から Oracle Application Server 10g クライアントに HA イベントをブロードキャストするように構成する必要があります。ONS 構成ファイルは$ORACLE_HOME/opmn/conf/ons.configにあります。このファイルは、インストール時に OUI によって構築されます。次に、RAC の ons.configのサンプル・ファイルを示します。

localport=4100loglevel=3remoteport=4101nodes=139.185.140.63:4101,139.185.140.64:4101,139.185.140.65:4101

ここで、ノードは、RAC および Oracle Application Server 上で相互に対話するすべてのONS デーモンのリストとして記述されています。値は、ホスト名または IP アドレスとポートの組合せをカンマで区切って指定します。ポート値は、各 ONS がリスニングするリモート・ポートです。

手順手順手順手順 2    ONS デーモンの実行の確認デーモンの実行の確認デーモンの実行の確認デーモンの実行の確認ONS デーモンはノード・アプリケーションとして実行されます。ノード・アプリケーションを確認するには、コマンド srvctl status nodeappsを使用します。結果は次のようになります。

NAME=ora.clusnode-4.onsTYPE=applicationTARGET=ONLINESTATE=ONLINE

onsctl pingを使用して ONS デーモンがアクティブであることを確認します。

共有共有共有共有 Oracle ホームの使用ホームの使用ホームの使用ホームの使用ONS では、各 ONS デーモンに対して $ORACLE_HOME/opmn/logディレクトリがプライベートである必要があります。$ORACLE_HOMEに対してクラスタ・ファイル・システムを使用する場合は、各ノードで $ORACLE_HOME/opmn/logをノード固有のディレクトリ(たとえば、$ORACLE_HOME/opmn/clusnode1/log)へのリンクとして定義する必要があります。

A-18 Oracle Real Application Clusters 配置およびパフォーマンス

JDBC 高速アプリケーション通知の構成

Real Application Clusters でのシャドウ事前接続サービスのイベントでのシャドウ事前接続サービスのイベントでのシャドウ事前接続サービスのイベントでのシャドウ事前接続サービスのイベント透過的アプリケーション・フェイルオーバー(TAF)の事前接続を使用している場合は、Real Application Clusters(RAC)の高可用性によって事前接続サービスが保持され、TAF事前接続、およびセカンダリ RAC インスタンスでの動作を管理するために構成されたアプリケーションがサポートされます。セカンダリ・インスタンスは、プライマリ・サービスをサポートしていない RAC インスタンスです。

このタイプの構成では、Oracle はプライマリ・サービスをサポートしないすべてのインスタンス上のシャドウ・サービスを保持します。イベントを使用して、セカンダリ・インスタンスの動作を停止および起動できます。イベントは、コールアウトおよび Oracle Notification Service(ONS)に通知されます。

イベントを使用するには、次の書式を使用してペイロードを構成します。

SRV_PRECONNECT VERSION=1.0 service=db_unique_name.db_domaindatabase=database name instance=instance name host=host name status=preconn_up reason=timestamp=27-Jan-2004 16:53:58 reported=Tue Jan 27 16:53:59 PST 2004 SRV_PRECONNECT VERSION=1.0 service=db_unique_name.db_domaindatabase=RACEY instance=instance name host=host name status=preconn_down reason=timestamp=27-Jan-2004 16:58:01reported=Tue Jan 27 16:58:02 PST 2004

起動イベントの例 :

@ SRV_PRECONNECT VERSION=1.0 service=MYSERV.us.oracle.com database=RACEY instance=RACEY1 host=myhost-pc status=preconn_up reason=timestamp=27-Jan-2004 16:53:58 reported=Tue Jan 27 16:53:59 PST 2004

停止イベントの例 :

@ SRV_PRECONNECT VERSION=1.0 service=MYSERV.us.oracle.comdatabase=RACEY instance=RACEY1 host=myhost-pc status=preconn_down reason=timestamp=27-Jan-2004 16:58:01reported=Tue Jan 27 16:58:02 PST 2004

サービスの配置例 A-19

JDBC 高速アプリケーション通知の構成

高可用性コールアウトおよび高可用性コールアウトおよび高可用性コールアウトおよび高可用性コールアウトおよび Oracle 通知イベント通知イベント通知イベント通知イベント通知インタフェースは、サーバー側のコールアウトおよび Oracle Notification Services

(ONS)イベントとして使用できます。サーバー側のコールアウトは、条件が発生すると、サーバー上で直ちに実行される ONS イベントと同じペイロードを持つスクリプトです。この方法を使用すると、サーバー側のアプリケーションの起動と停止、優先度の高いサービスが発生した場合の優先度の低いサービスの再配置、および障害追跡のチケットの発行を実行できます。次の表にイベント・ペイロードについて説明します。

セッションが接続されると、中間層は、高可用性のイベント・ペイロードに該当する次の値を記録できます。

sys_context('userenv', 'instance_name');sys_context('userenv', 'server_host');sys_context('userenv', 'service_name');sys_context('userenv', 'db_unique_name');

表表表表 A-3 イベント・ペイロードのパラメータおよび説明イベント・ペイロードのパラメータおよび説明イベント・ペイロードのパラメータおよび説明イベント・ペイロードのパラメータおよび説明

パラメータパラメータパラメータパラメータ 説明説明説明説明

Event type サービス、サービス・メンバー、データベース、インスタンス、ノードなどのコンポーネントのイベント・タイプ。

Service name サービス名。SERVICE$内の構成済サービスに該当します。

Database name サービスをサポートするデータベース。DB_UNIQUE_NAMEの初期

化パラメータ値に該当し、これにより、初期化パラメータDB_NAMEの値がデフォルトに設定されます。

Instance サービスをサポートするインスタンスの名前。インスタンス名に該当します。

Node name サービスまたは障害ノードをサポートするノードの名前。CSS ノー

ド名に該当します。

Status 新規ステータス。値は UP、DOWNおよび NOT_RESTARTINGです。

Cardinality 起動イベントでのサービスのカーディナリティ。

Time stamp 通知イベントを順序付ける際に使用するローカル・タイム・ゾーン。

Incarnation ノードが停止した場合のクラスタ・インカネーション。

A-20 Oracle Real Application Clusters 配置およびパフォーマンス

索引索引索引索引

AAdditional Real Application Clusters ドキュメント,

1-2ADDM「Automatic Database Diagnostic Monitor」を参照

Automatic Database Diagnostic Monitor,3-5,3-7,3-8

AWR「自動ワークロード・リポジトリ」を参照

CCATCLUST.SQL スクリプト

Real Application Clusters のビューを作成するための使用,3-3

Cluster Ready Services,1-5,A-2CLUSTER_INTERCONNECTS

パラメータ,3-2

DData Guard,1-7Database Configuration Assistant(DBCA)

Real Application Clusters でのビューの作成,3-3DBMS_SERVICE,2-3

EE-Commerce

Real Application Clusters でのアプリケーション,5-2

Enterprise Manager Database Control,4-2Enterprise Manager Grid Control,4-2

GGV$ACTIVE_SERVICES,2-4GV$SVCMETRIC,2-4

IINST_ID 列,3-3IPC

バッファ・サイズ、調整,3-2

JJDBC,A-17

RReal Application Clusters

E-Commerce,5-2Recovery Manager

Real Application Clusters,1-6

SStatspack,3-4SYSAUX 表領域,2-5

UUnified Scheduler,2-3

VV$ACTIVE_SERVICES,2-4V$SERVICEMETRIC_HISTORY,2-4

索引索引索引索引 -1

V$SESSION,2-4V$SQL,2-4

いいいい

インターコネクト

Real Application Clusters のプロトコル,3-2設定の検証,3-2帯域幅,3-2パフォーマンス,3-2

おおおお

オブジェクト

生成およびパフォーマンスへの影響,2-5オンライン・トランザクション処理

Real Application Clusters ベースのアプリケーション,5-2

かかかか

仮想 IP アドレス,A-4監視

Real Application Clusters の統計,3-3

きききき

記憶域,1-4機能

活用,1-3キャッシュ・フュージョン

E-Commerce アプリケーション,5-2

くくくく

グローバル・エンキュー・サービス統計,3-4グローバル・キャッシュ・サービス統計,3-4,3-6グローバル・サービス名,2-2

ここここ

高可用性

Real Application Clusters,1-5コールアウト,A-14

ささささ

サーバー・パラメータ・ファイル,1-4サービス,1-4,2-2,A-1

構成,2-2

しししし

自動 UNDO 管理,1-4自動記憶域管理,1-4自動セグメント領域管理,1-4,2-4自動ワークロード・リポジトリ,1-5,2-3,3-4,3-7

スナップショット,3-4初期化パラメータ

CLUSTER_INTERCONNECTS,3-2

すすすす

スタンバイ・データベース,1-7

たたたた

帯域幅インターコネクト,3-2

待機イベント,3-4

つつつつ

通信プロトコル設定の検証,3-2

てててて

定期的な統計,3-3データ・ウェアハウス

Real Application Clusters でのアプリケーションの

配置,5-3データ・ディクショナリ

ビューの問合せ,3-3

とととと

統計Real Application Clusters の監視,3-3内容,3-3

索引索引索引索引 -2

動的パフォーマンス・ビュー作成,3-3パフォーマンスの監視用,3-3

ドキュメント

Real Application Clusters,1-2

はははは

バッファ・サイズIPC、Real Application Clusters 用に調整,3-2

パフォーマンス影響する主な要素,3-2

パラレル・インスタンス・グループ,5-4パラレル化

Real Application Clusters,5-3パラレル問合せの 適化,5-3

ひひひひ

ビュー

Real Application Clusters での作成,3-3パフォーマンスの監視用,3-3

ふふふふ

フェイルオーバー

Real Application Clusters,1-5ブロック・モード変換

統計,3-3

へへへへ

並列度(DOP),5-3

めめめめ

メッセージ要求カウンタ,3-3

りりりり

リソース・マネージャ,2-3

わわわわ

ワークロード管理,2-2手動での再均等化,2-3

索引索引索引索引 -3

索引索引索引索引 -4