Oracle® Real Application Clusters

管理およびデプロイメント・ガイド

11g リリース2(11.2)

B56290-06(原本部品番号:E41960-04)

2015年6月

Oracle Real Application Clusters管理およびデプロイメント・ガイド, 11g リリース2 (11.2)

B56290-06

Copyright © 1999, 2015, Oracle and/or its affiliates.All rights reserved.

原本著者: Richard Strohm

原本協力者: Troy Anthony、Lance Ashdown、Ram Avudaiappan、Prasad Bagal、Mark Bauer、Anand Beldalker、Eric Belden、Gajanan Bhat、David Brower、George Claborn、Carol Colrain、Jonathan Creighton、Rajesh Dasari、Steve Fogel、Richard Frank、GP Prabhaker Gongloor、Wei Hu、Yong Hu、Dominique Jeunot、Sameer Joshi、Raj K.Kammend、Sana Karam、Roland Knapp、Ken Lee、Karen Li、Barb Lundhild、Venkat Maddali、Bill Manry、Gaurav Manglik、John McHugh、Saar Maoz、Matthew Mckerley、Markus Michalewicz、Anil Nair、Philip Newlan、Michael Nowak、Muthu Olagappan、Bharat Paliwal、Hanlin Qian、Mark Ramacher、Kevin Reardon、Dipak Saggi、Sudheendra Sampath、Viv Schupmann、Daniel Semler、Ara Shakian、Cathy Shea、Khethavath P.Singh、Kesavan Srinivasan、Janet Stern、Leo Tominna、Peter Wahl、Tak Wang、Richard Wessman、Douglas Williams、Mike Zampiceni、Michael Zoll

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

表一覧

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

Oracle RACの管理およびデプロイメントに関する新機能

- Oracle RACに関連したOracle Database 11gリリース2(11.2.0.4)の新機能

- Oracle RACに関連したOracle Database 11gリリース2(11.2.0.2)の新機能

- Oracle RACに関連したOracle Database 11gリリース2(11.2.0.1)の新機能

1 Oracle RACの概要

- Oracle RACの概要

- Oracle ClusterwareおよびOracle RACの概要

- Oracle RACのアーキテクチャおよび処理の概要

- クラスタを認識する記憶域ソリューション

- サービスおよびVIPアドレスを使用したOracle Databaseへの接続の概要

- Oracle RACソフトウェア・コンポーネント

- Oracle RACバックグラウンド・プロセス

- 自動ワークロード管理の概要

- Oracle RACのインストールの概要

- Oracle RAC環境の互換性

- Oracle RACのインストールおよびデータベース作成の概要

- Oracle Grid InfrastructureおよびOracle RACソフトウェアの拡張の概要

- Oracle RAC環境の管理の概要

- Oracle RAC環境の設計およびデプロイ

- Oracle RAC環境の管理ツール

- Oracle RAC環境の監視

- Oracle RAC環境でのパフォーマンス評価

2 記憶域の管理

- Oracle RACの記憶域の概要

- Optimal Flexible Architecture

- Oracle RACでのデータ・ファイルへのアクセス

- Oracle RACでのREDOログ・ファイル記憶域

- Oracle RACでの自動UNDO管理

- Oracle RACによるOracle Automatic Storage Management

- Oracle RACでの記憶域管理

- Oracle ASM用ディスク・グループ構成の変更

- Oracle ASMディスク・グループの管理

- 拡張遠距離クラスタでの優先読取りミラー・ディスクの構成

- クラスタ化されていないOracle ASMからクラスタ化されたOracle ASMへの変換

- Oracle RACでのSRVCTLを使用したOracle ASMインスタンスの管理

3 データベース・インスタンスおよびクラスタ・データベースの管理

- Oracle RACの管理ツール

- Oracle RACデータベースの管理の概要

- Oracle Enterprise Managerを使用したOracle RACの管理

- SQL*Plusを使用したOracle RACの管理

- SQL*Plusプロンプトの変更

- インスタンスへのSQL*Plusコマンドの適用方法

- SRVCTLを使用したOracle RACの管理

- インスタンスおよびOracle RACデータベースの起動および停止

- Oracle RACインスタンスの起動および停止手順の概要

- Oracle Enterprise Managerを使用した起動および停止

- SQL*Plusを使用した起動および停止

- SRVCTLを使用した起動および停止

- インスタンスの実行の確認

- 特定のクラスタ・インスタンス上でのセッションの終了

- Oracle RACでの初期化パラメータ・ファイルの概要

- Oracle RACのSPFILEパラメータ値の設定

- Oracle RACでのパラメータ・ファイルの検索順序

- サーバー・パラメータ・ファイルのバックアップ

- Oracle RACでの初期化パラメータの使用

- すべてのインスタンスで同じ値を設定する必要があるパラメータ

- すべてのインスタンスで一意の値を設定するパラメータ

- すべてのインスタンスで同じ値を設定する必要があるパラメータ

- 管理者管理データベースのポリシー管理データベースへの変換

- Oracle RACデータベースの静止

- LinuxおよびUNIXプラットフォームでの複数のクラスタ・インターコネクトの管理

- CLUSTER_INTERCONNECTSパラメータ設定の推奨事項

- CLUSTER_INTERCONNECTSパラメータの使用例

- Oracle ClusterwareでのOracle RACデータベースの管理方法のカスタマイズ

- Oracle Enterprise Managerの高度な管理

- ノードおよびインスタンスの検出のためのOracle Enterprise Manager Grid Controlの使用

- Oracle Enterprise Managerのその他の機能

- Oracle RACでのジョブおよびアラートの管理

- Oracle RACでのジョブの管理

- Oracle Enterprise Managerを使用したOracle RACでのアラートの管理

- Oracle Enterprise Managerで定義済ブラックアウトを使用したスケジュール済メンテナンスの実行

4 Oracle RAC One Nodeの管理

- Oracle Real Application Clusters One Nodeの概要

- Oracle RAC One Nodeデータベースの追加

- データベースの変換

- Oracle RACからOracle RAC One Nodeへのデータベースの変換

- Oracle RAC One NodeからOracle RACへのデータベースの変換

- オンライン・データベース再配置

5 自動ワークロード管理の概要

- 自動ワークロード管理の概要

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

- サービスのデプロイメント・オプション

- Oracleサービスの使用方法

- サービスの特性

- サービス名

- ネット・サービス名

- サービス・エディション

- サービス管理ポリシー

- サービスのデータベース・ロール

- インスタンスのプリファレンス

- サーバー・プールの割当て

- ランタイム接続ロード・バランシングのロード・バランシング・アドバイザの目標

- 接続時ロード・バランシングの目標

- 分散トランザクション処理

- 高可用性イベントのサブスクリプション

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

- Oracle RACデータベースにおけるサービスの使用

- サービスのリソース・プロファイル

- サービスのデータベース・リソース・マネージャ・コンシューマ・グループのマッピング

- AWRによるサービスごとのパフォーマンス監視

- パラレル操作とサービス

- Oracle StreamsおよびOracle RAC

- デフォルトのサービス接続

- 接続時ロード・バランシング

- クライアント側のロード・バランシング

- 一般的なデータベース・クライアント

- 他のクライアント側の接続機能

- JDBCクライアント

- Oracle Call Interfaceクライアント

- サーバー側のロード・バランシング

- 高速アプリケーション通知

- 高速アプリケーション通知の概要

- サービスおよびFANを使用したアプリケーションの高可用性

- 計画外の障害の管理

- 計画停止の管理

- 高速アプリケーション通知の高可用性イベント

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

- ユーザー・コールアウト・イベント

- ロード・バランシング・アドバイザ

- ロード・バランシング・アドバイザの概要

- ロード・バランシング・アドバイザを使用する環境の構成

- ロード・バランシング・アドバイザのFANイベント

- ロード・バランシング・アドバイザのFANイベントの監視

- 高速アプリケーション通知が統合されているOracleクライアント

- Oracle統合クライアントとFANの概要

- JDBCクライアントでの高速接続フェイルオーバーの有効化

- JDBCクライアント用のOracle Notification Service

- JDBC/OCIおよびJDBC Thinドライバ・クライアント用のFCFの構成

- JDBCクライアントでのランタイム接続ロード・バランシングの有効化

- Oracle Call Interfaceクライアントでの高速接続フェイルオーバーの有効化

- Oracle Call Interfaceクライアントでのランタイム接続ロード・バランシングの有効化

- ODP.NETクライアントを有効化してFAN高可用性イベントを受信する方法

- ODP.NETクライアントを有効化してFANロード・バランシング・アドバイザのイベントを受信する方法

- Oracle RACのサービスおよび分散トランザクション処理

- XAトランザクションとDTPサービスの概要

- XAトランザクションに対するDTPサービスのメリット

- Oracle RACによるDTPサービスの使用

- DTPサービスの構成

- 管理者管理データベースでのDTPサービスの再配置

- サービスの管理

- サービスの管理の概要

- Oracle Enterprise Managerを使用したサービスの管理

- SRVCTLを使用したサービスの管理

- SRVCTLを使用したサービスの作成

- SRVCTLを使用したサービスの起動および停止

- SRVCTLを使用したサービスの有効化および無効化

- SRVCTLを使用したサービスの再配置

- SRVCTLを使用したサービスのステータスの取得

- SRVCTLを使用したサービスの構成の取得

- 自動ワークロード・リポジトリを使用したサービスのパフォーマンスの測定

- 自動ワークロード・リポジトリ・サービスのしきい値とアラート

- サービスおよびしきい値のアラートの例

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

6 Recovery Managerの構成およびアーカイブ

- Oracle RACのRMANの構成の概要

- Oracle RACでのアーカイブ・モード

- RMANのスナップショット制御ファイルの位置の構成

- 制御ファイルおよびSPFILEを自動的にバックアップするようなRMANの構成

- 複数のOracle RACノードでのクロスチェック

- Oracle RACでのRMANのチャネルの構成

- 自動ロード・バランシングを使用するようなチャネルの構成

- 特定のノードを使用するようなチャネルの構成

- Oracle RACでのRMANを使用したアーカイブREDOログの管理

- Oracle RACのアーカイブREDOログ・ファイルの表記規則

- RMANのアーカイブ構成使用例

- Oracle Automatic Storage Managementおよびクラスタ・ファイル・システムのアーカイブ・スキーム

- クラスタ・ファイル・システムのアーカイブ・スキームのメリット

- クラスタ・ファイル・システムのアーカイブ・スキームに関する初期化パラメータの設定

- クラスタ・ファイル・システムのアーカイブ・スキームでのアーカイブ・ログの位置

- 非クラスタ・ファイル・システムのローカル・アーカイブ・スキーム

- 非クラスタ・ファイル・システムのローカル・アーカイブの使用に関する考慮事項

- 非クラスタ・ファイル・システムのローカル・アーカイブに関する初期化パラメータの設定

- 非クラスタ・ファイル・システムのローカル・アーカイブでのアーカイブ・ログの位置

- 非クラスタ・ファイル・システムのローカル・アーカイブに関するファイル・システムの構成

- アーカイバ・プロセスの監視

7 バックアップおよびリカバリの管理

- 非クラスタ・ファイル・システムでのRMANのバックアップ機能の使用例

- Oracle RACでのRMANのリストア機能の使用例

- クラスタ・ファイル・システムからのバックアップのリストア

- 非クラスタ・ファイル・システムからのバックアップのリストア

- RMANまたはOracle Enterprise Managerを使用したサーバー・パラメータ・ファイル(SPFILE)のリストア

- Oracle RACでのインスタンス・リカバリ

- Oracle RACでの単一ノード障害

- Oracle RACでの複数ノード障害

- Oracle RACでのRMANを使用したバックアップの作成

- RMANを使用したクラスタ・インスタンスへのチャネル接続

- 高速接続のノード・アフィニティの認識

- バックアップ完了後のアーカイブREDOログの削除

- バックアップ・コマンドとリストア・コマンドのオートロケーション

- Oracle RACでのメディア・リカバリ

- Oracle RACでのパラレル・リカバリ

- RMANを使用したパラレル・リカバリ

- パラレル・リカバリの無効化

- パラレル・インスタンス・リカバリおよびパラレル・クラッシュ・リカバリの無効化

- パラレル・メディア・リカバリの無効化

- Oracle RACでの高速リカバリ領域の使用

8 新規クラスタのノードへのOracle RACのクローニング

- Oracle RACのクローニングの概要

- Oracle RACのクローニングの準備

- クラスタのノードへのOracle RACのクローニングのデプロイ

- クローニング時に生成されたログ・ファイルの検索および表示

9 クローニングを使用した同じクラスタのノードへのOracle RACの拡張

- Oracle RAC環境でのクローニングを使用したノードの追加について

- LinuxおよびUNIXシステムでのローカルOracleホームのクローニング

- LinuxおよびUNIXシステムでの共有Oracleホームのクローニング

- WindowsシステムでのOracleホームのクローニング

10 LinuxおよびUNIXシステムのノードでのOracle RACの追加と削除

- Oracle ClusterwareがインストールされたノードへのOracle RACの追加

- ターゲット・ノードへのポリシー管理Oracle RACデータベース・インスタンスの追加

- ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加

- 対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

- サイレント・モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

- クラスタ・ノードからのOracle RACの削除

- Oracle RACデータベースからのインスタンスの削除

- 対話モードでのDBCAによるノードからのインスタンスの削除

- サイレント・モードでのDBCAによるノードからのインスタンスの削除

- Oracle RACの削除

- クラスタからのノードの削除

11 WindowsシステムのノードでのOracle RACの追加と削除

- Oracle ClusterwareがインストールされたノードへのOracle RACの追加

- ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加

- 対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

- サイレント・モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

- クラスタ・ノードからのOracle RACの削除

- Oracle RACデータベースからのインスタンスの削除

- 対話モードでのDBCAによるノードからのインスタンスの削除

- サイレント・モードでのDBCAによるノードからのインスタンスの削除

- Oracle RACの削除

- クラスタからのノードの削除

12 設計およびデプロイメント方法

- 高可用性を実現するOracle RACのデプロイ

- 高可用性システムの設計について

- 高可用性環境でOracle RACをデプロイするためのベスト・プラクティス

- クラスタ内の単一または複数のデータベースでの複数のアプリケーションの統合

- Oracle RACのスケーラビリティ

- Oracle RACの設計に関する一般的な考慮事項

- Oracle RACでのデータベースの一般的なデプロイメント

- Oracle RACでの表領域の使用

- Oracle RACでのオブジェクトの作成およびパフォーマンス

- Oracle RACでのノードの追加と削除およびSYSAUX表領域

- 分散トランザクションおよびOracle RAC

- Oracle RACでのOLTPアプリケーションのデプロイ

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

- Oracle RACでのデータ・ウェアハウス・アプリケーションのデプロイ

- Oracle RACでのデータ・ウェアハウス・アプリケーションのスピードアップ

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

- Oracle RACでのデータ・セキュリティの考慮事項

- 透過的データ暗号化およびウォレット

- Windowsファイアウォールの考慮事項

13 パフォーマンスの監視

- Oracle RACデータベースの監視およびチューニングの概要

- Oracle RACおよびOracle Clusterwareの監視

- クラスタ・データベースの「ホーム」ページ

- 「インターコネクト」ページ

- クラスタの「パフォーマンス」ページ

- Oracle RACデータベースのチューニング

- Oracle RACのインターコネクト設定の検証

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

- Oracle RACのパフォーマンス・ビュー

- CATCLUST.SQLによるOracle RACのデータ・ディクショナリ・ビューの作成

- Oracle RACのパフォーマンス統計

- Oracle RAC環境における自動ワークロード・リポジトリ

- Oracle RACのアクティブ・セッション履歴レポート

- Oracle RACのASHレポートの概要

- Oracle RACのASHレポート: トップ・クラスタ・イベント

- Oracle RACのASHレポート: トップ・リモート・インスタンス

- Oracle RACの統計および待機イベントの監視

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

- Oracle RACの待機イベント

- GCS統計とGES統計の分析によるパフォーマンス監視

- キャッシュ・フュージョンがOracle RACに与える影響の分析

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

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

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

- ブロック関連の待機イベント

- メッセージ関連の待機イベント

- 競合関連の待機イベント

- ロード関連の待機イベント

A サーバー制御ユーティリティのリファレンス

- SRVCTLの使用方法

- SRVCTLの概要

- SRVCTLの使用上の注意

- 使用方法

- オブジェクトの値のキャラクタ・セットおよび大文字小文字の区別

- SRVCTLを使用できるタスクのサマリー

- SRVCTLヘルプの使用方法

- 権限とセキュリティ

- SRVCTLに関するその他のトピック

- 非推奨のサブプログラムまたはコマンド

- SRVCTLのコマンド・リファレンス

- add

- srvctl add asm

- srvctl add cvu

- srvctl add database

- srvctl add filesystem

- srvctl add gns

- srvctl add instance

- srvctl add listener

- srvctl add network

- srvctl add nodeapps

- srvctl add oc4j

- srvctl add ons

- srvctl add scan

- srvctl add scan_listener

- srvctl add service

- srvctl add srvpool

- srvctl add vip

- config

- srvctl config asm

- srvctl config cvu

- srvctl config database

- srvctl config filesystem

- srvctl config gns

- srvctl config listener

- srvctl config nodeapps

- srvctl config oc4j

- srvctl config ons

- srvctl config scan

- srvctl config scan_listener

- srvctl config service

- srvctl config srvpool

- srvctl config vip

- convert

- disable

- srvctl disable asm

- srvctl disable cvu

- srvctl disable database

- srvctl disable diskgroup

- srvctl disable filesystem

- srvctl disable gns

- srvctl disable instance

- srvctl disable listener

- srvctl disable nodeapps

- srvctl disable oc4j

- srvctl disable ons

- srvctl disable scan

- srvctl disable scan_listener

- srvctl disable service

- srvctl disable vip

- downgrade

- srvctl downgrade database

- enable

- srvctl enable asm

- srvctl enable cvu

- srvctl enable database

- srvctl enable diskgroup

- srvctl enable filesystem

- srvctl enable gns

- srvctl enable instance

- srvctl enable listener

- srvctl enable nodeapps

- srvctl enable oc4j

- srvctl enable ons

- srvctl enable scan

- srvctl enable scan_listener

- srvctl enable service

- srvctl enable vip

- getenv

- srvctl getenv asm

- srvctl getenv database

- srvctl getenv listener

- srvctl getenv nodeapps

- srvctl getenv vip

- modify

- srvctl modify asm

- srvctl modify cvu

- srvctl modify database

- srvctl modify filesystem

- srvctl modify gns

- srvctl modify instance

- srvctl modify listener

- srvctl modify network

- srvctl modify nodeapps

- srvctl modify oc4j

- srvctl modify ons

- srvctl modify scan

- srvctl modify scan_listener

- srvctl modify service

- srvctl modify srvpool

- relocate

- srvctl relocate cvu

- srvctl relocate database

- srvctl relocate gns

- srvctl relocate oc4j

- srvctl relocate scan

- srvctl relocate scan_listener

- srvctl relocate server

- srvctl relocate service

- srvctl relocate vip

- remove

- srvctl remove asm

- srvctl remove cvu

- srvctl remove database

- srvctl remove diskgroup

- srvctl remove filesystem

- srvctl remove gns

- srvctl remove instance

- srvctl remove listener

- srvctl remove nodeapps

- srvctl remove oc4j

- srvctl remove ons

- srvctl remove scan

- srvctl remove scan_listener

- srvctl remove service

- srvctl remove srvpool

- srvctl remove vip

- setenv

- srvctl setenv asm

- srvctl setenv database

- srvctl setenv listener

- srvctl setenv nodeapps

- srvctl setenv vip

- start

- srvctl start asm

- srvctl start cvu

- srvctl start database

- srvctl start diskgroup

- srvctl start filesystem

- srvctl start gns

- srvctl start home

- srvctl start instance

- srvctl start listener

- srvctl start nodeapps

- srvctl start oc4j

- srvctl start ons

- srvctl start scan

- srvctl start scan_listener

- srvctl start service

- srvctl start vip

- status

- srvctl status asm

- srvctl status cvu

- srvctl status database

- srvctl status diskgroup

- srvctl status filesystem

- srvctl status gns

- srvctl status home

- srvctl status instance

- srvctl status listener

- srvctl status nodeapps

- srvctl status oc4j

- srvctl status ons

- srvctl status scan

- srvctl status scan_listener

- srvctl status server

- srvctl status service

- srvctl status srvpool

- srvctl status vip

- stop

- srvctl stop asm

- srvctl stop cvu

- srvctl stop database

- srvctl stop diskgroup

- srvctl stop filesystem

- srvctl stop gns

- srvctl stop home

- srvctl stop instance

- srvctl stop listener

- srvctl stop nodeapps

- srvctl stop oc4j

- srvctl stop ons

- srvctl stop scan

- srvctl stop scan_listener

- srvctl stop service

- srvctl stop vip

- unsetenv

- srvctl unsetenv asm

- srvctl unsetenv database

- srvctl unsetenv listener

- srvctl unsetenv nodeapps

- srvctl unsetenv vip

- upgrade

- srvctl upgrade database

B Oracle RACのトラブルシューティング

- エラー分析に必要なファイルの場所

- Oracle RACでの診断データの管理

- Oracle RACでのインスタンス固有のアラート・ファイルの使用

- Oracle RACでのJavaベースのツールとユーティリティに関するトレースの有効化

- 停止保留問題の解決

- Oracle RACインスタンスでプライベート・ネットワークが使用されているかどうかの判別方法

C Oracle RAC Database (RACDB)プラグイン

D Oracle RAC監査構成ツール

- RACcheckの機能

- RACcheckの用途

- RACcheckの使用

- RACcheckのトラブルシューティング

用語集

索引

表一覧

- 3-1 インスタンスへのSQL*Plusコマンドの適用方法

- 3-2 V$ACTIVE_INSTANCES列の説明

- 3-3 Oracle RACに固有の初期化パラメータ

- 3-4 すべてのインスタンスで同じ値を設定する必要があるパラメータ

- 5-1 FANイベント・タイプ

- 5-2 イベント・パラメータの名前/値のペアと説明

- 5-3 FANパラメータおよび該当するセッション情報

- 5-4 ロード・バランシング・アドバイザのFANイベント

- 6-1 アーカイブREDOログ・ファイル名のフォーマット・パラメータ

- 6-2 UNIX/NFSのログの位置の例: 非クラスタ・ファイル・システムのローカル・アーカイブ

- 6-3 共有読取りローカル・アーカイブに関するUNIX/NFSの構成

- 8-1 clone.plスクリプト・パラメータ

- 8-2 clone.plスクリプトに渡される環境変数

- 8-3 clone.plスクリプトに渡されるクローニング・パラメータ。

- 8-4 Oracleインベントリ・ディレクトリの位置の確認

- 10-1 DBCAサイレント・モード構文の変数

- A-1 SRVCTLオブジェクト名の文字列制限

- A-2 SRVCTLで非推奨のコマンドおよびオプション

- A-3 SRVCTLコマンドのサマリー

- A-4 オブジェクト・キーワードおよび短縮形

- A-5 srvctl addのサマリー

- A-6 srvctl add cvuのオプション

- A-7 srvctl add databaseのオプション

- A-8 srvctl add filesystemのオプション

- A-9 srvctl add gnsのオプション

- A-10 srvctl add instanceのオプション

- A-11 srvctl add listenerのオプション

- A-12 srvctl add networkのオプション

- A-13 srvctl add nodeappsのオプション

- A-14 srvctl add onsのオプション

- A-15 srvctl add scanのオプション

- A-16 srvctl add scan_listenerのオプション

- A-17 srvctl add serviceのオプション

- A-18 srvctl add srvpoolのオプション

- A-19 srvctl add vipのオプション

- A-20 srvctl configのサマリー

- A-21 srvctl config asmのオプション

- A-22 srvctl config databaseのオプション

- A-23 srvctl config filesystemのオプション

- A-24 srvctl config gnsのオプション

- A-25 srvctl config listenerのオプション

- A-26 srvctl config nodeappsのオプション

- A-27 srvctl config serviceのオプション

- A-28 srvctl config vipのオプション

- A-29 srvctl convert databaseのオプション

- A-30 srvctl disableのサマリー

- A-31 srvctl disable asmのオプション

- A-32 srvctl disable cvuのオプション

- A-33 srvctl disable databaseのオプション

- A-34 srvctl disable diskgroupのオプション

- A-35 srvctl disable filesystemのオプション

- A-36 srvctl disable gnsのオプション

- A-37 srvctl disable instanceのオプション

- A-38 srvctl disable listenerのオプション

- A-39 srvctl disable nodeappsのオプション

- A-40 srvctl disable oc4jのオプション

- A-41 srvctl disable serviceのオプション

- A-42 srvctl disable vipのオプション

- A-43 srvctl downgrade databaseのオプション

- A-44 srvctl enableのサマリー

- A-45 srvctl enable asmのオプション

- A-46 srvctl enable cvuのオプション

- A-47 srvctl enable databaseのオプション

- A-48 srvctl enable diskgroupのオプション

- A-49 srvctl enable filesystemのオプション

- A-50 srvctl enable gnsのオプション

- A-51 srvctl enable instanceのオプション

- A-52 srvctl enable listenerのオプション

- A-53 srvctl enable nodeappsのオプション

- A-54 srvctl enable oc4jのオプション

- A-55 srvctl enable serviceのオプション

- A-56 srvctl enable vipのオプション

- A-57 srvctl getenvのサマリー

- A-58 srvctl getenv asmのオプション

- A-59 srvctl getenv databaseのオプション

- A-60 srvctl getenv listenerのオプション

- A-61 srvctl getenv nodeappsのオプション

- A-62 srvctl getenv vipのオプション

- A-63 srvctl modifyのサマリー

- A-64 srvctl modify asmのオプション

- A-65 srvctl modify cvuのオプション

- A-66 srvctl modify databaseのオプション

- A-67 srvctl modify filesystemのオプション

- A-68 srvctl modify gnsのオプション

- A-69 srvctl modify instanceのオプション

- A-70 srvctl modify listenerのオプション

- A-71 srvctl modify networkのオプション

- A-72 srvctl modify nodeappsのオプション

- A-73 srvctl modify oc4jのオプション

- A-74 srvctl modify onsのオプション

- A-75 srvctl modify scan_listenerのオプション

- A-76 サービスの移動用のsrvctl modify serviceのオプション

- A-77 使用可能インスタンスを優先インスタンスに変更するためのsrvctl modify serviceのオプション

- A-78 複数のインスタンスの使用可能および優先ステータスを変更するためのsrvctl modify serviceのオプション

- A-79 srvctl modify serviceのオプション

- A-80 srvctl modify srvpoolのオプション

- A-81 srvctl relocateのサマリー

- A-82 srvctl relocate cvuのオプション

- A-83 srvctl relocate databaseのオプション

- A-84 srvctl relocate gnsのオプション

- A-85 srvctl relocate oc4jのオプション

- A-86 srvctl relocate scanのオプション

- A-87 srvctl relocate scan_listenerのオプション

- A-88 srvctl relocate serverのオプション

- A-89 srvctl relocate serviceのオプション

- A-90 srvctl relocate vipのオプション

- A-91 srvctl removeのサマリー

- A-92 srvctl remove databaseのオプション

- A-93 srvctl remove diskgroupのオプション

- A-94 srvctl remove filesystemのオプション

- A-95 srvctl remove instanceのオプション

- A-96 srvctl remove listenerのオプション

- A-97 srvctl remove nodeappsのオプション

- A-98 srvctl remove oc4jのオプション

- A-99 srvctl remove onsのオプション

- A-100 srvctl remove serviceのオプション

- A-101 srvctl remove vipのオプション

- A-102 srvctl setenvのサマリー

- A-103 srvctl setenv asmのオプション

- A-104 srvctl setenv databaseのオプション

- A-105 srvctl setenv listenerのオプション

- A-106 srvctl setenv nodeappsのオプション

- A-107 srvctl setenv vipのオプション

- A-108 srvctl startのサマリー

- A-109 srvctl start asmのオプション

- A-110 srvctl start cvuのオプション

- A-111 srvctl start databaseのオプション

- A-112 srvctl start diskgroupのオプション

- A-113 srvctl start filesystemのオプション

- A-114 srvctl start gnsのオプション

- A-115 srvctl start homeのオプション

- A-116 srvctl start instanceのオプション

- A-117 srvctl start listenerのオプション

- A-118 srvctl start nodeappsのオプション

- A-119 srvctl start scanのオプション

- A-120 srvctl start scan_listenerのオプション

- A-121 srvctl start serviceのオプション

- A-122 srvctl start vipのオプション

- A-123 srvctl statusのサマリー

- A-124 srvctl status asmのオプション

- A-125 srvctl status cvuのオプション

- A-126 srvctl status databaseのオプション

- A-127 srvctl status diskgroupのオプション

- A-128 srvctl status filesystemのオプション

- A-129 srvctl status gnsのオプション

- A-130 srvctl status homeのオプション

- A-131 srvctl status instanceのオプション

- A-132 srvctl status listenerのオプション

- A-133 srvctl status oc4jのオプション

- A-134 srvctl status scanのオプション

- A-135 srvctl status scan_listenerのオプション

- A-136 srvctl status serverのオプション

- A-137 srvctl status serviceのオプション

- A-138 srvctl status srvpoolのオプション

- A-139 srvctl status vipのオプション

- A-140 srvctl stopのサマリー

- A-141 srvctl stop asmのオプション

- A-142 srvctl stop databaseのオプション

- A-143 srvctl stop diskgroupのオプション

- A-144 srvctl stop filesystemのオプション

- A-145 srvctl stop gnsのオプション

- A-146 srvctl stop homeのオプション

- A-147 srvctl stop instanceのオプション

- A-148 srvctl stop listenerのオプション

- A-149 srvctl stop nodeappsのオプション

- A-150 srvctl stop oc4jのオプション

- A-151 srvctl stop scanのオプション

- A-152 srvctl stop scan_listenerのオプション

- A-153 srvctl stop serviceのオプション

- A-154 srvctl stop vipのオプション

- A-155 srvctl unsetenvコマンドのサマリー

- A-156 srvctl unsetenv asmのオプション

- A-157 srvctl unsetenv databaseのオプション

- A-158 srvctl unsetenv listenerのオプション

- A-159 srvctl unsetenv nodeappsのオプション

- A-160 srvctl unsetenv vipのオプション

- A-161 srvctl upgrade databaseのオプション

- C-1 Oracle RAC Databaseプラグインのイントロスペクション・パラメータ

- C-2 Oracle RAC Databaseプラグインの(イントロスペクション時に要求される)イントロスペクション・パラメータ

- C-3 Oracle RAC Databaseのユーザー・プロパティ

- C-4 Oracle RAC Databaseのシステム・プロパティ

- D-1 RACcheckのオプション

はじめに

『Oracle Real Application Clusters管理およびデプロイメント・ガイド』では、Oracle Real Application Clusters One Node(Oracle RAC One Node)を含め、Oracle Real Application Clusters(Oracle RAC)のアーキテクチャと、この製品の概要について説明します。また、Oracle RACの管理とデプロイメントについても説明します。

このマニュアルの情報は、特に指定がないかぎり、すべてのプラットフォーム上で動作するOracle RACに適用されます。また、このマニュアルの内容は、他のOracleドキュメントで説明している非クラスタOracle Databaseの管理およびデプロイメントに関する項目の説明を補足するものです。必要に応じて、プラットフォーム固有のマニュアルも参照してください。ここでは、次の内容について説明します。

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

対象読者

このマニュアルは、次のタスクを実行するデータベース管理者、ネットワーク管理者およびシステム管理者を対象としています。

- Oracle RACデータベースのインストールおよび構成

- Oracle RACデータベースの管理

- Oracle RACを使用するクラスタおよびネットワークの管理およびトラブルシューティング

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

このマニュアル『Oracle Real Application Clusters管理およびデプロイメント・ガイド』では、Oracle RAC固有の管理およびアプリケーションのデプロイメントについて説明します。このマニュアルでは、Oracle Clusterwareについて理解していることを前提としています。

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

- 『Oracle Database 2日でReal Application Clustersガイド』
このタスク指向型ガイドでは、Red Hat Linuxシステムを使用する2ノードシステムでのOracle ClusterwareおよびOracle RACのインストール、構成および管理に必要な基本手順について説明します。

- 『Oracle Clusterware管理およびデプロイメント・ガイド』
このマニュアルでは、投票ディスクなどのOracle ClusterwareコンポーネントおよびOracle Cluster Registry(OCR)について説明します。

- プラットフォーム固有のOracle ClusterwareおよびOracle RACのインストレーション・ガイド
Oracle Databaseのプラットフォーム固有の各インストール・メディアには、プラットフォーム固有のOracle ClusterwareおよびOracle RACのインストールおよび構成ガイド(HTML形式およびPDF形式)が含まれています。このマニュアルには、Oracle ClusterwareおよびOracle RACが動作するUNIX、LinuxおよびWindowsベースの様々なプラットフォームに対するインストール前、インストールおよびインストール後の情報が記載されています。

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

- 『Oracle Database管理者ガイド』

- 『Oracle Database Net Services管理者ガイド』

- 『Oracle Databaseプラットフォーム・ガイドfor Microsoft Windows』

- 『Oracle Database管理者リファレンスfor Linux and UNIX-Based Operating Systems』

- 『Oracle Database管理者リファレンス11gリリース1 (11.1) for Linux and UNIX-Based Operating Systems』(AIX Systems、HP-UX、LinuxおよびSolarisオペレーティング・システム(SPARC))

注意:
今回のリリースの追加情報は、Oracle Database 11gのREADMEまたはリリース・ノートを参照してください。今回のリリース用のこれらのドキュメントが存在する場合、Oracle製品のインストール・メディアに収録されています。

データベース・エラー・メッセージの説明は、オンラインまたはTahitiドキュメント検索で参照できます。

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ドキュメントのタイトル、強調またはユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

Oracle RACの管理およびデプロイメントに関する新機能

ここでは、Oracle Real Application Clusters(Oracle RAC)の管理およびデプロイメントに関するOracle Database 11gリリース2 (11.2.0.4)、11gリリース2 (11.2.0.2)および11gリリース2 (11.2.0.1)の新機能について説明します。

Oracle RACに関連したOracle Database 11gリリース2(11.2.0.4)の新機能

ここでは、Oracle RACの管理およびデプロイメントに関するOracle Database 11gリリース2(11.2.0.4)の機能について説明します。

- Oracle RAC構成監査ツール
Oracle RAC構成監査ツール(RACcheck)は、構成の既知の問題、ベスト・プラクティス、通常のヘルス・チェックおよびアップグレード前後のベスト・プラクティスに対して、単一インスタンスおよびOracle RACデータベースのインストールを評価します。

関連項目:
付録D「Oracle RAC監査構成ツール」

- Oracleトレース・ファイル・アナライザ・コレクタ
Oracleトレース・ファイル・アナライザ(TFA)コレクタは、Oracle Clusterware、Oracle Grid InfrastructureおよびOracle RACシステムの診断データ収集を簡素化し、診断を収集するためのユーティリティです。

関連項目:
『Oracle Clusterware管理およびデプロイメント・ガイド』

Oracle RACに関連したOracle Database 11gリリース2(11.2.0.2)の新機能

ここでは、Oracle RACの管理およびデプロイメントに関するOracle Database 11gリリース2(11.2.0.2)の機能について説明します。

- Oracle RAC One Node
Oracle Real Application Clusters One Node(Oracle RAC One Node)は、強化された高可用性を非クラスタ・データベースに提供し、データベースを計画済停止時間および計画外停止時間の両方から保護します。Oracle RAC One Nodeよって、次のことが実現されます。

- 常にオン状態の非クラスタ・データベース・サービス

- データベース・サーバーのより優れた統合

- 強化されたサーバーの仮想化

- 完全なOracle RACを対象にした低コストの開発とテスト・プラットフォーム

さらに、Oracle RAC One Nodeは、データベース記憶域の統合を容易にし、データベース環境を標準化します。必要に応じて、停止時間や中断を発生させることなく、完全な複数ノードOracle RACデータベースにアップグレードできます。

オンライン・データベース再配置は、サービスの可用性を維持したまま、あるノードから別のノードにOracle RAC One Nodeデータベースを再配置するために使用できるツールです。

この機能には、Oracle RAC One Nodeとオンライン・データベース再配置の両方に対するサーバー制御ユーティリティ(SRVCTL)の拡張が含まれます。

また、この機能には、Oracle RAC One Nodeデータベースを追加するためのツールを使用できるようにする、Database Configuration Assistant(DBCA)の拡張も含まれます。

関連項目:

- 第4章「Oracle RAC One Nodeの管理」

- 第10章「LinuxおよびUNIXシステムのノードでのOracle RACの追加と削除」

- 付録A「サーバー制御ユーティリティのリファレンス」

- エディションベースの再定義
SRVCTLを使用して、データベース・サービスのエディション属性を指定できます。サービスにエディションを指定すると、そのサービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。

サービス属性としてエディションを指定すると、リソース使用率の管理に役立ちます。たとえば、エディションに関連付けられているサービスは、Oracle RAC環境の別のインスタンスに配置できため、Oracle Database Resource Managerは、対応するサービスにリソース計画を関連付けることで、異なるエディションによって使用されるリソースを管理できるようになります。

関連項目:

- エディションベースの再定義の詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。

- srvctl add serviceおよびsrvctl modify serviceコマンドの拡張の詳細は、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

- グリッド・インフラストラクチャ管理用のSRVCTLの拡張
SRVCTLの拡張では、新しい様々なOracle Grid InfrastructureとOracle RACリソースの管理が簡略化されます。

関連項目:

- これらの追加のコマンドの詳細は、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

- クラスタ検証ユーティリティの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle Database Quality of Service Managementサーバー
システム管理者は、Oracle Database Quality of Service Managementサーバーを使用して、正確なランタイム・パフォーマンスとリソース・メトリックを相関させ、ポリシーベースのパフォーマンスの目標を達成するために推奨リソース調整を生成するエキスパート・システムで分析することで、Oracle Databaseクラスタでホストされるアプリケーションのサービス・レベルを管理できます。

関連項目:
詳細は、『Oracle Database Quality of Service Managementユーザーズ・ガイド』を参照してください。

Oracle RACに関連したOracle Database 11gリリース2(11.2.0.1)の新機能

ここでは、Oracle RACの管理およびデプロイメントに関するOracle Database 11gリリース2(11.2.0.1)の機能について説明します。

- グリッドのプラグ・アンド・プレイ
グリッドのプラグ・アンド・プレイによって、可能な場合に、ノードごとの構成データが削減され、明示的にノードを追加したり削除する必要性が低下します。この機能によって、システム管理者は、テンプレートのシステム・イメージを取得するだけで、それ以上の構成を行わなくても、追加されるノードでそのイメージを実行できます。そのため多くの手動操作が不要になり、エラーの発生する可能性が減るだけでなく、構成の変更をより簡単に行えるようになります。ノード単位の構成が排除されると、個々の状態をノードで保持して管理する必要がなくなるため、ノードの交換が容易になります。

グリッドのプラグ・アンド・プレイでは、インスタンスの追加も簡略化されています。データベースでOracle Managed FilesおよびOracle Automatic Storage Management(Oracle ASM)が使用されている場合、srvctl add instanceコマンドで明示的に追加したインスタンス、またはポリシー管理データベースの新しいインスタンスが起動するときに暗黙的に追加したインスタンスに対して、リカバリ・スレッドとUNDO表領域が自動的に作成されます。

DBCA、Oracle Net Configuration Assistant(NETCA)、SRVCTLなどのツールおよびユーティリティはすべて、グリッドのプラグ・アンド・プレイ機能をサポートできるように更新されています。Oracle Enterprise Manager(Oracle RACを管理するためのグラフィカル・インタフェース)には、グリッドのプラグ・アンド・プレイ環境を管理および監視する機能が用意されています。

グリッドのプラグ・アンド・プレイ機能により、ノード単位の状態が使い捨て可能になることで、データベース・ノードのインストール、構成および管理のコストが削減されます。ノードは、状態を生成し直して簡単に交換できます。

関連項目:
グリッドのプラグ・アンド・プレイの詳細は、『Oracle Real Application Clustersインストレーション・ガイド』を参照してください。

- クラスタおよび容量のポリシーベースの管理
Oracle Clusterwareでは、ユーザーが定義したポリシーに基づいて容量の割当てと再割当てが行われ、ポリシーベースの管理を使用してリソースを高速にフェイルオーバーさせたり、容量を動的に割り当てることが可能になります。

クラスタおよび容量をポリシーベースで管理すると、異なる種類のアプリケーションをクラスタ内で効率的に割り当てることができます。ポリシーによってリソース使用量の面では分離させながらも、様々なアプリケーションを共有インフラストラクチャでホストすることができるため、アプリケーションは単一システムの環境にデプロイされているかのように動作します。ポリシー管理のOracle RACデータベースは、ポリシーベースのクラスタ管理を使用して、このデータベースがサポートするワークロードに必要なリソースを提供します。

関連項目:
詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- ロール別管理
Oracle Clusterwareでのロール別の管理により、特定の管理者タスクを社内の別のロールを持つ人に委譲することができます。これはCRS管理者と呼ばれる管理者ロールの概念に基づいており、このロールではサーバー・プールの作成およびリソースごとに管理タスクの付与が可能です。たとえば、2つのデータベースが同じクラスタ内に配置されている場合、CRS管理者は、クラスタ内の両方のデータベースを管理することができます。しかし、CRS管理者が、それぞれのデータベースのDBA責任者にそれぞれ管理権限を付与することもできます。

ロール別管理を使用すると、複数のアプリケーションおよびデータベースで同じクラスタおよびハードウェア・リソースを共有できますが、異なる管理グループ同士が互いに干渉することはありません。

関連項目:
詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- クラスタ・リソースのモデル化の向上
Oracle Clusterwareでは種類の異なるアプリケーションおよびプロセスを管理できます。アプリケーションおよびプロセスの間に依存性を作成し、単一のエンティティとして管理できます。

関連項目:
詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle Enterprise ManagerによるOracle Clusterwareのリソース管理
Oracle Clusterwareのリソースは、Oracle Enterprise Managerを使用して管理できます。Oracle Clusterwareのリソースを作成および構成できる他に、クラスタにリソースをデプロイした後で、リソースの監視や管理も行うことができます。

関連項目:
詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle Cluster Registryのパフォーマンスの向上
Oracle ClusterwareからOracle Cluster Registry(OCR)にアクセスする方法が改善されたことにより、ノードで障害が発生したときのサービスの再配置が高速になりました。クラスタの可用性を向上させるために、このリリースではOCRのコピーが5個までサポートされるようになり、OCRをOracle ASMに格納できるようになっています。

OCRを管理するツールは、新しい管理オプションをサポートできるように変更されました。一貫性のあるストレージ管理を自動化することで、Oracle ClusterwareおよびOracle RAC環境のパフォーマンスが向上し、クラスタの管理が容易になります。

関連項目:
詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- 非クラスタ・データベースでのSRVCTLサポート
サーバー制御ユーティリティ(SRVCTL)・コマンドが拡張され、スタンドアロン・サーバーの構成をOracle Restartを使用して管理できるようになりました。SRVCTLの新しい機能を使用すると、Oracle Clusterwareで管理できる非クラスタ・データベースを登録できます。登録後は、Oracle Clusterwareでそのデータベース・インスタンスの起動、停止、監視および再起動を実行できます。

SRVCTLの新しい機能により、コンソールまたはスクリプトから一貫性のあるインタフェースを使用できるため、Oracle Databaseの管理が簡略化されます。管理インタフェースが改善されたことにより、クラスタの一部であるサーバー上で稼働する非クラスタ・データベースの可用性を高めることが容易になります。

関連項目:

- 非クラスタ・データベースでのSRVCTLコマンドの使用の詳細は、『Oracle Database管理者ガイド』を参照してください。

- SRVCTLコマンドのリストは、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

- クラスタ検証ユーティリティの拡張
クラスタ検証ユーティリティ(CVU)には、特定の記憶域タイプと構成をチェックする機能が新しく追加されました。また、ユーザー固有の設定に対する考慮事項が増えています。

これらのチェックは、コマンドラインのコマンド以外にも、Oracle Universal Installer、DBCAおよびOracle Enterprise Managerから実行できます。これらの拡張により、クラスタ環境の実装と構成が容易になり、クラスタ環境の問題を診断する支援機能が提供されるため、構成およびインストールの機能が向上しています。

関連項目:
CVUコマンドの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle Enterprise Managerによるグリッドのプラグ・アンド・プレイのサポート
Oracle Enterprise Managerは次の目的に使用できます。

- グリッドのプラグ・アンド・プレイ環境のサポート

- 動的な構成の使用の管理

- ホスト、クラスタ、Oracle RACデータベースとOracle RACデータベース・インスタンスなど、グリッドのプラグ・アンド・プレイのプロファイルおよびターゲットの管理

また、Oracle Enterprise Managerでは、他にも次に示すOracle RAC管理タスクがサポートされています。

- 監視

- 起動

- 停止

- バックアップおよびリカバリ

- 表領域の管理

- ノードの追加

- Oracle Enterprise ManagerによるOracle ClusterwareおよびOracle RACのプロビジョニング
Oracle Enterprise Managerのプロビジョニング・フレームワークは、Oracle ClusterwareおよびOracle RACのインストールと構成の変更に合わせて更新されました。クラスタ・データベース環境の実装と管理は、Oracle Enterprise Managerのプロビジョニング・フレームワークを使用することでより簡単に実現できます。

- 停止時間ゼロでのOracle RACへのパッチ適用
Oracle ClusterwareおよびOracle RACへのパッチの適用は、クラスタ全体を停止しなくても完了させることができます。そのため、クラスタ・ソフトウェアおよびOracle Databaseのアウトオブプレース・アップグレードも可能になり、Oracle RAC環境で必要になるメンテナンスの計画停止時間が短縮されます。

- Oracle Data Guard構成でのアプリケーション・フェイルオーバーの統合サポート
プライマリ・データベースに接続されたアプリケーションは、Oracle Data Guardでロールが変更されると、新しいプライマリ・データベースに透過的にフェイルオーバーします。高速アプリケーション通知(FAN)と統合されたクライアントは、クラスタ内での高速フェイルオーバーの他に、プライマリ・データベースとスタンバイ・データベースの間でも高速にフェイルオーバーさせることができます。サービスには、サービスとデータベース・ロール(PHYSICAL_STANDBYなど)を関連付けるための属性があり、関連付けられたロールでデータベースがマウントされている場合にのみ、サービスがアクティブになります。

関連項目:

- 詳細は、『Oracle Data Guard Broker』を参照してください。

- 第5章「自動ワークロード管理の概要」

- Oracle ASM動的ボリューム・マネージャ
Oracle ASM動的ボリューム・マネージャは、カーネルにロード可能なデバイス・ドライバで、標準デバイス・ドライバ・インタフェースをクライアントに提供します(Oracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)など)。Oracle ASM動的ボリューム・マネージャは、I/Oを実行したり、Oracle Automatic Storage Management(Oracle ASM)をボリューム・マネージャとして使用してファイル・システムを構築するためのOracle ACFSのプライマリI/Oインタフェースです。Oracle ASM動的ボリューム・マネージャは、Oracle ASM起動時にロードされ、クラスタを認識し、エクステント・マップ情報、エクステントのリバランスおよびI/O障害時にOracle ASMと通信します。

Oracle ASM動的ボリューム・マネージャには、ボリューム・マネージャとしてOracle ASMの機能のすべてを汎用ファイル・システムで活用できるように、標準のI/Oインタフェースが用意されています。Oracleバイナリなど、Oracle ASMで直接サポートされないファイルをOracle ASMボリューム上のACFSに保持できるようになりました。このため、汎用ファイルをホストする場合にサード・パーティのファイル・システムまたはボリューム・マネージャを使用する必要がなくなりました。

関連項目:
詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

- Oracle Enterprise ManagerによるOracle Automatic Storage Managementクラスタ・ファイル・システムのサポート
Oracle Enterprise Managerは包括的な管理ソリーションを提供し、Oracle ASMテクノロジを拡張して、データベースと非データベースで、また単一ホスト構成とクラスタ構成の両方で、すべてのカスタマ・アプリケーション・データファイルをサポートします。また、既存のOracle Enterprise ManagerでのOracle ASMサポートが強化され、Oracle ASM動的ボリューム・マネージャ(ADVM)およびOracle ASMクラスタ・ファイル・システム(ACFS)テクノロジをサポートするための機能が追加されています。

Oracle Enterprise Managerには、グラフィカル・ユーザー・インタフェースが用意されているため、スタンドアロン・サーバーであるかOracle ASMのクラスタ・デプロイメントであるかに関係なく、環境を簡単に管理できます。一元化されたコンソールでは、ボリューム、データベース・ファイル、ファイル・システムおよびOracle Databaseを管理するための一貫性のあるインタフェースが提供されます。

関連項目:
詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

- Oracle Automatic Storage Managementクラスタ・ファイル・システム
Oracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)は、Oracle Databaseファイル以外のファイルも対象として、強固で先進的な汎用ファイル・システムを提供します。Oracle ACFSでは、Oracleバイナリ、レポート・ファイル、トレース・ファイル、アラート・ログ、他のアプリケーションのデータ・ファイルといったファイルもサポートされます。Oracle ACFSの追加により、Oracle ASMはOracle Databaseとデータベース以外のファイルの両方に対する完全なストレージ管理ソリューションになります。

その他のOracle ACFSの特性は次のとおりです。

- EB対応のファイルおよびファイル・システムの容量まで拡張する、64ビットのファイルおよびファイル・システムのデータ構造により、大容量ファイルをサポートします。

- エクステント・ベースの記憶域の割当てを使用することで、パフォーマンスが向上します。

- ファイル・システムの整合性を維持し、高速リカバリを実現するために、ログ・ベースのメタデータ・トランザクション・エンジンを使用しています。

- NFSやCIFSなどの業界標準プロトコルを使用してリモート・クライアントにエクスポートできます。

Oracle ACFSはOracle ASMを補完および活用し、Oracle Databaseファイル以外のファイルを格納および管理するための汎用ジャーナル・ファイル・システムを提供します。これにより、サード・パーティ製のクラスタ・ファイル・システム・ソリューションが不要になり、単一ノード環境とOracle RACおよびグリッド・コンピューティング環境の両方で、あらゆる種類のファイルを対象に、管理の合理化、自動化、簡略化が実現されます。

Oracle ACFSでは、停止時間を発生させずにファイル・システムを動的に拡張および縮小できます。また、ハードウェアのRAID機能に加えてOracle ASMのミラー化とストライプ化の機能を活用することで可用性も向上します。

関連項目:
Oracle ACFSの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

- 自動ストレージ管理のファイル・アクセス制御
この機能は、Oracle ASMファイルのアクセス制御をUNIXプラットフォームに実装し、データベース・インスタンス同士を隔離して不正アクセスを防止します。この機能には、ファイルの権限を付与、変更および拒否するためのSQL文が含まれています。

この機能を使用すると、複数のデータベース・インスタンスのOracle ASMファイルを同じディスク・グループに格納できます。また、複数のデータベースを安全に統合して、データベース・インスタンスが他のデータベース・インスタンスに属するファイルについて、アクセスまたは上書きしないように防止できます。

関連項目:

- 詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

- 「Oracle RACによるOracle Automatic Storage Management」

- ユニバーサル接続プール
ユニバーサル接続プール(UCP)は、Oracle Database 11g(11.1.0.7)で非推奨のJDBC暗黙接続キャッシュにかわるJava接続プールです。UCPはOracle RACと統合されており、次のメリットがあります。

- 単一のUCPをすべてのOracleコンポーネントまたはユーザーで使用できます。

- 複数のOracleコンポーネント(AOL/J、ADF Business Components、TopLinkなど)からの接続プールの重複を排除します。

- OracleコンポーネントまたはOracle製品の接続プールが一貫性のある動作になります。たとえば、アプリケーションに対して一貫性のある接続管理が行われるように接続プール・サイズを構成できます。

- UCPマネージャ用のJMXインタフェースが用意されており、一貫性のある管理インタフェースを使用して接続プールを管理できます。

- UCPアダプタを使用することで、プールされている特定の接続タイプの標準に準拠できます。

- OracleおよびOracle以外の接続のプーリングがサポートされます。

- JDBC接続やJCA接続を含む、すべてのタイプの接続プーリングがサポートされます。

関連項目:
JDBCクライアントの構成の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- Java APIを介した高可用性イベントの公開
Oracle接続プール機能を使用していない場合は、簡略化されたJAVA APIを使用して、高速アプリケーション通知(FAN)イベントにアクセスできます。

関連項目:
FANイベントの詳細は、「高速アプリケーション通知」を参照してください。

- グリッドのプラグ・アンド・プレイをサポートするためのSRVCTLの拡張
この機能には、グリッドのプラグ・アンド・プレイ機能のためのサーバー制御ユーティリティ(SRVCTL)の拡張が含まれています。

関連項目:
SRVCTLコマンドのリストは、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

1 Oracle RACの概要

この章では、Oracle Real Application Clusters(Oracle RAC)の概要について説明し、インストール、管理およびデプロイする方法を示します。

内容は次のとおりです。

- Oracle RACの概要

- Oracle ClusterwareおよびOracle RACの概要

- Oracle RACのアーキテクチャおよび処理の概要

- 自動ワークロード管理の概要

- Oracle RACのインストールの概要

- Oracle RAC環境の管理の概要

Oracle RACの概要

クラスタは、相互に接続された複数のコンピュータまたはサーバーで構成され、エンド・ユーザーおよびアプリケーションからは1つのサーバーとして認識されます。Oracle RACを使用すると、Oracle Databaseをクラスタ化できます。Oracle RACでは、インフラストラクチャとしてOracle Clusterwareを使用し、複数のサーバーを関連付けてそれらが単一のシステムとして動作するように構成します。

Oracle Clusterwareは、Oracle Databaseと統合された、ポータブルなクラスタ管理ソリューションです。また、Oracle Clusterwareは、Oracle RACを使用する際の必須コンポーネントです。さらに、Oracle Clusterwareによって、非クラスタのOracle DatabaseとOracle RACデータベースの両方で、Oracle高可用性インフラストラクチャを使用できます。Oracle Clusterwareを使用すると、非クラスタ・データベースとOracle RACデータベースの任意の組合せで使用可能な、クラスタ化された記憶域のプールを作成できます。

Oracle RACが動作するほとんどのプラットフォームにおいて、必要なクラスタウェアはOracle Clusterwareのみです。Oracle RACでのクラスタウェアの動作が保証されている場合、他のベンダーのクラスタウェアも使用できます。

関連項目:
詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』および『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

非クラスタのOracle Databaseには、Oracle Databaseとインスタンス間に1対1関係があります。しかし、Oracle RAC環境では、データベースとインスタンス間に1対多の関係があります。Oracle RACデータベースには最大100のインスタンスが存在でき、Foot 1 それらすべてが1つのデータベースにアクセスします。すべてのデータベース・インスタンスは同じインターコネクトを使用する必要があり、Oracle Clusterwareもこれを使用します。

各Oracle RACデータベース・インスタンスには次のものも存在するため、Oracle RACデータベースは、非クラスタのOracle Databaseとアーキテクチャが異なります。

- 各インスタンスの1つ以上の追加REDOスレッド

- インスタンス固有のUNDO表領域

複数のサーバーの処理能力を組み合せることによって、単一のサーバーの場合よりも優れたスループットおよびOracle RACスケーラビリティを実現できます。

図1-1に、Oracle DatabaseのオプションであるOracle RACにより、複数のサーバーが1つのOracle Databaseにアクセスするための単一のシステム・イメージが提供される方法を示します。Oracle RACでは、各Oracleインスタンスは異なるサーバー上で実行する必要があります。

図1-1 Oracle RACアーキテクチャでのOracle Database

従来、Oracle RAC環境は、1つのデータ・センターにあります。しかし、Oracle RACを拡張遠距離クラスタに構成でき、これは、サイト障害からの非常に高速なリカバリを実現し、すべてのサイトのすべてのノードで単一のデータベース・クラスタの一部としてアクティブにトランザクションを処理できるアーキテクチャです。拡張クラスタでは、クラスタの各ノードを遠く離れた2つの建物に配置します(通りの反対側、キャンパスの反対側、街の反対側など)。可用性の理由から、データを両方のサイトに配置する必要があり、これにより、記憶域に対してディスク・ミラーリング技術の実装が必要になります。

このアーキテクチャの実装を選択する場合、特に距離、待機時間および提供される保護の程度を考慮し、このアーキテクチャがビジネスに対してよい解決策となるかどうかを評価する必要があります。拡張クラスタ上のOracle RACは、ローカルのOracle RACクラスタで可能となるよりも優れた高可用性を実現しますが、組織の障害時リカバリ要件を満たすとはかぎりません。適切な分離は一部の災害(局所的停電、サーバー室の冠水など)に対する有効な保護策となりますが、あらゆる種類の障害に効果があるわけではありません。破損や地域災害に対する防御を含む災害に対する包括的な保護策として、『Oracle Database高可用性概要』および次のMaximum Availability Architecture(MAA) Webサイトで説明するように、Oracle RACとともにOracle Data Guardを使用することをお薦めします。

http://www.oracle.com/technology/deploy/availability/htdocs/maa.htm

Oracle RACは、すべてのタイプのアプリケーションに対して高可用性および高スケーラビリティを提供する特殊な技術です。また、Oracle RACインフラストラクチャは、Oracleエンタープライズ・グリッド・コンピューティング・アーキテクチャを実装するための主要なコンポーネントです。複数のインスタンスが単一のデータベースにアクセスすることで、サーバーがシングル・ポイント障害になることを防止できます。Oracle RACを使用すると、小規模な汎用サーバーをクラスタに組み込んで、ミッション・クリティカルなビジネス・アプリケーションをサポートするスケーラブルな環境を構築できます。Oracle RACデータベースにデプロイするアプリケーションは、コードを変更せずに使用できます。

Oracle ClusterwareおよびOracle RACの概要

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

Oracle Clusterwareは、単独でインストールすることも、Oracle RACインストール・プロセスの前提条件としてインストールすることもできます。サービスなどのOracle Database機能は、基盤となるOracle Clusterwareメカニズムを使用して高度な機能を提供します。特定のプラットフォームについては、一部のサード・パーティ製クラスタウェア製品も引き続きサポートされます。

Oracle Clusterwareは、Oracle RACのために設計され、Oracle RACに密接に統合されています。Oracle Clusterwareを使用して、クラスタで高可用性操作を管理できます。任意の管理ツールを使用してOracle RACデータベースを作成すると、データベースは他の必要なコンポーネント(仮想インターネット・プロトコル(VIP)・アドレス、単一クライアント・アクセス名(SCAN)、SCANリスナー、Oracle Notification Service、Oracle Netリスナーなど)とともにOracle Clusterwareに登録され、管理されます。Oracle Clusterwareによってノードが起動されると、これらのリソースが自動的に起動され、障害が発生すると、Oracle Clusterwareによって自動的に再起動されます。Oracle Clusterwareデーモンは各ノードで実行されます。

Oracle Clusterwareが管理するものはすべてCRSリソースと呼ばれます。CRSリソースには、データベース、インスタンス、サービス、リスナー、VIPアドレス、アプリケーション・プロセスがあります。Oracle Clusterwareは、Oracle Cluster Registry(OCR)に格納されているリソースの構成情報に基づいてCRSリソースを管理します。SRVCTLコマンドを使用して、すべてのOracle定義のCRSリソースを管理できます。Oracle Clusterwareは、クラスタ内のOracleによって事前定義されていないサーバー上で動作するすべてのプロセスを管理するためのCRSリソースを作成できるフレームワークを提供します。Oracle Clusterwareには、『Oracle Clusterware管理およびデプロイメント・ガイド』で説明するとおり、管理可能なOCRのこれらのコンポーネントの構成に関する情報が格納されます。

Oracle RACのアーキテクチャおよび処理の概要

Oracle RACの最小要件として、Oracle Clusterwareソフトウェア・インフラストラクチャが満たしている必要があるのは、同じ記憶域および同じ一連のデータ・ファイルにクラスタ内のすべてのノードから同時にアクセスできること、クラスタ内のノード同士でプロセス間通信(IPC)ができる通信プロトコルが用意されていること、論理的に結合された単一のキャッシュ上にデータが存在するかのように、複数のデータベース・インスタンスでデータを処理できること、およびクラスタ内のノードのステータスを監視して通信するメカニズムが用意されていることです。

詳細は、次の項を参照してください。

- クラスタを認識する記憶域ソリューション

- サービスおよびVIPアドレスを使用したOracle Databaseへの接続の概要

- Oracle RACソフトウェア・コンポーネント

- Oracle RACバックグラウンド・プロセス

クラスタを認識する記憶域ソリューション

Oracle RACデータベースは、Shared Everythingデータベースです。Oracle RAC環境のすべてのデータ・ファイル、制御ファイル、SPFILE脚注2 およびREDOログ・ファイルは、すべてのクラスタ・データベース・インスタンスがこれらのストレージ・コンポーネントにアクセスできるように、クラスタで認識される共有ディスク上に存在する必要があります。Oracle RACデータベースはShared Everythingアーキテクチャを使用するため、Oracle RACでは、すべてのデータベース・ファイルに対して、クラスタで認識される記憶域が必要です。

Oracle RACでは、Oracle Databaseソフトウェアによってディスク・アクセスが管理され、様々な記憶域アーキテクチャでの使用が保証されています。記憶域の構成方法は自由に選択できますが、サポートされているクラスタを認識する記憶域ソリューションを使用する必要があります。Oracle Databaseでは、次のようなOracle RAC用のファイル記憶域オプションが提供されています。

- Oracle Automatic Storage Management(Oracle ASM)
記憶域の管理にはこのソリューションをお薦めします。

- OCFS2やOracle Cluster File System(Windows用のOCFS)など、動作保証済のクラスタ・ファイル・システム
OCFS2はLinuxで使用でき、Windows用のOCFSはWindowsプラットフォームで使用できます。ただし、Oracle RACで認定されているサード・パーティのクラスタ・ファイル・システムやクラスタを認識するボリューム・マネージャを使用することもできます。

- 動作保証されたネットワーク・ファイル・システム(NFS)・ファイル・サーバー

サービスおよびVIPアドレスを使用したOracle Databaseへの接続の概要

Oracle RAC環境内のすべてのノードは、ユーザーおよびアプリケーションがデータベースにアクセスできるように、Local Area Network(LAN)に接続する必要があります。アプリケーションは、Oracle Databaseサービス機能を使用して、Oracle Databaseに接続する必要があります。サービスでは、規則および特性を定義して、ユーザーおよびアプリケーションからデータベース・インスタンスへの接続方法を制御できます。これらの特性には、一意の名前、ワークロード・バランシング、フェイルオーバー・オプションおよび高可用性特性が含まれます。Oracle Net Servicesでは、Oracle RACデータベース内のすべてのインスタンス間で、アプリケーション接続のロード・バランシングが可能です。

ユーザーは、クライアント/サーバー構成を使用するか、または接続プーリングを任意に使用し、1つ以上の中間層を介してOracle RACデータベースにアクセスします。ユーザーは、データベース管理者、開発者、アプリケーション・ユーザー、パワー・ユーザー(たとえば、独自の検索を作成してデータ・マイニングを行うユーザー)などである場合があります。

通常、ほとんどのパブリック・ネットワークではTCP/IPが使用されますが、サポートされている任意のハードウェアとソフトウェアの組合せを使用できます。Oracle RACデータベース・インスタンスは、クラスタの単一クライアント・アクセス名(SCAN)を使用してアクセスされる必要があります。

関連項目:
SCANの詳細は、「自動ワークロード管理の概要」を参照してください。

インターコネクト・ネットワークは、クラスタ内のすべてのサーバーに接続するプライベート・ネットワークです。インターコネクト・ネットワークでは、クラスタ内のノードのみがアクセスできる1つまたは複数のスイッチが使用されます。クラスタ・インターコネクトには、ギガビット・イーサネットでユーザー・データグラム・プロトコル(UDP)を構成してください。LinuxおよびUNIXシステムでは、UDPまたはリライアブル・データ・ソケット(RDS)プロトコルのいずれかを使用するようにOracle Clusterwareを構成できます。Windowsクラスタでは、TCPプロトコルが使用されます。Oracle Clusterwareインターコネクトでは、クロスオーバー・ケーブルの使用はサポートされていません。

注意:
キャッシュ・フュージョンによってインターコネクトがインスタンス間通信で使用されるため、ユーザー通信でインターコネクト(プライベート・ネットワーク)を使用しないでください。

ノード障害が発生した場合は、そのノードのVIPアドレスが、TCP接続受入れ可能な別のノードにフェイルオーバーされますが、Oracle Databaseへの接続は受け入れられません。通常、VIPアドレスは次の場合にフェイルオーバーされます。

- VIPアドレスが実行されているノードで障害が発生した場合

- VIPアドレスのすべてのインタフェースに障害が発生した場合

- VIPアドレスのすべてのインタフェースがネットワークから切断された場合

そのVIPアドレスへの接続を試行するクライアントは、TCP接続のタイムアウト・メッセージを待機するかわりに、すぐにconnection refusedエラーを受け取ります。VIPが構成されたネットワークがオンラインに戻ると、Oracle Clusterwareは接続が受け入れられたホーム・ノードにVIPをフェイルバックします。

Network Attached Storage(NAS)を使用する場合、2つ目のプライベート・ネットワークを構成する必要があります。通常、このネットワークへのアクセスは、ベンダーのソフトウェアに制御されています。プライベート・ネットワークでは、静的IPアドレスが使用されます。

Oracle RAC 11gリリース2(11.2)では、複数のパブリック・ネットワークがサポートされます。各ネットワークにはそれぞれ固有のサブネットがあり、各データベース・サービスは特定のネットワークを使用してOracle RACデータベースにアクセスします。各ネットワークのリソースはOracle Clusterwareで管理されます。

また、クラスタごとにSCANを作成する必要があり、これは、組織のドメイン・ネーム・サーバー(DNS)、または3つのIPアドレスでラウンド・ロビンするグリッド・ネーミング・サービス(GNS)のいずれかに定義された単一のネットワーク名です。Oracle RACデータベースへのすべての接続で、クライアント接続文字列にSCANを使用することをお薦めします。受信する接続は、3つのSCANリスナーを介して、要求されたサービスを提供するアクティブなインスタンス間でロード・バランシングされます。SCANを使用すると、クラスタの構成を変更(ノードの追加や削除)した場合にも、クライアント接続を変更する必要はありません。

Oracle RACソフトウェア・コンポーネント

通常、Oracle RACデータベースには、それぞれにメモリー構造およびバックグラウンド・プロセスが含まれる複数のデータベース・インスタンスがあります。Oracle RACデータベースには、非クラスタOracle Databaseと同じプロセスおよびメモリー構造があり、さらに、Oracle RAC固有の追加プロセスおよびメモリー構造があります。1つのインスタンスのデータベース・ビューは、同じOracle RACデータベース内の他のインスタンスのビューとほぼ同じで、ビューはその環境の単一のシステム・イメージです。

各インスタンスのシステム・グローバル領域(SGA)には、バッファ・キャッシュが存在します。キャッシュ・フュージョンの使用によって、Oracle RAC環境で各インスタンスのバッファ・キャッシュが論理的に結合され、論理的に結合された単一のキャッシュにデータが存在する場合と同様に、インスタンスでデータを処理できます。

注意:
キャッシュ・フュージョンによって、Oracle RACでのSGAのサイズ要件は、非クラスタOracle DatabaseでのSGAのサイズ要件より大きくなります。

問合せまたはトランザクションを正しく処理するために必要なブロックを、各Oracle RACデータベース・インスタンスが確実に取得できるようにするために、Oracle RACインスタンスでは、グローバル・キャッシュ・サービス(GCS)およびグローバル・エンキュー・サービス(GES)の2つのプロセスが使用されます。GCSおよびGESは、グローバル・リソース・ディレクトリ(GRD)を使用して、各データ・ファイルおよび各キャッシュ・ブロックのステータスのレコードをメンテナンスします。GRDの内容はすべてのアクティブ・インスタンス間で分散され、Oracle RACインスタンスのSGAのサイズが実質的に増加します。

1つのインスタンスがデータをキャッシュした後は、同じクラスタ・データベース内の他のインスタンスは、ディスクからブロックを読み取るよりも高速に、同じデータベース内の別のインスタンスからブロック・イメージを取得できるようになります。そのため、キャッシュ・フュージョンは、ディスクからブロックを再読取りするのではなく、現行のブロックをインスタンス間で移動します。一貫性のあるブロックや変更されたブロックが別のインスタンスで必要な場合、キャッシュ・フュージョンは、影響を受けるインスタンス間でブロック・イメージを直接転送します。Oracle RACは、インスタンス間通信およびブロック転送にプライベート・インターコネクトを使用します。GES Monitorおよびインスタンス・エンキュー・プロセスは、キャッシュ・フュージョン・リソースへのアクセスおよびエンキューのリカバリ・プロセスを管理します。

Oracle RACバックグラウンド・プロセス

GCSプロセス、GESプロセスおよびGRDが連係してキャッシュ・フュージョンを実現しています。Oracle RACプロセスおよびその識別子は次のとおりです。

- ACMS: メモリー・サービスへのアトミック制御ファイル(ACMS)
Oracle RAC環境では、ACMSのインスタンスごとのプロセスは、分散SGAメモリー更新が成功時にグローバルにコミットされるようにしたり、障害発生時にグローバルに強制終了されるようにするエージェントです。

- GTX0-j: グローバル・トランザクション・プロセス
GTX0-jプロセスは、Oracle RAC環境でXAグローバル・トランザクションを透過的にサポートします。これらのプロセスの数は、データベースによって、XAグローバル・トランザクションのワークロードに基づいて自動調整されます。

- LMON: グローバル・エンキュー・サービス・モニター
LMONプロセスでは、グローバル・エンキューおよびクラスタ全体のリソースが監視され、グローバル・エンキュー・リカバリ操作が実行されます。

- LMD: グローバル・エンキュー・サービス・デーモン
LMDプロセスでは、各インスタンス内の受信リモート・リソース要求が管理されます。

- LMS: グローバル・キャッシュ・サービス・プロセス
LMSプロセスでは、情報をグローバル・リソース・ディレクトリ(GRD)に記録することにより、データファイルのステータスおよび各キャッシュ・ブロックのレコードがメンテナンスされます。LMSプロセスでは、リモート・インスタンスへのメッセージ・フローの制御、グローバル・データ・ブロック・アクセスの管理、異なるインスタンスのバッファ・キャッシュ間のブロック・イメージの送信も行われます。この処理は、キャッシュ・フュージョン機能の一部です。

- LCK0: インスタンス・エンキュー・プロセス
LCK0プロセスでは、ライブラリや行キャッシュ要求などの非キャッシュ・フュージョン・リソース要求が管理されます。

- RMSn: Oracle RAC管理プロセス(RMSn)
RMSnプロセスでは、Oracle RACの管理性タスクが実行されます。RMSnプロセスによって実行されるタスクには、新規インスタンスがクラスタに追加された際のOracle RAC関連リソースの作成があります。

- RSMN: リモート・スレーブ・モニターは、リモート・インスタンスでのバックグラウンド・スレーブ・プロセスの作成と通信を管理します。これらのバックグラウンド・スレーブ・プロセスでは、別のインスタンスで実行されている調整プロセスのためのタスクが実行されます。

注意:
この項で説明する多くのOracle Databaseコンポーネントは、『Oracle Database概要』で説明する非クラスタOracle Databaseの追加コンポーネントです。

自動ワークロード管理の概要

自動ワークロード管理によってワークロードの分散を管理し、ユーザーおよびアプリケーションに対してパフォーマンスを最適化できます。この処理によって、データベース接続に対する高可用性の提供、迅速な障害リカバリ、アクティブな構成内での最適なワークロード・バランシングなどが可能になります。Oracle RACを使用したOracle Databaseには、接続時ロード・バランシング、高速接続フェイルオーバー、ロード・バランシング・アドバイザ、ランタイム接続ロード・バランシングなど、自動ワークロード管理を向上させる多くの機能が含まれています。自動ワークロード管理を使用すると、Oracle RAC環境で多くのメリットが得られます。ただし、非クラスタOracle DatabaseでOracle Databaseサービスを使用することによって(特にOracle Data GuardまたはOracle Streamsを使用するサービスによって)、自動ワークロード管理を使用できます。

自動ワークロード管理を構成するコンポーネントは次のとおりです。

- 高可用性フレームワーク: Oracle Databaseでコンポーネントを常に稼働状態に維持できるOracle RAC高可用性フレームワークのことです。Oracleの高可用性は、Oracle Clusterwareは、重要なコンポーネントを監視し、ユーザーが再起動プロセスをオーバーライドしないかぎり、それらが停止した場合は再起動することを意味します。構成が変更されると、Oracle ClusterwareおよびOracle RACでもクライアントに対してアラートを表示するため、クライアントはすぐに変更に対応でき、アプリケーション開発者は停止および再構成をエンド・ユーザーに見えないようにすることができます。Oracleの高可用性の範囲は、Oracle Databaseインスタンス内の停止したOracle Databaseの再起動から、他の使用可能なインスタンスへのインスタンス全体のプロセスのフェイルオーバーまで及びます。

- 単一クライアント・アクセス名(SCAN): Oracle RACデータベースにアクセスするためにすべてのクライアントが使用する、DNSまたはGNSのいずれかに定義された単一のネットワーク名とIPアドレスのことです。SCANを使用すると、クラスタ構成に変更が発生してもクライアントを変更する必要がなくなります。また、クライアントでは、Oracle RACデータベースでロード・バランシングやフェイルオーバー接続を行うためのEasy Connect文字列も使用できるようになります。

注意:
GNSを使用するかどうかに関係なく、SCANは必須です。GNSを使用する場合は、Oracleで自動的にSCANが作成されます。GNSを使用しない場合は、DNSでSCANを定義する必要があります。

- ロード・バランシング・アドバイザ: データベースおよびデータベース・インスタンスが現在提供しているサービス・レベルについての情報をアプリケーションに提供する、データベースの機能です。アプリケーションではこの情報を利用して、アプリケーション要求に対して最適なサービス品質で処理を実行可能なインスタンスに、接続要求を割り当てることができます。Oracle Databaseでは、Java Database Connectivity(JDBC)とOracle Data Provider for .NET(ODP.NET)の接続プールは、ロード・バランシング情報に基づいて機能するように統合されています。アプリケーションでは、プログラムを変更することなく、統合された接続プールを使用できます。

- サービス: 企業のグリッド構想を可能にするために、Oracle Databaseでは、サービスと呼ばれる強力な自動ワークロード管理機能が導入されています。サービスはOracle RACデータベースで定義可能なエンティティです。サービスによって、データベースのワークロードをグループ化し、サービスを処理するために割り当てられた最適なインスタンスに作業をルーティングできます。さらに、サービスを使用して、Oracle Databaseがワークロードの処理およびワークロード・リソースの監視に割り当てるリソースを定義できます。サービスに割り当てたアプリケーションは、高可用性およびロード・バランシングの規則を含む、定義済の自動ワークロード管理の特性を透過的に取得します。多くのOracle Database機能は、リソース・マネージャなどのサービスに統合され、これによって、インスタンス内でサービスが使用できるリソースを制限できます。一部のデータベース機能も、Oracle Streams、Advanced Queuing(キューの位置の透過性を実現)およびOracle Scheduler(特定のジョブ・クラスにサービスをマップ)に統合されています。
Oracle RACデータベースでは、構成したサービス・パフォーマンス規則によって、Oracle Databaseがそのサービスに使用可能な各インスタンスに割り当てられる作業の量を制御できます。ノード、アプリケーション、アプリケーション・コンポーネントなどの追加によってデータベースを拡張すると、より多くのサービスを追加できます。

- サーバー・プール: サーバー・プールにより、CRS管理者は、Oracle Clusterwareがどのようにリソースを割り当てるかを定義するポリシーを作成できます。Oracle RACのポリシー管理データベースは、サーバー・プールで実行されます。Oracle Clusterwareは、必要な数のサーバー(つまり、Oracle RACデータベースに必要な数のインスタンス)をサーバー・プール内に保持しようとします。1つのサーバーが同時に存在できるのは、1つのサーバー・プール内のみです。ただし、1つのデータベースは複数のサーバー・プールで実行できます。クラスタ管理サービスは、UNIFORM(サーバー・プールのすべてのインスタンスでアクティブ)またはSINGLETON(サーバー・プール内の1つのインスタンスでのみアクティブ)のいずれかとして定義されているサーバー・プール内で実行されます。

- 接続時ロード・バランシング: Oracle Net Servicesによって、データベース接続の接続時ロード・バランシングが実行されます。接続時ロード・バランシングは、接続が作成されると実行されます。指定したサービスの接続は、サービスを提供する実行中のすべてのインスタンス間で調整されます。接続のバランシング方法は、サービス定義で定義する必要があります。ただし、Oracle Net Servicesも構成する必要があります。ロード・バランシング・アドバイザを有効にすると、リスナーは、ロード・バランシング・アドバイザを使用して接続時ロード・バランシングを行います。

関連項目:
第5章「自動ワークロード管理の概要」

Oracle RACのインストールの概要

Oracle Universal Installerを使用してOracle ClusterwareとOracle Databaseソフトウェアをインストールし、Database Configuration Assistant(DBCA)を使用してデータベースを作成します。データベースの作成によって、Oracle RAC環境のネットワーク構成、データベース構造およびパラメータ設定が、選択された環境に最適なものになります。インストール後、データベース管理者が行うOracle RAC環境の管理タスクには、次の3つのレベルがあります。

- インスタンスの管理

- データベースの管理

- クラスタの管理

この項では、Oracle RACのインストール・プロセスについて説明します。内容は次のとおりです。

- Oracle RAC環境の互換性

- Oracle RACのインストールおよびデータベース作成の概要

- Oracle Grid InfrastructureおよびOracle RACソフトウェアの拡張の概要

注意:
Oracle RACをインストールする前に、まずOracle Clusterwareをインストールする必要があります。詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle RAC環境の互換性

同じクラスタ内に異なるバージョンのデータベースを含む構成のOracle RACを実行する場合は、クラスタウェアもインストールする必要があります。たとえば、同じクラスタ内でOracle9i とOracle Database 10g を実行する場合を次に示します。

- Oracle9iデータベースを実行しているOracle RACノードの場合、Oracle9iクラスタをインストールする必要があります。

- UNIXでは、クラスタウェアは、HACMP、Serviceguard、Sun ClusterwareまたはVeritas SFのいずれかです。

- WindowsおよびLinuxの場合、クラスタはOracle Cluster Managerを使用します。

- Oracle Database 10g以降を実行しているOracle RACをインストールする場合は、Oracle Clusterwareもインストールする必要があります。Oracle Database 11gリリース2(11.2)では、最初にクラスタ用のOracle Grid Infrastructureをインストールする必要があることを意味します。詳細は、プラットフォームに固有の『Oracle Grid Infrastructureインストレーション・ガイド』および『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle RAC 10gとOracle RAC 11gを同じクラスタで実行する場合は、Oracle Clusterware 11g(のみ)を実行する必要があります。

Oracle RAC 10gまたはOracle RAC 11gとともにクラスタで実行する場合は、Oracle9i RACソフトウェアを最初にインストールする必要があります。

注意:
クラスタの一部であるサーバーにOracle RACを追加する場合は、Oracle Clusterwareに移行するか、または実行しているクラスタウェアが10g 以降のリリースのOracle RACと組み合せて実行できることを確認し、その2つを連動させるための適切なオプションがインストールされていることを確認します。連動することが保証されていないかぎり、異なるクラスタ・ソフトウェアを同じサーバーで実行しないでください。

Oracle RACのインストールおよびデータベース作成の概要

Oracle Clusterwareのインストールが終了し、稼働できる状態になった後、Oracle Universal Installerを実行して、Oracle RACコンポーネントとともにOracle Databaseソフトウェアをインストールします。

インストールの実行中、データベース・ホームのインストール時にデータベースの作成を選択できます。Oracle Universal InstallerはDBCAを実行し、選択したオプションに従ってOracle RACデータベースを作成します。

注意:
データベース作成の前提条件として、デフォルト・リスナーがOracle Grid Infrastructureホームで実行されている必要があります。デフォルトのリスナーがOracle Grid Infrastructureホームに存在しない場合は、デフォルトのリスナーを作成するためにOracle Grid InfrastructureホームからNETCAを実行することを指示したエラーがDBCAから返されます。

関連項目:
NetCAの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

Oracle RACソフトウェアはOracle Databaseインストール・メディアの一部として配布されます。Oracle Databaseソフトウェアのインストール・プロセスでは、クラスタ上でインストールを実行していることが認識されると、デフォルトでOracle RACオプションもインストールされます。Oracle Universal Installerでは、Oracle RACがOracleホームと呼ばれるディレクトリ構造にインストールされます(これは、システムで実行中の他のOracleソフトウェアのOracleホーム・ディレクトリとは別のものです)。Oracle Universal Installerはクラスタを認識するため、クラスタの一部として定義されたすべてのノードにOracle RACソフトウェアをインストールします。

インストール時にOracle ASMを選択して、記憶域管理を簡素化することをお薦めします。Oracle ASMを使用すると、ディスク・グループ内のすべてのデータベース・ファイルの記憶域を自動的に管理できます。Oracle Standard Editionを使用してOracle RACデータベースを作成する場合は、Oracle ASMを使用してすべてのデータベース・ファイルを格納する必要があります。

注意:
Oracle RACデータベースを作成する前に、Oracle ASMを個別に構成する必要があります。

デフォルトでは、Oracle Databaseによって1つのサービスがOracle RACインストール用に作成されます。このサービスはデータベース用です。デフォルトのデータベース・サービスは、通常、DB_NAMEおよびDB_DOMAIN初期化パラメータの組合せdb_name.db_domainを使用して識別されます。データベースが制限モードになっていないかぎり、このデフォルトのサービスはOracle RAC環境のすべてのインスタンスで使用できます。

注意:
Oracle Clusterwareをインストールした後で、ドメイン修飾子の追加や削除を含め、ホスト名を変更しないでください。ホスト名が変更されたノードは、クラスタから削除して、新しい名前で再度追加する必要があります。

Oracle Grid InfrastructureおよびOracle RACソフトウェアの拡張の概要

Oracle RACデータベース・ホームのクローン・イメージをクラスタ内の他のノードにコピーして、グリッド環境でOracle RACを追加のノードに拡張することができます。Oracleクローニングでは、ソフトウェアのイメージが、類似のハードウェアおよびソフトウェアがある他のノードにコピーされます。クローニングは、Oracle RAC環境を同じ構成の複数のノードに迅速に拡張する必要がある場合のシナリオに最適です。

Oracle RAC環境の拡張には、次の方法が提供されています。

- クローニング・スクリプトを使用したOracleクローニング・プロシージャ

関連項目:
第8章「新規クラスタのノードへのOracle RACのクローニング」

- Oracle Enterprise Managerクローニング

- addNode.sh(WindowsではaddNode.bat)スクリプトおよびOracle Universal Installerクローニング

注意:
Oracleクローニングは、Provisioning Packに含まれるOracle Enterprise Managerクローニングにかわるものではありません。Oracle Enterprise Managerクローニングの間、プロビジョニング・プロセスには、取得するホームに関する詳細、デプロイする場所およびその他の各種パラメータを収集する一連の手順が含まれます。

新規インストール、または1つのOracle RACデータベースのみをインストールする場合は、Oracle Universal InstallerやOracle Enterprise ManagerのProvisioning Pack機能などの従来の自動化された対話式インストール方法を使用する必要があります。クラスタ内のノードにOracle RACを追加したり削除することが目的の場合は、第10章「LinuxおよびUNIXシステムのノードでのOracle RACの追加と削除」に説明されている手順を実行します。

クローニングのプロセスは、Oracle ClusterwareホームおよびOracle RACを含むOracleホームが1つ以上のノードに正常にインストールされていることを前提としています。さらに、クラスタ・データベースの拡張元となるノードですべてのルート・スクリプトが正常に実行されている必要があります。

高レベルでは、Oracleクローニングには次の主なタスクが含まれます。

1. 『Oracle Clusterware管理およびデプロイメント・ガイド』の説明に従ってOracle Clusterwareホームをクローニングします。

2. Oracle RACソフトウェアを使用してOracleホームをクローニングします。
Oracleホームを新規ノードにクローニングするプロセスも、Oracle Clusterwareホームをクローニングするプロセスとほぼ同じです。

3. まだデータベースを作成していない場合は、DBCAを実行してデータベースを作成します。

4. クローニング後の手順を実行して、Oracle RAC環境の新規ノードへの拡張を終了します。

関連項目:

- 第8章「新規クラスタのノードへのOracle RACのクローニング」

- ノードとインスタンスを追加および削除する方法の詳細は、第10章「LinuxおよびUNIXシステムのノードでのOracle RACの追加および削除」を参照してください。

- ノードとインスタンスを追加および削除する方法の詳細は、第11章「WindowsシステムのノードでのOracle RACの追加および削除」を参照してください。

- Provisioning Packの詳細は、Oracle Enterprise Managerオンライン・ヘルプ・システムを参照してください。

Oracle RAC環境の管理の概要

この項では、Oracle RAC環境の管理について説明します。内容は次のとおりです。

- Oracle RAC環境の設計およびデプロイ

- Oracle RAC環境の管理ツール

- Oracle RAC環境の監視

- Oracle RAC環境でのパフォーマンス評価

Oracle RAC環境の設計およびデプロイ

Oracle RACによる高可用性計画を設計および実装しているすべての企業は、高可用性を必要とするビジネス要因を綿密に分析することから始める必要があります。高可用性を実現するためのビジネス要件を分析し、様々な高可用性ソリューションの実装に必要な投資レベルについて理解しておくことによって、ビジネスと技術の両方の目的を達成する高可用性アーキテクチャの開発が可能になります。

関連項目:
可用性の要件に最適なアーキテクチャを選択および実装するには、次の情報が役立ちます。

- 第12章「設計およびデプロイ方法」では、ビジネスの高可用性要件を評価する場合に使用できる高水準の概要を示しています。

- 『Oracle Database高可用性概要』では、組織に最適なアーキテクチャを選択する方法および複数の高可用性アーキテクチャについて説明し、要件を満たす最適なアーキテクチャを選択するためのガイドラインを示しています。

- Oracle Maximum Availability Architectureに関する情報は、次を参照してください。
http://www.oracle.com/technetwork/database/features/availability/maa-090890.html

Oracle RACでは、新しい方法でクラスタ・データベースを管理できます。これまでは、データベースを管理するのは管理者であったため、DBAは特定のインスタンスがクラスタ内の特定のノードで実行されるように定義して、データベースの各インスタンスを管理していました。動的なグリッド構成の実装に役立つように、Oracle RAC 11g リリース2(11.2)ではポリシー管理のデータベースが導入され、DBAが定義するのはカーディナリティ(必要なデータベース・インスタンス数)のみになりました。インスタンスを実行するノードの割当てはOracle Clusterwareによって管理され、REDOスレッドおよびUNDO表領域は必要に応じてOracle RACによって割り当てられます。

注意:
必要なREDOスレッドとUNDO表領域の自動割当ては、データベースがOracle Managed Filesを使用している場合にのみ実行されます。

Oracle RAC環境の管理ツール

Oracle Enterprise Manager、SQL*PlusまたはOracle RACのコマンドライン・インタフェース(サーバー制御ユーティリティ(SRVCTL)など)を使用して、クラスタ・データベースを単一のシステム・イメージとして管理できます。

- Oracle Enterprise Manager: Enterprise Managerには、非クラスタ・データベースを管理するDatabase Controlと、Oracle RACデータベース環境を管理するGrid Controlの2つのGUIインタフェースがあります。可能な場合は、Oracle Enterprise Managerを使用して管理タスクを実行することをお薦めします。
Oracle Enterprise Manager Database Controlを使用して、Oracle RAC One Nodeデータベースを管理することもできます。

- サーバー制御ユーティリティ(SRVCTL): シングル・ポイントからOracle RACデータベースを管理するためのコマンドライン・インタフェース。SRVCTLを使用して、データベースおよびインスタンスの起動と停止、インスタンスおよびサービスの削除または移動を実行できます。SRVCTLを使用して、構成情報、Oracle Real Application Clusters One Node(Oracle RAC One Node)Oracle ClusterwareおよびOracle ASMの管理もできます。

- SQL*Plus: SQL*Plusコマンドは、現行のインスタンスで動作します。現行のインスタンスは、SQL*Plusセッションを開始したローカルのデフォルト・インスタンスまたはOracle Net Servicesの接続先リモート・インスタンスです。

- クラスタ検証ユーティリティ(CVU): クラスタとOracle RACの様々なコンポーネント(共有ストレージ・デバイスなど)、ネットワーク構成、システム要件、Oracle Clusterware、およびオペレーティング・システムのグループやユーザーの検証に使用するコマンドライン・ツール。インストール前およびインストール後のクラスタ環境のチェックにも使用できます。CVUは、Oracle ClusterwareおよびOracle RACコンポーネントのインストール前およびインストール時に特に役立ちます。Oracle ClusterwareおよびOracle Databaseのインストール後に、CVUを実行して環境を検証します。
Oracle RACをインストールする前にCVUをインストールして、構成がOracle RACのインストールの最小要件を満たしていることを確認します。また、CVUを使用して、ノードの追加や削除などの管理タスクの完了を検証できます。

- DBCA: Oracle RAC、Oracle RAC One NodeおよびOracleの非クラスタ・データベースを作成し、最初に構成する場合の推奨方法。

- NETCA: Oracle RAC環境のネットワークを構成します。

関連項目:

- Oracle Enterprise Manager、SQL*PlusおよびSRVCTLユーティリティを使用したOracle RAC管理の概要は、第3章「データベース・インスタンスおよびクラスタ・データベースの管理」を参照してください。

- 「Oracle RACおよびOracle Clusterwareの監視」

- SRVCTLの参照情報については、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

- クラスタ検証ユーティリティ(CVU)、およびOIFCFGツール(ネットワーク・インタフェースの割当てと割当て解除)やOCRCONFIGコマンドライン・ツール(OCRの管理)などのその他のOracle Clusterwareツールの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- NetCAの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

Oracle RAC環境の監視

WebベースのOracle Enterprise Manager Database ControlおよびGrid Controlを使用すると、Oracle RACデータベースを監視できます。Oracle Enterprise Manager Consoleでは、Graphical User Interface(GUI)によって、アクセスするOracle環境を集中的に制御できます。Oracle Enterprise Managerを使用したOracle RAC環境の監視の詳細は、「Oracle RACおよびOracle Clusterwareの監視」および『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

Oracle RAC環境を監視する場合の推奨事項は次のとおりです。

- Oracle Enterprise Manager Consoleを使用して、クラスタ・データベース管理タスクを開始します。

- 複数のOracle RACデータベースの管理には、Oracle Enterprise Manager Grid Controlを使用します。Oracle Enterprise Manager Database Controlを使用して、個々のOracle RACデータベースを管理できます。

- V$ビューに基づいたグローバル・ビュー(GV$ビュー)を使用します。GV$ビューは、catclustdb.sqlスクリプトによって作成されます。データベースの作成にDBCAを使用しない場合は、このスクリプトを実行します。それ以外の場合は、DBCAによってこのスクリプトが実行されます。
ほとんどのV$ビューに対して、対応するGV$グローバル・ビューが存在します。V$情報に加えて、各GV$ビューにはINST_IDという名前の追加の列があり、ここにインスタンス番号が表示され、この番号に基づいて関連するV$ビュー情報が取得されます。

- Automatic Database Diagnostic Monitor(ADDM)およびAWRを含む、Oracle Enterprise ManagerのOracle Database Diagnostic and Tuningパックの高度な管理および監視機能を使用します。

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

関連項目:

- 『Oracle Databaseパフォーマンス・チューニング・ガイド』では、ADDMなどのパフォーマンスの診断およびチューニングのOracle Database自動機能について説明しています。

- パフォーマンスの監視およびトラブルシューティングの詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

Oracle RAC環境でのパフォーマンス評価

Oracle RACに対して特別なチューニングは必要ありません。Oracle RACは特別な構成変更がなくてもスケーラビリティが向上します。アプリケーションが非クラスタOracle RACデータベースで正常に動作する場合は、Oracle RAC環境でも正常に動作します。非クラスタOracle Databaseで実行する多くのチューニング・タスクによって、Oracle RACデータベースのパフォーマンスも向上できます。これは、より多くのCPUをまたいだスケーラビリティが必要な環境にとって特に当てはまることです。

Oracle RAC固有のパフォーマンス機能には、次のものがあります。

- 動的リソース割当て

- 必要に応じて、キャッシュ・フュージョン・リソースが動的に割り当てられます。

- リソースを動的にマスター化すると、リソースをデータ・ブロックに対してローカルなままに保持できるため、パフォーマンスが向上します。

- キャッシュ・フュージョンによる簡素化されたチューニング方法

- キャッシュ・フュージョン用にパラメータをチューニングする必要はありません。

- アプリケーション・レベルのチューニングは必要ありません。

- 既存のアプリケーションに対してほとんど影響を及ぼすことなく、ボトムアップ・チューニングを実行できます。

- 詳細なパフォーマンス統計

- Oracle RACパフォーマンスを監視するために様々なビューを使用できます。

- Oracle Enterprise Manager Database ControlおよびGrid ControlがOracle RACと統合されています。

脚注の凡例

脚注1: Oracle Database 10gリリース2(10.2)以上を実行する構成では、Oracle Clusterwareはクラスタ内で100ノードをサポートし、Oracle RACはOracle RACデータベース内で100インスタンスをサポートします。
脚注2: PFILEファイルを共有する必要はありません。

2 記憶域の管理

この章では、Oracle Real Application Clusters(Oracle RAC)環境における、Oracle Automatic Storage Management(Oracle ASM)などの記憶域の項目について説明します。

内容は次のとおりです。

- Oracle RACの記憶域の概要

- Optimal Flexible Architecture

- Oracle RACでのデータ・ファイルへのアクセス

- Oracle RACでのREDOログ・ファイル記憶域

- Oracle RACでの自動UNDO管理

- Oracle RACによるOracle Automatic Storage Management

関連項目:

- 『Oracle Clusterware管理およびデプロイメント・ガイド』

- 『Oracle Grid Infrastructureインストレーション・ガイド』

- 『Oracle Real Application Clustersインストレーション・ガイド』

Oracle RACの記憶域の概要

すべてのデータ・ファイル(各インスタンスのUNDO表領域を含む)およびREDOログ・ファイル(インスタンスごとに2つ以上)がOracle ASMディスク・グループ、クラスタ・ファイル・システム、または共有RAWデバイスに存在している必要があります。さらに、インスタンス固有のエントリを使用した単一の共有サーバー・パラメータ・ファイル(SPFILE)を使用することをお薦めします。また、ローカル・ファイル・システムを使用してインスタンス固有のパラメータ・ファイル(PFILE)を格納することもできます。

注意:

- Database Configuration Assistant(DBCA)では、このリリースでの共有RAWデバイスのサポートはなく、PFILESも使用できません。ただし、SQLコマンドを使用して、共有RAWデバイス上にデータファイルを構成できます。

- IBM社のGeneral Parallel File System(GPFS)を使用している場合は、Oracleホーム・ディレクトリとしての使用およびデータファイルやログの格納を含む、すべての用途に同じファイル・システムを使用できます。パフォーマンスを最適にするために、GPFSのブロック・サイズは大きくする必要があります(通常は512KB以上)。GPFSはスケーラビリティに対応するように設計されており、単一のGPFSファイル・システムに格納できるデータ量であれば、複数のGPFSファイル・システムを作成する必要はありません。

特に明記されていないかぎり、Oracle RAC環境内での、Oracle ASM、Oracle Managed Files、自動セグメント領域管理などのOracle Database記憶域の機能は、非クラスタのOracle Database環境と同じです。

関連項目:
これらの記憶域機能の詳細は、次のマニュアルを参照してください。

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

- 『Oracle Automatic Storage Management管理者ガイド』

- 『Oracle Database管理者ガイド』

Oracle ASMを使用しない場合、プラットフォームでクラスタ・ファイル・システムがサポートされていない場合またはデータベース・ファイルの記憶域としてクラスタ・ファイル・システムを使用しない場合は、ご使用のプラットフォーム固有のOracle RACのインストレーションおよび構成ガイドに従って、追加のRAWデバイスを作成します。ただし、「Oracle RACによるOracle Automatic Storage Management」の説明に従い、Oracle ASMをデータベースのファイル記憶域として使用することをお薦めします。

注意:

- RAWデバイスを使用する場合、DBCAは使用できません。

- Oracle Database Standard Editionを使用してOracle RACデータベースを作成するには、データベース記憶域にOracle ASMを使用する必要があります。

Optimal Flexible Architecture

Optimal Flexible Architecture(OFA)は、インストールの信頼性を保証し、ソフトウェアの管理性を向上させます。この機能は、Oracleソフトウェアのインストールの構成方法を効率化することによってインストールの継続的な管理を簡略化し、Oracle Databaseのデフォルト・インストールをOFAの仕様により厳密に準拠させることで、管理性を高めています。

インストール時に、Oracleベース(ORACLE_BASE)の場所を指定するように求められますが、Oracleベースは、インストールを実行するユーザーが所有します。既存のORACLE_BASEを選択するか、またはORACLE_BASEディレクトリの構造を持たない別のディレクトリを選択できます。

Oracleベース・ディレクトリを使用すると、Oracleインストールの組織化が容易になり、複数のデータベースのインストールでOFA構成が維持されるようになります。OracleホームはORACLE_BASEで選択した値に基づいてデフォルト値を使用するため、インストール中に必要な入力はORACLE_BASEのみです。また、データベースの起動時に、ORACLE_BASEおよびORACLE_HOME環境変数を設定することをお薦めします。ORACLE_BASEは、今後のリリースでデータベース起動時の必須環境変数になる可能性があります。

関連項目:
ORACLE_BASEディレクトリの指定の詳細は、『Oracle Real Application Clustersインストレーション・ガイド』を参照してください。

Oracle RACでのデータ・ファイルへのアクセス

すべてのOracle RACインスタンスは、すべてのデータ・ファイルにアクセスできる必要があります。データベースのオープン中にデータ・ファイルのリカバリが必要になった場合は、最初に起動するOracle RACインスタンスがリカバリを実行し、ファイルへのアクセスを検証します。他のインスタンスも、起動時に、データ・ファイルへのアクセスを検証します。同様に、表領域またはデータ・ファイルを追加したり、表領域またはデータ・ファイルをオンライン状態にする場合も、すべてのインスタンスがファイルへのアクセスを検証します。

他のインスタンスがアクセスできないデータ・ファイルをディスクに追加すると、検証に失敗します。インスタンスが同一データ・ファイルの異なるコピーへアクセスした場合も、検証に失敗します。いずれのインスタンスについても検証に失敗した場合は、問題を診断し解決してください。その後、各インスタンスに対してALTER SYSTEM CHECK DATAFILES文を実行して、データ・ファイルへのアクセスを検証します。

Oracle RACでのREDOログ・ファイル記憶域

ポリシー管理データベースでサーバー・プールのカーディナリティを増やし、新しいサーバーがサーバー・プールに割り当てられると、Oracle Managed Filesが有効化されていれば、新しいサーバーでインスタンスが起動されます。インスタンスが起動し、使用可能なスレッドやREDOログ・ファイルがない場合、データベースがOracle ASMまたはクラスタ・ファイル・システムを使用していれば、自動的にREDOスレッドが有効にされ、対応するREDOログ・ファイルが割り当てられます。

REDOログ・グループは、管理者管理データベースを使用する場合にのみ作成する必要があります。ポリシー管理データベースの場合はカーディナリティを増やし、Oracle Managed FilesおよびOracle ASMを使用している場合は、インスタンスの起動時に自動的にスレッド、REDOおよびUNDOが割り当てられます。

管理者管理データベースの場合、インスタンスごとに、独自のオンラインREDOログ・グループがあります。これらのREDOログ・グループを作成し、グループ・メンバーを設定します。REDOログ・グループを特定のインスタンスに追加するには、ALTER DATABASE ADD LOGFILE文でINSTANCE句を指定します。REDOログ・グループの追加時にインスタンスを指定しない場合は、現在接続しているインスタンスにREDOログ・グループが追加されます。

関連項目:

- 管理者およびポリシーによるデータベース管理の詳細は、「Oracle RAC環境の設計およびデプロイ」を参照してください。

- REDOログ・グループの作成およびグループ・メンバーの設定の詳細は、『Oracle Database管理者ガイド』を参照してください。

- ALTER DATABASE ADD LOGFILE SQL文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

各インスタンスには、2つ以上のREDOログ・ファイルのグループが必要です。REDOログ・グループを割り当ててから、ALTER DATABASE ENABLE INSTANCE instance_nameコマンドを使用して新規インスタンスを有効化する必要があります。現在のグループが一杯になると、インスタンスは次のログ・ファイル・グループへの書込みを開始します。データベースがARCHIVELOGモードの場合は、各インスタンスは一杯になったオンライン・ログ・グループをアーカイブREDOログ・ファイルとして保存し、このファイルは制御ファイルに記録されます。

データベースのリカバリ時に、有効化されているすべてのインスタンスについて、リカバリが必要かどうかがチェックされます。Oracle RACデータベースからインスタンスを削除する場合は、データベースのリカバリ時にスレッドをチェックする必要がないように、インスタンスのREDOスレッドを無効化する必要があります。

Oracle RACでの自動UNDO管理

インスタンスに割り当てられた特定のUNDO表領域内のUNDOセグメントは、Oracle Databaseによって自動的に管理されます。この表領域の内容を変更できるのは、UNDO表領域に割り当てられたインスタンスのみです。ただし、インスタンスは、読取り一貫性のためにいつでも、クラスタ環境内のすべてのUNDOブロックを読み取ることができます。また、UNDO表領域が別のインスタンスにUNDO生成またはトランザクション・リカバリのために使用されていなければ、どのインスタンスもトランザクション・リカバリ中にそのUNDO表領域を更新できます。

Oracle RAC管理者管理データベース内にUNDO表領域を割り当てるには、SPFILEまたは個別のPFILEで各インスタンスのUNDO_TABLESPACEパラメータに別の値を指定します。ポリシー管理データベースの場合、Oracle Managed Filesが有効化されていれば、インスタンスの起動時にUNDO表領域が自動的に割り当てられます。Oracle RACデータベースでは、自動UNDO管理モードと手動UNDO管理モードを同時に使用することはできません。Oracle RACデータベースのすべてのインスタンスは、同じUNDOモードで操作してください。

関連項目:

- SPFILEパラメータの変更の詳細は、「Oracle RACのSPFILEパラメータ値の設定」を参照してください。

- UNDO表領域の作成および管理の詳細は、『Oracle Database管理者ガイド』を参照してください。

Oracle RACによるOracle Automatic Storage Management

Oracle ASMは、管理対象のディスク間で記憶域構成を管理することにより、自動的に最大のI/Oパフォーマンスを引き出します。Oracle ASMは、最適なパフォーマンスを得るために、クラスタ・データベース環境でOracle ASM内のディスク・グループに割り当てられた使用可能なすべての記憶域に、データベース・ファイルを分散します。Oracle ASMによって、必要なディスク領域全体が、ディスク・グループ内のすべてのディスクに均一なサイズに分割されます。また、Oracle ASMでは、データ損失を防止するために、自動的にデータのミラー化が行われます。Oracle ASMのこれらの機能により、管理業務を大幅に軽減することができます。

Oracle ASMインスタンスは、Oracle Clusterwareをインストールする各ノードに作成されます。各Oracle ASMインスタンスには、SPFILEまたはPFILEタイプのパラメータ・ファイルが存在します。パラメータ・ファイルおよびデフォルト以外のOracle NetリスナーのTNSエントリをバックアップすることをお薦めします。

Oracle RACでOracle ASMを使用するには、Database Configuration Assistant(DBCA)を使用してデータベースを作成する際に、Oracle ASMを記憶域オプションとして選択します。非クラスタのOracle Databaseの場合と同様、Oracle RACでOracle ASMを使用する場合もI/Oチューニングは不要です。

次の項では、Oracle ASMおよびOracle ASMの管理について説明します。

- Oracle RACでの記憶域管理

- Oracle ASM用ディスク・グループ構成の変更

- Oracle ASMディスク・グループの管理

- 拡張遠距離クラスタでの優先読取りミラー・ディスクの構成

- クラスタ化されていないOracle ASMからクラスタ化されたOracle ASMへの変換

- Oracle RACでのSRVCTLを使用したOracle ASMインスタンスの管理

関連項目:
Oracle ASMの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

Oracle RACでの記憶域管理

Oracle ASMディスク・グループの作成およびOracle ASMディスク・グループのミラー化の構成は、Oracle ASMコンフィギュレーション・アシスタント(ASMCA)で実行できます。Oracle RACデータベースの稼働後は、Oracle Enterprise ManagerでOracle ASMディスク・グループを管理できます。

Oracle ASMの管理に使用するASMCA、Oracle Enterprise ManagerなどのOracleツールと、サイレント・モードのインストールおよびアップグレード・コマンドでは、Oracle ASMインスタンスおよびディスク・グループを管理するオプションを使用できます。

クラスタ全体のOracle ASMの整合性は、クラスタ検証ユーティリティ(CVU)で検証できます。通常、このチェックによりすべてのノードのOracle ASMインスタンスが同じOracleホームから実行されていることが保証され、asmlibが存在する場合は、このライブラリのバージョンが有効であることと所有権が有効であることが保証されます。次のコマンドを実行して、このチェックを実行します。

cluvfy comp asm [-n node_list] [-verbose]

node_listの部分は、チェックを実行するノード名をカンマで区切ったリストに置き換えてください。allを指定すると、クラスタ内のすべてのノードがチェックされます。

cluvfy comp ssaコマンドを使用して、共有記憶域を検出します。

関連項目:
CVUの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle ASM用ディスク・グループ構成の変更

クラスタにディスク・グループを作成する場合、またはクラスタ化されている既存のディスク・グループに新しいディスクを追加する場合は、共有ディスク上に基盤となる物理記憶域を準備して、そのディスクにOracleユーザーの読取りおよび書込み権限を付与します。Oracle ASMをOracle RACデータベースで使用する場合と非クラスタのOracle Databaseで使用する場合の実質的な相違点は、共有ディスクが必要かどうかのみです。ディスクまたはディスク・グループの追加後または削除時に、Oracle ASMは、記憶域のロードを自動的に再調整します。

クラスタでは、各Oracle ASMインスタンスが、各ノードのディスク・グループの更新メタデータを管理します。また、各Oracle ASMインスタンスが、ディスク・グループのメタデータとクラスタの他のノード間の調整を行います。非クラスタのOracle Databaseの場合と同様、Oracle RACで使用されるOracle ASM用ディスク・グループの管理に、Oracle Enterprise Manager、ASMCA、SQL*Plusおよびサーバー制御ユーティリティ(SRVCTL)を使用できます。SQL*Plusを使用してOracle ASMインスタンスを管理する方法の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。その他のツールの使用方法については、次の各項で説明します。

注意:
ASMCAを起動したときにOracle ASMインスタンスが存在しない場合は、Oracle ASMインスタンスの作成を求めるプロンプトが表示されます。

Oracle ASMディスク・グループの管理

Oracle ASMを使用するには、DBCAでデータベースを作成する前に、ASMCAでディスク・グループを作成しておく必要があります。Oracle ASMディスク・グループの管理機能を使用して、データベースの作成とは別に、Oracle ASMインスタンスおよび対応するディスク・グループを作成および管理することもできます。Oracle Enterprise ManagerまたはDBCAを使用すると、ディスクをディスク・グループに追加したり、1つまたはすべてのディスク・グループをマウントしたり、Oracle ASMインスタンスを作成することができます。また、Oracle Enterprise Managerを使用して、ディスク・グループをディスマウントまたは削除したり、Oracle ASMインスタンスを削除することもできます。

Oracle ASMインスタンスは、Oracle Clusterwareをインストールするときに作成されます。Oracle ASMディスク・グループを作成するには、Grid_home/binディレクトリからASMCAを実行します。Oracle ASMの管理には、ASMCAの「Oracle ASMディスク・グループ」ページも使用できます。つまり、データベースの作成とは別にOracle ASM記憶域を構成できます。たとえば、「ASMディスク・グループ」ページから、ディスク・グループの作成、既存のディスク・グループへのディスクの追加、または現在マウントされていないディスク・グループのマウントを実行できます。

関連項目:
Oracle ASMの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

ASMCAを起動したときにASMインスタンスが存在しない場合は、インスタンスの作成を求めるプロンプトが表示されます。sysasmのパスワードとASMSNMPのパスワードを求めるプロンプトが表示されます。

拡張遠距離クラスタでの優先読取りミラー・ディスクの構成

Oracle ASM障害グループを構成している場合、ノードは、そのノードに最も近いエクステントから(そのエクステントがセカンダリ・エクステントであっても)より効率よく読み取れることがあります。ノードから遠い場所にあるプライマリ・コピーではなく、ノードにより近い場所にあるセカンダリ・エクステントから読み取るようにOracle ASMを設定できます。拡張遠距離クラスタでは、優先読取り障害グループを使用するのが最も有効です。

この機能を構成するには、ASM_PREFERRED_READ_FAILURE_GROUPS初期化パラメータで、障害グループ名のリストを優先読取りディスクとして指定します。エクステントの1つ以上のミラー・コピーを、拡張クラスタ内のノードに対してローカルなディスクから構成することをお薦めします。ただし、1つのインスタンスに優先される障害グループが、同じOracle RACデータベース内の別のインスタンスに対してはリモートである可能性があります。優先読取り障害グループのパラメータ設定は、インスタンス固有です。

関連項目:

- 拡張遠距離クラスタでの優先読取りミラー・ディスクの構成の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

- ASM_PREFERRED_READ_FAILURE_GROUPS初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

クラスタ化されていないOracle ASMからクラスタ化されたOracle ASMへの変換

Oracle Grid Infrastructureをインストールすると、クラスタ化されていないOracle ASMインスタンスは、クラスタ化されたOracle ASMに自動的に変換されます。

関連項目:

- Oracle Enterprise Manager Grid Controlを使用したクラスタ化されていないOracle ASMからクラスタ化されたOracle ASMへの変換の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- 拡張遠距離クラスタでの優先読取りミラー・ディスクの構成の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

- rconfigコマンドを使用してOracle ASMを変換する方法の詳細は、ご使用のプラットフォーム固有の『Oracle Real Application Clustersインストレーション・ガイド』を参照してください。

Oracle RACでのSRVCTLを使用したOracle ASMインスタンスの管理

サーバー制御ユーティリティ(SRVCTL)を使用すると、Oracle ASMインスタンスを追加または削除できます。SRVCTLコマンドを発行してOracle ASMを管理するには、Oracle Grid Infrastructureホームを所有するオペレーティング・システム・ユーザーとしてログインして、Oracle Grid InfrastructureホームのbinディレクトリからSRVCTLコマンドを発行します。

Oracle ASMインスタンスを追加するには、次の構文を使用します。

srvctl add asm

Oracle ASMインスタンスを削除するには、次の構文を使用します。

srvctl remove asm [-f]

Oracle ASMインスタンスの起動、停止およびステータスの取得にも、SRVCTLを使用できます。次に例を示します。

Oracle ASMインスタンスを起動にするには、次の構文を使用します。

srvctl start asm [-n node_name] [-o start_options]

Oracle ASMインスタンスを停止するには、次の構文を使用します。

srvctl stop asm [-n node_name] [-o stop_options]

Oracle ASMインスタンスの構成を表示するには、次の構文を使用します。

srvctl config asm -n node_name

Oracle ASMインスタンスの状態を表示するには、次の構文を使用します。

srvctl status asm [-n node_name]

関連項目:

- Oracle ASMの管理に使用可能なSRVCTLコマンドの詳細は、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

- Oracle ASMインスタンスの管理の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

3 データベース・インスタンスおよびクラスタ・データベースの管理

この章では、Oracle Real Application Clusters(Oracle RAC)データベースおよびデータベース・インスタンスの管理方法について説明します。

内容は次のとおりです。

- Oracle RACの管理ツール

- インスタンスおよびOracle RACデータベースの起動および停止

- インスタンスの実行の確認

- 特定のクラスタ・インスタンス上でのセッションの終了

- Oracle RACでの初期化パラメータ・ファイルの概要

- Oracle RACでの初期化パラメータの使用

- 管理者管理データベースのポリシー管理データベースへの変換

- Oracle RACデータベースの静止

- LinuxおよびUNIXプラットフォームでの複数のクラスタ・インターコネクトの管理

- Oracle ClusterwareでのOracle RACデータベースの管理方法のカスタマイズ

- Oracle Enterprise Managerの高度な管理

関連項目:
Oracle Enterprise Managerの詳細は、Oracle Enterprise Managerのオンライン・ヘルプを参照してください。

Oracle RACの管理ツール

次の項では、Oracle RACデータベースとインスタンスの管理に一般に使用される3つのツールである、Oracle Enterprise Manager、SQL*PlusおよびSRVCTLユーティリティを使用したOracle RAC管理について説明します。多くの場合、これらのツールを使用してOracle RAC環境を管理する方法は、非クラスタのOracle Databaseを管理する場合と同様です。

- Oracle RACデータベースの管理の概要

- Oracle Enterprise Managerを使用したOracle RACの管理

- SQL*Plusを使用したOracle RACの管理

- SRVCTLを使用したOracle RACの管理

Oracle RACデータベースの管理の概要

Oracle RAC 11g リリース2(11.2)より前は、DBAは、クラスタ内のノードに特定のOracle RACデータベース・インスタンスを割り当てるために、パラメータ(データベース・インスタンス番号やREDOスレッドなど)をハードコードする必要がありました。クラスタ内のノードが起動しないと、データベース・インスタンスは起動しません。Oracle RAC 11g リリース2(11.2.0.2)では、引き続きこの方法でOracle RACデータベースを管理できます。この方法で管理されるOracle RACデータベースは、管理者管理データベースと呼ばれています。管理者管理データベースには、11g リリース2(11.2)より前のOracle DatabaseおよびアップグレードされたOracle Databaseが含まれます。これらのデータベースは、以前のリリースのOracle Databaseで使用したものと同じコマンドまたは方法(DBCAやOracle Enterprise Managerなど)を使用して管理できます。すべてのコマンドおよびユーティリティに下位互換性があります。

Oracle RAC 11gリリース2(11.2)では、データベースをOracle Clusterwareのリソースとして定義します。リソースは、DBCAを使用してデータベースを作成すると自動的に作成され、DBCAを使用しない場合は、SRVCTLを使用してデータベースを追加することによって手動で追加できます。このリソースには、Oracleホーム、SPFILE、1つ以上のサーバー・プールおよびデータベースで必要な1つ以上のOracle ASMディスク・グループが含まれます。また、データベース・リソースにはVIPには弱い起動依存性があり、これは、データベース・インスタンスの起動時にリソースがそのノードのVIPを起動しようとすることです。VIPが正常に起動されない場合、インスタンスは起動されますが、サービスは起動されません。データベース・サービスのリソースは実行中のVIPに依存します。

管理者管理データベースのデータベース・リソースを確認すると、そのOracle Databaseと同じ名前で定義されたサーバー・プールが表示されます。このサーバー・プールは、Oracleで定義される特別なサーバー・プールの一部で、Genericと呼ばれます。Oracle RACは、Genericサーバー・プールを管理して管理者管理データベースをサポートします。SRVCTLまたはDBCAのいずれかを使用して管理者管理データベースを追加または削除すると、Genericのメンバーであるサーバー・プールがOracle RACによって作成または削除されます。Genericサーバー・プールの変更に、SRVCTLまたはCRSCTLコマンドを使用することはできません。

関連項目:
リソース、サーバー・プールおよびリソースの依存性の定義については、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle RAC 11g リリース2(11.2)では、ポリシー管理データベースが導入され、パラメータをハードコードする必要がなくなり、クラスタ内のノードの入替えや要件変更に伴うクラスタの拡張がより簡単になりました。ポリシー管理データベースを使用する場合は、クラスタ内のすべてのノードにOracleホーム・ソフトウェアをインストールする必要があります。ポリシー管理データベースは、Oracle Database 11g リリース2(11.2)を使用する必要があり、管理者管理データベースと同じサーバーに共存させることはできません。

注意:
同じノードで同じデータベースの複数のインスタンスを実行することはできません。

ポリシー管理データベースは、カーディナリティ(通常の操作で実行する必要があるデータベース・インスタンス数)で定義されます。ポリシー管理データベースは、CRS管理者ロールが割り当てられたユーザーがクラスタに作成した1つ以上のデータベース・サーバー・プールで実行することも、別のサーバーで異なるタイミングで実行することもできます。データベース・インスタンスは、データベースに定義されたサーバー・プール内のすべてのサーバーで起動されます。データベース記憶域に、Oracle Automatic Storage Management(Oracle ASM)およびOracle Managed Filesを使用していて、かつインスタンスの起動時に使用可能なREDOスレッドがない場合、Oracle RACは自動的にREDOスレッドを使用可能にし、必要なREDOログ・ファイルとUNDO表領域を作成します。クライアントは、その時点で実行されているサーバーに関係なく、同じSCANベース接続文字列を使用してポリシー管理データベースに接続することができます。

関連項目:
「管理者管理データベースのポリシー管理データベースへの変換」

管理者管理データベースとポリシー管理データベースへの同じクラスタの使用

すでにポリシー管理データベースがホストされているクラスタに管理者管理データベースを作成する場合、管理者管理データベース用のノードは慎重に選択する必要があります。これは、管理者管理データベース用に選択したノードはポリシー管理サーバー・プールにあり、このプロセスの一部としてGenericサーバー・プールに移動されるためです。

すでに他のポリシー管理データベース・インスタンスを実行しているノードを選択した場合、DBCAが管理者管理データベースを作成する際に停止されるインスタンスおよびサービスがリストされたメッセージがDBCAによって表示されます。DBCAによって「続行しますか。」と尋ねられ、そのダイアログ・ボックスで「はい」を選択すると、ポリシー管理データベースのインスタンスおよびサービスは、管理者管理データベース作成プロセスの結果として停止されます。

注意:
srvctl add instanceコマンドを使用した場合も同様で、データベースが停止されるという内容の同様のメッセージが返されます。srvctl add instanceコマンドで強制オプション(-f)を使用した場合も、DBCAダイアログで「はい」を選択するのと同じです。これにより、ノードをGenericサーバー・プールに移動する前に、そのノードで実行中の一部のポリシー管理データベースが停止されます。

Oracle Enterprise Managerを使用したOracle RACの管理

Oracle Enterprise Managerでは、Oracle RAC環境を集中的に制御し、複数のクラスタ・データベースで同時に管理タスクを実行できます。これには、非クラスタ環境およびOracle RAC環境を管理するための2つのグラフィカル・ユーザー・インタフェース(GUI)、Database ControlおよびGrid Controlがあります。Oracle RACデータベースの各ノードに1つのOracle Enterprise Managerエージェントがあるため、Database Controlでは、そのデータベースのどのURLを使用しても、Oracle Enterprise Managerでデータベースを管理できます。

Oracle Enterprise Managerでは、通常、Oracle RAC固有の管理タスクは、クラスタ・データベース全体に関係するタスクおよび特定のインスタンスに関係するタスクの2つのレベルが中心です。たとえば、Oracle Enterprise Managerでは、ジョブのスケジュールやメトリックのアラートしきい値の設定に加え、データベース、クラスタ・データベース・インスタンスおよびそのリスナーを起動、停止および監視できます。または、パラメータの設定やリソース・プランの作成のようなインスタンス固有のコマンドを実行できます。また、Oracle Enterprise Managerを使用して、スキーマ、セキュリティおよびクラスタ・データベースの記憶域機能を管理できます。

関連項目:

- Oracle Enterprise Managerを使用してOracle RACデータベースの日常的な管理タスクを実行する方法を説明するタスク指向型ガイドについては、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- 『Oracle Database 2日でReal Application Clustersガイド』で取り上げられていない高度な管理タスクについては、「Oracle Enterprise Managerの高度な管理」を参照してください。

SQL*Plusを使用したOracle RACの管理

SQL*Plusコマンドは、現行のインスタンスで動作します。現行のインスタンスは、SQL*Plusセッションを開始したローカルのデフォルト・インスタンスまたはOracle Net Servicesの接続先リモート・インスタンスです。

デフォルトでは、SQL*Plusのプロンプトで現行のインスタンスが識別されないため、正しいインスタンスにコマンドを発行する必要があります。SQL*Plusセッションを開始して、インスタンスを指定せずにデータベースに接続すると、すべてのSQL*Plusコマンドはローカル・インスタンスで処理されます。この場合も、デフォルト・インスタンスが現行のインスタンスです。

SQL*Plusで別のインスタンスに接続するには、次の例のように、新しいCONNECTコマンドを発行し、リモート・インスタンスのネット・サービス名を指定します(passwordはパスワードです)。

CONNECT user_name@net_service_name
Enter password: password

SYSOPERまたはSYSDBAで接続すると、インスタンスの起動や停止などの権限を必要とする操作を実行できます。複数のSQL*Plusセッションが、同時に同じインスタンスに接続できます。他のインスタンスに接続すると、SQL*Plusによって最初のインスタンスとの接続が自動的に切断されます。

注意:
Oracle ASMインスタンスに接続し管理するには、SYSDBA権限ではなく、SYSASM権限を使用します。SYSDBA権限を使用してASMインスタンスで実行されるコマンドは非推奨であるため、SYSDBA権限を使用してOracle ASMインスタンスに接続すると、アラート・ログ・ファイルに警告が書き込まれます。
詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

関連項目:

- 『SQL*Plusユーザーズ・ガイドおよびリファレンス』

- net_service_nameの適切な指定については、『Oracle Database Net Services管理者ガイド』を参照してください。

- SYSDBA権限またはSYSOPER権限でデータベースに接続する方法については、『Oracle Database管理者ガイド』を参照してください。

SQL*Plusプロンプトの変更

現行のインスタンス名を含めるようにSQL*Plusのプロンプトを変更するには、次の手順を実行します。

SET SQLPROMPT '_CONNECT_IDENTIFIER> '

このコマンドは、大なり記号(>)の前の文字列「SQL」を、現行のセッションの継続時間中に現行のインスタンス名を表示するユーザー変数_CONNECT_IDENTIFIERに置換します。

すべてのセッションのプロンプトを自動的に変更するには、SQL*Plusの管理ディレクトリに含まれているglogin.sqlファイルに、次のようなエントリを追加します。

SET SQLPROMPT '_CONNECT_IDENTIFIER> '

コマンドの一重引用符の間には、必要な他のテキストまたはSQL*Plusユーザー変数を指定できます。

インスタンスへのSQL*Plusコマンドの適用方法

ほとんどのSQL文は、現行のインスタンスに適用されます。Oracle RACデータベースでのインスタンスの起動と停止に、SQL*Plusを使用できます。SQL*Plusコマンドを、LinuxおよびUNIXシステムのrootとして、またはWindowsシステムのAdministratorとして実行する必要はありません。非クラスタのOracle Databaseで通常使用する権限を持つ適切なデータベース・アカウントのみが必要です。SQL*Plusコマンドのインスタンスへの適用方法の例を示します。

- ALTER SYSTEM CHECKPOINT LOCALは、デフォルトのインスタンスまたはすべてのインスタンスではなく、現在接続しているインスタンスにのみ適用されます。

- ALTER SYSTEM CHECKPOINTまたはALTER SYSTEM CHECKPOINT GLOBALは、クラスタ・データベースのすべてのインスタンスに適用されます。

- ALTER SYSTEM SWITCH LOGFILEは、現行のインスタンスにのみ適用されます。

- グローバル・ログ・スイッチを強制するには、ALTER SYSTEM ARCHIVE LOG CURRENT文を使用します。

- ALTER SYSTEM ARCHIVE LOGのINSTANCEオプションにより、特定のインスタンスについて各オンラインREDOログ・ファイルをアーカイブできます。

表3-1に、SQL*Plusコマンドのインスタンスへの適用方法を示します。

表3-1 インスタンスへのSQL*Plusコマンドの適用方法

SQL*Plusコマンド

関連するインスタンス

ARCHIVE LOG

常に現行のインスタンスに対して適用されます。

CONNECT

CONNECTコマンドにインスタンスが指定されていない場合は、デフォルト・インスタンスに適用されます。

HOST

現行のインスタンスおよびデフォルト・インスタンスの位置に関係なく、SQL*Plusセッションを実行しているノードに適用されます。

RECOVER

特定のインスタンスではなく、データベースに適用されます。

SHOW INSTANCE

現行のインスタンスに関する情報を表示します。リモート・インスタンスにコマンドをリダイレクトしている場合、現行のインスタンスはデフォルトのローカル・インスタンスではない場合があります。

SHOW PARAMETERおよびSHOW SGA

現行のインスタンスからパラメータおよびSGA情報を表示します。

STARTUPおよびSHUTDOWN

常に現行のインスタンスに対して適用されます。権限付きのSQL*Plusコマンドです。

SRVCTLを使用したOracle RACの管理

注意:
Oracle Databaseにアクセスするときに、セッションまたはプロファイルの現行の環境変数がOracleホームおよびOracle SID以外に設定されている場合は、srvctl setenvコマンドを使用してSRVCTLに変数を設定します。

サーバー制御ユーティリティ(SRVCTL)は、シングル・ポイントからOracle RACデータベースを管理するためのコマンドライン・インタフェースです。SRVCTLを使用して、データベースおよびインスタンスの起動と停止、インスタンスおよびサービスの削除または移動を実行できます。また、SRVCTLを使用すると、クラスタ内の他のリソースに加え、サービスの追加および構成情報の管理を行うこともできます。

SRVCTLを使用してクラスタの構成操作を実行すると、SRVCTLは構成データをOracle Cluster Registry(OCR)に格納します。SRVCTLは、Oracle Clusterwareリソース(Oracle Call Interface APIを使用してデータベースの起動および停止操作を実行するエージェントを定義)を構成および管理することによって、インスタンスの起動および停止のようなその他の操作を実行します。

関連項目:
SRVCTLの詳細は、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

インスタンスおよびOracle RACデータベースの起動および停止

次の各項で説明するように、Oracle Enterprise Manager、SQL*PlusまたはSRVCTLを使用してインスタンスを起動および停止できます。Oracle Enterprise ManagerおよびSRVCTLでは、Oracle RACデータベースのすべてのインスタンスの起動および停止を1つの手順で行うオプションを提供しています。

データベースがNOMOUNTまたはMOUNT状態の場合は、特定の操作のみ実行できます。他の操作を実行するには、データベースがOPEN状態である必要があります。また、操作によっては、1つのインスタンスのみが必須状態になっている必要があったり、すべてのインスタンスが同一状態になっている必要があります。

注意:
同じノードで同じデータベースの複数のインスタンスを実行することはできません。

次の各項の手順では、Oracle RACデータベース・インスタンスの起動および停止について説明します。

- Oracle RACインスタンスの起動および停止手順の概要

- Oracle Enterprise Managerを使用した起動および停止

- SQL*Plusを使用した起動および停止

- SRVCTLを使用した起動および停止

Oracle RACインスタンスの起動および停止手順の概要

Oracle RACインスタンスを起動する前に、クラスタウェアと使用するオペレーティング・システム固有の必須プロセスが実行されている必要があります。これらのプロセスの詳細は、ご使用のオペレーティング・システムのマニュアルを参照してください。

Oracle RACインスタンスの停止手順は、ここで説明する例外を除いて、非クラスタのOracle Databaseインスタンスの停止と同じです。

関連項目:
Oracle Databaseの停止の詳細は、『Oracle Database管理者ガイド』を参照してください。

- Oracle RACでは、1つのインスタンスを停止しても、実行中の他のインスタンスの操作を妨げることはありません。

- Oracle RACデータベースを完全に停止するには、データベースがオープン状態またはマウントされた状態となっているすべてのインスタンスを停止します。

- NORMALまたはIMMEDIATEでの停止後は、インスタンスのリカバリは不要です。ただし、SHUTDOWN ABORTコマンドを発行した後、またはインスタンスが異常終了した後は、リカバリが必要です。まだ実行中のインスタンスが、停止したインスタンスに対してインスタンス・リカバリを実行します。他に実行中のインスタンスがない場合は、次にデータベースをオープンするインスタンスが、リカバリが必要なすべてのインスタンスのリカバリを実行します。

- LOCALオプションを指定したSHUTDOWN TRANSACTIONALコマンドは、インスタンス上のすべてのアクティブ・トランザクションがコミットまたはロールバックされた後に、そのインスタンスを停止する場合に有効です。これは、このコマンドがSHUTDOWN IMMEDIATEの場合に実行する機能とは別の機能です。他のインスタンス上のトランザクションがこの操作を妨げることはありません。LOCALオプションを省略した場合、この操作は、停止コマンドを発行する前に起動された他のすべてのインスタンス上のトランザクションがコミットまたはロールバックされるまで待機します。

Oracle Enterprise Managerを使用した起動および停止

Oracle Enterprise Managerを使用してクラスタ・データベース・インスタンスまたはクラスタ・データベースを起動または停止する手順については、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

SQL*Plusを使用した起動および停止

注意:
この項では、SPFILEを使用していることを前提にしています。

ローカル・ノードに接続された状態で、1つのインスタンスのみを起動または停止するには、事前に現行の環境にローカル・インスタンスのSIDが含まれていることを確認する必要があります。SQL*Plusセッションかどうかに関係なく、セッション内の後続のすべてのコマンドは、そのSIDに対応付けられます。

ローカル・インスタンスを起動または停止するには、SQL*Plusセッションを開始し、SYSDBAまたはSYSOPER権限で接続した後に、必要なコマンドを発行します。たとえば、ローカル・ノード上でインスタンスを起動しマウントする場合は、SQL*Plusセッション内で次のコマンドを実行します。

CONNECT / AS SYSDBA
STARTUP MOUNT

注意:
Oracle ASMディスク・グループを使用する場合は、SYSDBA権限ではなく、SYSASM権限を使用してASMインスタンスに接続し、管理します。詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

Oracle Net Servicesを使用して、単一のSQL*Plusセッションから複数のインスタンスを起動できます。Net Services接続文字列(通常は、TNSNAMES.ORAファイルからのインスタンス固有の別名)を使用して、各インスタンスに順次接続します。

注意:
正しいインスタンスに接続するには、接続文字列で1つのインスタンスにのみ対応付けられた別名を使用する必要があります。サービスの別名または複数のアドレスを持つ別名を使用すると、目的のインスタンスに接続されない場合があります。

たとえば、ローカル・ノード上でSQL*Plusセッションを使用すると、インスタンスの個々の別名を使用して、各インスタンスに順次接続し、リモート・ノード上の2つのインスタンスのトランザクションの停止を実行できます。最初のインスタンスの別名をdb1、2つ目のインスタンスの別名をdb2と仮定します。次のコマンドを入力して、最初のインスタンスに接続してから停止します。

CONNECT /@db1 AS SYSDBA
SHUTDOWN TRANSACTIONAL

次のコマンドを入力して、SQL*Plusセッションから2つ目のインスタンスに接続した後、停止します。

CONNECT /@db2 AS SYSDBA
SHUTDOWN TRANSACTIONAL

SQL*Plusでは複数のインスタンスを同時に起動または停止することはできないため、単一のSQL*Plusコマンドでクラスタ・データベースのすべてのインスタンスを起動または停止することはできません。各インスタンスに順次接続し、起動および停止するスクリプトを作成することができます。ただし、インスタンスの追加または削除を行う場合は、このスクリプトを手動でメンテナンスする必要があります。

関連項目:
NOMOUNT、MOUNT、IMMEDIATEなどの他の起動および停止のキーワードについては、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

SRVCTLを使用した起動および停止

注意:
この項では、データベースにSPFILEを使用していることを前提にしています。

次のSRVCTL構文をコマンドラインから入力し、必要なデータベース名およびインスタンス名を提供するか、または複数のインスタンス名を指定して、複数の特定のインスタンスを起動します。

管理者管理データベースを起動する場合は、インスタンス名のカンマ区切りリストを入力します。

$ srvctl start instance -d db_unique_name -i instance_name_list [-o start_options]

Windowsでは、カンマ区切りリストを二重引用符("")で囲む必要があります。

ポリシー管理データベースを起動する場合は、単一のノード名を入力します。

$ srvctl start instance -d db_unique_name -n node_name [-o start_options]

また、このコマンドでは、使用可能で実行されていないすべてのサービスが開始されます。そのサービスには、AUTOMATIC管理ポリシーが設定され、サービスのいずれかのロールがデータベース・ロールと一致します。

1つ以上のインスタンスを停止するには、コマンドラインから次のSRVCTL構文を入力します。

$ srvctl stop instance -d db_unique_name [ -i "instance_name_list" |
-n node_name ] [ -o stop_options ]

複数のインスタンス名のカンマ区切りリストを指定して複数のインスタンスを停止することも、1つのノード名を指定して1つのインスタンスを停止することもできます。Windowsでは、カンマ区切りリストを二重引用符("")で囲む必要があります。

このコマンドにより、インスタンスが実行されていたノード上で終了したインスタンスと関連するサービスも停止します。例のとおり、次のコマンドで、immediate stopオプションを使用してorclデータベースの2つのインスタンス(orcl3およびorcl4)を停止することができます。

$ srvctl stop instance -d orcl -i "orcl3,orcl4" -o immediate

クラスタ・データベース全体(すべてのインスタンスおよび使用可能なサービス)を起動または停止するには、次のSRVCTLコマンドを入力します。

$ srvctl start database -d db_unique_name [-o start_options]

$ srvctl stop database -d db_unique_name [-o stop_options]

たとえば、次のSRVCTLコマンドは、Oracle RACデータベースの実行中でないすべてのインスタンスをマウントします。

$ srvctl start database -d orcl -o mount

関連項目:
SRVCTLオプションおよびSRVCTLで実行可能な他の管理タスクについては、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

インスタンスの実行の確認

ノードで実行中のインスタンスを確認するには、SQL*Plusプロンプトから次のコマンドを入力します。passwordはパスワードです。

CONNECT SYS/as SYSDBA
Enter password: password
SELECT * FROM V$ACTIVE_INSTANCES;

次のような出力が表示されます。

INST_NUMBER INST_NAME
-----------  -----------------
1            db1-sun:db1
2            db2-sun:db2
3            db3-sun:db3

この例で出力される列を表3-2に示します。

表3-2 V$ACTIVE_INSTANCES列の説明

列

説明

INST_NUMBER

インスタンス番号を識別します。

INST_NAME

ホスト名およびインスタンス名をhost_name:instance_nameとして識別します。

特定のクラスタ・インスタンス上でのセッションの終了

ALTER SYSTEM KILL SESSION文を使用して、特定のインスタンスのセッションを終了できます。セッションが停止すると、そのセッションのアクティブ・トランザクションがロールバックされ、そのセッションが保持していたリソース(ロックやメモリー領域など)がただちに解放されて、他のセッションで使用可能になります。

この文を使用すると、Oracle RAC環境で厳密なアプリケーション品質保証契約を維持できます。多くの場合、品質保証契約は、指定された期限内にトランザクションを実行することを目的としています。Oracle RAC環境では、このためには、指定された期限内にインスタンスでトランザクションを終了し、別のインスタンスでトランザクションを再試行することが必要な場合があります。

セッションを終了するには、次の手順に従います。

1. GV$SESSION動的パフォーマンス・ビューのINST_ID列の値を問い合せ、どのセッションを終了するかを特定します。

2. ALTER SYSTEM KILL SESSIONを発行し、GV$SESSION動的パフォーマンス・ビューを使用して特定したセッションのセッション索引番号(SID)とシリアル番号を指定します。

KILL SESSION 'integer1, integer2[, @integer3]'

- integer1には、SID列の値を指定します。

- integer2には、SERIAL#列の値を指定します。

- オプションのinteger3には、強制終了するセッションが存在するインスタンスのIDを指定します。GV$表を問い合せると、インスタンスIDを見つけることができます。

この文を使用するには、インスタンスでデータベースがオープン状態であり、integer3を指定しない場合には、セッションと終了するセッションが同じインスタンスにある必要があります。

完了する必要があるアクティビティ(リモート・データベースからの応答の待機やトランザクションのロールバックなど)がセッションで実行されている場合、Oracle Databaseはそのアクティビティが完了するのを待機し、セッションに終了のマークを付けてから、ユーザーに制御を戻します。待機が数分間続く場合、セッションに終了予定のマークが付けられ、セッションに終了予定のマークを付けたというメッセージとともにユーザーに制御が戻されます。アクティビティが完了すると、PMONバックグラウンド・プロセスによってセッションに終了のマークが付けられます。

次の例に、ユーザーが特定のセッションを特定し、終了する3つのシナリオを示します。各例で、SYSDBAは、まずSCOTTユーザーのセッションのGV$SESSIONビューを問い合せて終了するセッションを特定し、次に、ALTER SYSTEM KILL SESSION文を実行してインスタンスでセッションを終了します。

関連項目:
Oracle Enterprise Managerを使用したこれらの手順の例は、『Oracle Database 2日でパフォーマンス・チューニング・ガイド』を参照してください。

例1   ビジー状態のインスタンスでのセッションの特定および終了

この例で、実行しているセッションがインスタンスINST_ID=1のSYSDBAであるとします。一部のアクティビティを完了してからセッションを終了する必要があるため、ORA-00031メッセージが戻されます。

SQL> SELECT SID, SERIAL#, INST_ID FROM GV$SESSION WHERE USERNAME='SCOTT';

SID    SERIAL#    INST_ID
---------- ---------- ----------
80          4          2

SQL> ALTER SYSTEM KILL SESSION '80, 4, @2';
alter system kill session '80, 4, @2'
*
ERROR at line 1:
ORA-00031: session marked for kill
SQL>

例2   アイドル状態のインスタンスでのセッションの特定および終了

この例で、実行しているセッションがインスタンスINST_ID=1のSYSDBAであるとします。インスタンスINST_ID=2のセッションは、Oracle Databaseが60秒以内に文を実行すると、ただちに終了されます。

SQL> SELECT SID, SERIAL#, INST_ID FROM GV$SESSION WHERE USERNAME='SCOTT';

SID    SERIAL#    INST_ID
---------- ---------- ----------
80          6          2

SQL> ALTER SYSTEM KILL SESSION '80, 6, @2';

System altered.

SQL>

例3   IMMEDIATEパラメータの使用

次の例には、未完了のアクティビティが完了するのを待機せずにただちにセッションを終了する、オプションのIMMEDIATE句が含まれています。

SQL> SELECT SID, SERIAL#, INST_ID FROM GV$SESSION WHERE USERNAME='SCOTT';

SID    SERIAL#    INST_ID
---------- ---------- ----------
80          8          2

SQL> ALTER SYSTEM KILL SESSION '80, 8, @2' IMMEDIATE;

System altered.

SQL>

関連項目:
セッションの終了の詳細は、『Oracle Database管理者ガイド』を参照してください。

Oracle RACでの初期化パラメータ・ファイルの概要

データベースを作成すると、指定したファイルの位置にSPFILEが作成されます。ファイルの位置として指定できるのは、Oracle ASMディスク・グループ、クラスタ・ファイル・システムまたは共有RAWデバイスのいずれかです。手動でデータベースを作成する場合は、初期化パラメータ・ファイル(PFILE)からSPFILEを作成することをお薦めします。

注意:
Oracle RACで従来のPFILEが使用されるのは、SPFILEが存在しないか、STARTUPコマンドでPFILEを指定した場合のみです。管理の単純化、パラメータ設定の一貫性の維持、データベースの停止および起動イベント全体にわたるパラメータ設定の永続性の保証のために、SPFILEを使用することをお薦めします。また、SPFILEをバックアップするようにRMANを構成することもできます。

クラスタ・データベース内のすべてのインスタンスは、起動時に同じSPFILEを使用します。SPFILEはバイナリ・ファイルであるため、エディタを使用して直接編集しないでください。かわりに、Oracle Enterprise ManagerまたはSQL文ALTER SYSTEMを使用して、SPFILEパラメータ設定を変更します。

SPFILEの作成時に、FROM MEMORY句(CREATE PFILE FROM MEMORYやCREATE SPFILE FROM MEMORYなど)を含める場合、CREATE文では、現行のシステム全体のパラメータ設定を使用して、PFILEまたはSPFILEが作成されます。Oracle RAC環境では、作成されたファイルには各インスタンスからのパラメータ設定が含まれています。FROM MEMORY句では、パラメータ・ファイルを作成しようとしているインスタンスに他のすべてのインスタンスがパラメータ設定を送信する必要があるため、合計実行時間は、インスタンスの数、各インスタンスのパラメータ設定の数およびそれらの設定のデータ量によって異なります。

この項の内容は次のとおりです。

- Oracle RACのSPFILEパラメータ値の設定

- Oracle RACでのパラメータ・ファイルの検索順序

- サーバー・パラメータ・ファイルのバックアップ

Oracle RACのSPFILEパラメータ値の設定

SPFILEの設定は、Oracle Enterprise ManagerまたはALTER SYSTEM文のSET句を使用して変更できます。

注意:
Oracle Enterprise ManagerまたはSQL*Plus以外のツールでSPFILEを変更すると、ファイルが破損してデータベースを起動できなくなる可能性があります。ファイルを修復するにはPFILEを作成し、SPFILEを再生成する必要があります。

SPFILEはバイナリ・ファイルですが、この項の例では、ASCIIテキストとして記述してあります。次のエントリを含むSPFILEでインスタンスを起動するとします。

*.OPEN_CURSORS=500
prod1.OPEN_CURSORS=1000

SPFILEエントリのピリオド(.)の前にある値は、特定のパラメータの値が適用されるインスタンスを識別します。ピリオドの前にアスタリスク(*)がある場合、その値は、SPFILEに後続の個別の値が示されていないすべてのインスタンスに適用されます。

Oracleシステム識別子(SID)がprod1のインスタンスでは、データベース全体のパラメータが500に設定されていても、OPEN_CURSORSパラメータの設定は1000です。ワイルドカード文字のアスタリスク(*)が使用されたパラメータ・ファイルのエントリは、インスタンス固有のエントリがないインスタンスのみに適用されます。したがって、データベース管理者は、インスタンスprod1のパラメータ設定を制御できます。この2種類の設定は、パラメータ・ファイル内でいずれの順序でも指定できます。

別のDBAが次の文を実行した場合、SIDがprod1以外のすべてのインスタンスの設定がOracle Databaseによって更新されます。

ALTER SYSTEM SET OPEN_CURSORS=1500 sid='*' SCOPE=MEMORY;

次に、他のインスタンスで次の文を実行すると、SIDがprod1であるインスタンスの新しい設定も2000になります。

ALTER SYSTEM SET OPEN_CURSORS=2000 sid='*' SCOPE=MEMORY;

たとえば、サーバー・パラメータ・ファイルに次のエントリが含まれるとします。

prod1.OPEN_CURSORS=1000
*.OPEN_CURSORS=500

次の文を実行して、Oracle Databaseでサーバー・パラメータ・ファイルの最初のエントリが無視されるようにします。

ALTER SYSTEM RESET OPEN_CURSORS SCOPE=SPFILE;

次の文を実行して、prod1のインスタンスのみのパラメータをデフォルト値にリセットします。

ALTER SYSTEM RESET OPEN_CURSORS SCOPE=SPFILE SID='prod1';

Oracle RACでのパラメータ・ファイルの検索順序

Oracle Databaseでは、プラットフォームに応じてパラメータ・ファイルが特定の順序で検索されます。

LinuxおよびUNIXプラットフォームでは、検索順序は次のとおりです。

1. $ORACLE_HOME/dbs/spfilesid.ora

2. $ORACLE_HOME/dbs/spfile.ora

3. $ORACLE_HOME/dbs/initsid.ora

Windowsプラットフォームでは、検索順序は次のとおりです。

1. %ORACLE_HOME%\database\spfilesid.ora

2. %ORACLE_HOME%\database\spfile.ora

3. %ORACLE_HOME%\database\initsid.ora

注意:
すべてのインスタンスで同じファイルを使用する必要があり、すべてのインスタンスのSIDが異なっているため、デフォルトのSPFILE名は使用しないことをお薦めします。かわりに、Oracle ASMにSPFILEを格納します。SPFILEをクラスタ・ファイル・システムに格納する場合は、SPFILEに$ORACLE_HOME/dbs/spfiledb_unique_name.oraというネーミング規則を使用してください。SPFILE=ORACLE_HOME/dbs/spfiledb_unique_name.oraという名前を含む、$ORACLE_HOME/dbs/initsid.oraという名前のPFILEを作成してください。

サーバー・パラメータ・ファイルのバックアップ

リカバリのために、サーバー・パラメータ・ファイルを定期的にバックアップすることをお薦めします。これには、Oracle Enterprise Manager(『Oracle Database 2日でReal Application Clustersガイド』を参照)またはCREATE PFILE文を使用します。次に例を示します。

CREATE PFILE='?/dbs/initdbname.ora'
FROM SPFILE='/dev/vx/rdsk/oracle_dg/dbspfile'

Recovery Manager (RMAN)を使用して、サーバー・パラメータ・ファイルのバックアップを作成できます。SPFILEは、クライアント側の初期化パラメータ・ファイルを使用してインスタンスを起動することによって、リカバリすることもできます。その後、CREATE SPFILE文を使用して、サーバー・パラメータ・ファイルを再生成します。この操作に使用されるパラメータ・ファイルがシングル・インスタンス用である場合、Oracle RACインスタンスで一意であっても、パラメータ・ファイルにはインスタンス固有の値は含まれません。したがって、前述のようにパラメータ・ファイルに適切な設定が含まれていることを確認してください。

通常のバックアップ操作の実行中にSPFILE(および制御ファイル)が自動的にRMANによってバックアップされるようにするには、Oracle Enterprise ManagerまたはRMANのCONTROLFILE AUTOBACKUP文を使用して、RMANの自動バックアップ機能を使用可能にします。

関連項目:

- Oracle Enterprise Managerを使用してバックアップ・ジョブを実行するには、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- CREATE SPFILE文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

- CONTROLFILE AUTOBACKUP文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

Oracle RACでの初期化パラメータの使用

デフォルトでは、ほとんどのパラメータがデフォルト値に設定されていて、すべてのインスタンスで同じ値です。ただし、多くの初期化パラメータに対しては、表3-3に記載されているとおり、各インスタンスで別々の値も設定できます。これ以外のパラメータは、次の項で説明されているように、一意または同一である必要があります。

- すべてのインスタンスで同じ値を設定する必要があるパラメータ

- すべてのインスタンスで一意の値を設定するパラメータ

- すべてのインスタンスで同じ値を設定する必要があるパラメータ

表3-3に、Oracle RACデータベースで特に使用される初期化パラメータのサマリーを示します。

関連項目:
これらの初期化パラメータとその他の初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

表3-3 Oracle RACに固有の初期化パラメータ

パラメータ

説明

ACTIVE_INSTANCE_COUNT

この初期化パラメータはOracle RAC 11gリリース2(11.2)では非推奨です。かわりに、1つの優先インスタンスと1つの使用可能なインスタンスを伴うサービスを使用します。

ASM_PREFERRED_READ_FAILURE_GROUPS

ミラー・データのコピーの読取り元の優先ディスクにする一連のディスクを指定します。このパラメータに設定する値はインスタンス固有で、すべてのインスタンスで同じにする必要はありません。

CLUSTER_DATABASE

クラスタ・モードで起動するデータベースを使用可能にするパラメータです。このパラメータをTRUEに設定します。

CLUSTER_DATABASE_INSTANCES

Oracle RACはこのパラメータを使用して、十分なメモリー・リソースを割り当てます。すべてのインスタンスに同じ値を設定する必要があります。

- ポリシー管理データベースの場合、16が内部的に設定されます。

- 管理者管理データベースの場合、構成済のOracle RACインスタンスの数に内部的に設定されます。

また、インスタンスを追加する場合、現行のインスタンスの数より大きい値をこのパラメータに設定できます。ポリシー管理データベースで、このパラメータにより大きい値を設定する必要があるのは、16を超えるインスタンスでデータベースを実行する場合のみです。この場合、パラメータには、このデータベースを実行するインスタンスの予想最大数を設定します。

CLUSTER_INTERCONNECTS

複数のインターコネクトが存在する場合、プライベート・ネットワークの代替クラスタ・インターコネクトを指定します。CLUSTER_INTERCONNECTS初期化パラメータは、UDP IPCが使用可能なLinuxおよびUNIX環境でのみ有効です。

注意:

- すべてのOracle DatabaseとOracle Clusterwareでは同じインターコネクト・ネットワークを使用することをお薦めします。Oracle DatabaseをOracle Clusterwareとは別のネットワークで実行する場合は、エラー発生時のタイムアウトは900秒です。

- 特別な場合を除き、CLUSTER_INTERCONNECTSパラメータを設定することはお薦めしません。詳細は、「LinuxおよびUNIXプラットフォームでの複数のクラスタ・インターコネクトの管理」を参照してください。

- このパラメータは、グリッドのプラグ・アンド・プレイ環境のグリッド・プラグ・アンド・プレイ・プロファイルに格納されます。

DB_NAME

インスタンス固有のパラメータ・ファイルでDB_NAMEの値を設定する場合は、すべてのインスタンスに同じ値を設定する必要があります。

DISPATCHERS

DISPATCHERSパラメータは、共有サーバー構成(多数のユーザー・プロセスが、非常に少数のサーバー・プロセスを共有できるように構成されたサーバー)を使用可能にするために設定します。共有サーバー構成では、多数のユーザー・プロセスがディスパッチャに接続します。DISPATCHERSパラメータには、多くの属性を含めることができます。

少なくとも、PROTOCOL属性およびLISTENER属性を構成することをお薦めします。PROTOCOLには、ディスパッチャ・プロセスがリスニングのエンド・ポイントを生成するネットワーク・プロトコルを指定します。LISTENERには、Oracle Net Servicesリスナーの別名を指定します。別名には、tnsnames.oraファイルなどのネーミング・メソッドを介して解決される名前を設定します。tnsnames.oraファイルには、ネット・サービス名が記述されています。このファイルは、クライアント、ノードおよびOracle Performance Managerノード上で必要になります。Oracle Enterprise Managerでは、Database ControlまたはGrid Controlのクライアントでtnsnames.oraエントリは必要ありません。

DISPATCHERSパラメータとその属性の構成、および共有サーバーの構成の詳細は、『Oracle Database Net Services管理者ガイド』も参照してください。

GCS_SERVER_PROCESSES

この静的パラメータでは、Oracle RACインスタンスのグローバル・キャッシュ・サービス(GCS)のサーバー・プロセスの初期数を指定します。GCSプロセスでは、Oracle RACインスタンスのインスタンス間トラフィックのルーティングが管理されます。GCSサーバー・プロセスのデフォルト数は、最小が2で、システム・リソースに基づいて計算されます。CPUが1つのシステムでは、1つのGCSサーバー・プロセスがあります。CPUが2つから8つのシステムでは、2つのGCSサーバー・プロセスがあります。CPUが9つ以上あるシステムでは、GCSサーバー・プロセスの数は、CPUの数を4で割り、端数を切り捨てた数と同じになります。たとえば、CPUが10ある場合は10を4で割るため、システムには2つのGCSプロセスがあることになります。異なるインスタンスで、このパラメータを異なる値に設定できます。

INSTANCE_NAME

一意のインスタンス名を指定します。クライアントは、この名前を使用して、セッションをクラスタ内の特定のインスタンスに強制的に接続します。通常、INSTANCE_NAMEパラメータはdb_unique_name_instance_number(orcldb_2など)という形式になります。

注意: グリッドのプラグ・アンド・プレイ環境では、INSTANCE_NAMEパラメータは必須ではなく、指定しない場合はdb_unique_name_instance_numberがデフォルトになります。

RESULT_CACHE_MAX_SIZE

クラスタ化されたデータベースでは、すべてのインスタンスでRESULT_CACHE_MAX_SIZE=0を設定して結果キャッシュを無効にするか、またはすべてのインスタンスで0(ゼロ)以外の値を使用して結果キャッシュを有効にできます。結果キャッシュの有効と無効を切り替えるには、すべてのインスタンスを再起動する必要があります。

- 結果キャッシュの有効化: RESULT_CACHE_MAX_SIZEを0より大きい値に設定するか、またはパラメータを未設定のままにします。個々のインスタンスで異なるキャッシュのサイズを指定できます。

- 結果キャッシュの無効化: すべてのインスタンスでRESULT_CACHE_MAX_SIZE=0を設定すると、結果キャッシュが無効になります。結果キャッシュの無効化はクラスタ全体で行う必要があるため、いずれか1つのインスタンスの起動時にRESULT_CACHE_MAX_SIZE=0を設定した場合は、すべてのインスタンスで起動時にパラメータを0(ゼロ)に設定する必要があります。一部のインスタンスで結果キャッシュを無効にすると、誤った結果になる場合があります。

RESULT_CACHE_MAX_SIZEパラメータを設定しない場合、パラメータはデフォルトの0(ゼロ)以外の値に解決されます。

SERVICE_NAMES

サービスを使用する場合は、SERVICE_NAMESパラメータに値を設定せずに、かわりに、Oracle Enterprise Manager Database Controlの「クラスタ管理サービス」ページで、クラスタ管理されるサービスを作成する必要があります。これは、Oracle Clusterwareが、ユーザーが作成したサービスおよびデフォルトのデータベース・サービスのこのパラメータの設定を制御するためです。第5章「自動ワークロード管理の概要」で説明するサービスの機能は、SERVICE_NAMESを設定する場合に使用可能な機能とは直接関係ありません。また、このパラメータに値を設定した場合、サービスの使用によって得られるメリットが失われてしまう可能性があります。

注意: SERVICE_NAMESパラメータのエントリは、INSTANCE_NAMEパラメータの値ではなく、クライアント接続で使用される場合があります。SERVICE_NAMESパラメータに1つ以上の名前が含まれ、異なるインスタンスで1つ以上の名前を共有する場合があるため、クライアントは、接続文字列で選択されたサービス名に応じて、特定のインスタンスまたは一連のいずれかのインスタンスに接続できます。

SPFILE

SPFILEを使用する場合は、Oracle RACデータベースのすべてのインスタンスがSPFILEを使用し、このファイルが共有記憶域に存在する必要があります。

THREAD

インスタンスで使用されるREDOスレッドの数を指定します。使用可能な未使用のREDOスレッド番号であれば、どれでも指定できます。指定する場合、このパラメータの値はすべてのインスタンスに対して一意である必要があります。INSTANCE_NAMEパラメータを使用してREDOログ・グループを指定することをお薦めします。

すべてのインスタンスで同じ値を設定する必要があるパラメータ

データベースの作成に重要な特定の初期化パラメータ、または特定のデータベース操作に影響する特定の初期化パラメータは、Oracle RACデータベースの各インスタンスで同じ値を設定する必要があります。これらのパラメータ値は、SPFILEに指定するか、または各インスタンスの個別のPFILEで指定します。次のリストに、すべてのインスタンスで同一である必要があるパラメータを示します。

COMPATIBLE
CLUSTER_DATABASE
CLUSTER_DATABASE_INSTANCES
CONTROL_FILES
DB_BLOCK_SIZE
DB_DOMAIN
DB_FILES
DB_NAME
DB_RECOVERY_FILE_DEST
DB_RECOVERY_FILE_DEST_SIZE
DB_UNIQUE_NAME
INSTANCE_TYPE(RDBMSまたはASM)
PARALLEL_EXECUTION_MESSAGE_SIZE
REMOTE_LOGIN_PASSWORDFILE
UNDO_MANAGEMENT
すべてのインスタンスで、次のパラメータを同じにする必要があるのは、パラメータの値が0(ゼロ)に設定されている場合のみです。

DML_LOCKS
RESULT_CACHE_MAX_SIZE

すべてのインスタンスで一意の値を設定するパラメータ

ポリシー管理データベースで一意の設定を持つパラメータを設定する必要がある場合は、データベースのサーバー・プールに割り当てられる各サーバーに対してsrvctl modify instance -n node_name -i instance_nameコマンドを実行することにより、インスタンスが特定のノードで常に同じ名前を使用するようにできます。その後、パラメータの一意の値をinstance_nameに指定できます(この値は、node_name上でデータベースが実行されるときに使用されます)。

データベース名と、インスタンスに割り当てられたINSTANCE_NAME番号で構成される環境変数ORACLE_SIDを指定します。

CLUSTER_INTERCONNECTS初期化パラメータを使用して、Oracle Clusterwareがプライベート・ネットワークに使用している代替インターコネクトを指定します。CLUSTER_INTERCONNECTS初期化パラメータを設定すると、Oracle RACデータベースの各インスタンスに対して一意の値が使用されます。

関連項目:
CLUSTER_INTERCONNECTS初期化パラメータの詳細は、「LinuxおよびUNIXプラットフォームでの複数のクラスタ・インターコネクトの管理」を参照してください。

Oracle Databaseは、INSTANCE_NUMBERパラメータを使用して起動時にインスタンスを識別し、INSTANCE_NAMEパラメータを使用して特定のインスタンスにREDOログ・グループを割り当てます。インスタンス名はdb_unique_name_instance_numberの形式にすることが可能で、名前と番号がアンダースコアで区切られたこの形式の場合、アンダースコアの後の番号がINSTANCE_NUMBERとして使用されます。グリッドのプラグ・アンド・プレイを使用するOracle Database 11.2では、ポリシー管理データベースのインスタンス番号を明示的に割り当てる必要がなくなり、インスタンス名はデフォルトのdb_unique_name_instance_numberに設定され、Oracle Databaseによってインスタンス番号が割り当てられます。

自動UNDO管理を使用可能にしてUNDO_TABLESPACEを指定する場合、各インスタンスでこのパラメータに一意のUNDO表領域名を設定します。

ROLLBACK_SEGMENTSパラメータを使用する場合は、SPFILEでSID識別子を使用して、これらのパラメータに一意の値を設定することをお薦めします。ただし、各インスタンスのINSTANCE_NUMBERに一意の値を設定する必要があり、デフォルト値は使用できません。

ASM_PREFERRED_READ_FAILURE_GROUPS初期化パラメータを使用すると、優先読取り障害グループ名のリストを指定できます。これらの障害グループのディスクは、優先読取りディスクになります。したがって、すべてのノードはそのローカル・ディスクから読み取ることができます。この結果、効率およびパフォーマンスが向上し、ネットワーク・トラフィックが削減されます。このパラメータの設定はインスタンス固有で、すべてのインスタンスで同じにする必要はありません。

すべてのインスタンスで同じ値を設定する必要があるパラメータ

表3-4のパラメータには、すべてのインスタンスで同じ値を設定することをお薦めします。これらのパラメータにはインスタンスごとに異なる値を設定できますが、すべてのインスタンスでパラメータに同じ値を設定すると管理が簡単です。

表3-4 すべてのインスタンスで同じ値を設定する必要があるパラメータ

パラメータ

説明

ARCHIVE_LAG_TARGET

Oracle RACデータベースのインスタンスごとに異なる値を設定すると、データベース処理によって追加の自動同期化が実行されるため、多くの場合、オーバーヘッドが増加します。

Oracle RACデータベースでStreamsを使用する場合、0(ゼロ)より大きい値を使用する必要があります。

LICENSE_MAX_USERS

このパラメータでは、データベースに定義されるユーザー数のデータベース全体における制限が決定されるため、このパラメータにはデータベースのすべてのインスタンスに同じ値を指定して、どのインスタンスの使用時にも現在の値を確認できるようにすると便利です。異なる値を設定すると、インスタンスの起動時にOracle Databaseによって追加で警告メッセージが生成されたり、データベース・ユーザーの管理に関連するコマンドが一部のインスタンスで失敗する可能性があります。

LOG_ARCHIVE_FORMAT

すべてのインスタンスで同じ値を使用しない場合、メディア・リカバリが複雑になります。アーカイブ・ログ・ファイルを作成したインスタンスにかかわらず、リカバリを行うインスタンスでは、必要なアーカイブ・ログ・ファイル名のフォーマットがそのインスタンス自体のLOG_ARCHIVE_FORMATの値で定義されていると想定します。

Data Guardをサポートするデータベースでは、アーカイブREDOログ・ファイルの送受信を行うために、すべてのインスタンスでLOG_ARCHIVE_FORMATに同じ値を使用する必要があります。

SPFILE

すべてのインスタンスでこのパラメータに同じファイルを指定しない場合、各インスタンスは、フェイルオーバー、ロード・バランシングおよび通常の操作中に、異なる動作または予測できない動作を行う場合があります。また、ALTER SYSTEM SETまたはALTER SYSTEM RESETコマンドでSPFILEに行う変更は、コマンドを実行したインスタンスで使用されるSPFILEのみに保存されます。変更は、異なるSPFILEを使用するインスタンスでは反映されません。

サーバーによって値が設定されているインスタンスでSPFILEの値が異なる場合、デフォルトのSPFILEを使用していないインスタンスを再起動する必要があります。

TRACE_ENABLED

診断トレース情報をOracle RACデータベースで常に使用可能にするには、すべてのデータベース・インスタンスでTRACE_ENABLEDをTRUEに設定する必要があります。一部のインスタンスのみのトレースを行う場合、TRACE_ENABLEDがFALSEに設定されているインスタンスのみにアクセス可能なとき、必要な診断情報を使用できない場合があります。

UNDO_RETENTION

各インスタンスでUNDO_RETENTIONに異なる値を設定すると、スケーラビリティが低下し、フェイルオーバー後に予測できない動作が行われる場合があります。したがって、このパラメータにOracle RACデータベースのインスタンス間で異なる値を割り当てる前に、メリットがあるかどうかを慎重に考慮する必要があります。

管理者管理データベースのポリシー管理データベースへの変換

次のように、管理者管理データベースをポリシー管理データベースに変換できます。

1. すべてのサービスとデータベースの現在の構成を確認します(間違いがあったためにリカバリが必要な場合、元の構成がどうであったかを確認できます)。

srvctl config database -d db_unique_name
srvctl config service -d db_unique_name

2. 注意:
デフォルトでは、指定されたユーザーがサーバー・プールを作成できます。この権限を持つオペレーティング・システム・ユーザーを制限するために、CRS管理者リストに特定のユーザーを追加することを強くお薦めします。

関連項目:
CRS管理者リストへのユーザーの追加については、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

次のように、ポリシー管理データベースに対してサーバー・プールを作成します(CRS管理者権限を持っている必要があります)。

srvctl add srvpool -g server_pool -l 0 -u n

前述のコマンドのnは、サーバー・プールで必要とするサーバーの数です。

注意:
この手順では、必ずしも新しく作成したサーバー・プールにサーバーを配置するとはかぎりません。たとえば、空きプールにサーバーがないために新しいサーバー・プールがサーバーを割り当てることができない場合は、srvctl relocate serverコマンドを使用して、別のサーバー・プールからサーバーを再配置する必要があります。

3. 新しいサーバー・プールに存在するようにデータベースを変更します。

srvctl modify database -d db_unique_name -g server_pool

4. 手順1のコマンドを繰り返してデータベースのステータスを確認し、データベースがポリシー管理になったことを確認します。

関連項目:
これらのコマンドの詳細は、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

次のように、前述の手順で行った変更を認識させるために、Oracle Enterprise Managerを構成します。

1. Oracle Enterprise Manager Database Controlに新しいデータベース・インスタンスを認識させるために、インスタンス名をdb_unique_name#からdb_unique_name_#に変更(シャープ記号(#)の前にアンダースコア(_)を追加)する必要があります。

2. dbs/databaseディレクトリ内のorapwdファイルの名前を変更します(または、orapwdコマンドを実行して、新しいorapwdファイルを作成します)。
デフォルトのorapwdファイルには、orapwdORCL1などのようにインスタンス名が付加されています。前述の手順で変更したインスタンス名に対応するように、ファイル名を変更する必要があります。たとえば、orapwdORCL1をorapwdORCL_1に変更するか、または新しいorapwdファイルを作成する必要があります。

3. 次のように、emcaを実行して、Oracle Enterprise Manager Database Controlを再構成します。

emca -config dbcontrol db -cluster

ポリシー管理データベースを管理者管理データベースに直接変換することはできません。その場合は、srvctl remove databaseコマンドおよびsrvctl remove serviceコマンドでポリシー管理構成を削除してから、srvctl add databaseコマンドおよびsrvctl add instanceコマンドで同じデータベースを管理者管理データベースとして登録します。データベースおよびインスタンスの登録後に、srvctl add serviceコマンドを使用して、削除したサービスを元どおりに追加する必要があります。

関連項目:
これらのコマンドの詳細は、「SRVCTLコマンド・リファレンス」を参照してください。

管理者管理データベースのサービスは、引き続きPREFERREDおよびAVAILABLE定義によって定義されます。ポリシー管理データベースの場合、サービスはデータベース・サーバー・プールに対して定義され、uniform(サーバー・プール内のすべてのインスタンスで実行)またはsingleton(サーバー・プール内の単一インスタンスでのみ実行)のいずれかになります。データベースの管理ポリシーを変更した場合、選択したデータベースの管理ポリシーに応じて、UNIFORMかSINGLETON、またはPREFERRED/AVAILABLEのいずれかになるように、データベース・サービスを再作成する必要があります。

関連項目:
サービスの管理については、「サービスのデプロイメント・オプション」を参照してください。

Oracle RACデータベースの静止

Oracle RACデータベースを静止する手順は、非クラスタ・データベースを静止する場合と同じです。1つのインスタンスからALTER SYSTEM QUIESCE RESTRICTED文を使用します。データベースの静止処理中は、どのインスタンスからもデータベースを開くことはできません。DBA以外のすべてのセッションが非アクティブになると、ALTER SYSTEM QUIESCE RESTRICTED文は終了し、データベースは静止状態にあるとみなされます。Oracle RAC環境では、この文を発行したインスタンスのみでなく、すべてのインスタンスにこの文が適用されます。

Oracle RAC環境でALTER SYSTEM QUIESCE RESTRICTED文を正しく発行するには、データベース・リソース・マネージャ機能をアクティブにしておくだけでなく、その機能がクラスタ・データベースのすべてのインスタンスに対しても、インスタンス起動時からアクティブになっている必要があります。DBA以外のセッションがアクティブにならないようにするのは、データベース・リソース・マネージャの機能です。また、この文が適用されている間に現行のリソース・プランを変更しようとすると、システムが静止状態でなくなるまで、その変更はキューに入れられます。

次の条件がOracle RACに適用されます。

- ALTER SYSTEM QUIESCE RESTRICTED文を発行しても、Oracle Databaseがその処理を完了していない場合、データベースを開くことはできません。

- データベースが静止状態にある場合、そのデータベースを開くことはできません。

- ALTER SYSTEM QUIESCE RESTRICTED文およびALTER SYSTEM UNQUIESCE文は、このコマンドを発行したインスタンスのみでなく、Oracle RAC環境のすべてのインスタンスに適用されます。

注意:
コールド・バックアップを実行するために静止状態を使用することはできません。データベースが静止状態にある場合でも、Oracle Databaseのバックグラウンド・プロセスがOracle Databaseの内部処理のために更新を実行していることがあるためです。また、オンライン・データファイルのヘッダーは、引き続きアクセス中であるかのように見えます。このファイル・ヘッダーの状態は、データベースが正しく停止された場合とは異なります。データベースが静止状態の間でも、オンライン・バックアップ操作は実行できます。

関連項目:

- データベースの静止機能の詳細は、『Oracle Database管理者ガイド』を参照してください。

- ALTER SYSTEM QUIESCE RESTRICTEDの構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

LinuxおよびUNIXプラットフォームでの複数のクラスタ・インターコネクトの管理

UDP IPCが使用可能なLinuxおよびUNIXプラットフォームで実行するOracle RAC環境では、CLUSTER_INTERCONNECTS初期化パラメータを使用して、Oracle Clusterwareがプライベート・ネットワークのために使用する代替インターコネクトを指定できます。

CLUSTER_INTERCONNECTSに複数の値を設定した場合、指定したすべてのインターコネクトが使用され、指定したインターコネクトがすべて動作可能であれば、ロード・バランシングが行われます。このパラメータで複数のインターコネクトを定義する場合、データベースのすべてのインスタンスで同じ値(インターコネクトをリストする順序を含む)を使用する必要があります。

オペレーティング・システム・レベルでデフォルトのインターコネクト設定を上書きするCLUSTER_INTERCONNECTSパラメータを設定することはお薦めしません。かわりに、オペレーティング・システムのボンディング技術(NIC(ネットワーク・インタフェース・カード)ボンディングとも呼ばれます)を使用します。オペレーティング・システム・レベルで NICボンディングを設定する方法については、使用しているプラットフォーム固有のOracle RACのインストレーション・ガイドを参照してください。

この項の内容は次のとおりです。

- CLUSTER_INTERCONNECTSパラメータ設定の推奨事項

- CLUSTER_INTERCONNECTSパラメータの使用例

CLUSTER_INTERCONNECTSパラメータ設定の推奨事項

CLUSTER_INTERCONNECTS初期化パラメータでは、IPアドレスが必要です。コロン(:)で区切って、複数のIPアドレスを指定できます。Oracle RACネットワーク・トラフィックは、指定されたIPアドレス間で分散されます。

注意:

- ポリシー管理データベースを使用する場合、CLUSTER_INTERCONNECTSパラメータは設定しないことをお薦めします。
ポリシー管理データベースにCLUSTER_INTERCONNECTSパラメータを設定する必要があるときは、サーバー・プール内のすべてのサーバーに対してsrvctl modify instance -n node_name -i instance_nameコマンドを使用することをお薦めします。

- すべてのデータベースとOracle Clusterwareで同じインターコネクト・ネットワークを使用することをお薦めします。

一般に、CLUSTER_INTERCONNECTSパラメータは、次の場合にのみ設定します。

- オペレーティング・システムの制限により、NICボンディングによる複数のネットワーク・インタフェースを使用して、帯域幅を増加させることができない場合。

- クラスタで複数のデータベースが実行されており、インターコネクト・トラフィックを分離する必要がある場合。

- オペレーティング・システムによって高可用性が実現された単一のIPアドレスがあり、そのIPアドレスに安定したインタフェース名がない(再起動時に名前を変更できるなど)場合。

次の一般的な構成では、CLUSTER_INTERCONNECTSパラメータは設定しないでください。

- クラスタ・インターコネクトが1つのみ存在する場合。

- デフォルトのクラスタ・インターコネクトが、Oracle RACデータベースの帯域幅の要件を満たしている場合(通常は満たしています)。

CLUSTER_INTERCONNECTS初期化パラメータの指定時は、次のことに注意してください。

- CLUSTER_INTERCONNECTS初期化パラメータは、UDP IPCが使用可能なLinuxおよびUNIX環境でのみ有効です。

- パラメータ・ファイルでCLUSTER_INTERCONNECTS初期化パラメータを設定する場合は、Oracle RACデータベースの各インスタンスに対して異なる値を指定します。

- 異なるノードで、同じデータベースの異なるインスタンスに指定されたIPアドレスは、同一のインターコネクト・ネットワークに接続するネットワーク・アダプタに属する必要があります。

- このパラメータに対して複数のIPアドレスを指定する場合、同一データベースのすべてのインスタンスに対して、同じ順序でIPアドレスを指定します。たとえば、node1の最初のインスタンスのパラメータで、alt0:、fta0:およびics0:デバイスのIPアドレスをその順に指定する場合、node2の2つ目のインスタンスのパラメータでも同等のネットワーク・アダプタのIPアドレスをその順に指定する必要があります。このパラメータを使用して複数のインターコネクトを設定する方法については、「CLUSTER_INTERCONNECTSパラメータの使用例」を参照してください。

- CLUSTER_INTERCONNECTSパラメータに指定したインターコネクトへの書込み中にオペレーティング・システム・エラーが発生した場合は、他のインタフェースが使用可能な場合でも、Oracle Databaseによってエラーが戻されます。これは、Oracle Databaseとインターコネクトの間の通信プロトコルが、使用しているプラットフォームに大きく依存する場合があるためです。詳細は、ご使用のOracle Databaseのプラットフォーム固有のマニュアルを参照してください。

関連項目:
CLUSTER_INTERCONNECTS初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

CLUSTER_INTERCONNECTSパラメータの使用例

この項では、CLUSTER_INTERCONNECTSパラメータを設定する場合の2つの例について説明します。

例1

単一のクラスタ・インターコネクトで帯域幅の要件を満たすことができない場合は、CLUSTER_INTERCONNECTSの設定を考慮します。ここで説明するように、1つ以上のデータベースから高いインターコネクト帯域幅を要求されているデータ・ウェアハウス環境では、このパラメータの設定が必要な場合があります。

たとえば、高いインターコネクト帯域幅の要件を持つ2つのデータベースがある場合は、オペレーティング・システムが提供するデフォルトのインターコネクトを無効にし、各サーバー・パラメータ・ファイルで次の構文を使用して、各データベースに異なるインターコネクトを指定できます。ipnは、ドットで区切られた標準的な10進形式のIPアドレス(たとえば、144.25.16.214)です。

Database One: crm1.CLUSTER_INTERCONNECTS = ip1
Database Two: ext1.CLUSTER_INTERCONNECTS = ip2

高い帯域幅を必要とするデータベースがある場合は、次の構文を使用して複数のインターコネクトを指定できます。

CLUSTER_INTERCONNECTS = ip1:ip2:...:ipn

例2

デバイスのIPアドレスを表示するには、ifconfigまたはnetstatコマンドを使用します。このコマンドは、デバイス名とIPアドレスの関係を表示します。たとえば、デバイスのIPアドレスを特定するには、次のコマンドをrootユーザーで実行します。

# /usr/sbin/ifconfig -a
fta0: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX>
inet 192.34.137.212 netmask fffffc00 broadcast 192.34.139.255 ipmtu 1500

lo0:  flags=100c89<UP,LOOPBACK,NOARP,MULTICAST,SIMPLEX,NOCHECKSUM>
inet 172.0.0.1 netmask ff000000 ipmtu 4096

ics0:  flags=1100063<UP,BROADCAST,NOTRAILERS,RUNNING,NOCHECKSUM,CLUIF>
inet 10.0.0.1 netmask ffffff00 broadcast 10.0.0.255 ipmtu 7000

sl0:  flags=10<POINTOPOINT>

tun0: flags=80<NOARP>

前述の例では、インタフェースfta0:のIPアドレスは192.34.137.212で、インタフェースics0:のIPアドレスは10.0.0.1です。

たとえば、すべてのGCS、GESおよびIPQ IPCトラフィックに対して、IPアドレスが192.34.137.212であるネットワーク・インタフェースを使用するには、CLUSTER_INTERCONNECTSパラメータを次のように設定します。

CLUSTER_INTERCONNECTS=192.34.137.212

Oracle ClusterwareでのOracle RACデータベースの管理方法のカスタマイズ

デフォルトでは、Oracle ClusterwareによってOracle RAC環境のデータベースの再起動が制御されます。たとえば、データベースのアップグレード中など、場合によっては、Oracle ClusterwareのOracle RACデータベースに対する制御レベルを最小限に抑える必要があることがあります。

注意:
サード・パーティのクラスタウェアを使用する場合は、Oracle ClusterwareでOracle RACインスタンスを管理できるようにすることをお薦めします。インスタンスを手動に設定し、そのインスタンスをサード・パーティのクラスタウェアで起動する場合は、データベース・インスタンスの監視および再起動にサード・パーティのクラスタウェアを使用せずに、必ずOracle Clusterwareで行ってください。

システムの再起動時にOracle ClusterwareによるOracle RACデータベースの再起動を防止する場合、または障害が発生したインスタンスの2回目以降の再起動を回避する場合、制御の程度を定義するポリシーを構成します。ポリシーには、自動(デフォルト)と手動の2つがあります。ポリシーが自動に設定されると、データベースは、データベース・ホスト・コンピュータの再起動時に、前回の実行状態(開始または停止した状態)に自動的にリストアされます。手動の場合、データベースは、データベース・ホスト・コンピュータの再起動時に、自動的に再起動されることはありません。手動に設定しても、Oracle Restartは、実行中のデータベースを監視し、障害発生時にデータベースを再起動します。

SRVCTLコマンドを使用して、次の例に示すように、Oracle Clusterwareのポリシーを表示および変更できます。

例1   現行ポリシーの表示

たとえば、現行のポリシーを表示するには、次のコマンド構文を使用します。ここで、db_unique_nameは、ポリシーを変更するデータベース名です。

srvctl config database -d db_unique_name -a

関連項目:
srvctl config databaseコマンドおよびそのオプションの詳細は、「srvctl config database」を参照してください。

例2   現行ポリシーの別のポリシーへの変更

次のSRVCTLコマンド構文を使用して、現行のポリシーをAUTOMATICまたはMANUALのいずれかに変更します。

srvctl modify database -d db_unique_name -y [AUTOMATIC | MANUAL]

関連項目:
srvctl modify databaseコマンドおよびそのオプションの詳細は、「srvctl modify database」を参照してください。

このコマンド構文は、データベース・リソースのリソース属性を設定します。

例3   新規データベースのポリシーの指定

SRVCTLコマンドを使用して新しいデータベースを追加する場合、次の例のように-yオプションを使用して管理ポリシーをAUTOMATICまたはMANUALのいずれかに指定できます(ここで、db_unique_nameはデータベース名です)。

srvctl add database -d db_unique_name -y [AUTOMATIC | MANUAL] -o $ORACLE_HOME -a DATA

関連項目:
srvctl add databaseコマンドおよびそのオプションの詳細は、「srvctl add database」を参照してください。

このコマンド構文によって、新しいデータベースがOracle Clusterwareに制御されるようになります。管理ポリシー・オプションを指定しないと、Oracle Databaseによってデフォルト値automaticが使用されます。ポリシー変更を行うと、影響を受けたデータベースの新しい値がOracle Clusterwareリソースによって記録されます。

Oracle Enterprise Managerの高度な管理

Oracle Enterprise Manager Database ControlまたはOracle Enterprise Manager Grid Controlのいずれかを使用して、集中的にOracle RACデータベースをインストール、構成および監視できます。

この項では、『Oracle Database 2日でReal Application Clustersガイド』や「Oracle RACデータベースの監視およびチューニングの概要」で取り上げられていない高度な管理タスクについて説明します。

関連項目:
Oracle Enterprise Managerを使用してOracle RACデータベースの日常的な管理タスクを実行する方法を説明するタスク指向型ガイドについては、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

この項の内容は次のとおりです。

- ノードおよびインスタンスの検出のためのOracle Enterprise Manager Grid Controlの使用

- Oracle Enterprise Managerのその他の機能

- Oracle RACでのジョブおよびアラートの管理

ノードおよびインスタンスの検出のためのOracle Enterprise Manager Grid Controlの使用

Oracle Enterprise ManagerでOracle RACデータベースおよびインスタンスのターゲットを検出すると、コンソールから監視および管理を実行できます。

- Database Controlでは、データベース作成中にDBCAが必要な構成を実行するため、検出は必要ありません。Database Controlは、単一のデータベースも監視します。

- Grid Controlでは、Oracle Enterprise Managerコンソール・インタフェースを使用してOracle RACデータベースおよびインスタンス・ターゲットを検出できます。
Oracle RACデータベースが存在するクラスタにGrid Controlエージェントをインストールすると、Oracle RACデータベース・ターゲットはインストール時に検出されます。エージェントのインストール後にデータベースが作成される場合またはエージェントのインストール時にデータベースが自動的に検出されない場合は、コンソール・インタフェースを使用してターゲットを検出できます。

ノードおよびインスタンスを検出するには、次のようにOracle Enterprise Manager Grid Controlを使用します。

1. Oracle Enterprise Managerにログインし、「ターゲット」タブをクリックします。

2. 「データベース」タブをクリックすると、使用可能なターゲットがすべて表示されます。「タイプ」列に、「クラスタ・データベース」というエントリを使用するOracle RACデータベースが表示されます。

3. ターゲット名を選択して「追加」をクリックし、このデータベース・ターゲットを追加します。「データベースターゲットの追加: ホストの指定」ページが表示されるので、このページで、データベース、リスナーおよびOracle ASMを監視ターゲットとして追加できます。

4. 懐中電灯のアイコンをクリックして使用可能なホスト名を表示し、ホストを選択して「続行」をクリックします。「データベースの追加: ソースの指定」ページが表示されます。

5. Oracle Enterprise Managerを使用して非クラスタのデータベースおよびリスナーのみを検出するか、またはすべてのクラスタ・データベース、非クラスタのデータベースおよびクラスタのリスナーを検出するかを指定し、「続行」をクリックします。

6. この手順で、再構成したクラスタ・データベースおよびそのすべてのインスタンスが検出されなかった場合は、「クラスタでターゲットが検出されました」ページでクラスタ・データベースおよび非クラスタ・データベースを手動で構成できます。

Oracle Enterprise Managerのその他の機能

この項では、Oracle Enterprise Manager 11g リリース2(11.2)とともに使用できるOracle Enterprise Managerの機能について説明します。

- 新しいデプロイメント手順(「Oracleグリッド・インフラストラクチャ/RACプロビジョニング」)では、Oracle RAC 11g リリース2(11.2)およびOracle Grid Infrastructureがプロビジョニングされます。また、この手順では、プロファイルと呼ばれる機能が導入されるため、入力を記録しておいて、その後に繰り返されるデプロイメントでこの記録を使用できます。

- 新しい手順の動的前提条件では、My Oracle Support(以前のOracleMetaLink)に接続されていれば、Oracle Enterprise ManagerはOracle RACプロビジョニング用の最新の前提条件とツールをダウンロードできます。

- 既存の「ワンクリックでクラスタ・データベース拡張」機能は、現在、Oracle RAC 11g リリース2(11.2)スタックをサポートしています。

- 既存の「Oracle Real Application Clustersの削除/縮小」機能は、Oracle RAC 11g リリース2(11.2)のクラスタで動作が保証されています。

- 既存の「Oracleデータベースのプロビジョニング」手順は、現在、Oracle Database 11g リリース2(11.2)のシングル・インスタンスのプロビジョニングをサポートしています。

- 非クラスタ・データベース用のOracle Grid Infrastructure 11g リリース2(11.2)をプロビジョニングするために、新しいデプロイメント手順(「スタンドアロン・サーバー用のOracle Grid Infrastructureのプロビジョニング」)が導入されました。

Oracle RACでのジョブおよびアラートの管理

クラスタ・データベースの「ホーム」ページには、Oracle RACデータベースのすべてのインスタンスが表示され、サーバー管理のために自動ワークロード・リポジトリ(AWR)が収集するいくつかのOracle RAC固有の統計の集計が提供されます。

その詳細を表示するために、インスタンス固有のページに移動する必要はありません。ただし、クラスタ・データベースの「ホーム」ページでは、稼働しているはずのインスタンスが停止したり、インスタンスで多数のアラートが発生している場合は、各アラートについてインスタンス固有のページにドリルダウンできます。

この項で後述する管理タスクを実行するには、ターゲットOracle RACデータベースにログインし、クラスタ・データベースの「ホーム」ページに移動し、「管理」タブをクリックします。

この項の内容は次のとおりです。

- Oracle RACでのジョブの管理

- Oracle Enterprise Managerを使用したOracle RACでのアラートの管理

- Oracle Enterprise Managerで定義済ブラックアウトを使用したスケジュール済メンテナンスの実行

Oracle RACでのジョブの管理

Oracle Enterprise Managerジョブは、データベース・レベルでもインスタンス・レベルでも管理できます。たとえば、クラスタ・データベース・レベルでジョブを作成し、そのジョブをターゲットOracle RACデータベースのアクティブな任意のインスタンスで実行できます。または、インスタンス・レベルでジョブを作成し、それを作成した特定のインスタンスでのみ実行することもできます。障害が発生した場合、再起ジョブは障害が発生しなかったインスタンスで実行できます。

ジョブは、インスタンス・レベル、クラスタ・レベルまたはクラスタ・データベース・レベルで作成できるため、クラスタ・データベース内の使用可能ないずれのホストでもジョブを実行できます。これはスケジュールされるジョブにも適用されます。Oracle Enterprise Managerでは、ジョブ・アクティビティがActive、History、Libraryなどのカテゴリに分類されて表示されます。

オペレーティング・システムのスクリプトやSQLスクリプトの送信およびスケジュールされたジョブの調査には、「ジョブ」タブを使用します。たとえば、特定のOracle RACデータベースのためのバックアップ・ジョブの作成は、次のように行います。

1. 「ターゲット」をクリックし、ジョブを作成するデータベースをクリックします。

2. ターゲット・データベースにログインします。

3. 表示されたデータベースの「ホーム」ページで、「メンテナンス」をクリックします。

4. Enterprise Managerのジョブ・ウィザードの各ページに入力し、ジョブを作成します。

Oracle Enterprise Managerを使用したOracle RACでのアラートの管理

Oracle Enterprise Managerを使用して、Oracle RAC環境のアラートを構成できます。また、グローバル・キャッシュ変換、読取り一貫性要求など、Oracle RACデータベースの特殊なテストも構成できます。

Oracle Enterprise Managerでは、Oracle RAC環境のデータベース・レベルとインスタンス・レベルのアラートは区別されます。アーカイブ・ログ・アラートなど、インスタンス・レベル・アラートのアラートしきい値は、インスタンスのターゲット・レベルで設定できます。この機能により、パフォーマンスがしきい値を超えた場合、特定のインスタンスに関するアラートを受信できます。また、表領域に関するアラートの設定など、データベース・レベルでアラートを構成することもでき、各インスタンスで重複するアラートの受信を回避できます。

関連項目:
Oracle RACでのアラートの構成の例は、Oracle Technology Networkを参照してください。パッケージを使用してしきい値を構成する方法は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

Oracle Enterprise Managerで定義済ブラックアウトを使用したスケジュール済メンテナンスの実行

Oracle RACデータベースの管理対象のすべてのターゲットについてブラックアウト(メンテナンス操作によって監視データに偏りが発生したり、不要なアラートが生成されないように、データベース監視を一時停止する期間のこと)を定義し、メンテナンス実行中のアラートの発生を防止できます。ブラックアウトは、クラスタ・データベース全体について定義することも、クラスタ・データベースの特定のインスタンスについて定義することもできます。

関連項目:
ブラックアウトの定義の詳細は、『Oracle Database管理者ガイド』を参照してください。

4 Oracle RAC One Nodeの管理

Oracle Real Application Clusters One Node(Oracle RAC One Node)は、クラスタ内の1つのノードで実行されるOracle Real Application Clusters(Oracle RAC)データベースのシングル・インスタンスです。このオプションによって、Oracleでのデータベース統合の柔軟性が向上します。フェイルオーバーによる保護で高可用性を実現しながら、多くのデータベースを最小限のオーバーヘッドで1つのクラスタに統合でき、オンラインでのローリング・パッチ適用、オペレーティング・システムおよびOracle Clusterwareのローリング・アップグレードも可能になります。

内容は次のとおりです。

- Oracle Real Application Clusters One Nodeの概要

- Oracle RAC One Nodeデータベースの追加

- データベースの変換

- オンライン・データベース再配置

Oracle Real Application Clusters One Nodeの概要

リソース・マネージャ・インスタンス・ケージングを介して、クラスタ内のサーバーごとに個々のデータベース・インスタンスのCPU使用率を制限でき、必要に応じてこの制限を動的に変更できます。Oracle RAC One Nodeでは、サーバーのスケーラビリティは無制限で、アプリケーションが増大して単一ノードで提供できるリソース以上のリソースを必要とする場合には、アプリケーションをOracle RAC構成にオンラインで簡単にアップグレードできます。Oracle RAC One Nodeを実行しているノードがオーバーロードした場合、オンライン・データベース再配置ユーティリティを使用することにより、アプリケーション・ユーザーの停止時間なしで、クラスタ内の別のノードにインスタンスを再配置できます。

Oracle RAC One Nodeは、Oracle RACの動作が保証されているすべてのプラットフォームでサポートされています。Oracle RACと同様に、Oracle Virtual Machine(Oracle VM)でのOracle RAC One Nodeの動作が保証されます。Oracle RACまたはOracle RAC One NodeをOracle VMで使用すると、Oracle RACの高可用性およびスケーラビリティによってOracle VMのメリットが大きくなります。

Oracle RAC One Nodeのオンライン・データベース再配置を使用して、現在のサーバーのリソースが不足したり、オペレーティング・システムのパッチなどのメンテナンス操作が必要な場合に、Oracle RAC One Nodeインスタンスを別のサーバーに再配置できます。同じ技術を使用して、クラスタで使用可能なリソースに応じたワークロードの変化などに対応するために、Oracle RAC One Nodeインスタンスを大容量のサーバーに再配置できます。さらに、新しいサーバーでOracle RAC One Nodeインスタンスの配置をさらに最適化するために、Resource Manager Instance Cagingまたはメモリー最適化パラメータを動的に設定できます。

単一クライアント・アクセス名(SCAN)を使用してデータベースに接続すると、クライアントは、データベースが実行されているノードのサービスを独自に特定できます。したがって、クライアント接続によっては、Oracle RAC One Nodeインスタンスの再配置がクライアントに対してほとんど透過的になります。クライアントでの再配置の影響を最小限に抑えるために、Oracleの高速アプリケーション通知または透過的アプリケーション・フェイルオーバーのいずれかを使用することをお薦めします。

Oracle RAC One Nodeデータベースの管理は、Oracle RACデータベースまたは非クラスタ・データベースとは若干異なります。管理者管理Oracle RAC One Nodeデータベースの場合は、候補ノード・リストを監視し、可能であればサーバーがいつでもフェイルオーバーに使用できるようにしておく必要があります。候補サーバーは汎用サーバー・プールに存在し、データベースとそのサービスは、いずれかの候補サーバーにフェイルオーバーします。

ポリシー管理Oracle RAC One Nodeデータベースの場合は、その現在のノードが使用できなくなった場合に備えて、サーバーがデータベースのフェイルオーバーに使用できるようにサーバー・プールが確実に構成されている必要があります。また、ポリシー管理Oracle RAC One Nodeデータベースでは、オンライン・データベース再配置用の宛先ノードを、データベースのサーバー・プールに配置する必要があります。

注意:
すべての障害の可能性に対応するために、少なくとも1つの動的データベース・サービス(Oracle Clusterware管理データベース・サービス)をOracle RAC One Nodeデータベースに追加する必要があります。

関連項目:
Oracle RAC One Nodeデータベースのインストールについては、Oracle Real Application Clustersインストレーション・ガイドのLinux版およびUNIX版を参照してください。

Oracle RAC One Nodeデータベースの追加

srvctl add databaseコマンドを使用して、クラスタにOracle RAC One Nodeデータベースを追加します。次に例を示します。

srvctl add database -c  RACONENODE [-e server_list] [-i instance_name] [-w timeout]

管理者管理Oracle RAC One Nodeデータベースを追加する場合は、-eオプションおよび-iオプションを使用します。

Oracle RAC One Nodeデータベースの作成にDBCAを使用すると、新しく作成されたデータベースがクラスタに追加されます。

関連項目:

- 使用方法については、「srvctl add database」を参照してください。

- Oracle RAC One Nodeデータベースの追加については、「対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加」を参照してください。

Oracle RAC One Nodeデータベースで各サービスを構成する場合、SERVER_POOLS属性には基礎となるデータベースと同じ値を使用します。Oracle RAC One Nodeデータベースにサービスを追加する場合、サーバー制御ユーティリティ(SRVCTL)は配置情報を受け入れることはありませんが、かわりに、SERVER_POOLS属性の値を使用して、サービスを構成します。

注意:
管理者管理Oracle RAC One Nodeデータベースを追加する場合は、オプションで、srvctl add databaseコマンドの-i instance_nameオプションを使用してインスタンス接頭辞を指定できます。こうすると、インスタンスの名前は、prefix_1になります。インスタンス接頭辞を指定しないと、データベースの一意の名前の最初の12文字が接頭辞になります。インスタンス名は、オンライン・データベース再配置時にprefix_2に変更され、後続のオンライン・データベース再配置時にprefix_1に戻されます。フェイルオーバーでは、同じインスタンス名が使用されます。

データベースの変換

SRVCTLを使用して、インスタンスが1つのOracle RACデータベースをOracle RAC One Nodeデータベースに変換できます。その逆も同様に可能です。

この項の内容は次のとおりです。

- Oracle RACからOracle RAC One Nodeへのデータベースの変換

- Oracle RAC One NodeからOracle RACへのデータベースの変換

Oracle RACからOracle RAC One Nodeへのデータベースの変換

次のように、srvctl convert databaseコマンドを使用して、インスタンスが1つのOracle RACデータベースをOracle RAC One Nodeデータベースに変換できます。

srvctl convert database -d db_unique_name -c RACONENODE [-i instance_name
-w timeout]

関連項目:
srvctl convert databaseコマンドの詳細は、「convert」を参照してください。

注意:
Oracle RAC One Nodeに変換するOracle RACデータベースでは、Oracle Managed Filesを使用しているか(自動スレッド割当てを有効にするため)、または2つ以上のREDOスレッドを保持している必要があります。

Oracle RACデータベースをOracle RAC One Nodeデータベースに変換する前に、Oracle RACデータベースのインスタンスが1つのみであることを確認する必要があります。

Oracle RACデータベースが管理者管理である場合は、すべてのサービスの構成を変更して、変換後でもOracle RAC One Nodeデータベースであるようなインスタンスに優先インスタンスを設定する必要があります。サービスにPRECONNECT TAFポリシーがある場合は、変換プロセスを開始する前に、そのTAFポリシーをBASICまたはNONEに更新する必要があります。これらのサービスでは、使用可能インスタンスが不要になります。

Oracle RACデータベースがポリシー管理である場合は、すべてのサービスの構成を変更して、Oracle RACデータベースをOracle RAC One Nodeデータベースに変換する前に、すべてのサービスで同じサーバー・プールが使用されるようにしておく必要があります。

Oracle RAC One NodeからOracle RACへのデータベースの変換

次のように、srvctl convert databaseコマンドを使用して、データベースをOracle RAC One NodeからOracle RACに変換できます。

srvctl convert database -d db_unique_name -c RAC [-n node_name]

データベースが起動済で実行中である場合に、データベースが実行されているノードを指定しないと、ノードを指定するように示すエラーが戻されます。

オンライン・データベース再配置を使用してOracle RACに変換するデータベースを再配置している場合、またはオンライン・データベース再配置が失敗した場合は、srvctl convert databaseコマンドを実行する前に、再配置を強制終了するか、完了させる必要があります。

関連項目:
詳細は、「convert」を参照してください。

管理者管理Oracle RAC One NodeデータベースをOracle RACデータベースに変換すると、シングル・インスタンスが優先されるようにすべてのデータベース・サービスが設定されます。データベースの変換後、DBCAを使用してインスタンスを追加できます。

ポリシー型管理のOracle RAC One NodeデータベースをOracle RACデータベースに変換すると、すべてのデータベース・サービスのカーディナリティがUNIFORMに設定されます。また、このデータベースが現在実行されているサーバー・プールが再利用されることになります。変換では、このデータベースがサーバー・プール内のすべてのノードで実行されるように再構成されます。このコマンドでは、追加のインスタンスは起動されませんが、srvctl start databaseコマンドを実行すると、サーバー・プール内のすべてノードでこのデータベースが起動します。

オンライン・データベース再配置

オンライン・データベース再配置ユーティリティを使用して、サービスの可用性を維持したまま、Oracle RAC One Nodeデータベースを別のノードに再配置できます。データベースの新規ノードへの再配置中に、データベース・セッションを継続できるように、計画的なオンライン・データベース再配置中にのみOracle RAC One Nodeデータベースの第2インスタンスが作成されます。

Oracle RAC One Nodeデータベースが管理者管理である場合、データベースを再配置するターゲット・ノードは、候補リストまたは空きサーバー・プールに含まれている必要があります。ターゲット・ノードが空きサーバー・プールにある場合、そのノードは候補リストに追加されます。

注意:
データベースの候補サーバー・リストに存在していないターゲット・ノードにデータベース・インスタンスを再配置する場合は、パスワード・ファイル(構成されている場合)をターゲット・ノードにコピーする必要があります。
共有パスワード・ファイルを使用せずにOracle RAC One Nodeデータベースのリモート管理に対してパスワード・ファイルベースの認証を使用する場合、データベースを実行できるノードごとに、SID_prefix_1およびSID_prefix_2という名前の2つのパスワード・ファイルが必要です。パスワード・ファイルを更新するたびに、これらの両方のファイルをすべての候補ノードに再コピーする必要があります。これは、ポリシー管理型と管理者管理型の両方のデータベースに当てはまります。

OS認証をかわりに使用するか、またはOracle Clusterwareを使用してデータベースの起動および停止を行い、他の管理についてはデータ・ディクショナリにユーザーを定義することをお薦めします。

srvctl relocate databaseコマンドを使用して、Oracle RAC One Nodeデータベースの再配置を実行します。次に例を示します。

srvctl relocate database -d rac1 -n node7

関連項目:
詳細は、「srvctl relocate database」を参照してください。

5 自動ワークロード管理の概要

ユーザーまたはアプリケーションがデータベースに接続するときは、接続文字列のCONNECT_DATA部分に指定されたサービスを使用することをお薦めします。データベースが作成されると、自動的に1つのデータベース・サービスが作成されます。多くのインストールでは、この他に必要な作業はありません。データベースを使用したワークロード管理の柔軟性を高めるために、Oracle Databaseでは、複数のサービスを作成し、どのインスタンス(またはインスタンスを含むサービス・プール)でサービスが起動されるかを指定できます。より柔軟なワークロード管理が必要な場合は、この章を読み進めると、サービスで使用できる追加機能を理解できます。

注意:
この章で説明する機能は、デフォルトのデータベース・サービスでは動作しません。このような機能を活用するには、クラスタ管理サービスを作成する必要があります。自分が作成したサービスのみ管理できます。データベース・サーバーによって自動的に作成されたサービスはデータベース・サーバーによって管理されます。

この章では、Oracle Real Application Clusters(Oracle RAC)のワークロードを管理して、アプリケーションで高可用性および高いスケーラビリティを実現する方法について説明します。内容は次のとおりです。

- 自動ワークロード管理の概要

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

- サービスのデプロイメント・オプション

- 接続時ロード・バランシング

- 高速アプリケーション通知

- ロード・バランシング・アドバイザ

- 高速アプリケーション通知が統合されているOracleクライアント

- Oracle RACのサービスおよび分散トランザクション処理

- サービスの管理

- 自動ワークロード・リポジトリを使用したサービスのパフォーマンスの測定

- 自動ワークロード・リポジトリ・サービスのしきい値とアラート

自動ワークロード管理の概要

自動ワークロード管理によってワークロードの分散を管理し、ユーザーおよびアプリケーションに対してパフォーマンスを最適化できます。自動ワークロード管理を構成するコンポーネントは次のとおりです。

- サービス: 企業のグリッド構想を可能にするために、Oracle Databaseでは、サービスと呼ばれる強力な自動ワークロード管理機能が導入されています。サービスはOracle RACデータベースで定義可能なエンティティで、サービスによって、データベースのワークロードをグループ化し、サービスを提供するために割り当てられた最適なインスタンスに作業をルーティングできます。

- コネクション・ロード・バランシング: 要求されたデータベース・サービスを提供するすべてのインスタンスで、受信する接続を均等に分散するOracle Net Servicesの機能。

- 高可用性フレームワーク: Oracle Databaseでコンポーネントを常に稼働状態に維持できるOracle RACコンポーネント。

- イベント通知: アプリケーション・サブスクライバとリスナーによって受信できる、Oracle Clusterwareが生成するイベント。これらのイベントは、次に使用されます。

- 高速アプリケーション通知(FAN): インスタンス、サービスまたはノードのUPやDOWNイベントなどのクラスタ状態の変更およびワークロード・サービス・レベルの変更についての情報をOracle RACアプリケーションおよびクライアントに提供します。FANには、クライアントにイベントを発行する方法が2つあり、1つは、Oracle Notification Serviceデーモンで、Oracle Application Serverを含むJava Database Connectivity(JDBC)クライアントによって使用され、もう1つは、Oracle Streams Advanced Queueingで、Oracle Call InterfaceおよびOracle Data Provider for .NET(ODP.NET)クライアントによって使用されます。

- ロード・バランシング・アドバイザ: データベースとそのインスタンスが提供する現在のサービス・レベルについてアプリケーションに情報を提供します。ロード・バランシング・アドバイザは、サービス用に定義したポリシーに基づいて最適なサービスを得るために、アプリケーション要求の宛先に関する推奨事項をアプリケーションに提供します。ロード・バランシング・アドバイザのイベントは、Oracle Notification Serviceを介してパブリッシュされます。

- 自動ワークロード・リポジトリ(AWR): サービス・レベルの統計をメトリックとして追跡します。サーバーによって生成されるアラートは、特定のしきい値を超えたり、必要なしきい値に達しない場合、これらのメトリックに対して作成されます。

- 高速接続フェイルオーバー: これは、FANイベントをサブスクライブすることによって、高速な接続のフェイルオーバーを提供する、Oracleクライアントの機能です。

- ランタイム接続ロード・バランシング: アプリケーションが接続にいくつかの作業を完了するように要求すると、データベース・インスタンスによって提供されている現在のサービス・レベルに基づいて、接続プールで高度な接続の割当てを行うOracleクライアントの機能です。

- 単一クライアント・アクセス名(SCAN): Oracle RACに接続しているクライアントに単一の名前を提供し、この名前は、クラスタのノードを追加または削除しても、クラスタの存続期間中は変更されません。SCANに接続しているクライアントでは、Thin JDBC URLやEZConnectなどの単一の接続文字列を使用でき、ロード・バランシングおよびクライアントの接続フェイルオーバーが実現されます。

Oracle RACデータベース環境および非クラスタOracle Database環境をデプロイして、自動ワークロード管理機能を様々な方法で使用できます。ノード数および使用環境の使用目的と複雑さによって異なりますが、最適な自動ワークロード管理および高可用性構成は、この章で説明する考慮事項を検討して決定してください。

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

自動ワークロード・リポジトリ(AWR)は、データベースのパフォーマンス統計値を収集、処理および保持します。収集されたデータは、レポートとビューに表示できます。データベースでサービスを使用すると、AWRはサービス・レベルでメトリックを追跡します。

メトリックは、時間、トランザクション、データベース・コールなど、様々な単位に対して測定できます。たとえば、1秒当たりのデータベース・コールの数はメトリックです。サーバーによって生成されるアラートは、ユーザー指定のしきい値を超えたり、必要なしきい値に達しない場合、これらのメトリックに基づいて発行されます。その後で、データベースまたはシステム管理者は、次のように応答できます。

- Oracle Databaseリソース・マネージャを使用して、あるサービスのサービス・レベルの優先順位を他のサービスよりも高くする

- オーバーロード状態になったプロセスを停止する

- サービス・レベル要件を変更する

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

AWRメトリックおよびパフォーマンス・アラートを使用すると、サービス・レベルが変更されても、継続的なサービスの可用性を維持できます。また、データベース・サービスによって提供されるサービスの品質を測定できます。

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

注意:
DBMS_SERVICEパッケージを、Oracle RACデータベースが使用するサービスに使用することはお薦めしません。SRVCTLまたはOracle Enterprise Managerを使用してOracle RAC用のデータベース・サービスを作成します。

関連項目:

- メトリックしきい値のアラートを作成する方法の詳細は、『Oracle Database 2日でパフォーマンス・チューニング・ガイド』を参照してください。

- 自動ワークロード・リポジトリの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

- Oracle Databaseパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

サービスのデプロイメント・オプション

この項では、次のサービスのデプロイメントについて説明します。

- Oracleサービスの使用方法

- サービスの特性

- Oracle RACデータベースにおけるサービスの使用

- Oracle RACデータベースにおけるサービスの使用

- デフォルトのサービス接続

Oracleサービスの使用方法

ワークロードまたはアプリケーションのグループを管理するために、特定のアプリケーションまたはアプリケーションの一部の操作に割り当てるサービスを定義できます。また、作業の種類ごとにサービスとしてグループ化することもできます。たとえば、オンライン・ユーザーはあるサービスを使用し、バッチ処理は別のサービスを使用し、レポートはまた別のサービスを使用してデータベースに接続することができます。

1つのサービスを共有するすべてのユーザーで、サービス・レベルの要件を同じにすることをお薦めします。サービスには個別の特性を定義できるため、各サービスはそれぞれ別々の作業単位にできます。サービスの使用時には、多数のオプションを使用できます。これらのオプションを実装する必要はありませんが、それらを使用すると、アプリケーションのパフォーマンスが最適化できます。

サービスの特性

データベースに新しいサービスを作成した場合は、サービスごとに自動ワークロード管理の特性を定義する必要があります。サービスの特性には、次のものが含まれます。

- サービス名

- ネット・サービス名

- サービス・エディション

- サービス管理ポリシー

- サービスのデータベース・ロール

- インスタンスのプリファレンス

- サーバー・プールの割当て

- ランタイム接続ロード・バランシングのロード・バランシング・アドバイザの目標

- 接続時ロード・バランシングの目標

- 分散トランザクション処理

- 高可用性イベントのサブスクリプション

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

関連項目:

- 詳細は、「SRVCTLを使用したサービスの作成」を参照してください。

- SRVCTLを使用してサービスを作成または変更する方法や、様々なオプションの詳細は、「SRVCTLのコマンド・リファレンス」を参照してください。

サービス名

各Oracle Databaseまたはサービスには、サービス名があります。Oracle Databaseのサービス名は、通常、そのグローバル・データベース名です。クライアントは、サービス名を使用して1つ以上のインスタンスに接続します。サービス名は、システム全体で一意である必要があります。

ネット・サービス名

データベース・サービスに接続するために、クライアントはデータベースの場所とデータベース・サービスの名前を提供する接続記述子を使用します。接続記述子は、リスナーの1つ以上のプロトコル・アドレスと、tnsnames.oraファイルの接続先サービスの接続情報で構成されています。

サービス・エディション

データベース・サービスのエディション属性であり、そのサービスを使用して起動されるセッションの初期セッション・エディションを指定します。新しいセッションを作成するプログラムで初期セッションが指定されていないと、サービスで指定されたエディション名が使用されます。サービスでエディション名が指定されていないと、初期セッション・エディションはデータベースのデフォルト・エディションになります。

サービス管理ポリシー

Oracle Clusterwareを使用してデータベースを管理する場合、-yオプションを指定してsrvctl add serviceコマンドを使用してサービスを追加するときに、個々のデータベース・サービス用に起動オプションを構成できます。サービスの管理ポリシーをAUTOMATIC(デフォルト)に設定した場合は、SRVCTLを使用してデータベースを起動するとサービスが自動的に起動されます。管理ポリシーをMANUALに設定した場合、サービスは自動起動されず、SRVCTLを使用して手動で起動する必要があります。MANUALに設定しても、Oracle Clusterwareは、実行中のサービスを監視し、障害が発生すると再起動されます。Oracle RAC 11gリリース2(11.2)より前は、すべてのサービスが、MANUAL管理ポリシーで定義されているかのように動作していました。

関連項目:
使用方法については、「srvctl add service」を参照してください。

CRSCTLを使用したOracle Clusterwareの停止および再起動は障害として扱われ、サービスが実行中の場合は再起動されます。

注意:
管理者管理データベースでautomaticサービスを使用する場合、計画されたデータベースの起動中に、優先インスタンスではなく最初のインスタンスでサービスが起動することがあります。

サービスのデータベース・ロール

ご使用の環境でOracle Data Guardを構成してある場合は、SRVCTLに-lオプションを使用して、各サービスにロールを定義できます。サービスにロールを指定すると、Oracle Clusterwareは、データベース・ロールがそのサービスに指定したロールに一致した場合にのみ自動的にサービスを起動します。有効なロールはPRIMARY、PHYSICAL_STANDBY、LOGICAL_STANDBYおよびSNAPSHOT_STANDBYです。

クラスタ内の複数のデータベースが同じサービス名を提供すると、Oracle RACは、該当するすべてのデータベースにわたってそのサービスへの接続を均等に分散します。これはOracle Data Guardのスタンバイ・データベースおよびアクティブ・データベースに役に立ちますが、サービスへのクライアント接続を特定のデータベースに割り当てる必要がある場合、サービス名はクラスタ内で一意である(他のデータベースによって提供されない)必要があります。

関連項目:
データベース・ロールの詳細は、『Oracle Data Guard概要および管理』を参照してください。

インスタンスのプリファレンス

管理者管理データベースに対してサービスを定義する場合は、SRVCTLに-rオプションを使用して、そのサービスを通常サポートするインスタンスを定義します。このようなインスタンスを、優先インスタンスといいます。また、SRVCTLに-aオプションを使用して、サービスの優先インスタンスで障害が発生した場合にサービスをサポートする別のインスタンスを定義することもできます。このようなインスタンスを、使用可能インスタンスといいます。

優先インスタンスを指定する場合は、サービスが通常実行されるインスタンスの数を指定します。Oracle Clusterwareは、サービスを構成したインスタンス数で常にサービスが実行されることを確認しようとします。その後は、インスタンス障害またはサービスの計画的な再配置のために、使用可能インスタンスでサービスが実行される場合があります。リストに複数のインスタンスがある場合に、Oracle Clusterwareによってサービスがどの使用可能インスタンスに再配置されるかは制御できません。

Oracle Databaseでは、使用可能インスタンスに移動されたサービスは、優先インスタンスを再起動しても、優先インスタンスには戻りません。これには、次の理由があります。

- サービスが、指定した数のインスタンスで実行されている。

- 現在のインスタンスでサービスを維持することによって、より高度なサービス可用性が提供される。

- サービスを最初の優先インスタンスに戻さないことで、2回目の機能停止が回避される。

ただし、FANコールアウトを使用して、優先インスタンスへのフェイルバックを簡単に自動化することもできます。

関連項目:
ポリシー管理データベースおよび管理者管理データベースの詳細は、「Oracle RACデータベースの管理の概要」を参照してください。

サーバー・プールの割当て

ポリシー管理データベースに対してサービスを定義する場合は、SRVCTLに-gオプションを使用して、そのデータベースが稼働しているサーバー・プールにサービスを割り当てます。サービスは、-cオプションを使用して、UNIFORM(サーバー・プール内のすべてのインスタンスで実行)またはSINGLETON(サーバー・プール内の単一インスタンスでのみ実行)のいずれかとして定義できます。singletonサービスの場合、Oracle RACはそのサービスがアクティブなサーバー・プール内でインスタンスを選択します。そのインスタンスで障害が発生すると、サービスはサーバー・プール内の別のインスタンスにフェイルオーバーします。1つのサーバー・プールで実行可能なサービスは1つだけです。

注意:
Oracle Database Quality of Service Management(Oracle Database QoS Management)を使用する場合、そのサーバー・プールの最大サイズが1でないかぎり、サーバー・プールでsingletonサービスを持つことができません。

関連項目:
ポリシー管理データベースおよび管理者管理データベースの詳細は、「Oracle RACデータベースの管理の概要」を参照してください。

ランタイム接続ロード・バランシングのロード・バランシング・アドバイザの目標

ランタイム接続ロード・バランシングを使用すると、アプリケーションは、ロード・バランシング・アドバイザ・イベントを使用して、ユーザーにより適切なサービスを提供できます。Oracle JDBC、Oracle Universal Connection Pool(UCP)for Java、Oracle Call Interface、Connection Manager(CMAN)およびODP.NETクライアントは、ロード・バランシング・アドバイザ・イベントを利用するために自動的に統合されます。ロード・バランシング・アドバイザは、サービスに対してインスタンスで提供されている現在のサービス・レベルをクライアントに通知します。ロード・バランシング・アドバイザを有効にするには、サービスを作成または変更するときに、SRVCTLに-Bオプションを使用します。

また、そのインスタンスに送るワークロードの推奨量を提示します。最適なサービス品質(単一のトランザクションが完了した効率)または最適なスループット(完了ジョブまたは長時間の問合せが完了した効率)のどちらに基づいてサービスに接続するかは、目標によって決定されます。

接続時ロード・バランシングの目標

Oracle Net Servicesでは、接続ロード・バランシングにより、サービスをサポートしているすべてのインスタンスにユーザー接続を分散できます。各サービスに対して、-jオプションを指定したSRVCTLを使用して、接続時ロード・バランシングの目標を設定し、リスナーにロード・バランシングを使用させる方法を定義できます。接続は、リスナーにセッションベースの統計を使用するように指定するLONG(接続プールやSQL*FORMSなど)、またはリスナーにCPUベースの統計を使用するように指定するSHORTに分類されます。ロード・バランシング・アドバイザが有効な場合、この情報を使用して接続が均等に分散されますが、そうでない場合は、使用状況を使用して接続が均等に分散されます。

分散トランザクション処理

分散トランザクション処理アプリケーションには、一意の要件があります。グローバル・トランザクションでOracle RACを使用しやすくするには、サービスに対して、分散トランザクション処理オプション(-x TRUE)を指定してSRVCTLを使用し、分散トランザクション処理のすべての密結合ブランチが同一インスタンス上で実行されるようにします。

関連項目:
Oracle RACでの分散トランザクション処理の詳細は、「Oracle RACのサービスおよび分散トランザクション処理」を参照してください。

高可用性イベントのサブスクリプション

Oracle RACは、FANを使用して、構成の変更や、サービスで使用可能な各インスタンスが提供している現在のサービス・レベルをアプリケーションに通知します。OCI、ODP.NETクライアントなど、Oracle Streams Advanced Queuingを使用するクライアントを使用している場合は、FANイベントを受信するために、SRVCTLに-qオプションを使用して、そのクライアントが使用するサービスを有効にして、アラート通知キューにアクセスする必要があります。

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

Oracle Net Servicesによってインスタンスへの接続が確立されると、クライアントが接続をクローズするか、インスタンスが停止するか、または障害が発生するまで、接続はオープン状態のまま維持されます。接続に透過的アプリケーション・フェイルオーバー(TAF)を構成すると、インスタンスで障害が発生した場合、障害が発生していないインスタンスにセッションは移動されます。

TAFでは、フェイルオーバーが完了すると問合せは再開できますが、INSERT、UPDATE、DELETEなどの他のトランザクションの場合、アプリケーションで、失敗したトランザクションをロールバックして再度送信する必要があります。また、フェイルオーバーが発生したら、セッションのすべてのカスタマイズ(ALTER SESSION文)を再度実行する必要があります。ただし、TAFでは、ワークロードが変化しても、通常処理の間は接続が移動されません。

サービスはTAFのデプロイメントを簡素化します。サービスのTAFポリシーを定義でき、このサービスを使用するすべての接続によって、自動的にTAFが有効になります。これには、クライアント側の変更は必要ありません。サービスのTAF設定は、クライアントの接続定義内のTAF設定よりも優先されます。

サービスのTAFポリシーを定義するには、次の例に示すようにSRVCTLを使用しますが、ここで、サービス名はtafconn.example.com、データベース名はCRMです。

$ srvctl modify service -d crm -s tafconn.example.com -P BASIC
-e SELECT -z 5 -w 120

また、FAILOVER_METHOD(-mオプション)、FAILOVER_TYPE(-eオプション)などを定義することによって、サービスのすべてのユーザーに対して1つの透過的アプリケーション・フェイルオーバー(TAF)・ポリシーを指定することもできます。さらに、TAFポリシーでは、障害が発生したセッションがサービスへの再接続を試行する回数(-zオプション)、および再接続を再試行する間の待機時間(-wオプション)も定義できます。

TAFが有効なOracle Call Interfaceアプリケーションでは、高速接続フェイルオーバーのためにFAN高可用性イベントを使用します。

関連項目:
TAFの構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

Oracle RACデータベースにおけるサービスの使用

サービス名は複数のデータベース・インスタンスを識別することができ、インスタンスは複数のサービスに属することができます。Oracle RACデータベースのサービスは、次に説明するように、いくつかのデータベース機能で使用されます。

- サービスのリソース・プロファイル

- サービスのデータベース・リソース・マネージャ・コンシューマ・グループのマッピング

- AWRによるサービスごとのパフォーマンス監視

- パラレル操作とサービス

サービスのリソース・プロファイル

サービスを定義すると、リソース・プロファイルは自動的に作成されます。リソース・ファイルには、Oracle Clusterwareによるサービスの管理方法と、PREFERREDインスタンスが停止した場合にサービスがフェイルオーバーされるインスタンスが定義されています。また、リソース・プロファイルでは、インスタンスおよびデータベースに対するサービスの依存性も定義します。この依存性の情報によって、データベースが停止した場合に、インスタンスおよびサービスが自動的に正しい順序で停止されます。

サービスのデータベース・リソース・マネージャ・コンシューマ・グループのマッピング

サービスはリソース・マネージャと統合されており、リソース・マネージャでは、サービスを使用してインスタンスに接続するユーザーによって使用されるリソースを制限できます。リソース・マネージャでは、コンシューマ・グループをサービスにマッピングできるため、そのサービスを使用してインスタンスに接続しているユーザーは、指定されたコンシューマ・グループのメンバーになります。

AWRによるサービスごとのパフォーマンス監視

自動ワークロード・リポジトリ(AWR)によって生成されるメトリック・データは、様々なグループ(イベント、イベント・クラス、セッション、サービス、表領域メトリックなど)に編成されます。通常、Oracle Enterprise ManagerまたはAWRレポートを使用してAWRデータを表示します。

関連項目:
AWRレポートの生成と表示の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

パラレル操作とサービス

デフォルトでは、Oracle RAC環境で、パラレルで実行されるSQL文はクラスタ内のすべてのノードで実行できます。このクロスノードまたはノード間パラレル実行を適切に実現するには、ノード間パラレル実行によってインターコネクト・トラフィックが増大する可能性があるため、Oracle RAC環境でのインターコネクトのサイズが適切である必要があります。ノード間パラレル実行を制限するには、初期化パラメータPARALLEL_FORCE_LOCALを使用してOracle RAC環境でパラレル実行を制御します。このパラメータをTRUEに設定すると、パラレル実行サーバーは、SQL文が開始されたのと同じOracle RACノードからのみ実行できます。

サービスを使用して、パラレルSQL操作に使用できるインスタンスの数を制限します。デフォルトのデータベース・サービスを使用すると、パラレルSQL操作は、使用可能なすべてのインスタンスで実行できます。それぞれが1つ以上のインスタンスで構成されるサービスを任意の数だけ作成できます。パラレルSQL操作が開始されると、パラレル実行サーバーは、最初のデータベース接続で使用された特定のサービスを提供するインスタンス上でのみ起動されます。

PARALLEL_INSTANCE_GROUPは、Oracle RACパラメータで、サービスとともに使用すると、パラレル問合せ操作を、限られた数のインスタンスに制限できます。パラレル問合せ操作を、限られた数のインスタンスに制限するには、PARALLEL_INSTANCE_GROUP初期化パラメータにサービスの名前を設定します。これは、パラレル・リカバリやGV$問合せの処理などの他のパラレル操作には影響しません。

Oracle StreamsおよびOracle RAC

Oracle Streamsでは、様々な点でOracle RAC機能が利用されます。Oracle StreamsがOracle Real Application Clusters(Oracle RAC)環境で構成されると、各キュー表には所有インスタンスが割り当てられます。キュー表をホストするインスタンスに障害が発生しても、Oracle RACデータベースの別のインスタンスがキュー表の所有インスタンスになるため、Oracle Streamsは継続して稼働できます。

また、Oracle RACデータベースでは、バッファ・キューごとにサービスが作成されます。インスタンスの起動や停止などのために所有権が切り替わる場合、このサービスは常に、宛先キューの所有者インスタンスで実行され、このキューの所有権に従います。このサービスは、キューからキューへの伝播で使用されます。

関連項目:
『Oracle Streams概要および管理』

デフォルトのサービス接続

デフォルトでは、Oracle RACデータベースに特殊なOracle Databaseサービスが作成されます。このデフォルトのサービスは、Oracle RAC環境のすべてのインスタンスで常に使用可能です(制限モードのインスタンスを除く)。このサービスまたはサービスのプロパティは、変更できません。また、データベースでは、次の2つの内部サービスがサポートされています。

- SYS$BACKGROUND(バックグラウンド・プロセスのみで使用されるサービス)

- SYS$USERS(どのアプリケーション・サービスとも関連付けられていないユーザー・セッションのデフォルト・サービス)

いずれの内部サービスも、すべての自動ワークロード管理機能をサポートしています。これらの内部サービスは、停止または無効化できません。

注意:
明示的に管理できるのは、自分が作成するサービスにかぎられます。データベースの機能によって内部サービスが作成される場合、そのサービスはこの章の情報を使用して管理できません。

接続時ロード・バランシング

Oracle Net Servicesでは、Oracle RAC構成内のインスタンス間でクライアント接続を均等に分散する機能を使用できます。実装可能なロード・バランシングには、クライアント側とサーバー側の2種類のロード・バランシングがあります。クライアント側のロード・バランシングでは、接続要求をリスナー間で均等に分散します。サーバー側のロード・バランシングでは、SCANリスナーがロード・バランシング・アドバイザを使用して、現在サービスを提供している最適なインスタンスに接続要求を割り当てます。

Oracle RACデータベースのクライアント接続では、両方の接続時ロード・バランシングを使用する必要があります。

- クライアント側のロード・バランシング

- 他のクライアント側の接続機能

- サーバー側のロード・バランシング

関連項目:
両方のタイプのロード・バランシングの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

クライアント側のロード・バランシング

クライアント側のロード・バランシングは、パラメータLOAD_BALANCE=ONを設定して、クライアントの接続定義(tnsnames.oraファイルなど)に定義します。このパラメータをONに設定した場合は、Oracle Databaseによってアドレス・リストから無作為にアドレスが選択されて、そのノードのリスナーに接続されます。これによって、クラスタ内で使用可能なSCANリスナー間で、クライアント接続が均等に分散されます。

SCANリスナーは、最もロードされていない、要求されたサービスを提供しているインスタンスのローカル・リスナーに接続要求をリダイレクトします。接続要求を受信したリスナーは、要求されたサービスを提供するとリスナーが認識しているインスタンスにユーザーを接続します。リスナーがサポートしているサービスを確認するには、lsnrctl servicesコマンドを実行します。

クライアントがSCANを使用して接続する場合、Oracle NetはSCANに対して定義された3つのIPアドレスの間でクライアント接続要求のロード・バランシングを自動的に行います。ただし、EZConnectを使用している場合は行いません。

クライアント側でSCANと非SCAN VIPの両方を使用する場合は、Oracle RACデータベースでSCAN VIPとノードVIPのリストを合わせたものにREMOTE_LISTENERパラメータを設定します(SCAN VIPとノードVIPをすべて含むために、REMOTE_LISTENERパラメータを手動で更新する必要があります)。

2ノード・クラスタのtnsnames.oraファイルにSCANおよびノードVIP情報を追加するための形式の例を次に示します。

LISTENERS_db_unique_name =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_VIP1)(PORT = scan_port_number))
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_VIP2)(PORT = scan_port_number))
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_VIP3)(PORT = scan_port_number))
(ADDRESS = (PROTOCOL = TCP)(HOST = node_VIP_name1-vip)(PORT = listener_port_number))
(ADDRESS = (PROTOCOL = TCP)(HOST = node_VIP_name2-vip)(PORT = listener_port_number))
)

注意:
追加するノードVIPの数は、クラスタ内のノード数と対応している必要があります。

次のSQL*Plusコマンドを実行します。

SQL> ALTER SYSTEM SET REMOTE_LISTENER = 'LISTENERS_db_unique_name' SCOPE=BOTH SID='*'

または、次のSQL*Plusコマンドを実行して、2ノード・クラスタを更新することもできます。

SQL> ALTER SYSTEM SET remote_listener = '
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_VIP1)(PORT = scan_port_number))
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_VIP2)(PORT = scan_port_number))
(ADDRESS=(PROTOCOL=TCP)(HOST=scan_VIP3)(PORT = scan_port_number))
(ADDRESS=(PROTOCOL=TCP)(HOST=node_VIP_name1-vip)(PORT = listener_port_number))
(ADDRESS=(PROTOCOL=TCP)(HOST=node_VIP_name2-vip)(PORT = listener_port_number)))'
SCOPE=BOTH SID=*

一般的なデータベース・クライアント

Oracle Database 11gリリース2(11.2)のOracle Net Servicesには、個々のtnsnames.ora接続文字列にconnect_timeoutおよびretry_countパラメータを追加する機能が導入されています。

(CONNECT_TIMEOUT=10)(RETRY_COUNT=3)

粒度の単位は秒です。Oracle Netはレスポンスの受信を10秒間待機し、これを超える場合は失敗とみなします。Oracle Netは、クライアントに失敗を返す前にアドレス・リストを3回試行します。

他のクライアント側の接続機能

クライアント側のロード・バランシングに加えて、Oracle Net Servicesには接続フェイルオーバーが含まれています。リスト内の選択されたアドレスからエラーが戻されると、Oracle Net Servicesによってリストの次のアドレスが試行され、接続が成功するか、またはリスト内に試行するアドレスがなくなるまで続けられます。SCANの場合、クライアントに失敗を返す前に、Oracle Net Servicesによって3つのアドレスすべてが試行されます。EZConnectとSCANを併用した場合、この接続のフェイルオーバー機能が使用できます。

可用性を高めるために、Oracle Netがエラーを戻すまでにリスナーからの応答を待機する時間のタイムアウトを指定できます。このタイムアウト・パラメータを設定する方法は、クライアント・アクセスのタイプによって異なります。

JDBCクライアント

次のようにoracle.net.ns.SQLnetDef.TCP_CONNTIMEOUT_STRプロパティを設定することによって、遅延を回避できます。

Properties prop = new Properties ();
prop.put (oracle.net.ns.SQLnetDef.TCP_CONNTIMEOUT_STR,
"" + (1 * 1000)); // 1 second
dbPools[ poolIndex ].setConnectionProperties ( prop );

パラメータの値は、ミリ秒単位で指定します。このため、アプリケーションが再度接続を試みた場合のタイムアウトを500Msに短縮できます。

Oracle Call Interfaceクライアント

Oracle Call Interfaceクライアントには、クライアント側でローカルのsqlnet.oraファイルを作成します。次の行を追加してこのファイルに接続タイムアウトを構成します。

sqlnet.outbound_connect_timeout = 1

Oracle Call Interfaceクライアントのタイムアウト値の粒度は秒単位です。sqlnet.oraファイルは、このクライアントを使用するすべての接続に適用されます。

注意:
サーバーのsqlnet.oraファイルには接続タイムアウトを構成しないでください。

サーバー側のロード・バランシング

DBCAを使用してOracle RACデータベースを作成すると、次の処理が自動的に実行されます。

- サーバー側のロード・バランシングの構成および有効化

- リモート・リスナー・パラメータのSCANリスナーへの設定(注意: DBCAを使用しない場合は、REMOTE_LISTENERデータベース・パラメータをscan_name:scan_portに設定する必要があります。)

- サーバー上のtnsnames.oraファイルにおけるクライアント側のロード・バランシング接続定義のサンプルの作成

FAN、高速接続フェイルオーバーおよびロード・バランシング・アドバイザは、正確な接続時ロード・バランシング構成(サービスに対する接続時ロード・バランシングの目標の設定など)に基づいて処理を実行します。接続時ロード・バランシングでは、LONGまたはSHORTのいずれかの目標を使用できます。これらの目標の特性は、次のとおりです。

- LONG: LONG接続時ロード・バランシング方式は、長時間の接続を使用するアプリケーションに使用します。通常、接続プールおよびSQL*Formsセッションで使用します。LONGは、デフォルトの接続時ロード・バランシングの目標です。次の例では、srvctlユーティリティを使用してサービスbatchconnを変更し、長時間セッション用の接続時ロード・バランシングの目標を定義しています。

srvctl modify service -d db_unique_name -s batchconn -j LONG

- SHORT: SHORT接続時ロード・バランシング方式は、短時間の接続を使用するアプリケーションに使用します。FANと統合された接続プールを使用する場合は、CLB_GOALをSHORTに設定します。次の例では、SRVCTLを使用して、サービスoltpappを変更し、接続時ロード・バランシングの目標にSHORTを設定しています。

srvctl modify service -d db_unique_name -s oltpapp -j SHORT

高速アプリケーション通知

この項では、FANの詳細を説明します。内容は次のとおりです。

- 高速アプリケーション通知の概要

- サービスおよびFANを使用したアプリケーションの高可用性

- 計画外の障害の管理

- 計画停止の管理

- 高速アプリケーション通知の高可用性イベント

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

関連項目:
FANで使用可能な特定のクライアント環境の詳細は、「高速アプリケーション通知が統合されているOracleクライアント」を参照してください。

高速アプリケーション通知の概要

FANは、UPまたはDOWNイベントなどのサービス・ステータスの変更を含む、構成情報およびサービス・レベルの情報を他のプロセスに通知するためにOracle RACが使用する通知メカニズムです。アプリケーションはFANイベントに応答して、すぐにアクションを実行できます。FANのUPイベントおよびDOWNイベントは、インスタンス、サービスおよびノードに適用できます。

クラスタの構成が変更されて、クラスタ内で状態の変更が発生した場合、Oracle RACの高可用性フレームワークは、ただちにFANイベントを発行します。アプリケーションでは、データベースをポーリングして問題を検出するまで待機するかわりにFANイベントを受信して、ただちにアクションを実行できます。FANを使用すると、インフライト・トランザクションをただちに終了でき、インスタンスの失敗時にクライアントに通知することができます。

また、FANは、ロード・バランシング・アドバイザ・イベントも発行します。アプリケーションでFANのロード・バランシング・アドバイザ・イベントを使用して、現在、クラスタ内で最適なサービス品質を提供しているインスタンスに作業要求を割り当てることができます。FANイベントは、次の3つの方法で使用できます。

1. Oracle統合クライアントを使用すると、プログラムを変更せずにアプリケーションでFANを使用できます。FANイベントの統合クライアントには、Oracle Database JDBC、Oracle Database ODP.NETおよびOracle Database Oracle Call Interfaceが含まれています。また、統合クライアントには、TAFを使用するアプリケーションが含まれます。ロード・バランシング・アドバイザのFANイベントを使用するには、統合OracleクライアントがOracle Database 10gリリース2(10.2)以上である必要があります。(TAFの構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。)

2. JDBCおよびOracle RAC FAN Application Programming Interface(API)を使用するか、Oracle Call Interfaceでコールバックを使用すると、アプリケーションはFANをプログラムから使用して、FANイベントをサブスクライブしたり、イベントの受信時にイベント処理アクションを実行することができます。

3. サーバー側のコールアウトを使用して、データベース層にFANを実装できます。

DOWNイベントでは、障害が発生しているインスタンスまたはノードに対するセッションを終了できるため、アプリケーションへの影響を最小限に抑えることができます。未完了のトランザクションは終了され、ただちにアプリケーションのユーザーに通知されます。接続を要求しているアプリケーション・ユーザーは、使用可能インスタンスにのみ割り当てられます。UPイベントでは、サービスおよびインスタンスが起動された場合に新しい接続を作成して、新しく使用可能になったリソースをアプリケーションでただちに使用できます。また、サーバー側のコールアウトによって、FANを使用して、次の操作を実行できます。

- ステータス情報を記録します。

- リソースの起動に失敗した場合に、DBAへの通知またはサポート・チケットの発行を行います。

- サービスと同じ場所に配置することが必要な、依存する外部アプリケーションを自動的に起動します。

- ノードの障害などによって、ポリシー管理データベースに使用できるインスタンスの数が減少した場合、リソース・プランを変更するか、またはサービスを停止します。

- 必要に応じて、サービスを管理者管理データベースの優先インスタンスに自動的にフェイルバックします。

FANイベントは、Oracle Notification ServiceとOracle Streamsアドバンスト・キューイングを使用して発行されます。発行メカニズムは、Oracle RACのインストール時に自動的に構成されます。

Connection Manager(CMAN)およびOracle Net ServicesリスナーはFANイベントと統合されます。これによって、リスナーとCMANは、障害の発生したインスタンスから提供されているサービスの登録解除をただちに行ったり、障害の発生したインスタンスに接続要求を誤って送信しないようにできます。

サービスの接続時ロード・バランシングの目標にCLB_GOAL_SHORTを指定している場合、リスナーは、接続時ロードを均等に分散する際に、ロード・バランシング・アドバイザを使用します。ロード・バランシング・アドバイザが使用可能であった場合、リスナーで使用されるメトリックはさらに詳細に制御できます。

サービスおよびFANを使用したアプリケーションの高可用性

Oracle Databaseでは、サービスの可用性の維持に重点が置かれています。Oracle RACのOracleサービスは、1つ以上のインスタンス間で負荷を共有しながら、継続的に使用できるように設計されています。Oracle RACの高可用性フレームワークでは、Oracle Clusterwareおよびリソース・プロファイルを使用して、サービスの可用性を維持します。

Oracle RACの高可用性フレームワークは、データベースおよびデータベースのサービスを監視し、FANを使用してイベント通知を送信します。Oracle Clusterwareは、ビジネス・ルールとサービス属性に従って、サービスをリカバリするか、サービスを均等に分散します。

計画外の障害の管理

サービスは、管理者管理のOracle RACデータベースの1つ以上のインスタンスに割り当てるか、またはポリシー管理データベースのサーバー・プールに割り当てることができます。Oracle RACで障害が検出されると、Oracle Clusterwareは、障害が発生したコンポーネントを隔離して、依存するコンポーネントをリカバリします。障害が発生したコンポーネントがインスタンスであった場合、Oracle Clusterwareはサービスをクラスタ内の使用可能インスタンスに再配置します。FANイベントはOracle Databaseアーキテクチャ内の様々なレベルで発生し、Oracle Notification ServiceおよびOracle Streams AQを使用して発行される可能性があります。また、FANコールアウトを使用して通知をプログラミングすることもできます。

注意:
Oracle RACのコールアウトの実行では、順序は保証されません。コールアウトは非同期で実行されるため、スケジュールが変動する場合があります。

障害ノードのサービスが停止すると、稼働を続けるノードから通知が発生します。Oracle RAC環境内でサービスを提供するインスタンスの位置および数は、アプリケーションに対して透過的です。再起動およびリカバリは自動的に実行され、データベースのみでなく、リスナーやOracle Automatic Storage Management(Oracle ASM)プロセスなどのサブシステムも再起動されます。FANコールアウトを使用して、障害管理システムに障害をレポートしたり、修復ジョブを開始することができます。

計画停止の管理

1つ以上のインスタンスまたはノードを隔離する必要がある修復、アップグレードおよび変更のために、Oracle RACでは、アプリケーション・ユーザーに対するサービスの中断の影響を最小限に抑えて、サービスを再配置、無効化および有効化するインタフェースを使用できます。サービスを再配置する場合は、サービスが一時的に別のインスタンスで実行されるようにする必要があります。サービスを無効にすると、サービスはすべてのデータベース・インスタンスで停止され、使用できなくなります。無効化されたサービスは、自動的に再起動することはありません。操作を完了したら、サービスを通常の操作に戻すか、またはサービスを有効にしてから、再起動することができます。

データベースを手動で停止すると、依存性のために、そのデータベースのすべてのサービスも自動的に停止されます。データベースを手動で再起したときにサービスが自動的に起動するようにする場合は、サービスの管理ポリシーをautomaticに設定する必要があります。サービスではなく、データベースの1つのインスタンスのみを停止する場合は、-fオプションを指定してsrvctl stop instanceコマンドを使用できます。このコマンドで-fオプションを使用すると、そのインスタンスで実行されていたデータベース・サービスは、可能な場合は別のインスタンスにフェイルオーバーされます。

関連項目:
「サービス管理ポリシー」

高速アプリケーション通知の高可用性イベント

表5-1にFANイベント・タイプ、表5-2にイベント・パラメータの名前/値のペアを示します。次の例で示すように、イベント・タイプは常に最初のエントリ、タイムスタンプは常に最後のエントリです。

FAN event type: SERVICEMEMBER VERSION=1.0
service=fantest database=ractest instance=rac1host=node01 status=up
reason=FAILURE card=1 timestamp=2010-07-02 22:06:02

表5-1 FANイベント・タイプ

イベント・タイプ

注意

DATABASE、INSTANCE、NODE、SERVICE、SERVICEMEMBER、SERVICEMETRICS、SRV_PRECONNECT。

- DATABASEとINSTANCEタイプは、データベース・サービスをDB_UNIQUE_NAMEとしてリストします。

- SERVICEMETRICSタイプのイベントは、ロード・バランシング・アドバイザのイベントです。
関連項目: ロード・バランシング・イベントの詳細は、表5-4を参照してください。

表5-2 イベント・パラメータの名前/値のペアと説明

パラメータ

説明

VERSION

イベント・レコードのバージョン。リリース変更の識別に使用します。

DATABASE

サービスをサポートする一意のデータベース名。DB_UNIQUE_NAMEの初期化パラメータ値に該当し、これにより、DB_NAME初期化パラメータの値がデフォルトに設定されます。

INSTANCE

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

HOST

サービスまたは停止ノードをサポートするノードの名前。クラスタ同期サービス(CSS)ノード名に該当します。

SERVICE

サービス名。DBA_SERVICESにリストされるサービスの名前に該当します。

STATUS

値は、UP、DOWN、NODEDOWN(これはNODEイベント・タイプにのみ適用される)、NOT_RESTARTING、PRECONN_UP、PRECONN_DOWNおよびUNKNOWNです。

注意:

- ノードが停止している場合、ステータスはNODEDOWNです。他のイベント・タイプの場合はDOWNです。

- STATUS=NODEDOWNおよびREASON=MEMBER_LEAVEの場合、ノードに障害が発生しており、ノードはクラスタの一部ではなくなっています。

- STATUS=NODEDOWNおよびREASON=PUBLIC_NW_DOWNの場合、ノードは起動していますが、パブリック・ネットワークが停止しているため、ノードは使用不可です。

REASON

AUTOSTART、BOOT、DEPENDENCY、FAILURE、MEMBER_LEAVE、PUBLIC_NW_DOWN、USER。

注意:

- DATABASEおよびSERVICEイベント・タイプの場合のREASON=AUTOSTARTは、ノードの起動時に、AUTO_STARTリソース属性が1に設定されており、ノードの起動前にリソースがオフラインであったことを示します。

- DATABASEおよびSERVICEイベント・タイプの場合のREASON=BOOTは、ノードの起動時に、リソースがノードの起動前からオンラインであったためリソースが起動したことを示します。

CARDINALITY

現在アクティブなサービス・メンバーの数。すべてのSERVICEMEMBER UPイベントに含まれます。

次は、SERVICEMEMBER UPイベントの例です。

SERVICEMEMBER VERSION=1.0 service=myServ.company.com
database=prod instance=PROD1 host=stru09 status=up
reason=USER card=1 timestamp=2010-07-27 14:43:03

INCARNATION

NODEDOWNイベント用の新しいクラスタ・インカネーション。

次は、NODEDOWNイベントの例です。

NODE VERSION=1.0 host=stru09 incarn=175615351 status=down
reason=member_leave timestamp=27-Jul-2010 14:49:32

TIMESTAMP

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

表5-3に示すように、FANイベント・レコード・パラメータのいくつかには、デフォルトのネームスペースUSERENVを使用しているSYS_CONTEXTファンクションによって戻される値に対応する値があります。

表5-3 FANパラメータおよび該当するセッション情報

FANパラメータ

該当するセッション情報

SERVICE

sys_context('userenv', 'service_name')

DATABASE_UNIQUE_NAME

sys_context('userenv', 'db_unique_name')

INSTANCE

sys_context('userenv', 'instance_name')

CLUSTER_NODE_NAME

sys_context('userenv', 'server_host')

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

FANコールアウトは、サーバー側の実行可能ファイルで、高可用性イベントが発生した際に、ただちにOracle RACで実行されます。FANコールアウトを使用すると、クラスタ構成でイベントが発生した場合に、次のようなアクティビティを自動的に実行できます。

- 障害追跡チケットの発行

- ページャへのメッセージ送信

- 電子メールの送信

- サーバー側のアプリケーションの起動および停止

- 各イベント発生時にイベントを記録したアップタイム・ログの維持

- 優先度の高いサービスがオンラインになった場合の優先度の低いサービスの再配置

FANコールアウトを使用するには、Oracle Clusterwareを実行しているすべてのノードのGrid_home/racg/usrcoディレクトリに実行可能ファイルを配置します。実行可能ファイルは、別のプログラムからオプションの引数でコールされた場合、スタンドアロンで実行可能である必要があります。Grid_home/racg/usrco/callout.shコールアウトのファイルの例を次に示します。

#! /bin/ksh
FAN_LOGFILE= [your path name]/admin/log/'hostname`_uptime'.log
echo $* "reported="'date' >> $FAN_LOGFILE &

前述の例では、次のような出力が生成されます。

NODE VERSION=1.0 host=sun880-2 incarn=23 status=nodedown reason=
timestamp=08-Oct-2004 04:02:14 reported=Fri Oct 8 04:02:14 PDT 2004

表5-3に示すように、FANイベント・レコードの内容は、データベースにログオンしているユーザーの現行のセッションに該当します。また、Oracle Call Interface接続ハンドルと(OCIAttrGet()を使用した)記述子属性を使用すると、ユーザー環境(USERENV)情報も使用できます。この情報を使用すると、FANイベントのデータに該当するセッションでアクションを実行できます。

関連項目:

- コールアウトおよびイベントの詳細は、表5-2「イベント・パラメータの名前/値のペアと説明」を参照してください。

- 接続ハンドルと記述子属性の詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

ユーザー・コールアウト・イベント

すべてのユーザー・コールアウト・イベントはOracle Clusterwareによって発生します。ノードが停止したり、リソース(VIPやデータベースなど)によって状態やプロパティが変更されると、Oracle Clusterwareはその影響に関するOracle Notification Serviceイベントを送信します。このイベントは、常に、少なくともクラスタ内の1つのノードにプッシュされる必要があり、それを確実にする最も効果的な方法は、ユーザー・コールアウトがOracle Notification Serviceリソースのエージェント内からのOracle Notification Serviceイベントをリスニングするようにすることです。

Oracle Notification Serviceリソースが特定のノードで停止した場合は、そのノードでのイベントが消失するため、ユーザー・コールアウトは発行されません。Oracle Notification Serviceイベントは、Oracle Notification Serviceリソースのエージェント内から読み取られ、変換され、ユーザー・コールアウトにポストされます。

通常、イベントはそれが発生したノード上のユーザー・コールアウトにポストされるだけです。たとえば、node1のデータベースが停止した場合、コールアウトはnode1のみにポストされます。唯一の例外は、ノード停止とVIP停止イベントで、これらのイベントは、発生した場所にかかわらず、すべてのノードにポストされます。

注意:
Oracle Database 11gリリース2(11.2.0.2)では、DATABASEまたはINSTANCEのイベント・タイプに対するserviceおよびdatabaseの2つの属性には、データベース・ドメイン名を含みません。

ロード・バランシング・アドバイザ

この項では、ロード・バランシング・アドバイザについて説明します。内容は次のとおりです。

- ロード・バランシング・アドバイザの概要

- ロード・バランシング・アドバイザを使用する環境の構成

- ロード・バランシング・アドバイザのFANイベント

- ロード・バランシング・アドバイザのFANイベントの監視

ロード・バランシング・アドバイザの概要

ロード・バランシングは、使用可能なすべてのOracle RACデータベース・インスタンス間で作業を分散します。接続プールを使用するなどの場合、アプリケーションでは、特定のサービスを提供するインスタンス間をまたがって実行される、永続的な接続を使用することをお薦めします。永続接続を使用すると、接続が作成される頻度は低く、長期間存在します。作業は頻繁にシステムに送られ、この接続を利用し、比較的短時間存続します。ロード・バランシング・アドバイザは、受信した作業に対して最適なサービス・クオリティを提供するインスタンスにその作業を転送する方法についてのアドバイスを提供します。これにより、後で作業を再配置する必要性が最小化されます。

ロード・バランシング・アドバイザまたはランタイム接続ロード・バランシングの目標を使用することで、フィードバックはシステムに組み込まれます。作業は、システム全体で最適なサービス時間が実現されるようにルーティングされ、システムの状態変化に透過的に対応します。安定した状態のシステムでは、Oracle RACのすべてのインスタンスでスループットが向上した状態が維持されるようになります。

ロード・バランシング・アドバイザを使用できる標準アーキテクチャには、接続時ロード・バランシング、トランザクション処理モニター、アプリケーション・サーバー、接続コンセントレータ、ハードウェアおよびソフトウェアのロード・バランサ、ジョブ・スケジューラ、バッチ・スケジューラおよびメッセージ・キューイング・システムが含まれます。これらすべてのアプリケーションでは、作業を割り当てることができます。

ロード・バランシング・アドバイザは、リスナー、JDBCユニバーサル接続プール、ODP.NET接続プールなどの主要なOracleクライアントとともにデプロイされます。また、サードパーティ・アプリケーションは、JDBCとOracle RAC FAN APIを使用するか、またはOracle Call Interfaceでコールバックを使用して、ロード・バランシング・アドバイザ・イベントをサブスクライブすることもできます。

ロード・バランシング・アドバイザを使用する環境の構成

ロード・バランシングを有効にする各サービスにサービス・レベルの目標を定義して、ロード・バランシング・アドバイザを使用するように環境を構成できます。サービス・レベルの目標を構成すると、ロード・バランシング・アドバイザが有効になり、そのサービスのFANロード・バランシング・イベントのパブリッシュが可能になります。

ランタイム接続ロード・バランシングのサービス・レベルの目標には、次の2つがあります。

- SERVICE_TIME: 応答時間に基づいて、作業要求をインスタンスに割り当てます。ロード・バランシング・アドバイザのデータは、サービスで完了した作業の経過時間およびサービスに対して使用可能な帯域幅に基づきます。SERVICE_TIMEの使用例としては、需要が変動するインターネット・ショッピングなどのワークロードがあります。次の例は、onlineサービスを使用して、目標を接続のSERVICE_TIMEに設定する方法を示します。

srvctl modify service -d db_unique_name -s online -B SERVICE_TIME -j SHORT

- THROUGHPUT: スループットに基づいて、作業要求をインスタンスに割り当てます。ロード・バランシング・アドバイザのデータは、サービスで完了した作業の処理速度およびサービスに対して使用可能な帯域幅に基づきます。THROUGHPUTの使用例としては、前のジョブが完了してから次のジョブを開始するバッチ処理などのワークロードがあります。次の例は、sjobサービスを使用して、目標を接続のTHROUGHPUTに設定する方法を示します。

srvctl modify service -d db_unique_name -s sjob -B THROUGHPUT -j LONG

ランタイム接続ロード・バランシングの目標をNONEに設定すると、サービスのロード・バランシングが無効になります。データ・ディクショナリのサービスの目標設定は、DBA_SERVICESビュー、V$SERVICESビューおよびV$ACTIVE_SERVICESビューを問い合せて確認できます。また、Oracle Enterprise Managerを使用して、サービスのロード・バランシング設定を確認することもできます。

関連項目:

- サービスの管理およびサービスの目標の追加の詳細は、「サービスの管理」を参照してください。

- Oracle Enterprise Managerを使用したサービスの管理の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

ロード・バランシング・アドバイザのFANイベント

ロード・バランシング・アドバイザのFANイベントでは、ロード・バランシング・アルゴリズムのメトリックが提供されます。このイベントを使用する最も簡単な方法は、JDBC、ODP.NET、Oracle Call InterfaceなどのOracle統合クライアントのランタイム接続ロード・バランシング機能を使用することです。他のクライアント・アプリケーションは、Oracle Notification Serviceアプリケーション・プログラミング・インタフェース(ONS API)を使用することでFANをプログラムで利用し、FANイベントをサブスクライブしたり、受信時にイベント処理アクションを実行することができます。表5-4に、ロード・バランシング・アドバイザのFANイベント・パラメータを示します。

表5-4 ロード・バランシング・アドバイザのFANイベント

パラメータ

説明

VERSION

イベント・レコードのバージョン。リリース変更の識別に使用します。

EVENT_TYPE

ロード・バランシング・アドバイザ・イベントは、常にSERVICEMETRICSイベント・タイプです。

SERVICE

サービス名。DBA_SERVICESのNAMEの値に該当します。

DATABASE_UNIQUE_NAME

サービスをサポートする一意のデータベース。DB_UNIQUE_NAMEの初期化パラメータ値に該当し、これにより、初期化パラメータDB_NAMEの値がデフォルトに設定されます。

INSTANCE

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

PERCENT

そのデータベース・インスタンスに送信する作業要求の割合。

FLAG

サービスの目標を基準としたサービス品質。有効な値は、GOOD、VIOLATING、NO DATAおよびBLOCKEDです。

TIMESTAMP

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

関連項目:
Oracle RAC FAN APIの詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

ロード・バランシング・アドバイザのFANイベントの監視

ロード・バランシング・アドバイザのFANイベントの内部キュー表に対して次の問合せを使用すると、インスタンス用に生成されたロード・バランシング・アドバイザ・イベントを監視できます。

SET PAGES 60 COLSEP '|' LINES 132 NUM 8 VERIFY OFF FEEDBACK OFF
COLUMN user_data HEADING "AQ Service Metrics" FORMAT A60 WRAP
BREAK ON service_name SKIP 1
SELECT
TO_CHAR(enq_time, 'HH:MI:SS') Enq_time, user_data
FROM sys.sys$service_metrics_tab
ORDER BY 1 ;

この問合せの結果には、次のような行が含まれます。

02:56:05|SYS$RLBTYP('hr', 'VERSION=1.0 database=sales service=hr { {in
|stance=sales_4 percent=38 flag=GOOD aff=TRUE}{instance=sales_1
| percent=62 flag=GOOD aff=TRUE} } timestamp=2010-07-16 07:56
|:05')

高速アプリケーション通知が統合されているOracleクライアント

Oracle RACデータベースへの接続に使用される多くの一般的なクライアント・アプリケーション環境は、FANと統合されています。そのため、FANを使用する最も簡単な方法は、Oracle統合クライアントを使用することです。

次の項では、FANをOracleクライアントと統合する方法と、いくつかの特定のクライアント開発環境でFANイベントを有効にする方法について説明します。

- Oracle統合クライアントとFANの概要

- JDBCクライアントでの高速接続フェイルオーバーの有効化

- JDBCクライアントでのランタイム接続ロード・バランシングの有効化

- Oracle Call Interfaceクライアントでの高速接続フェイルオーバーの有効化

- Oracle Call Interfaceクライアントでのランタイム接続ロード・バランシングの有効化

- ODP.NETクライアントを有効化してFAN高可用性イベントを受信する方法

- ODP.NETクライアントを有効化してFANロード・バランシング・アドバイザのイベントを受信する方法

Oracle統合クライアントとFANの概要

FANを使用する場合の全体的な目的は、アプリケーションが、常に、最適なサービスを提供する使用可能インスタンスに接続できるようにすることです。使用できるOracle統合クライアントは、Oracle Call Interfaceセッション・プール、CMANセッション・プール、JDBCとODP.NET接続プールです。高速接続フェイルオーバー(FCF)機能は、接続プールを介して実装されるFANクライアントです。

FANとの統合によって、Oracle統合クライアントはOracle RACクラスタの最新のステータスをより迅速に認識します。これによって、クライアント接続が待機したり、使用不可能なインスタンスに接続しようとすることはありません。インスタンスが起動すると、Oracle RACでは、最近起動されたインスタンスへの接続を接続プールで作成し、このインスタンスで提供される追加リソースを接続プールで使用できるように、FANを使用して接続プールに通知します。

FANと統合されたOracle接続プールでは、次の処理を実行できます。

- サービスの起動時に、Oracle RACのすべてのインスタンス間で接続を均等に分散します。この方法は、接続プールで定義されているセッションを、サービスがサポートされている最初のOracle RACインスタンスに割り当てるよりも有効です。

- 終了した接続を削除すると同時に、サービスがインスタンスでDOWNとして宣言され、ノードも同時にDOWNとして宣言されます。

- サービスが再起動を繰り返し試行する間クライアントを待機させるかわりに、NOT RESTARTING状態がOracle Databaseで検出されるとすぐにエラーをクライアントにレポートします。

- ロード・バランシング・アドバイザのイベントを使用して、実行時の作業要求を均等に分散します。

接続プールおよびFANを使用する場合は、接続プールで使用されるサービスを提供するすべてのインスタンスへのデータベース接続のロード・バランシングが適切に構成されている必要があります。Oracle Net Servicesでクライアント側とサーバー側のロード・バランシングを構成することをお薦めします。DBCAを使用してデータベースを作成すると、デフォルトで、クライアント側とサーバー側の両方のロード・バランシングが構成されます。

関連項目:
「接続時ロード・バランシング」

JDBCクライアントでの高速接続フェイルオーバーの有効化

Oracle JDBCユニバーサル接続プール(UCP)に対して高速接続フェイルオーバー(FCF)を有効にすると、FAN高可用性イベントとロード・バランシング・アドバイザ・イベントの使用が有効化されます。FANを使用する場合、アプリケーションでは、JDBC ThickクライアントまたはJDBC ThinクライアントのどちらのJDBC開発環境でも使用できます。Java Database Connectivity Oracle Call Interface(JDBC/OCI)ドライバ接続プール機能は、JDBCクライアントの一部です。この機能は、OracleOCIConnectionPoolクラスによって提供されます。

UCPは、ロード・バランシング・アドバイザの情報を使用するために統合されます。Oracle Database 11g リリース11.1.0.7.0では、JDBCのユニバーサル接続プールが導入されました。そのため、Oracle RACデータベースで使用するためにOracle Database 10g リリース1で導入された既存のJDBC接続プール(暗黙接続キャッシュ)が非推奨になりました。UCPは、Oracle Database 10g またはOracle Database 11g で使用できます。

JDBCクライアント用のFCFを有効にするには、最初のgetConnection()リクエストを行う前に、oracle.jdbc.poolパッケージでOracleDataSourceクラスのfastConnectionFailoverEnabledプロパティを設定します。JDBCクライアント用のFCFを有効にすると、フェイルオーバー・プロパティは接続プール内のすべての接続に適用されます。JDBC Thinドライバ(Thinドライバ)またはJDBC/OCIクライアントでFCFを有効にすると、接続プールですべてのFANイベントを受信して、これらのイベントへのアクションを実行できます。

JDBCアプリケーションの開発者は、Oracle Database 11gリリース2(11.2)で導入された一連のAPIを使用して、プログラムでFANと統合できるようになりました。Oracle RAC FAN APIを使用すると、Oracle RACによって送信されるFANイベント通知の、アプリケーション・コードによる受信と応答が次の方法で可能になります。

- Oracle RACサービスの停止イベント、サービスの起動イベントおよびノードの停止イベントのリスニング

- ロード・バランシング・アドバイザ・イベントのリスニングと、それに対する応答

関連項目:

- APIの使用、JDBCユニバーサル接続プールの構成およびOracle Notification Serviceの詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

- JDBCクライアントの構成の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

JDBCクライアント用のOracle Notification Service

FCFは、Oracle Notification Serviceを利用して、接続プールとOracle RACデータベース間でデータベース・イベントを伝播します。実行時、接続プールは、Oracle Notification Service環境を設定できる必要があります。Oracle Notification Service(ons.jar)は、Oracleクライアント・ソフトウェアの一部として含まれています。Oracle Notification Serviceは、リモート構成またはクライアント側のOracle Notification Serviceデーモン構成のいずれかを使用して構成できます。リモートOracle Notification Serviceサブスクリプションを使用すると、次のメリットがあります。

- すべてのJava中間層ソフトウェアがサポートされます。

- クライアント・システムではOracle Notification Serviceデーモンが不要なため、このプロセスを管理する必要はありません。

- データソース・プロパティを使用して、構成作業を簡単に行うことができます。

JDBC/OCIおよびJDBC Thinドライバ・クライアント用のFCFの構成

Oracleの暗黙接続キャッシュ用またはUCP用のFCFを有効にできます。UCP for Javaの使用をお薦めします。暗黙接続キャッシュは、非推奨です。

この項では、JDBC用のFCFを有効にする方法について説明します。JDBC/OCIクライアントでFCFを有効にする場合は、クライアントまたはサービスのいずれのTAFも有効にしないでください。FCFを有効にするには、次の手順で説明するように、最初にUCPを有効にする必要があります。

1. 接続プールを作成して、FastConnectionFailoverEnabledを設定します。
次の例では、接続プールを作成し、FCFを有効にします。この例を使用する場合、ucp.jarライブラリはアプリケーションのCLASSPATHに含まれる必要があります。

PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
pds.setFastConnectionFailoverEnabled(true);

2. Oracle Notification Serviceリモート・サブスクリプションに使用するポートを特定します。
次の例に示すように、Oracle Clusterwareを実行している各ノードで、次のコマンドを使用してOracle Notification Service構成を表示します。

srvctl config nodeapps -s

このコマンドの出力では、Oracle Notification Service用に構成されているローカル・ポートおよびリモート・ポートがリストされます。

注意:
Oracle Notification Service構成は、Oracle Clusterwareのインストール時に自動的に完了しているはずです。

3. アップグレードされたOracle9iデータベースのリモート・ノードに、Oracle Notification Serviceデーモンを追加します。
Oracle Notification ServiceデーモンのOracle Cluster Registry(OCR)内の情報は、Oracle Database 10g以上用に自動的に構成されます。Oracle9iバージョンのデータベースからアップグレードする場合は、次のコマンドを使用してリモート・ノード(クラスタ外のノード)にOracle Notification Serviceデーモンを追加します。

srvctl modify nodeapps -t host_port_list

4. リモートOracle Notification Serviceサブスクリプションを構成します。
ユニバーサル接続プールを使用する場合、アプリケーションはOracleDataSourceインスタンスのsetONSConfigurationをコールして、使用するノード番号とポート番号を指定します。次の例に示すように、各ノードで使用されるポート番号は、手順2の各ノードで表示されるリモート・ポートと同じです。この例を使用する場合、ons.jarライブラリはアプリケーションのCLASSPATHに含まれる必要があります。

pds.setONSConfiguration("nodes=racnode1:6200,racnode2:6200");

リモートOracle Notification Service構成を使用するアプリケーションでは、次の例のように、アプリケーションを起動する前に、oracle.ons.oraclehomeシステム・プロパティにORACLE_HOMEの場所を設定する必要があります。

java -Doracle.ons.oraclehome=$ORACLE_HOME ...

5. 接続URLを構成します。
FCFを使用する場合、コネクション・ファクトリの接続URLはサービス名構文を使用する必要があります。サービス名は、サービスに接続プールをマップするために使用されます。次の例では、接続URLの構成を示しています。

pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setURL("jdbc:oracle:thin@//SCAN_name:1521/service_name");......

関連項目:

- JDBCの詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

- FCFの構成の詳細は、『Oracle Universal Connection Pool for JDBC開発者ガイド』を参照してください。

JDBCクライアントでのランタイム接続ロード・バランシングの有効化

UCP JDBC接続プールでは、Oracle RACデータベースによって提供されるロード・バランシング機能が利用されます。ランタイム接続ロード・バランシングでは、Oracle JDBCドライバとOracle RACデータベースを使用する必要があります。

実行時接続ロード・バランシングには、FCFが有効であり、適切に構成されていることが必要です。「JDBC/OCIおよびJDBC Thinドライバ・クライアント用のFCFの構成」を参照してください。また、Oracle RACロード・バランシング・アドバイザは、接続プールで使用されるサービスごとにサービス・レベルの目標で構成される必要があります。接続時ロード・バランシングの目標は、次の例のとおり、SHORTに設定される必要があります。

srvctl modify service -d db_unique_name -s service_name -B SERVICE_TIME -j SHORT

関連項目:
UCP JDBC接続プール用にランタイム接続ロード・バランシングを構成する方法の詳細は、『Oracle Universal Connection Pool for JDBC開発者ガイド』を参照してください。

Oracle Call Interfaceクライアントでの高速接続フェイルオーバーの有効化

Oracle Call Interface(OCI)クライアントは、Oracle RAC高可用性FANイベントの通知を受信するように登録し、イベント発生時に応答することによって、FCFを有効にできます。FCFを使用すると、OCIアプリケーションでのセッション・フェイルオーバー応答時間が向上し、接続プールおよびセッション・プールから機能していないインスタンスへの接続も削除されます。FCFはOCIアプリケーションで使用できます(このアプリケーションはTAF、接続プールまたはセッション・プールも使用します)。

FCFを使用するには、ロード・バランシング・アドバイザの目標と接続ロード・バランシングの目標が構成されているサービスを使用する必要があります。サービスのFANイベントを介してOracle RACロード・バランシング・アドバイザから受信されるサービス・メトリックは、Oracle Streams AQキュー表ALERT_QUEUEに自動的に配置されます。クライアント・アプリケーションには、イベント発生時に使用するコールバックを登録できます。これによって、接続障害が検出されるまでの時間が短縮されます。

DOWNイベントの処理中に、OCIでは次の処理が実行されます。

- 問題が発生しているクライアントの接続を終了し、エラーを戻します。

- OCI接続プールおよびOCIセッション・プールから接続を削除します。OCIセッション・プールでは、各セッションが接続プールの物理的な接続とマッピングされています。1つの接続に複数のセッションが存在する場合もあります。

- TAFが構成されている場合、接続をフェイルオーバーします。TAFが構成されていない場合、接続先のインスタンスに障害が発生しても、クライアントはエラーを受信するだけです。

アプリケーションでTAFを使用している場合は、SRVCTLまたはOracle Enterprise Managerを使用して、サービスのTAFプロパティを有効にする必要があります。構成済のサービスを使用して、Oracle RACデータベースに接続するようにOCIクライアント・アプリケーションを構成します。

注意:
Oracle Call InterfaceではUPイベントは管理されません。

関連項目:
TAFの構成の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

OCIクライアント用のFCFの構成

OCIアプリケーションは、Oracle RACインスタンスに接続して、HAイベント通知を有効にする必要があります。さらに、これらのアプリケーションは、次の手順を実行してOCIクライアント用のFCFを構成する必要があります。

1. OCI接続プールのサービスを構成して、接続時ロード・バランシングとランタイム接続ロード・バランシングを有効にします。また、次の例に示すように、アドバンスト・キューイング通知を有効にするように、サービスを構成します。

$ srvctl modify service -d crm -s ociapp.example.com -q TRUE
-B THROUGHPUT -j LONG

2. 次のように、OCIEnvCreate()コールを使用し、MODEパラメータ値にOCI_EVENTSを設定することで、サブスクリプションを有効にするように、クライアントでのOCIコールの環境コンテキストを設定します。

(void) OCIEnvCreate(&myenvhp, OCI_EVENTS|OCI_OBJECT, ...);

3. アプリケーションをスレッド・ライブラリにリンクします。

4. スレッド・ライブラリにリンクした後、アプリケーションは、FANイベントが発生すると常に起動されるコールバックを登録できます。

関連項目:
Oracle Call Interfaceの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

Oracle Call Interfaceクライアントでのランタイム接続ロード・バランシングの有効化

Oracle Database 11gリリース2(11.2)では、OCIセッション・プールによって、動的に管理される事前作成済のデータベース・セッションのセットをアプリケーションの複数スレッドで使用できます。接続プーリングではプール要素は接続ですが、セッション・プーリングではプール要素はセッションとなります。Oracle Databaseでは、セッション・プール内のセッションを継続的に再利用して、インスタンスへのほぼ永続的なチャネルを形成することによって、アプリケーションでセッションが必要になるたびにセッションを作成してクローズするオーバーヘッドを削減できます。

ランタイム接続ロード・バランシングは、リリース11.1以上のクライアントではデフォルトで有効になっており、10.2以上のサーバーと通信します。Oracle RAC環境の場合、アプリケーションのセッション要求を均等に分散させるために、セッション・プールは、高速アプリケーション通知(FAN)イベントを介してOracle RACロード・バランシング・アドバイザ注釈1 から受信されるサービス・メトリックを使用します。セッション・プールに入ってくる作業要求は、現在のサービス・パフォーマンスを使用して、サービスを提供しているOracle RACのインスタンス全体で分散できます。

実行時接続ロード・バランシングは、基本的には作業リクエストをセッション・プール内で作業の処理に最も適切なセッションにルーティングする操作です。既存のセッション・プールからセッションを選択する際に有効になるため、頻度の高いアクティビティです。単一インスタンスでのみサービスをサポートするセッション・プールの場合は、プール内で使用可能な最初のセッションで十分です。プールが複数インスタンスにまたがるサービスをサポートしている場合は、適切なサービスを提供できる、または容量の大きいインスタンスが多数のリクエストを取得するように、作業リクエストをインスタンス間で分散する必要があります。

接続時ロード・バランシングは、アプリケーションによりセッションが最初に作成される時点で発生します。プールの一部であるセッションも、その最初の作成時にOracle RACインスタンス間で適切に分散される必要があります。これにより、各インスタンスでのセッションが作業を実行するチャンスを取得することになります。

OCIクライアントを構成してロード・バランシング・アドバイザのFANイベントを受信する方法

Oracle RAC環境の場合、アプリケーションのセッション要求を均等に分散させるために、セッション・プールは、高速アプリケーション通知(FAN)イベントを介してOracle RACロード・バランシング・アドバイザから受信されるサービス・メトリックを使用します。アプリケーションがサービス時間に基づいてサービス・メトリックを受信できるようにするには、次の条件を満たしていることを確認します。

1. アプリケーションをスレッド・ライブラリにリンクしている。

2. OCI環境をOCI_EVENTSモードおよびOCI_THREADEDモードで作成している。

3. 次の例に示すように、セッション・プールによって使用されるサービスのロード・バランシング・アドバイザの目標(-Bオプション)および接続ロード・バランシングの目標(-jオプション)を構成している。

srvctl modify service -d crm -s ociapps -B SERVICE_TIME -j SHORT

関連項目:
Oracle Call Interfaceの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

ODP.NETクライアントを有効化してFAN高可用性イベントを受信する方法

ODP.NETの接続プールでは、ノード、サービスおよびサービス・メンバーが停止したことを示す通知をサブスクライブできます。DOWNイベントが発生すると、そのインスタンスに送られる接続プール内のセッションはOracle Databaseによって削除され、ODP.NETは無効になった接続を事前対応的に削除します。無効な接続が削除されたことで、接続合計数がMIN_POOL_SIZEパラメータの値を下回った場合、ODP.NETは、既存のOracle RACインスタンスへの追加の接続を確立します。

ODP.NETクライアント用のFANを有効にするには、次の手順を実行します。

1. 次の例に示すように、SRVCTLを使用してサービスのAdvanced Queuingの通知を有効にします。

srvctl modify service -d crm -s odpnet.example.com -q TRUE

2. ODP.NETアプリケーションを使用して接続するユーザーに対して次のコマンドを実行して、内部イベント・キュー表の権限を付与します。user_nameはデータベース・ユーザーの名前です。

EXECUTE DBMS_AQADM.GRANT_QUEUE_PRIVILEGE('DEQUEUE','SYS.SYS$SERVICE_METR
ICS', user_name);

3. FAN高可用性イベントをサブスクライブすることによって、ODP.NET接続プールの高速接続フェイルオーバーを有効にします。FCFを有効にするには、次の例に示すように、HA Events=trueおよびpooling=true(デフォルト値)を接続文字列に含めますが、ここで、user_nameはデータベース・ユーザーの名前、passwordはそのユーザーのパスワードです。

con.ConnectionString =
"User Id=user_name;Password=password;Data Source=odpnet;" +
"Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;" +
"HA Events=true;Incr Pool Size=5;Decr Pool Size=2";

関連項目:
ODP.NETアプリケーションでのFANイベントの使用の詳細は、『Oracle Data Provider for .NET開発者ガイド』を参照してください。

ODP.NETクライアントを有効化してFANロード・バランシング・アドバイザのイベントを受信する方法

ODP.NETクライアントまたはアプリケーションを有効化して、FANロード・バランシング・アドバイザのイベントを受信するには、次の手順を実行します。

1. 次の例に示すように、SRVCTLを使用してAdvanced Queuingの通知を有効にし、接続時ロード・バランシングの目標を設定します。

srvctl modify service -d crm -s odpapp.example.com -q TRUE -j LONG

2. 接続時ロード・バランシングのためにOracle Net Servicesが構成されていることを確認します。

3. ODP.NETアプリケーションを使用して接続するユーザーに対して次のコマンドを実行して、内部イベント・キュー表の権限を付与します。user_nameはデータベース・ユーザーの名前です。

EXECUTE DBMS_AQADM.GRANT_QUEUE_PRIVILEGE('DEQUEUE','SYS.SYS$SERVICE_METR
ICS', user_name);

4. ConnectionStringのロード・バランシング属性にTRUEを設定して、ODP.NET接続プールでロード・バランシング・イベントを利用するように構成します(デフォルトはFALSE)。この処理は、接続時に実行できます。この処理は、接続プールを使用している場合、またはプーリング属性がTRUE(デフォルト)設定されている場合にのみ実行できます。
次の例では、ロード・バランシングが有効になるようにConnectionStringを構成する方法を示します。user_nameはユーザー名、passwordはパスワードです。

con.ConnectionString =
"User Id=user_name;Password=password;Data Source=odpapp;" +
"Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;" +
"Load Balancing=true;Incr Pool Size=5;Decr Pool Size=2";

注意:
ODP.NETでは、ノード起動時(UPイベント)の接続の再分散はサポートしていません。ただし、サーバー側でフェイルオーバーが有効になっている場合は、ODP.NETで、新しく使用可能になったインスタンスに接続を移行できます。

関連項目:

- ODP.NETの詳細は、『Oracle Data Provider for .NET開発者ガイド』を参照してください。NET

- 付録A「サーバー制御ユーティリティのリファレンス」の「srvctl modify service」を参照してください。

Oracle RACのサービスおよび分散トランザクション処理

X/Open Distributed Transaction Processing(DTP)アーキテクチャは、複数のアプリケーション・プログラム(AP)が複数の異なるリソース・マネージャ(RM)から提供されるリソースを共有できるようにするための、標準のアーキテクチャまたはインタフェースを定義しています。APとRM間の作業を調整し、グローバル・トランザクションを実現します。

次の項では、Oracle RACがどのようにXAトランザクションとDTP処理をサポートするかについて説明します。

- XAトランザクションとDTPサービスの概要

- XAトランザクションに対するDTPサービスのメリット

- Oracle RACによるDTPサービスの使用

- DTPサービスの構成

- 管理者管理データベースでのDTPサービスの再配置

XAトランザクションとDTPサービスの概要

XAトランザクションは、デフォルトでOracle RACインスタンス間をまたがって実行可能であり、Oracle XAライブラリを使用するアプリケーションは、Oracle RAC環境のメリットをフルに活用してアプリケーションの可用性とスケーラビリティを高めることができます。

GTXnバックグラウンド・プロセスは、Oracle RAC環境でグローバル(XA)・トランザクションをサポートします。GLOBAL_TXN_PROCESSES初期化パラメータ(デフォルトで1に設定)は、各Oracle RACインスタンスのGTXnバックグラウンド・プロセスの初期数を指定します。クラスタ全体でこのパラメータのデフォルト値を使用し、複数のOracle RACインスタンス間にわたる分散トランザクションを可能にします。デフォルト値の使用により、Oracle RACインスタンス全体にわたって実行される作業単位は、リソースを共有し、単一のトランザクションとして機能します(つまり、作業単位は密結合となります)。また、クラスタ内の任意のノードへの2フェーズ・コミット要求の送信も可能となります。

Oracle RAC 11gリリース1(11.1)より前のリリースでは、Oracle RACで密結合を実現する方法として分散トランザクション処理(DTP)サービス、つまりカーディナリティ(1)によって、ロード・バランシングが有効かどうかに関係なくすべての密結合ブランチが確実に同じインスタンスに配置されるサービスを使用していました。密結合されたXAトランザクションについては、XAアプリケーションがXAトランザクション・ブランチを結合または再開しないかぎり、特別なタイプのsingletonサービスをOracle RACデータベースにデプロイする必要はなくなりました。XAトランザクションは、どのタイプのサービス構成であってもOracle RACデータベースで透過的にサポートされています。

注意:
Oracle RAC 11gリリース1(11.1)以上ではDTPサービスは必要ありませんが、「XAトランザクションに対するDTPサービスのメリット」で説明するように、DTPサービスを使用するとパフォーマンスが向上する可能性があります。

Oracle Services for Microsoft Transaction Server(OraMTS)などの外部トランザクション・マネージャは、DTP/XAトランザクションを調整します。ただし、Oracleの内部トランザクション・マネージャが、分散SQLトランザクションを調整します。DTP/XAと分散SQLトランザクションは、両方ともOracle RACのDTPサービスを使用する必要があります。

関連項目:

- Oracle RACでのOracle XAの使用の詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。

- GLOBAL_TXN_PROCESSES初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

XAトランザクションに対するDTPサービスのメリット

Oracle RACの分散トランザクション処理を使用してアプリケーションのパフォーマンスを向上させるために、DTPサービスのメリットを活用する場合があります。DTPサービスを使用すると、分散トランザクションのすべてのブランチをクラスタ内のシングル・インスタンスに割り当てることができます。クラスタ全体でロード・バランスを実行するには、1つまたは2つの大きいアプリケーション・サーバーを使用するよりも、小さいアプリケーション・サーバーのグループをいくつか用意して、各グループ内でトランザクションを単一または一連のサービスに割り当てる方が効果的です。

また、Oracle RACデータベースの複数の接続にわたりロード・バランスを実行するアプリケーション・サーバー層の接続プールでは、この方法を使用して1つのグローバル分散トランザクションのすべての密結合ブランチが、1つのOracle RACインスタンスのみで実行されることを確認できます。これは、X/Open分散トランザクション処理(DTP)やMicrosoft分散トランザクション・コーディネータ(DTC)などのプロトコルを使用した分散トランザクション環境でも同様です。

分散トランザクションのパフォーマンスを向上させるには、サービスを使用してDTP環境を管理します。サービスのDTPプロパティを定義すると、サービスが、Oracle RACデータベースで一度に1つのインスタンスで実行されることが保証されます。DTPサービスを介して実行されるすべてのグローバル分散トランザクションで、密結合ブランチが単一のOracle RACインスタンスで実行されることが保証されます。これには、次のメリットがあります。

- 密結合ブランチで相互に行った変更が必要である場合に、1つのOracle RACインスタンス内で変更をローカルに参照できます。

- DTPでのサービスの再配置およびフェイルオーバーをサポートしています。

- Oracle Databaseでは、Oracle RACインスタンスより多くのDTPサービスを使用することによって、Oracle RACデータベースのすべてのインスタンスのサービスで負荷を均等に分散できます。

Oracle RACによるDTPサービスの使用

クラスタ内のすべてのインスタンスを使用するには、分散トランザクションをホスティングする各Oracle RACインスタンスに対して、1つ以上のDTPサービスを作成します。1つの分散トランザクションに対して、1つのDTPサービスを選択します。別々の分散トランザクションに対して異なるDTPサービスを選択して、Oracle RACデータベース・インスタンス間でワークロードを均等に分散します。1つの分散トランザクションのすべてのブランチは1つのインスタンスで実行されるため、すべてのインスタンスを使用し、複数のsingletonサービスを介して、多数のDTPトランザクションの負荷を均等に分散可能になり、その結果、アプリケーションのスループットを最大限にできます。

クラスタ・データベースでノードを追加または削除した場合、最適なパフォーマンス・レベルを維持するために、DTPトランザクションに使用しているサービスの確認と再配置が必要になる場合があります。

関連項目:
Oracle RACでのトランザクション・ブランチの管理の詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。

DTPサービスの構成

分散トランザクション処理のDTPサービスを作成するには、次の手順を実行します。

1. Oracle Enterprise ManagerまたはSRVCTLを使用して単一のサービスを作成します。
管理者管理データベースの場合は、優先インスタンスとして1つのインスタンスのみを定義します。次の例に示すとおり、必要な数の使用可能なインスタンスを指定できます。

srvctl add service -d crm -s xa_01.example.com -r RAC01 -a RAC02,RAC03

ポリシー管理データベースの場合は、使用するサーバー・プールを指定して、サービスのカーディナリティをSINGLETONに設定します。次に例を示します。

srvctl add service -d crm -s xa_01.example.com -g dtp_pool -c SINGLETON

2. サービスのDTPオプション(-x)をTRUEに設定します(デフォルト値はFALSE)です。Oracle Enterprise ManagerまたはSRVCTLを使用して、単一のサービスのDTPプロパティを変更できます。次の例では、SRVCTLを使用してxa_01.example.comサービスを変更する方法を示しています。

srvctl modify service -d crm -s xa_01.example.com -x TRUE

管理者管理データベースでのDTPサービスの再配置

XA_01などのDTPサービスを提供するインスタンスに障害が発生すると、単一のサービスは、RAC02、RAC03などの使用可能インスタンスにフェイルオーバーします。

サービスが他のインスタンスに移行したら、使用可能なすべてのハードウェアで均等に負荷を再分散させるために、優先インスタンスにサービスを強制的に再配置する必要がある場合があります。GV$ACTIVE_SERVICESビューのデータを使用して、STPサービスを再配置する必要があるかどうかを判断できます。

サービスの管理

Oracle Enterprise ManagerおよびSRVCTLユーティリティを使用して、サービスを作成および管理できます。次の項では、これらのツールを使用して、サービスに関連するタスクを実行する方法について説明します。

- サービスの管理の概要

- Oracle Enterprise Managerを使用したサービスの管理

- SRVCTLを使用したサービスの管理

注意:
DBMS_SERVICEパッケージを使用して、サービスとサービス属性を作成または変更することもできますが、このパッケージを使用して行われた設定は、SRVCTLまたはOracle Enterprise Managerによって上書きされます。DBMS_SERVICEパッケージは、Oracle RACデータベースが使用するサービスに使用しないでください。

サービスの管理の概要

サービスを作成して管理する場合、データベースで実行する作業を管理しやすい単位に分割します。サービスを使用する目的は、データベース・インフラストラクチャを最大限有効に利用することです。ビジネス要件に基づいて、サービスを作成およびデプロイできます。Oracle Databaseは各サービスのパフォーマンスを計測できます。DBMS_MONITORパッケージを使用すると、サービス内のアプリケーション・モジュールおよびモジュールの個別のアクションを両方定義して、これらのアクションのしきい値を監視できるようになり、これによってワークロードを管理して必要に応じて容量を供給することができます。

サービスの作成には、Oracle Enterprise ManagerまたはSRVCTLのいずれかを使用できます。データベースに新しいサービスを作成した場合は、サービスごとに自動ワークロード管理の特性を定義する必要があります(「サービスの特性」を参照)。

関連項目:

- OracleクラスタでOracle Database QoS Managementを使用している場合、データベース・サービスの構成方法の詳細は、『Oracle Database Quality of Service Managementユーザーズ・ガイド』を参照してください。

- 詳細は、「高速アプリケーション通知が統合されているOracleクライアント」を参照してください。

サービスの作成に加えて、次の作業を実行できます。

- サービスの削除。作成したサービスは削除できます。ただし、Oracle Databaseで作成されたデフォルトのデータベース・サービスのプロパティは、削除したり、変更することはできません。

- サービスのステータスの確認。サービスは、使用可能インスタンスごとに別々のロールが割り当てられる場合があります。多くのサービスを使用する複雑なデータベースでは、すべてのサービスの詳細を把握しておくことは困難な場合があります。そのため、インスタンスごとまたはサービスごとにステータスの確認が必要になる場合があります。たとえば、特定のインスタンス、または特定のインスタンスを実行するOracleホームに変更を加える前に、このインスタンスのサービスのステータスの確認が必要な場合があります。

- データベースまたはインスタンスのサービスの起動および停止。インスタンスへのクライアント接続に使用するサービスは、事前に起動されている必要があります。たとえば、SRVCTLコマンドsrvctl stop database -d db_unique_nameを実行してデータベースを停止した場合(db_unique_nameは停止するデータベース名)、指定したデータベースへのすべてサービスが停止されます。サービス管理ポリシーによっては、データベースの起動時にサービスを手動で再起動する必要がある場合があります。

注意:
Oracle RACデータベースでOracle Database QoS Managementが有効になっている場合、サービスは、停止後に自動的に再起動されます。

- サービスのコンシューマ・グループへのマッピング。サービスをリソース・マネージャのコンシューマ・グループに自動的にマッピングして、サービスがインスタンスで使用可能なリソースの量を制限することができます。コンシューマ・グループを作成し、サービスをこのグループにマッピングする必要があります。

関連項目:
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING_PRIプロシージャの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

- データベースまたはインスタンスのサービスの有効化および無効化。デフォルトでは、障害が発生すると、Oracle Clusterwareはサービスの再起動を自動的に試みます。サービスを無効化すると、この動作を回避できます。サービスの無効化は、データベースまたはインスタンスのメンテナンスを実行する必要がある場合、たとえばアップグレードの実行中に接続要求を回避する必要がある場合などに便利です。

- 別のインスタンスへのサービスの再配置。たとえば、クラスタ・ノードを追加または削除した後に、あるインスタンスから別のインスタンスにサービスを移動して、ワークロードを再分散させることができます。

注意:

- サービスを使用する場合は、SERVICE_NAMESパラメータに値を設定しないでください(作成したサービスおよびデフォルトのデータベース・サービスに対するこのパラメータの設定値はOracle Databaseによって制御されます)。この章で説明しているサービスの機能は、SERVICE_NAMESを設定した場合にOracle Databaseで使用可能な機能とは直接関係ありません。また、このパラメータに値を設定した場合、サービスの使用によって得られるメリットが失われてしまう可能性があります。

- DISPATCHERS初期化パラメータを使用してサービスを指定する場合は、SERVICE_NAMESパラメータ内のすべてのサービスが無効になり、管理できなくなります。(たとえば、SRVCTLコマンドでサービスを停止すると、サービスに接続しているユーザーは停止されません。)

Oracle Enterprise Managerを使用したサービスの管理

サービスに関連するタスクを開始する際の中心ページは、「クラスタ管理データベース・サービス」ページです。このページにアクセスするには、クラスタ・データベースの「可用性」ページに移動し、「サービス」セクションの「クラスタ管理データベース・サービス」をクリックします。このページおよびこのページのドリルダウンを使用して、次のタスクを実行できます。

- クラスタのサービス・リストの表示

- 現在、各サービスを実行しているインスタンスの表示

- 各サービスのステータスの表示

- サービスの作成および編集

- サービスの起動および停止

- サービスの有効化および無効化

- サービスのインスタンスレベルのタスクの実行

- サービスの削除

注意:
クラスタ・データベースへアクセスするには、SYSDBA資格証明を所有している必要があります。「クラスタ管理データベース・サービス」では、SYSDBA以外での接続は許可されません。

関連項目:

- Oracle Enterprise Managerを使用したサービスの管理の詳細は、Oracle Enterprise Managerのオンライン・ヘルプを参照してください。

- Oracle Enterprise Managerを使用したサービスの管理の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

SRVCTLを使用したサービスの管理

SRVCTLを使用してサービスを作成した場合、別のSRVCTLコマンドでそのサービスを起動する必要があります。一方、後で手動でサービスを停止または再起動する必要がある場合もあります。さらに、自動的な再起動が実行されないようにサービスを無効化したり、サービスを手動で再配置したり、サービスに関するステータス情報を取得することもあります。次の項では、SRVCTLを使用して次の管理タスクを実行する方法について説明します。

- SRVCTLを使用したサービスの作成

- SRVCTLを使用したサービスの起動および停止

- SRVCTLを使用したサービスの有効化および無効化

- SRVCTLを使用したサービスの再配置

- SRVCTLを使用したサービスのステータスの取得

- SRVCTLを使用したサービスの構成の取得

関連項目:
オプションの説明など、サービスの管理に使用可能なSRVCTLコマンドの詳細は、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

SRVCTLを使用したサービスの作成

SRVCTLを使用してサービスを作成するには、コマンドラインから次の構文を使用したコマンドを入力します。

srvctl add service -d db_unique_name -s service_name -t edition_name
{-r preferred_list [-a available_list]} | {-g server_pool
[-c {UNIFORM | SINGLETON}] [-k net_number]}
[-P {BASIC | NONE}] [-l {[PRIMARY] | [PHYSICAL_STANDBY] | [LOGICAL_STANDBY] |
[SNAPSHOT_STANDBY]}] [-y {AUTOMATIC | MANUAL}] [-q {TRUE | FALSE}]
[-x {TRUE | FALSE}] [-j {SHORT | LONG}] [-B {NONE | SERVICE_TIME | THROUGHPUT}]
[-e {NONE |SESSION | SELECT}] [-m {NONE | BASIC}] [-z failover_retries]
[-w failover_delay]

注意:
service_name初期化パラメータの値には、4KBの制限があります。したがって、インスタンスに割り当てられたすべてのサービスの名前の長さは、合計で4KBを超えないようにする必要があります。

SRVCTLを使用したサービスの起動および停止

アプリケーションがサーバーを使用して接続するために、サービスを起動する必要があります。停止したサービスは、一時的に使用できなくなりますが、引き続き自動再起動およびフェイルオーバーの対象となっています。

サービスを停止または起動するには、コマンドラインから次のSRVCTL構文を入力します。

srvctl start service -d database_unique_name [-s service_name_list] [-i inst_name]
[-o start_options]

srvctl stop service -d database_unique_name -s service_name_list [-i inst_name]
[-o start_options]

SRVCTLを使用したサービスの有効化および無効化

サービスを無効化にすると、Oracle Clusterwareは、そのサービスを自動起動、フェイルオーバーまたは再起動の対象とみなさなくなります。アプリケーション・メンテナンスを実行する場合は、そのメンテナンス操作が完了するまでサービスを無効化にすることで、Oracle Clusterwareが誤ってサービスを再起動しないようにできます。再び通常操作でサービスを使用できるようにするには、サービスを有効化します。

サービスを有効化および無効化するには、コマンドラインから次のSRVCTL構文を使用します。

srvctl enable service -d database_unique_name -s service_name_list [-i inst_name]

srvctl disable service -d database_unique_name -s service_name_list [-i inst_name]

SRVCTLを使用したサービスの再配置

サービスを再配置するには、コマンドラインからsrvctl relocate serviceを実行します。このコマンドを使用するのは、サービスが使用可能インスタンスにフェイルオーバーしたが、そのインスタンスの再起動後に、優先インスタンスにサービスを移動させたい場合です。

次のコマンドを実行すると、crmサービスがインスタンスapps1からインスタンスapps3に再配置されます。

srvctl relocate service -d apps -s crm -i apps1 -t apps3

SRVCTLを使用したサービスのステータスの取得

サービスのステータスを取得するには、コマンドラインからsrvctl status serviceコマンドを実行します。たとえば、次のコマンドを実行すると、appsデータベースで実行中のサービスのステータスが戻されます。

srvctl status service -d apps

Service erp is running on nodes: apps02,apps03
Service hr is running on nodes: apps02,apps03
Service sales is running on nodes: apps01,apps04

SRVCTLを使用したサービスの構成の取得

サービスの高可用性構成を取得するには、コマンドラインからsrvctl config serviceコマンドを実行します。たとえば、次のコマンドを実行すると、appsデータベースで実行中のerpサービスの構成が戻されます。

srvctl config service -d apps -s erp

Service name: erp
Service is enabled
Server pool: sp1
Cardinality: UNIFORM
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notificaitons: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: SERVICE_TIME
TAF policy specification: NONE
Edition:
Service is enabled on nodes:
Service is disabled on nodes:

関連項目:
SRVCTLを使用して実行可能なその他の管理タスクの詳細は、付録A「サーバー制御ユーティリティのリファレンス」を参照してください。

自動ワークロード・リポジトリを使用したサービスのパフォーマンスの測定

サービスを使用することで、より効果的なパフォーマンスのチューニングを行うことができます。サービスによって、ワークロードを認識して測定できるため、リソース使用量および待機時間をアプリケーションの属性として指定できます。すべてのセッションが匿名で共有されている多くのシステムでは、セッションおよびSQLを使用したチューニングのかわりに、サービスおよびSQLを使用したチューニングを実行します。

自動ワークロード・リポジトリ(AWR)では、データベースで実行されているすべてのサービスと作業の応答時間、スループット、リソース使用量および待機イベントの情報など、パフォーマンス統計が保持されます。また、サービスのメトリック、統計、待機イベント、待機クラスおよびSQLレベルのトレースも保持されます。さらに、オプションとして、特定の統計を監視するためのモジュールをアプリケーションで定義して、これらの統計をカスタマイズできます。また、このモジュール内に、重要なビジネス・トランザクションで特定の統計値に応答して実行されるアクションを定義することもできます

モジュールおよびアクションの監視を有効にするには、DBMS_MONTIOR PL/SQLパッケージを使用します。たとえば、erpサービスを使用する接続の場合、次のコマンドを使用すると、payrollモジュールのexceptions payアクションを監視できます。

EXECUTE DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE(SERVICE_NAME => 'ERP',
MODULE_NAME=> 'PAYROLL', ACTION_NAME => 'EXCEPTIONS PAY');

erpサービスを使用する接続の場合、次のコマンドを使用すると、payrollモジュールのすべてのアクションを監視できます。

EXECUTE DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE(SERVICE_NAME => 'ERP',
MODULE_NAME=> 'PAYROLL', ACTION_NAME => NULL);

アプリケーション・モジュールとアクションの監視が有効化されたことを確認するには、DBA_ENABLED_AGGREGATIONSビューを使用します。

サービスによる統計の収集およびトレースは、Oracle RACデータベース全体を対象とします。また、Oracle RACデータベースと非クラスタのOracle Databaseのどちらの場合も、インスタンスの再起動やサービスの再配置が行われても統計の集計は失われません。

サービス名、モジュール名およびアクション名は、V$SESSION、V$ACTIVE_SESSION_HISTORYおよびV$SQLビューで確認できます。コール回数およびパフォーマンス統計は、V$SERVICE_STATS、V$SERVICE_EVENT、V$SERVICE_WAIT_CLASS、V$SERVICEMETRICおよびV$SERVICEMETRIC_HISTORYで確認できます。重要なトランザクションで統計の収集を有効にしている場合、V$SERV_MOD_ACT_STATSビューを使用すると、各データベース・インスタンスのそれぞれのサービス名、モジュール名およびアクション名に対して、コール速度を確認できます。

SQL*Plusスクリプトの次のサンプルを実行すると、5秒間隔でサービス品質の統計が収集されます。これらのサービス品質の統計を使用して、サービスの品質を監視したり、作業を割り当てたり、サービスをOracle RAC全体のインスタンス間で均等に分散できます。

SET PAGESIZE 60 COLSEP '|' NUMWIDTH 8 LINESIZE 132 VERIFY OFF FEEDBACK OFF
COLUMN service_name FORMAT A20 TRUNCATED HEADING 'Service'
COLUMN begin_time HEADING 'Begin Time' FORMAT A10
COLUMN end_time HEADING 'End Time' FORMAT A10
COLUMN instance_name HEADING 'Instance' FORMAT A10
COLUMN service_time HEADING 'Service Time|mSec/Call' FORMAT 999999999
COLUMN throughput HEADING 'Calls/sec'FORMAT 99.99
BREAK ON service_name SKIP 1
SELECT
service_name
, TO_CHAR(begin_time, 'HH:MI:SS') begin_time
, TO_CHAR(end_time, 'HH:MI:SS') end_time
, instance_name
, elapsedpercall  service_time
,  callspersec  throughput
FROM
gv$instance i
, gv$active_services s
, gv$servicemetric m
WHERE s.inst_id = m.inst_id
AND s.name_hash = m.service_name_hash
AND i.inst_id = m.inst_id
AND m.group_id = 10
ORDER BY
service_name
, i.inst_id
, begin_time ;

自動ワークロード・リポジトリ・サービスのしきい値とアラート

サービス・レベルのしきい値を使用すると、実際のサービス・レベルとサービスの必須レベルを比較できます。これによって、満足するサービス・レベルが提供されているかどうかを認識できます。最終的な目標は、基準を満たしたサービス・レベルを提供する、予測可能なシステムを構成することです。最小限のリソース使用量で可能なかぎり速く実行することは必要ではなく、必要なのは、サービスの品質を満たすことです。

AWRを使用すると、コールの応答時間(ELAPSED_TIME_PER_CALL)およびコールのCPU時間(CPU_TIME_PER_CALL)の2つのパフォーマンスしきい値を、サービスごとに明示的に指定できます。応答時間のしきい値は、各サービスの各ユーザー・コールの経過時間が特定の値を超えないようにすることを示すもので、コールのCPU時間のしきい値は、各サービスの各コールによるCPUの使用時間が特定の値を超えないようにすることを示すものです。応答時間は、ユーザーのためのコールの実行に支障を与える可能性があるすべての遅延および障害を反映する基本的な測定単位です。また、応答時間では、Oracle RACデータベースのノード間における、ノード別の処理能力の差異も確認できます。

Oracle RACデータベースの各インスタンスに、これらのしきい値を設定する必要があります。経過時間およびCPU時間は、サーバー側のコールの経過時間を移動平均法で算出した時間です。AWRは経過時間およびCPU時間を監視し、パフォーマンスがしきい値を超えた場合には、AWRアラートを発行します。これらのアラートに対してOracle Enterprise Managerのジョブを使用してアクションをスケジュールすることも、アラート受信時にプログラムによってアクションが発生するようにアクションをスケジュールすることもできます。アラートが発行された場合は、ジョブの優先順位を変更したり、オーバーロード状態になったプロセスを停止したり、サービスを再配置、起動または停止して応答します。これによって、需要量に変動が発生した場合でも、サービスの可用性を維持できます。

この項の内容は次のとおりです。

- サービスおよびしきい値のアラートの例

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

サービスおよびしきい値のアラートの例

この例では、payrollサービスのしきい値を確認する必要があります。この情報は、AWRレポートを使用して取得できます。システムが最適な状態で稼働しているときに、いくつかの連続した時間間隔で実行したレポートの結果を比較する必要があります。たとえば、payrollアプリケーションがアクセスするサーバーで、毎週木曜日に使用率がピークに達する午後1時から午後5時までの間にAWRレポートを実行するとします。AWRレポートには、payrollサービスを含む各サーバーのコールについて、応答時間(経過データベース時間)およびCPUの使用時間(CPU時間)が含まれます。また、AWRレポートには、完了した作業のブレークダウンおよび応答時間に影響を与えている待機時間も記録されます。

DBMS_MONITORを使用して、payrollサービスのコールごとの経過時間に対する警告しきい値に0.5秒(500000マイクロ秒)を設定します。また、payrollサービスのコールごとの経過時間の重要な警告のしきい値を0.75秒(750000マイクロ秒)に設定します。

この例では、payrollサービスのしきい値を次のように追加します。

EXECUTE DBMS_SERVER_ALERT.SET_THRESHOLD(
METRICS_ID => DBMS_SERVER_ALERT.ELAPSED_TIME_PER_CALL
, warning_operator => DBMS_SERVER_ALERT.OPERATOR_GE
, warning_value => '500000'
, critical_operator => DBMS_SERVER_ALERT.OPERATOR_GE
, critical_value => '750000'
, observation_period => 30
, consecutive_occurrences => 5
, instance_name => NULL
, object_type => DBMS_SERVER_ALERT.OBJECT_TYPE_SERVICE
, object_name => 'payroll');

次のSELECT文を使用すると、しきい値の構成がすべてのインスタンスに設定されていることを確認できます。

SELECT METRICS_NAME, INSTANCE_NAME, WARNING_VALUE, CRITICAL_VALUE,
OBSERVATION_PERIOD FROM dba_thresholds ;

サービス、モジュールおよびアクション監視の有効化

各サービス内の重要なモジュールおよびアクションに対するパフォーマンス・データのトレース機能を有効にできます。パフォーマンス統計は、V$SERV_MOD_ACT_STATSビューで参照できます。たとえば、次のように設定できます。

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

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

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

次のコマンドは、サービスのモジュールとアクションの監視を有効化する方法を示します。

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);

サービス、モジュールおよびアクションの監視が有効化されいてることを確認するには、次のSELECT文を使用します。

COLUMN AGGREGATION_TYPE FORMAT A21 TRUNCATED HEADING 'AGGREGATION'
COLUMN PRIMARY_ID FORMAT A20 TRUNCATED HEADING 'SERVICE'
COLUMN QUALIFIER_ID1 FORMAT A20 TRUNCATED HEADING 'MODULE'
COLUMN QUALIFIER_ID2 FORMAT A20 TRUNCATED HEADING 'ACTION'
SELECT * FROM DBA_ENABLED_AGGREGATIONS ;

次に、出力の例を示します。

AGGREGATION           SERVICE                MODULE        ACTION
------------           --------------------   ----------    -------------
SERVICE_MODULE_ACTION  ERP                    PAYROLL       EXCEPTIONS PAY
SERVICE_MODULE_ACTION  ERP                    PAYROLL
SERVICE_MODULE_ACTION  HOT_BATCH              POSTING

脚注の凡例

脚注 1: 実行時接続ロード・バランシングは、基本的には作業リクエストをセッション・プール内で作業の処理に最も適切なセッションにルーティングする操作です。既存のセッション・プールからセッションを選択すると、有効になります。このため、ランタイム接続ロード・バランシングは、きわめて頻度の高いアクティビティです。

6 Recovery Managerの構成およびアーカイブ

この章では、Oracle Real Application Clusters (Oracle RAC)環境で使用するためのRecovery Manager (RMAN)の構成方法について説明します。Oracle RAC環境でアーカイブを実行するために使用する方法、オンラインREDOログおよびアーカイブREDOログに関する考慮事項についても説明します。

内容は次のとおりです。

- Oracle RACのRMANの構成の概要

- Oracle RACでのアーカイブ・モード

- RMANのスナップショット制御ファイルの位置の構成

- 制御ファイルおよびSPFILEを自動的にバックアップするようなRMANの構成

- 複数のOracle RACノードでのクロスチェック

- Oracle RACでのRMANのチャネルの構成

- Oracle RACでのRMANを使用したアーカイブREDOログの管理

- Oracle RACのアーカイブREDOログ・ファイルの表記規則

- RMANのアーカイブ構成使用例

- アーカイバ・プロセスの監視

Oracle RACのRMANの構成の概要

RMANを使用すると、データ・ファイル、制御ファイル、サーバー・パラメータ・ファイル(SPFILE)およびアーカイブREDOログ・ファイルのバックアップ、リストアおよびリカバリを実行できます。RMANはOracle Databaseに含まれているため、個別にインストールする必要はありません。RMANは、コマンドラインから実行するか、Oracle Enterprise ManagerのBackup Managerで使用できます。

Oracle RACでのアーカイブ・モード

REDOログ・ファイルがアーカイブされるためには、Oracle RACデータベースがARCHIVELOGモードになっている必要があります。データベースがローカル・インスタンスによってマウントされていても、いずれのインスタンスでもオープンされていないため、SQL文ALTER DATABASEを実行すると、Oracle RACでアーカイブ・モードを変更できます。この文を実行するために、パラメータの設定を変更する必要はありません。

注意:

- ARCHIVELOGモードは、インスタンス・レベルではなく、データベース・レベルで設定します。すべてのインスタンスがアーカイブされるか、1つもされないかのどちらかです。

- Oracle Enterprise ManagerのOracle RACデータベースの「ホーム」ページにある「メンテナンス」タブの「リカバリ設定」ページを使用して、アーカイブ・ログ・モードを変更することもできます。

関連項目:
アーカイブ・モードの設定の詳細は、『Oracle Database管理者ガイド』を参照してください。

RMANのスナップショット制御ファイルの位置の構成

スナップショット制御ファイルは、RMANによってオペレーティング・システム固有の位置に作成されるデータベース制御ファイルのコピーです。RMANでは、制御ファイルの一貫性バージョンを保持して、リカバリ・カタログの再同期化時または制御ファイルのバックアップ時に使用できるように、スナップショット制御ファイルを作成します。

クラスタ・ファイル・システムまたはRAWデバイス接続先をスナップショット制御ファイルの位置に指定できます。このファイルはクラスタ内のすべてのノードで共有され、クラスタ内のすべてのノードがアクセスできる必要があります。次のRMANのコマンドを実行して、スナップショット制御ファイルの構成位置を判別します。

SHOW SNAPSHOT CONTROLFILE NAME;

スナップショット制御ファイルの構成位置は変更できます。たとえば、LinuxシステムおよびUNIXシステムの場合は、RMANのプロンプトで次のコマンドを入力し、スナップショット制御ファイルの位置を$ORACLE_HOME/dbs/scf/snap_prod.cfに指定できます。

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '$ORACLE_HOME/dbs/scf/snap_prod.cf';

このコマンドは、クラスタ・データベースのすべてのインスタンスのスナップショット制御ファイルの位置構成をグローバルに設定します。したがって、バックアップを実行するすべてのノードに$ORACLE_HOME/dbs/scfディレクトリがあることを確認してください。

CONFIGUREコマンドを使用すると、複数のRMANセッションにまたがる永続的な設定を作成できます。したがって、スナップショット制御ファイルの位置を変更しないかぎり、再度このコマンドを実行する必要はありません。

スナップショット制御ファイルを削除するには、次に示すように、最初にスナップショット制御ファイルの位置を変更してから、古い位置のファイルを削除する必要があります。

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'new_name';
DELETE COPY OF CONTROLFILE;

関連項目:
スナップショット制御ファイルの構成方法については、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

制御ファイルおよびSPFILEを自動的にバックアップするようなRMANの構成

CONFIGURE CONTROLFILE AUTOBACKUPをONに設定すると、BACKUPコマンドまたはCOPYコマンドの実行後に、制御ファイルとSPFILEのバックアップがRMANによって自動的に作成されます。リカバリを実行する際のインスタンスの起動にSPFILEが必要な場合(SPFILEのデフォルト位置がOracle RACデータベースのすべてのノードで使用可能である必要があるため)、RMANはSPFILEを自動的にリストアすることもできます。

これらの機能は、リカバリ・カタログがない場合でもRMANが制御ファイルをリストアできるため、障害時リカバリでは重要です。リカバリ・カタログと現行の制御ファイルの両方が失われた場合でも、RMANによって、自動バックアップされた制御ファイルをリストアできます。CONFIGURE CONTROLFILE AUTOBACKUP FORMATコマンドを使用すると、RMANによって指定されたこのファイルのデフォルト名を変更できます。このコマンドで絶対パス名を指定する場合、そのパスはバックアップに使用するすべてのノードにも存在している必要があります。

RMANは、最初に割り当てられたチャネルで制御ファイルの自動バックアップを実行します。したがって、異なるパラメータを使用して複数のチャネルを割り当てる場合、特にCONNECTコマンドを使用してチャネルを割り当てる場合は、どのチャネルで制御ファイルの自動バックアップを実行するかを決定する必要があります。そのノードに、常に最初にチャネルを割り当ててください。

RMANの制御ファイルを使用する他に、Oracle Enterprise Managerを使用してRMAN機能を使用することもできます。

関連項目:
制御ファイルの自動バックアップ機能の使用方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

複数のOracle RACノードでのクロスチェック

複数のノードでクロスチェックを実行する場合(およびRMAN全般を操作する場合)、どのノードでバックアップを作成したかに関係なく、すべてのノードからすべてのバックアップにアクセスできるようにクラスタを構成します。クラスタをこのように構成すると、リストアまたはクロスチェックの操作中に、クラスタ内のすべてのノードにチャネルを割り当てられます。

各ノードからすべてのバックアップにアクセスできるようにクラスタを構成できない場合は、リストアおよびクロスチェックの操作中に、CONFIGURE CHANNELコマンドのCONNECTオプションを使用して複数のノードでチャネルを割り当てて、1つ以上のノードからすべてのバックアップにアクセスできるようにする必要があります。バックアップにアクセス可能なノードでチャネルを構成していなかったために、クロスチェック中にバックアップにアクセスできなかった場合、クロスチェック後にRMANリポジトリ内でそのバックアップにEXPIREDのマークが付けられます。

たとえば、クラスタ内の様々なノードでテープ・バックアップが作成され、各バックアップがバックアップを作成したノードでのみ使用可能なOracle RAC構成で、CONFIGURE CHANNEL ... CONNECTを使用できます。詳細は、「特定のノードを使用するようなチャネルの構成」を参照してください。

関連項目:
クロスチェックの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

Oracle RACでのRMANのチャネルの構成

この項では、RMANでチャネルを構成する方法を説明します。次の各項目で説明するように、チャネルは、自動ロード・バランシングを使用するか、特定のインスタンスに特定のチャネルを指定して構成できます。

- 自動ロード・バランシングを使用するようなチャネルの構成

- 特定のノードを使用するようなチャネルの構成

自動ロード・バランシングを使用するようなチャネルの構成

自動ロード・バランシングを使用するようにチャネルを構成するには、次の構文を使用します。

CONFIGURE DEVICE TYPE [disk | sbt] PARALLELISM number_of_channels;
...

number_of_channelsは、この操作に使用するチャネル数です。このワンタイム構成を完了した後、BACKUPコマンドまたはRESTOREコマンドを発行できます。

特定のノードを使用するようなチャネルの構成

ポリシー管理Oracle RACデータベース・インスタンスごとに1つのRMANチャネルを構成するには、次の構文を使用します。

CONFIGURE CHANNEL DEVICE TYPE sbt CONNECT '@racinst_1'
CONFIGURE CHANNEL DEVICE TYPE sbt CONNECT '@racinst_2'
...

このワンタイム構成手順を実行した後、BACKUPコマンドまたはRESTOREコマンドを発行できます。

Oracle RACでのRMANを使用したアーカイブREDOログの管理

ノードでアーカイブREDOログが生成されると、Oracle Databaseはそのログのファイル名を常にターゲット・データベースの制御ファイルに記録します。リカバリ・カタログを使用している場合、アーカイブREDOログのファイル名は、再同期化の実行時にリカバリ・カタログにも記録されます。

あるノードが特定のファイル名でログをファイル・システムに書き込む場合、このアーカイブREDOログにアクセスするすべてのノードに対してそのファイルが読取り可能になっている必要があるため、使用するアーカイブREDOログのネーミング・スキームが重要となります。たとえば、node1が/oracle/arc_dest/log_1_100_23452345.arcにログをアーカイブしている場合、node2は、自身のファイル・システムで/oracle/arc_dest/log_1_100_23452345.arcを読み取ることができる場合にのみ、このアーカイブREDOログをバックアップできます。

選択するバックアップとリカバリの計画は、各ノードのアーカイブ先を構成する方法によって異なります。アーカイブREDOログのバックアップを1つのノードのみで実行するか、全ノードで実行するかに関係なく、すべてのアーカイブREDOログがバックアップされることを確認する必要があります。リカバリ中にRMANのパラレル化を使用する場合、リカバリを実行するノードにはクラスタ内のすべてのアーカイブREDOログに対する読取りアクセス権が必要です。

複数のノードが、アーカイブ・ログをパラレルでリストアできます。ただし、リカバリ中にアーカイブ・ログを適用できるノードは1つのみです。したがって、リカバリを実行中のノードは、リカバリ操作に必要なすべてのアーカイブ・ログにアクセスできる必要があります。デフォルトでは、データベースはパラレル・スレッドの最適数を判断し、リカバリ操作に使用します。RECOVERコマンドのPARALLEL句を使用して、パラレル・スレッドの数を変更できます。

アーカイブREDOログに関するガイドラインおよび考慮事項

アーカイブREDOログに関しては、リカバリ時に(可能な場合はバックアップ時にも)、各ノードからすべてのアーカイブREDOログが読み取れるようにすることが重要です。リカバリ中、アーカイブ・ログの宛先がリカバリを実行するノードから認識可能であれば、Oracle Databaseはアーカイブ・ログのデータを正常にリカバリできます。

Oracle RACのアーカイブREDOログ・ファイルの表記規則

アーカイブREDOログの構成では、LOG_ARCHIVE_FORMATパラメータでアーカイブREDOログを一意に識別します。このパラメータのフォーマットは、オペレーティング・システム固有で、テキスト文字列、1つ以上の変数およびファイル名拡張子を指定できます。

表6-1 アーカイブREDOログ・ファイル名のフォーマット・パラメータ

パラメータ

説明

例

%r

埋込みなしのリセットログ識別子

log_1_62_23452345

%R

左端に0が埋め込まれたリセットログ識別子

log_1_62_0023452345

%s

埋込みなしのログ順序番号

log_251

%S

左端に0が埋め込まれたログ順序番号

log_0000000251

%t

埋込みなしのスレッド番号

log_1

%T

左端に0が埋め込まれたスレッド番号

log_0001

アーカイブREDOログのすべてのファイル名形式パラメータは、大/小文字のいずれも、Oracle RACに必須です。これらのパラメータによって、Oracle Databaseは、すべてのインカネーションのアーカイブ・ログに対して一意の名前を作成できます。この要件は、COMPATIBLEパラメータが10.0以上に設定されている場合に適用されます。

%Rまたは%rパラメータを使用してリセットログ識別子を含め、以前のインカネーションでログが上書きされないようにします。ログのフォーマットを指定しない場合、デフォルトでオペレーティング・システム固有のフォーマットが使用され、%t、%sおよび%rが含まれます。

たとえば、REDOスレッド番号1に対応付けられたインスタンスによって、LOG_ARCHIVE_FORMATがlog_%t_%s_%r.arcに設定されると、そのアーカイブREDOログ・ファイル名は次のようになります。

log_1_1000_23435343.arc
log_1_1001_23452345.arc
log_1_1002_23452345.arc
...

関連項目:
アーカイブREDOログ・ファイル名のフォーマットとアーカイブ先の指定については、『Oracle Database管理者ガイド』を参照してください。デフォルトのログ・アーカイブのフォーマットとアーカイブ先については、プラットフォーム固有のOracle Databaseマニュアルを参照してください。

RMANのアーカイブ構成使用例

この項では、Oracle RACデータベースでのアーカイブの使用例について説明します。この章の2つの構成使用例では、Oracle RACデータベース用の3ノードのUNIXクラスタについて説明します。いずれの使用例でも、リカバリを実行するインスタンスに指定するLOG_ARCHIVE_FORMATは、REDOログ・ファイルをアーカイブするインスタンスに指定したフォーマットと同じである必要があります。

この項の内容は次のとおりです。

- Oracle Automatic Storage Managementおよびクラスタ・ファイル・システムのアーカイブ・スキーム

- 非クラスタ・ファイル・システムのローカル・アーカイブ・スキーム

Oracle Automatic Storage Managementおよびクラスタ・ファイル・システムのアーカイブ・スキーム

Oracle RACで推奨する構成は、データファイル用とは異なるリカバリ・セット用のディスク・グループを使用して、Oracle Automatic Storage Management(Oracle ASM)をリカバリ領域に使用する構成です。Oracle ASMを使用する場合は、Oracle Managed Filesの名前のフォーマットが使用されます。

この構成のかわりに、クラスタ・ファイル・システムのアーカイブ・スキームを使用することもできます。クラスタ・ファイル・システムを使用する場合、各ノードは、REDOログ・ファイルをアーカイブする際にクラスタ・ファイル・システムの1つの場所に書き込みます。各ノードは、他のノードのアーカイブREDOログ・ファイルを読み取ることができます。たとえば、図6-1に示すように、ノード1がREDOログ・ファイルをクラスタ・ファイル・システムの/arc_dest/log_1_100_23452345.arcにアーカイブすると、クラスタの他のノードもこのファイルを読み取ることできます。

関連項目:
リカバリ領域の領域管理およびRMANを使用したアーカイブREDOログのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

図6-1 クラスタ・ファイル・システムのアーカイブ・スキーム

注意:
この例のアーカイブ・ログ名のフォーマットは、クラスタ・ファイル・システムの例のみに適用されます。

クラスタ・ファイル・システムを使用しない場合は、アーカイブREDOログ・ファイルをRAWデバイス上に置くことができません。これは、RAWデバイスでは、連続したアーカイブ・ログ・ファイルの順次書込みができないためです。

クラスタ・ファイル・システムのアーカイブ・スキームのメリット

このスキームには、いずれのノードもログのアーカイブでネットワークを使用しないというメリットがあります。あるノードが書き込んだファイル名はクラスタ内の任意のノードで読み取ることができるため、RMANは、クラスタ内の任意のノードからすべてのログをバックアップできます。各ノードには、すべてのアーカイブREDOログに対するアクセス権があるため、バックアップとリストアのスクリプトが簡素化されます。

クラスタ・ファイル・システムのアーカイブ・スキームに関する初期化パラメータの設定

クラスタ・ファイル・システムのスキームでの各ノードは、クラスタ・データベース内のすべてのインスタンスで同じ名前を使用して識別されるディレクトリにアーカイブします(次の例では/arc_dest)。このディレクトリを構成するには、次の例のようにLOG_ARCH_DEST_1パラメータに値を設定します。

*.LOG_ARCHIVE_DEST_1="LOCATION=/arc_dest"

次のリストは、前述の例に基づいて、RMANのカタログまたは制御ファイルに表示されるアーカイブREDOログ・エントリの例を示しています。すべてのノードが任意のスレッドを使用してログをアーカイブできることに注意してください。

/arc_dest/log_1_999_23452345.arc
/arc_dest/log_1_1000_23435343.arc
/arc_dest/log_1_1001_23452345.arc <- thread 1 archived in node3
/arc_dest/log_3_1563_23452345.arc <- thread 3 archived in node2
/arc_dest/log_2_753_23452345.arc <- thread 2 archived in node1
/arc_dest/log_2_754_23452345.arc
/arc_dest/log_3_1564_23452345.arc

クラスタ・ファイル・システムのアーカイブ・スキームでのアーカイブ・ログの位置

ファイル・システムは共有化されており、各ノードはそのノード自体のアーカイブREDOログをクラスタ・ファイル・システムの/arc_destディレクトリに書き込むため、各ノードはそのノード自体、および他のノードが書き込んだログを読み取ることができます。

非クラスタ・ファイル・システムのローカル・アーカイブ・スキーム

非クラスタ・ファイル・システムにローカルにアーカイブする場合、各ノードは、一意の名前のローカル・ディレクトリにアーカイブします。リカバリが必要な場合は、他のノードのディレクトリにリモートでアクセスできるように、リカバリ・ノードを構成できます。たとえば、LinuxコンピュータおよびUNIXコンピュータのNFSまたはWindowsシステムのマップされたドライブを使用します。したがって、各ノードはローカルの宛先にのみ書き込みますが、他のノード上のリモート・ディレクトリにあるアーカイブREDOログ・ファイルを読み取ることもできます。

非クラスタ・ファイル・システムのローカル・アーカイブの使用に関する考慮事項

メディア・リカバリに非クラスタ・ファイル・システムのローカル・アーカイブを使用する場合、他のノード上のアーカイブ・ディレクトリにあるアーカイブREDOログ・ファイルの読取りができるようにするために、他のノードへのリモート・アクセスのリカバリを実行するノードを構成する必要があります。また、リカバリを実行する際に、使用可能なすべてのアーカイブ・ログがない場合は、アーカイブREDOログの順序番号が欠落している最初の地点まで不完全リカバリを実行する必要があります。このスキームのために特定の構成を使用する必要はありません。ただし、バックアップ処理を複数のノードに分散する最も簡単な方法は、第7章「バックアップおよびリカバリの管理」のバックアップの例に示すとおり、チャネルを構成することです。

注意:
非クラスタの場合は異なるファイル・システムが使用されるため、アーカイブ・ログ・ディレクトリは各ノードで一意である必要があります。たとえば、/arc_dest_1はnode1でのみ使用可能で、/arc_dest_2はnode2にのみ直接マウントされます。
その後、node1は、NFSを介してnode2から/arc_dest_2をマウントし、node3から/arc_dest_3をマウントします。

非クラスタ・ファイル・システムのローカル・アーカイブに関する初期化パラメータの設定

ポリシー管理データベースまたは管理者管理のデータベースの初期化パラメータ・ファイルで、アーカイブ先の値を次のように、設定できます。

次の例に示すように、SID指定子を使用して、各インスタンスにSID.LOG_ARCH_DESTパラメータを設定します。

sid1.LOG_ARCHIVE_DEST_1="LOCATION=/arc_dest_1"
sid2.LOG_ARCHIVE_DEST_1="LOCATION=/arc_dest_2"
sid3.LOG_ARCHIVE_DEST_1="LOCATION=/arc_dest_3"

ポリシー管理データベースでは、ノードおよびインスタンス・バインディングを手動で作成し、次のように、sid1が常に同じノードで動作するようにします。

$ srvctl modify database -d mydb -n node1 -i sid1
$ srvctl modify database -d mydb -n node2 -i sid2
$ srvctl modify database -d mydb -n node3 -i sid3

次のリストは、データベース制御ファイルのアーカイブREDOログ・エントリを示しています。障害発生後にデータベースをリカバリするために、すべてのノードは任意のスレッドからアーカイブREDOログの読取りができる必要があることに注意してください。

/arc_dest_1/log_1_1000_23435343.arc
/arc_dest_2/log_1_1001_23452345.arc <- thread 1 archived in node2
/arc_dest_2/log_3_1563_23452345.arc <- thread 3 archived in node2
/arc_dest_1/log_2_753_23452345.arc <- thread 2 archived in node1
/arc_dest_2/log_2_754_23452345.arc
/arc_dest_3/log_3_1564_23452345.arc

非クラスタ・ファイル・システムのローカル・アーカイブでのアーカイブ・ログの位置

表6-2に示すように、3つのノードそれぞれにはローカルのアーカイブREDOログを含むディレクトリがあります。また、NFSまたはマップされたドライブを介して他のノード上のディレクトリをリモートでマウントしている場合、各ノードには、残りのノードがアーカイブしたアーカイブREDOログ・ファイルをRMANで読み取ることができる、2つのリモート・ディレクトリがあります。

注意:
表6-2に記載されているようなアーカイブ・ログ先は、NFSディレクトリを別のノードにマウントする場合に、既存のアーカイブ・ログ・ディレクトリと競合しないように、各ノードで異なっている必要があります。

表6-2 UNIX/NFSのログの位置の例: 非クラスタ・ファイル・システムのローカル・アーカイブ

ノード

アーカイブREDOログ・ファイルを読み取るディレクトリ

ノードがアーカイブするログ

1

/arc_dest_1

1

1

/arc_dest_2

2(NFSを介して)

1

/arc_dest_3

3(NFSを介して)

2

/arc_dest_1

1(NFSを介して)

2

/arc_dest_2

2

2

/arc_dest_3

3(NFSを介して)

3

/arc_dest_1

1(NFSを介して)

3

/arc_dest_2

2(NFSを介して)

3

/arc_dest_3

3

非クラスタ・ファイル・システムのローカル・アーカイブに関するファイル・システムの構成

リカバリを実行していて、障害が発生しなかったインスタンスが、まだバックアップされていないディスク上のログをすべて読み取る必要がある場合は、表6-3に示すようにNFSを構成する必要があります。

表6-3 共有読取りローカル・アーカイブに関するUNIX/NFSの構成

ノード

ディレクトリ

構成

マウント先

ノード

1

/arc_dest_1

ローカルの読取り/書込み

該当なし

該当なし

1

/arc_dest_2

NFS読取り

/arc_dest_2

2

1

/arc_dest_3

NFS読取り

/arc_dest_3

3

2

/arc_dest_1

NFS読取り

/arc_dest_1

1

2

/arc_dest_2

ローカルの読取り/書込み

該当なし

該当なし

2

/arc_dest_3

NFS読取り

/arc_dest_3

3

3

/arc_dest_1

NFS読取り

/arc_dest_1

1

3

/arc_dest_2

NFS読取り

/arc_dest_2

2

3

/arc_dest_3

ローカルの読取り/書込み

該当なし

該当なし

注意:
Windowsユーザーは、マップされたドライブを使用してこの例と同じ結果を得ることができます。

アーカイバ・プロセスの監視

RMAN構成がOracle RAC環境で操作可能になった後、GV$ARCHIVE_PROCESSESビューとV$ARCHIVE_PROCESSESビューを使用してアーカイバ・プロセスのステータスを判断します。これらのビューには、問合せ対象がグローバル・ビューかローカル・ビューのいずれであるかに従って、すべてのデータベース・インスタンスに関する情報または接続先のインスタンスのみに関する情報がそれぞれ表示されます。

注意:
killコマンドを使用してアーカイバ・プロセスを停止した場合、そのデータベース・インスタンスは失敗します。

関連項目:

- アーカイバ・プロセスの詳細は、『Oracle Database管理者ガイド』を参照してください。

- データベース・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

7 バックアップおよびリカバリの管理

この章では、インスタンス・リカバリおよびRecovery Manager (RMAN)を使用したOracle Real Application Clusters (Oracle RAC)データベースのバックアップおよびリストアの方法について説明します。また、Oracle RACインスタンス・リカバリ、パラレル・バックアップ、SQL*Plusを使用したリカバリ、およびOracle RACでの高速リカバリ領域の使用についても説明します。内容は次のとおりです。

- 非クラスタ・ファイル・システムでのRMANのバックアップ機能の使用例

- Oracle RACでのRMANのリストア機能の使用例

- Oracle RACでのインスタンス・リカバリ

- Oracle RACでのメディア・リカバリ

- Oracle RACでのパラレル・リカバリ

- Oracle RACでの高速リカバリ領域の使用

注意:
Oracle RAC環境でのリストアおよびリカバリでは、リカバリを実行するインスタンスを、すべてのデータ・ファイルをリストアする唯一のインスタンスとしても構成する必要はありません。Oracle RACでは、クラスタのすべてのノードからデータ・ファイルにアクセスできるため、すべてのノードでアーカイブREDOログ・ファイルをリストアできます。

関連項目:
Oracle Cluster Registry(OCR)などのOracle Clusterwareコンポーネントおよび投票ディスクのバックアップおよびリストアについては、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

非クラスタ・ファイル・システムでのRMANのバックアップ機能の使用例

非クラスタ・ファイル・システム環境では、各ノードはローカルにマウントされる非クラスタ・ファイル・システムのディレクトリにのみバックアップできます。たとえば、リモート・アクセスに対応するようにネットワーク・ファイル・システムを構成しないかぎり、node1は、node2またはnode3のアーカイブREDOログ・ファイルへはアクセスできません。バックアップに対応するようにネットワーク・ファイル・システム・ファイルを構成した場合、各ノードはアーカイブREDOログをローカル・ディレクトリにバックアップします。

Oracle RACでのRMANのリストア機能の使用例

この項では、次の一般的なRMANのリストア機能の使用例について説明します。

- クラスタ・ファイル・システムからのバックアップのリストア

- 非クラスタ・ファイル・システムからのバックアップのリストア

- RMANまたはOracle Enterprise Managerを使用したサーバー・パラメータ・ファイル(SPFILE)のリストア

注意:
クラスタ・ファイル・システムのスキームでのリストアおよびリカバリの手順は、非クラスタのOracleの場合とほぼ同じです。

クラスタ・ファイル・システムからのバックアップのリストア

この項で説明するスキームでは、「Oracle Automatic Storage Managementおよびクラスタ・ファイル・システムのアーカイブ・スキーム」が使用されていると仮定します。このスキームでは、node3がクラスタ・ファイル・システムへのバックアップを実行したとします。リストアおよびリカバリ操作にnode3が使用可能で、すべてのアーカイブ・ログがバックアップ済か、ディスク上にある場合は、次のコマンドを実行して完全リカバリを実行します。

RESTORE DATABASE;
RECOVER DATABASE;

バックアップを実行したnode3 が使用できない場合は、残りのノードの1つに対してメディア管理デバイスを構成し、このノードでnode3のバックアップ・メディアを使用可能にします。

注意:
「自動ロード・バランシングを使用するようなチャネルの構成」で説明したとおり、RMANが構成されている場合、ノード間でチャネルをロード・バランスを実行するには、少なくとも1つのインスタンスがデータベースを正常にオープンするまでロード・バランスができないことに注意してください。つまり、データベース全体のリストア中はノード間でチャネルにロード・バランスが実行されることはありません。RESTOREおよびRECOVERコマンド用にチャネルのロード・バランシングをアーカイブするには、次のようなコマンドを実行して、チャネルを一時的に再割当てできます。

run {
ALLOCATE CHANNEL DEVICE TYPE sbt C1 CONNECT '@racinst_1'
ALLOCATE CHANNEL DEVICE TYPE sbt C2 CONNECT '@racinst_2'
...
}

非クラスタ・ファイル・システムからのバックアップのリストア

この項で説明するスキームでは、「非クラスタ・ファイル・システムのローカル・アーカイブ・スキーム」が使用されていると仮定します。このスキームでは、各ノードが異なるディレクトリにローカルでアーカイブします。たとえば、node1は/arc_dest_1に、node2は/arc_dest_2に、node3は/arc_dest_3にアーカイブします。リカバリ・ノードが残りのノードでアーカイブ・ディレクトリを読み取ることができるように、ネットワーク・ファイル・システム・ファイルを構成する必要があります。

すべてのノードが使用可能で、すべてのアーカイブREDOログがバックアップされている場合は、データベースをマウントして任意のノードで次のコマンドを実行することで、完全なリストアおよびリカバリを実行できます。

RESTORE DATABASE;
RECOVER DATABASE;

ネットワーク・ファイル・システム構成では、各ノードにその他のノードのREDOログ・ファイルに対する読取りアクセス権があるため、リカバリ・ノードは、ローカルおよびリモート・ディスクにあるアーカイブREDOログの読取りおよび適用が可能です。手動によるアーカイブREDOログの転送は不要です。

RMANまたはOracle Enterprise Managerを使用したサーバー・パラメータ・ファイル(SPFILE)のリストア

RMANでは、サーバー・パラメータ・ファイルをデフォルト位置または指定された位置にリストアできます。

Oracle Enterprise Managerを使用して、SPFILEをリストアすることもできます。「メンテナンス」タブの「バックアップ/リカバリ」セクションで、「リカバリの実行」をクリックします。「リカバリの実行」リンクは状況依存のリンクであり、データベースがクローズしている場合にのみ、SPFILEのリストアにナビゲートされます。

Oracle RACでのインスタンス・リカバリ

インスタンス障害は、ソフトウェアまたはハードウェアの問題によってインスタンスが無効になった場合に発生します。インスタンス障害の後、Oracle DatabaseはオンラインREDOログ・ファイルを使用して、次の各項で説明するデータベース・リカバリを自動的に実行します。

この項の内容は次のとおりです。

- Oracle RACでの単一ノード障害

- Oracle RACでの複数ノード障害

- Oracle RACでのRMANを使用したバックアップの作成

- 高速接続のノード・アフィニティの認識

- バックアップ完了後のアーカイブREDOログの削除

- バックアップ・コマンドとリストア・コマンドのオートロケーション

Oracle RACでの単一ノード障害

Oracle RACでのインスタンス・リカバリでは、障害が発生したインスタンス上で実行していたアプリケーションのリカバリは実行されません。Oracle Clusterwareがインスタンスを自動的に再起動します。

障害発生前にノードで実行中のアプリケーションは、障害の認識とリカバリの機能を使用して実行を継続します。これによって、ハードウェアまたはソフトウェアに障害が発生しても、一貫性のある連続的なサービスが提供されます。あるインスタンスが別のインスタンスのリカバリを実行する場合、障害が発生しなかったインスタンスは、障害が発生しているインスタンスによって生成されたオンラインREDOログ・エントリを読み取り、その情報を使用して、コミットされたすべてのトランザクションがデータベースに記録されるようにします。したがって、コミットされたトランザクションのデータが失われることはありません。 リカバリを実行中のインスタンスは、障害発生時にアクティブだったトランザクションをロールバックし、それらのトランザクションによって使用されたリソースを解放します。

注意:
すべてのオンラインREDOログは、インスタンスのリカバリのためにアクセスできる必要があります。オンラインREDOログをミラー化することをお薦めします。

Oracle RACでの複数ノード障害

複数ノード障害が発生した場合、障害を受けなかったインスタンスが1つでもあれば、Oracle RACは、障害が発生したすべてのインスタンスに対してインスタンス・リカバリを実行します。Oracle RACデータベースのすべてのインスタンスに障害が発生した場合、Oracle Databaseは、次のインスタンスがデータベースをオープンするときにリカバリを自動的に実行します。リカバリを実行するインスタンスは、Oracle RACデータベースのどのノードからでも、クラスタ・データベースまたは排他モードでデータベースをマウントできます。このリカバリ手順は、1つのインスタンスが、障害が発生したすべてのインスタンスのリカバリを実行するという点以外は、共有モードで実行しているOracle Databaseでも、排他モードで実行しているOracle Databaseでも同じです。

Oracle RACでのRMANを使用したバックアップの作成

Oracle Databaseには、データベースのバックアップおよびリストアを行うRMANがあります。RMANを使用すると、データ・ファイル、制御ファイル、SPFILEおよびアーカイブREDOログのバックアップ、リストアおよびリカバリを実行できます。RMANはOracle Databaseサーバーに含まれているため、デフォルトでインストールされます。RMANは、コマンドラインから実行するか、またはEnterprise ManagerのBackup Managerから使用できます。また、Oracle Automatic Storage Management(Oracle ASM)を使用している場合、バックアップおよびリカバリ・ツールとしてRMANを使用することをお薦めします。Oracle RAC環境でRMANを使用する手順は、非クラスタのOracle環境の場合とほぼ同じです。

関連項目:
非クラスタのRMANのバックアップ手順の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

RMANを使用したクラスタ・インスタンスへのチャネル接続

インスタンスへのチャネル接続は、チャネル構成で定義された接続文字列を使用して判別されます。たとえば、次の構成では、dbauser/pwd@service_nameを使用して3つのチャネルが割り当てられています。ロード・バランシングが有効の状態でSQL Netサービス名を構成した場合、ロード・バランシング・アルゴリズムによって決定されたノードにチャネルが割り当てられます。

CONFIGURE DEVICE TYPE sbt PARALLELISM 3;
CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE CHANNEL DEVICE TYPE SBT CONNECT 'dbauser/pwd@service_name'

ただし、接続文字列で使用されるサービス名がロード・バランシング用ではない場合、次のようにチャネル構成ごとに個別の接続文字列を使用して、どのインスタンスにチャネルを割り当てるかを制御できます。

CONFIGURE DEVICE TYPE sbt PARALLELISM 3;
CONFIGURE CHANNEL 1.. CONNECT 'dbauser/pwd@mydb_1';
CONFIGURE CHANNEL 2.. CONNECT 'dbauser/pwd@mydb_2';
CONFIGURE CHANNEL 3.. CONNECT 'dbauser/pwd@mydb_3';

前述の例では、Oracle RAC環境の定義済ノードに接続するSQL*Netサービス名は、mydb_1、mydb_2およびmydb_3であると仮定しています。また、手動で割り当てたチャネルを使用してデータベース・ファイルをバックアップすることもできます。たとえば、次のコマンドを実行すると、SPFILE、制御ファイル、データ・ファイルおよびアーカイブREDOログがバックアップされます。

RUN
{
ALLOCATE CHANNEL CH1 CONNECT 'dbauser/pwd@mydb_1';
ALLOCATE CHANNEL CH2 CONNECT 'dbauser/pwd@mydb_2';
ALLOCATE CHANNEL CH3 CONNECT 'dbauser/pwd@mydb_3';
BACKUP DATABASE PLUS ARCHIVED LOG;
}

少なくとも1つの割り当てられたチャネルからアーカイブ・ログにアクセス可能であれば、バックアップ操作中、RMANはそのチャネル上の特定のログのバックアップを自動的にスケジュールします。制御ファイル、SPFILEおよびデータ・ファイルはどのチャネルからでもアクセス可能であるため、これらのファイルのバックアップ操作は、割り当てられたチャネル間で分散されます。

ローカル・アーカイブ・スキームの場合、ローカル・アーカイブ・ログに記録するすべてのノードに1つ以上のチャネルが割り当てられている必要があります。クラスタ・ファイル・システムのアーカイブ・スキームでは、すべてのノードがアーカイブ・ログを同じクラスタ・ファイル・システムに書き込む場合、そのアーカイブ・ログのバックアップ操作は、割り当てられたチャネル間で分散されます。

バックアップの実行中は、チャネルの接続先インスタンスは、すべてマウントされているか、すべてオープン状態である必要があります。たとえば、node2とnode3のインスタンスにはオープン状態のデータベースがあるが、node1のインスタンスにマウントされたデータベースがある場合は、バックアップに失敗します。

関連項目:
CONFIGURE CHANNEL文のCONNECT句の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

高速接続のノード・アフィニティの認識

一部のクラスタ・データベース構成では、クラスタの一部のノードは、他のデータファイルに対するアクセスよりもより高速に特定のデータファイルにアクセスします。RMANはこの状況を自動的に検出し、これはノード・アフィニティの認識と呼ばれます。特定のデータファイルのバックアップに使用するチャネルを決定する際に、RMANは、バックアップするデータファイルに高速にアクセスするノードを優先します。たとえば、3ノードのクラスタがあり、node1がデータファイル7、8および9に対して他のノードより高速に読取りおよび書込みアクセスを行う場合、node1はnode2およびnode3に比べて、これらのファイルに対するノード・アフィニティが高いと言えます。

バックアップ完了後のアーカイブREDOログの削除

「RMANを使用したクラスタ・インスタンスへのチャネル接続」の説明に従って自動チャネルを構成した場合、次の例を使用してn回バックアップしたアーカイブ・ログを削除できます。デバイス・タイプは、DISKまたはSBTになります。

DELETE ARCHIVELOG ALL BACKED UP n TIMES TO DEVICE TYPE device_type;

少なくとも1つの割り当てられたチャネルからアーカイブ・ログにアクセス可能であれば、削除操作中、RMANはそのチャネル上の特定のログの削除を自動的にスケジュールします。ローカル・アーカイブ・スキームの場合、アーカイブ・ログを削除できる1つ以上のチャネルが割り当てられている必要があります。クラスタ・ファイル・システムのアーカイブ・スキームでは、すべてのノードが同じクラスタ・ファイル・システムのアーカイブ・ログに記録すると仮定して、割り当てられた任意のチャネルからアーカイブ・ログはを削除できます。

自動チャネルを構成していない場合、次のようにメンテナンス・チャネルを手動で割り当てて、アーカイブ・ログを削除できます。

ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT 'SYS/oracle@node1';
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT 'SYS/oracle@node2';
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT 'SYS/oracle@node3';
DELETE ARCHIVELOG ALL BACKED UP n TIMES TO DEVICE TYPE device_type;

バックアップ・コマンドとリストア・コマンドのオートロケーション

RMANは、バックアップまたはリストアが必要なすべてのファイルのオートロケーションを自動的に実行します。非クラスタ・ファイル・システムのローカル・アーカイブ・スキームを使用している場合、各ノードが読み取ることができるのは、そのノードのインスタンスによって生成されたアーカイブREDOログのみです。RMANは、アーカイブREDOログを読み取れない場合、チャネルでのログのバックアップを試行しません。

リストアの操作時に、RMANはバックアップのオートロケーションを自動的に実行します。ノードにバックアップされたファイルのリストアが試行されるのは、特定のノードに接続されているチャネルのみです。たとえば、ログ順序番号1001はnode1に連結されているドライブにバックアップされ、ログ1002はnode2に連結されているドライブにバックアップされるとします。各ノードに接続するチャネルを割り当てる場合、node1に接続されたチャネルは(ログ1002ではなく)ログ1001をリストアでき、node2に接続されたチャネルは(ログ1001ではなく)ログ1002をリストアできます。

Oracle RACでのメディア・リカバリ

メディア・リカバリは、クライアント・アプリケーションを介してユーザーが起動する必要がありますが、インスタンス・リカバリは、データベースによって自動的に実行されます。この場合、RMANを使用してデータファイルのバックアップをリストアしてから、データベースをリカバリします。Oracle RAC環境でのRMANのメディア・リカバリ手順は、非クラスタ環境のメディア・リカバリ手順とほぼ同じです。

リカバリを実行するノードは、必要なデータ・ファイルをすべてリストアできることが必要です。また、このノードは、ディスク上の必要なアーカイブREDOログをすべて読み取ることができるか、バックアップしたデータ・ファイルをリストアできることが必要です。

暗号化された表領域を使用してデータベースをリカバリする場合(SHUTDOWN ABORTまたはデータベース・インスタンスをダウンさせた重大なエラーの発生後など)、リカバリ・プロセスでデータ・ブロックおよびREDOを復号できるように、データベースのマウント後、データベースを開く前にOracleウォレットを開く必要があります。

Oracle RACでのパラレル・リカバリ

Oracle Databaseでは、インスタンス・リカバリ、クラッシュ・リカバリ、メディア・リカバリの最適な並列度は自動的に選択されます。CPUの可用性に基づいたパラレル・プロセスの最適な数を使用して、アーカイブREDOログが適用されます。次の項目で説明するように、Oracle RACデータベースでは、パラレル・インスタンス・リカバリおよびパラレル・メディア・リカバリを使用できます。

- RMANを使用したパラレル・リカバリ

- パラレル・リカバリの無効化

関連項目:
詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

RMANを使用したパラレル・リカバリ

RMANのRESTOREおよびRECOVERコマンドを使用すると、次に示す3段階のリカバリ・プロセスが自動的にパラレル化されます。

データ・ファイルのリストア データ・ファイルをリストアする場合、RMANのリカバリ・スクリプトに割り当てられているチャネル数によって、RMANが使用するパラレル化が効果的に設定されます。たとえば、5つのチャネルを割り当てると、最大5つのパラレル・ストリームでデータ・ファイルをリストアできます。

増分バックアップの適用 同様に、増分バックアップを適用する場合、割り当てるチャネル数によって潜在的なパラレル化が決定されます。

アーカイブREDOログの適用 RMANでは、アーカイブREDOログの適用は、パラレルに実行されます。Oracle Databaseでは、使用可能なCPUリソースに基づいて最適な並列度が自動的に選択されます。

パラレル・リカバリの無効化

次の項目の手順を使用して、パラレル・リカバリを無効にできます。

- パラレル・インスタンス・リカバリおよびパラレル・クラッシュ・リカバリの無効化

- パラレル・メディア・リカバリの無効化

パラレル・インスタンス・リカバリおよびパラレル・クラッシュ・リカバリの無効化

複数CPUのシステムでパラレル・インスタンス・リカバリおよびパラレル・クラッシュ・リカバリを無効にするには、データベースの初期化パラメータ・ファイル(SPFILE)の RECOVERY_PARALLELISMパラメータを0(ゼロ)または1に設定します。

パラレル・メディア・リカバリの無効化

RMANのRECOVERコマンドまたはALTER DATABASE RECOVER文のNOPARALLEL句を使用すると、Oracle Databaseで強制的に非パラレル・メディア・リカバリが使用されます。

Oracle RACでの高速リカバリ領域の使用

Oracle RACで高速リカバリ領域を使用するには、Oracle ASMディスク・グループ、クラスタ・ファイル・システムまたは各Oracle RACインスタンスのネットワーク・ファイル・システム・ファイルで構成される共有ディレクトリに配置される必要があります。つまり、高速リカバリ領域はOracle RACデータベースのすべてのインスタンス間で共有される必要があります。また、すべてのインスタンスに対してDB_RECOVERY_FILE_DESTパラメータに同じ値を設定します。

Oracle Enterprise Managerを使用すると、高速リカバリ領域を設定できます。この機能を使用するには、次の手順を実行します。

1. クラスタ・データベースの「ホーム」ページで、「メンテナンス」タブをクリックします。

2. 「バックアップ/リカバリ」オプション・リストから、「リカバリ設定の構成」をクリックします。

3. ページの「高速リカバリ領域」セクションで、要件を指定します。

4. 詳細は、このページの「ヘルプ」をクリックしてください。

関連項目:
高速リカバリ領域の設定および構成の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

8 新規クラスタのノードへのOracle RACのクローニング

この章では、LinuxおよびUNIXシステムで、Oracle Real Application Clusters(Oracle RAC)データベース・ホームを新規クラスタのノードにクローニングする方法について説明します。Oracle RACを既存クラスタのノードに拡張するには、第9章「クローニングを使用した同じクラスタのノードへのOracle RACの拡張」を参照してください。

この章では、スクリプトを使用して実装する非対話式のクローニング技術について説明します。この章で説明するクローニング技術は、複数の同時クラスタ・インストールを実行する場合に最適です。スクリプトの作成は手動プロセスであり、間違いが発生する可能性があります。1つのクラスタのみをインストールする場合は、Oracle Universal InstallerやOracle Enterprise ManagerのProvisioning Pack機能などの従来の自動化された対話式のインストール方法を使用してください。

注意:
クローニングは、Provisioning Packに含まれるOracle Enterprise Managerクローニングにかわるものではありません。Oracle Enterprise Managerクローニングの間、プロビジョニング・プロセスでは、Oracleホームに関する詳細(クローニングのデプロイ先の位置、Oracle Databaseホームの名前、クラスタ内のノードのリストなど)が対話式で確認されます。
Oracle Enterprise Manager Grid ControlのProvisioning Pack機能のフレームワークによって、新規ノードおよびクラスタのプロビジョニングを簡単に自動化できます。多数のOracle RACクラスタを持つデータ・センターの場合、既存のクラスタへの新規クラスタおよび新規ノードのプロビジョニングを簡素化するクローニング手順を作成しておくと有効です。

内容は次のとおりです。

- Oracle RACのクローニングの概要

- Oracle RACのクローニングの準備

- クラスタのノードへのOracle RACのクローニングのデプロイ

- クローニング時に生成されたログ・ファイルの検索および表示

Oracle RACのクローニングの概要

クローニングとは、既存のOracle RACインストールを別の位置にコピーし、コピーしたインストールを新しい環境で動作するように更新するプロセスのことです。ソースOracleホームで適用された1回限りのパッチによって行われた変更は、クローニング操作後も存在します。ソース・パスと宛先パス(クローニング対象のホスト)は同じである必要はありません。

クローニングは、次のような状況で役立ちます。

- クローニングによって、Oracleホームを一度準備してから、同時に多数のホストにデプロイできます。非対話形式のプロセスとして、インストールをサイレントに完了できます。グラフィカル・ユーザー・インタフェース(GUI)のコンソールを使用する必要がなく、必要に応じて、セキュア・シェル(SSH)・ターミナル・セッションからクローニングを実行できます。

- クローニングでは、すべてのパッチを1つの手順で適用してインストール(本番、テストまたは開発インストールのコピー)を作成できます。ベースとなるインストールを実行し、すべてのパッチ・セットとパッチをソース・システムに適用した後、これらの個々の手順のすべてを1つの手順としてクローニングで実行します。この方法は、インストール、構成およびクラスタの各ノードでのインストールへのパッチ適用の手順を個別に実行するインストール・プロセスとは大幅に異なっています。

- クローニングによるOracle RACのインストールは、非常に迅速なプロセスです。たとえば、3つ以上のノードの新規クラスタにOracleホームをクローニングする場合、Oracleベース・ソフトウェアのインストールに数分と各ノードに対して数分ずつ必要となります(root.shスクリプトの実行に要する時間とほぼ同じ)。

クローン・インストールは、ソース・インストールと同様に動作します。たとえば、クローンOracleホームは、Oracle Universal Installerを使用して削除したり、OPatchを使用してパッチを適用することができます。また、クローンOracleホームを別のクローニング操作のソースとして使用することもできます。コマンドライン・クローニング・スクリプトを使用して、テスト、開発または本番インストールのクローン・コピーを作成できます。デフォルトのクローニング手順は、ほとんどの使用例に適しています。ただし、カスタム・ポート割当ての指定やカスタム設定の保存など、クローニングの様々な側面をカスタマイズすることもできます。

クローニング・プロセスでは、ソースOracleホームから宛先Oracleホームにすべてのファイルがコピーされます。このため、ソースOracleホームのディレクトリ構造外にあるソース・インスタンスによって使用されるすべてのファイルは、宛先位置にコピーされません。

ソースと宛先でバイナリのサイズが異なる場合がありますが、これは、これらがクローン操作の一部として再リンクされており、これら2つの位置のオペレーティング・システムのパッチ・レベルが異なっていることがあるためです。また、いくつかのファイルがソースからコピーされることによって、特にインスタンス化されたファイルはクローン操作の一部としてバックアップされるため、クローン・ホームのファイルの数が増える場合があります。

Oracle RACのクローニングの準備

準備フェーズでは、Oracleホームのコピーを作成し、次にそのコピーを使用して1つ以上のノードでクローニング手順を実行します。Oracle Clusterwareもインストールします。

手順1   Oracle RACのインストール

『Oracle Real Application Clustersインストレーション・ガイド』に従って、Oracle RACソフトウェアおよびパッチをインストールします。

1. Oracle RACをインストールし、ソフトウェアのみインストール・オプションを選択します。

2. リリースに必要なレベル(11.2.0.nなど)のパッチを適用します。

3. 必要に応じて、1回限りのパッチを適用します。

手順2   ソース・ホームのバックアップの作成

Oracle RACホームのコピーを作成します。このファイルを使用して、Oracle RACホームをクラスタ内の各ノードにコピーします(「クラスタのノードへのOracle RACのクローニングのデプロイ」を参照)。

バックアップ(tar)ファイルを作成する場合は、ファイルの名前にリリース番号を含めることをお薦めします。次に例を示します。

# cd /opt/oracle/product/11g/db_1
# tar –zcvf /pathname/db1120.tgz .

手順3   Oracle Clusterwareのインストールおよび起動

クローニングを使用してOracle RACホームを作成する前に、クローニングされたOracle RACホームをコピーするノードにOracle Clusterwareをインストールし、起動しておく必要があります。つまり、元のノードでOracle ClusterwareとOracle RACソフトウェア・コンポーネントをインストールしたときと同じ順序で、ソース・クラスタからターゲット・クラスタのノードにクローニングしたOracle RACホームを構成します。

関連項目:
Oracle Clusterwareホームのクローニングによる新規クラスタの作成およびcrsctl start crsコマンドの発行によるOracle Clusterwareの起動については、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

クラスタのノードへのOracle RACのクローニングのデプロイ

「Oracle RACのクローニングの準備」の項で説明した前提条件のタスクを完了した後、クローニングしたOracleホームをデプロイできます。

Oracle RACデータベース・ホームのクラスタへのデプロイは、複数の手順によるプロセスです。

この項では、次の各手順を実行する方法について説明します。

1. 新規クラスタ・ノードの準備

2. Oracle RACデータベース・ソフトウェアのデプロイ

3. 各ノードでのclone.plスクリプトの実行

4. 各ノードでの$ORACLE_HOME/root.shスクリプトの実行

5. 1つのノードでのDBCAの実行による各ノードのOracle RACインスタンスの作成

手順1   新規クラスタ・ノードの準備

次のようなOracle RACのインストール前の手順を実行します。

- カーネル・パラメータを指定します。

- Oracle Clusterwareがアクティブであることを確認します。

- Oracle ASMがアクティブであり、少なくとも1つのOracle ASMディスク・グループが存在し、マウント済であることを確認します。

インストール前のチェックリストについては、ご使用のプラットフォーム固有のOracle RACのインストレーション・ガイドを参照してください。

手順2   Oracle RACデータベース・ソフトウェアのデプロイ

Oracle RACソフトウェアをデプロイするには、次の手順を実行する必要があります。

1. Oracleホームのクローンをすべてのノードにコピーします。次に例を示します。

[root@node1 root]# mkdir -p /opt/oracle/product/11g/db
[root@node1 root]# cd /opt/oracle/product/11g/db
[root@node1 db]# tar –zxvf /path_name/db1120.tgz

ホームの位置とpath_nameの指定では、ホームの位置を、tarの作成に使用したソース・ホームと同じディレクトリ・パスにすることも、異なるディレクトリ・パスにすることもできます。

2. oracleユーザーまたはoinstallグループ(あるいはその両方)が、ソース・ノードと宛先ノード間で異なる場合は、次のように、Oracle Inventoryファイルの所有権を変更します。

[root@node1]# chown -R oracle:oinstall /opt/oracle/product/11g/db

Gridホームで前述のコマンドを実行すると、Oracleバイナリからsetuidとsetgidの情報が消去されます。

注意:
この手順は、各クラスタ・ノードでclone.plスクリプトおよび$ORACLE_HOME/root.shスクリプトを実行する手順3および4と同時に実行できます。

手順3   各ノードでのclone.plスクリプトの実行

主なOracle RACクローニング・タスクを実行するclone.plスクリプトを実行するには、次の操作を行う必要があります。

- 表8-2および表8-3に示すように、start.shスクリプトに環境変数とクローニング・パラメータを指定します。clone.plスクリプトでは、渡されるパラメータが厳密に識別されるため、括弧、一重引用符および二重引用符を正確に使用する必要があります。

- oracleまたはOracle RACソフトウェアを所有するユーザーとしてスクリプトを実行します。

表8-1に、clone.plスクリプト・パラメータとその説明を示します。

表8-1 clone.plスクリプト・パラメータ

パラメータ

説明

ORACLE_HOME=Oracle_home

クローニングするOracleホームへの完全なパス。無効なパスを指定すると、スクリプトが終了します。このパラメータは必須です。

ORACLE_BASE=ORACLE_BASE

クローニングするOracleベースへの完全なパス。無効なパスを指定すると、スクリプトが終了します。このパラメータは必須です。

ORACLE_HOME_NAME=
Oracle_home_name |
-defaultHomeName

クローニングするホームのOracleホーム名。オプションで、-defaultHomeNameフラグを指定できます。このパラメータはオプションです。

OSDBA_GROUP=group_name

OSDBA権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータはオプションです。

OSOPER_GROUP=group_name

OSOPER権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータはオプションです。

OSASM_GROUP=group_name

OSASM権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータはオプションです。

-O

clone.plスクリプトによって、このフラグに続く内容がOracle Universal Installerのコマンドラインに渡されます。

-debug

このオプションは、clone.plスクリプトをデバッグ・モードで実行する場合に指定します。

-help

このオプションは、clone.plスクリプトのヘルプを表示する場合に指定します。

例8-1に、clone.plスクリプトをコールするstart.shスクリプトからの抜粋を示します。

例8-1 Oracle RACをクローニングするstart.shスクリプトからの抜粋(LinuxおよびUNIX)

ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/11g/db
cd $ORACLE_HOME/clone
THISNODE=&rsquor;hostname -s&rsquor;

E01=ORACLE_HOME=/opt/oracle/product/11g/db
E02=ORACLE_HOME_NAME=OraDBRAC
E03=ORACLE_BASE=/opt/oracle
C01="-O'\"CLUSTER_NODES={node1, node2}\"'"
C02="-O'\"LOCAL_NODE=$THISNODE\"'"

perl $ORACLE_HOME/clone/bin/clone.pl $E01 $E02 $E03 $C01 $C02

例8-2に、ユーザーが作成する必要があり、clone.plスクリプトをコールするstart.batスクリプトからの抜粋を示します。

例8-2 Oracle RACをクローニングするstart.batスクリプトからの抜粋(Windows)

set ORACLE_home=C:\oracle\product\11g\db1
cd %ORACLE_home%\clone\bin
set THISNODE=%hostname%
set E01=ORACLE_HOME=%ORACLE_home%
set E02=ORACLE_HOME_NAME=OraDBRAC
set E03=ORACLE_BASE=Oracle_Base
set C01="-O'\"CLUSTER_NODES={node1,node2}\"'"
set C02="-O'\"LOCAL_NODE=%THISNODE%\"'"
perl clone.pl %E01% %E02% %E03% %C01% %C02%

表8-2に、例8-1に太字体で示されている環境変数E01、E02およびE03を示します。

表8-2 clone.plスクリプトに渡される環境変数

記号

変数

説明

E01

ORACLE_HOME

Oracle RACデータベース・ホームの位置。このディレクトリ位置が存在し、Oracleオペレーティング・システム・グループoinstallによって所有されている必要があります。

E02

ORACLE_HOME_NAME

Oracle RACデータベースのOracleホームの名前。Oracleインベントリに格納されています。

E03

ORACLE_BASE

Oracleベース・ディレクトリの位置。

表8-3に、例8-1に太字体で示されているクローニング・パラメータC01およびC02を示します。

表8-3 clone.plスクリプトに渡されるクローニング・パラメータ

変数

名前

パラメータ

説明

C01

クラスタ・ノード

CLUSTER_NODES

クラスタ内のノードのリストを表示します。

C02

ローカル・ノード

LOCAL_NODE

ローカル・ノードの名前。

手順4   各ノードでの$ORACLE_HOME/root.shスクリプトの実行

注意:
この手順は、LinuxおよびUNIXのインストールに対してのみ実行します。

ノードでclone.plプロシージャが完了した後、すぐにrootオペレーティング・システム・ユーザーとして$ORACLE_HOME/root.shを実行します。

[root@node1 root]# /opt/oracle/product/11g/db/root.sh -silent

各ノードでスクリプトを同時に実行できます。

[root@node2 root]# /opt/oracle/product/11g/db/root.sh -silent

各ノードでスクリプトが完了していることを確認し、次の手順に進みます。

手順5   1つのノードでのDBCAの実行による各ノードのOracle RACインスタンスの作成

注意:
すべてのノードのOracle RACインスタンスを作成する場合、クラスタの1つのノードでDBCAを実行するだけで済みます。

この手順では、DBCAをサイレント・モードで実行し、レスポンス・ファイルに入力してOracle RACインスタンスを作成する方法を示します。

次の例では、ERIという名前のOracle RACデータベースを各ノードで作成し、各ノードにデータベース・インスタンスを作成し、そのインスタンスをOCRに登録し、DATAと呼ばれるOracle ASMディスク・グループにデータベース・ファイルを作成し、サンプル・スキーマを作成します。また、SYS、SYSTEM、SYSMANおよびDBSNMPパスワードをpassword(各アカウントのパスワード)に設定します。

[oracle@node1 oracle]$ export ORACLE_HOME=/opt/oracle/product/11g/db
[oracle@node1 oracle]$ cd $ORACLE_HOME/bin/
[oracle@node1 bin]$./dbca -silent -createDatabase -templateName General_Purpose.dbc \
-gdbName ERI -sid ERI \
-sysPassword password -systemPassword password \
-sysmanPassword password -dbsnmpPassword password \
-emConfiguration LOCAL \
-storageType ASM -diskGroupName DATA \
-datafileJarLocation $ORACLE_HOME/assistants/dbca/templates \
-nodelist node1,node2 -characterset WE8ISO8859P1 \
-obfuscatedPasswords false -sampleSchema true

関連項目:
DBCAを使用したデータベースの作成と構成の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

クローニング時に生成されたログ・ファイルの検索および表示

クローニング・スクリプトは複数のツールを実行し、それぞれが独自にログ・ファイルを生成する可能性があります。clone.plスクリプトの実行が終了した後、ログ・ファイルを参照して、クローニング・プロセスに関する詳細情報を入手できます。

クローニング時に生成された次のログ・ファイルは、診断のための主要なログ・ファイルです。

- Central_Inventory/logs/cloneActionstimestamp.log
クローニングのOracle Universal Installerの部分で発生したアクションの詳細なログが含まれます。

- Central_Inventory/logs/oraInstalltimestamp.err
Oracle Universal Installerの実行時に発生したエラーに関する情報が含まれます。

- Central_Inventory/logs/oraInstalltimestamp.out
Oracle Universal Installerによって生成されたその他のメッセージが含まれます。

- $ORACLE_HOME/clone/logs/clonetimestamp.log
クローニング前とクローニング操作中に発生したアクションの詳細なログが含まれます。

- $ORACLE_HOME/clone/logs/errortimestamp.log
クローニング前とクローニング操作中に発生したエラーに関する情報が含まれます。

表8-4に、Oracleインベントリ・ディレクトリの位置を確認する方法を示します。

表8-4 Oracleインベントリ・ディレクトリの位置の確認

システムのタイプ

Oracleインベントリ・ディレクトリの位置

LinuxおよびIBM AIXを除くすべてのUNIXコンピュータ

/var/opt/oracle/oraInst.loc

IBM AIXおよびLinux

/etc/oraInst.locファイル。

Windows

C:\Program Files\Oracle\Inventory

9 クローニングを使用した同じクラスタのノードへのOracle RACの拡張

この章では、クローニングを使用してOracle Real Application Clusters(Oracle RAC)を既存クラスタのノードに拡張する方法について説明します。Oracle RACを新規クラスタのノードに追加する場合は、第8章「新規クラスタのノードへのOracle RACのクローニング」を参照してください。

内容は次のとおりです。

- Oracle RAC環境でのクローニングを使用したノードの追加について

- LinuxおよびUNIXシステムでのローカルOracleホームのクローニング

- LinuxおよびUNIXシステムでの共有Oracleホームのクローニング

- WindowsシステムでのOracleホームのクローニング

関連項目:

- クローニングの概要およびクローニングのメリットについては、「Oracle RACのクローニングの概要」を参照してください。

- クラスタへのノードの追加の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle RAC環境でのクローニングを使用したノードの追加について

クローニング手順は、ノードおよびインスタンスを追加するOracle RAC環境が正常にインストールされ、構成されていることを前提としています。クローニングを使用してOracle RAC環境にノードを追加するには、まず、Oracle Clusterware構成を拡張し、次にOracle RACによってOracle Databaseソフトウェアを拡張し、Oracle Assistantを実行してリスナーとインスタンスを追加します。

クローニング・スクリプトは複数のツールを実行し、それぞれが独自にログ・ファイルを生成する可能性があります。clone.plスクリプトの実行が終了した後、ログ・ファイルを参照して、クローニング・プロセスに関する詳細情報を入手できます。詳細は、「クローニング時に生成されたログ・ファイルの配置と表示」を参照してください。

LinuxおよびUNIXシステムでのローカルOracleホームのクローニング

この項では、LinuxおよびUNIXシステム環境でローカル(非共有)Oracleホームをクローニングして、既存のOracle RAC環境にノードを追加する方法について説明します。

Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次の手順を実行します。

1. Oracleホームのコピーを作成し、このコピーを使用して1つ以上のノードでクローニング手順を実行するには、「Oracle RACのクローニングの準備」の手順に従ってください。

2. tarユーティリティを使用して、既存ノードでOracleホームのアーカイブを作成し、それを新規ノードにコピーします。ソース・ノードのOracleホームの場所が$ORACLE_HOMEである場合は、これと同じディレクトリを新規ノード上のコピー先として使用する必要があります。

3. 新規ノードで、環境変数ORACLE_HOMEおよびORACLE_BASEを構成します。次に、$ORACLE_HOME/clone/binディレクトリに移動し、次のコマンドを実行しますが、ここで、existing_nodeはクローニングするノードの名前、new_node2およびnew_node3は新規ノードの名前、Oracle_home_nameはOracleホームの名前です。

perl clone.pl '-O"CLUSTER_NODES={existing_node,new_node2,new_node3}"'
'-O"LOCAL_NODE=new_node2"' ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME
ORACLE_HOME_NAME=Oracle_home_name '-O-noConfig'

注意:
このコマンドをWindowsで実行する場合は、-Oオプションを使用しないでください。

4. 次のコマンドを実行し、新規ノードでOracle RACを構成するためのConfiguration Assistantを実行します。

$ORACLE_HOME/cfgtoollogs/configToolFailedCommands

このスクリプトには、インストール中に失敗、スキップまたはキャンセルされたすべてのコマンドが含まれています。このスクリプトは、Oracle Universal Installer外でデータベース構成アシスタントを実行するために使用できます。スクリプトの実行前に、スクリプト内のパスワードを更新する必要があるかどうかを確認してください。

5. 既存ノードで、$ORACLE_HOME/oui/binディレクトリから次のコマンドを実行し、Oracle RACを含むOracle Databaseホーム(Oracle_homeで指定)のインベントリを更新します。existing_nodeはクローニング元のノードの名前、new_node2およびnew_node3は新規ノードの名前です。

./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_
NODES={existing_node,new_node2,new_node3}"

6. それぞれの新規ノードで、$ORACLE_HOMEディレクトリに移動し、次のコマンドを実行します。

./root.sh

7. クローニングしたノードから、Database Configuration Assistant(DBCA)を実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。

LinuxおよびUNIXシステムでの共有Oracleホームのクローニング

この項では、LinuxおよびUNIXシステム環境で共有Oracleホームをクローニングして、既存のOracle RAC環境にノードを追加する方法について説明します。

Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次の手順を実行します。

1. Oracleホームのコピーを作成し、このコピーを使用して1つ以上のノードでクローニング手順を実行するには、「Oracle RACのクローニングの準備」の手順に従ってください。

2. 新規ノードで、環境変数ORACLE_HOMEおよびORACLE_BASEを構成します。次に、$ORACLE_HOME/clone/binディレクトリに移動し、次のコマンドを実行しますが、ここで、existing_nodeはクローニングするノードの名前、new_node2およびnew_node3は新規ノードの名前、Oracle_home_nameはOracleホームの名前で、-O-cfsオプションはOracleホームが共有されていることを示します。

perl clone.pl '-O"CLUSTER_NODES={existing_node,new_node2,new_node3}"'
'-O"LOCAL_NODE=new_node2"' ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME
ORACLE_HOME_NAME=Oracle_home_name '-O-noConfig' '-O-cfs'

注意:
このコマンドをWindowsで実行する場合は、-Oオプションを使用しないでください。

3. 次のコマンドを実行し、新規ノードでOracle RACを構成するためのConfiguration Assistantを実行します。

$ORACLE_HOME/cfgtoollogs/configToolFailedCommands

4. 既存ノードで、$ORACLE_HOME/oui/binディレクトリから次のコマンドを実行し、Oracle RACを含むOracle Databaseホーム(Oracle_homeで指定)のインベントリを更新します。existing_nodeはクローニング元のノードの名前、new_node2およびnew_node3は新規ノードの名前です。

./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_
NODES={existing_node,new_node2,new_node3}"

5. それぞれの新規ノードで、$ORACLE_HOMEディレクトリに移動し、次のコマンドを実行します。

./root.sh

6. クローニングしたノードから、Database Configuration Assistant(DBCA)を実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。

WindowsシステムでのOracleホームのクローニング

この項では、Windowsシステム環境で共有またはローカルOracleホームをクローニングして、既存のOracle RAC環境にノードを追加する方法について説明します。

Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次の手順を実行します。

1. ローカルOracleホームがある場合は、ZIPユーティリティを使用して、既存ノードでOracle RACを含むOracle Databaseホームのアーカイブを作成し、それを新規ノードにコピーします。使用していない場合は次の手順に進みます。
ZIPファイルのOracle DatabaseとOracle RACのホームのファイルを、新規ノードで同じディレクトリ(既存ノードでOracle RACとともにOracle Databaseホームが配置されていた場所)に解凍します。たとえば、新規ノードのコピー先のOracle RACのホームの場所を%ORACLE_HOME%とします。

2. 新規ノードで、%ORACLE_HOME%\clone\binディレクトリに移動し、次のコマンドを実行します。Oracle_HomeはOracle Databaseホーム、Oracle_Home_NameはOracle Databaseホームの名前、Oracle_BaseはOracleベース・ディレクトリ、existing_nodeは既存のノードの名前、new_nodeは新規ノードの名前です。

perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base
ORACLE_HOME_NAME=Oracle_Home_Name -O'"CLUSTER_NODES={existing_node,new_node}"'
-O'"LOCAL_NODE=new_node"'

注意:
このコマンドをWindowsで実行する場合は、-Oオプションを使用しないでください。

Oracle RACを含む共有Oracle Databaseホームがある場合は、コマンドに-cfsオプションを追加し、Oracleホームが共有されていることを示します。次に例を示します。

perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base
ORACLE_HOME_NAME=Oracle_Home_Name -O'"CLUSTER_NODES={existing_node,new_node}"'
-O'"LOCAL_NODE=new_node"' '-O-noConfig' '-O-cfs'

注意:
このコマンドをWindowsで実行する場合は、-Oオプションを使用しないでください。

3. 既存ノードで、%ORACLE_HOME%\oui\binディレクトリから次のコマンドを実行し、Oracle_homeで指定されるOracle RACを含むOracle Databaseホームのインベントリを更新します。existing_nodeは既存ノードの名前、new_nodeは新規ノードの名前です。

setup.exe -updateNodeList ORACLE_HOME=Oracle_home "CLUSTER_NODES={existing_node,new_node}" LOCAL_NODE=existing_node

4. クローニングしたノードから、DBCAを実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。

10 LinuxおよびUNIXシステムのノードでのOracle RACの追加と削除

この章では、既存のOracle Real Application Clusters(Oracle RAC)ホームを他のノードおよびクラスタ内のインスタンスに拡張し、Oracle RACをノードおよびクラスタ内のインスタンスから削除する方法について説明します。LinuxおよびUNIXシステムの場合の手順について説明します。

既存のOracle RACホームをクローニングし、クラスタ全体で複数の新規Oracle RACインストールを作成する場合は、第8章「新規クラスタのノードへのOracle RACのクローニング」に示すクローニング手順に従います。

内容は次のとおりです。

- Oracle ClusterwareがインストールされたノードへのOracle RACの追加

- クラスタ・ノードからのOracle RACの削除

注意:

- ocrconfig -showbackupコマンドを実行してOracle RACの追加または削除を行う前に、Oracle Cluster Registry(OCR)の現行のバックアップがあることを確認してください。

- この章で使用されているターゲット・ノードという語は、Oracle RAC環境の拡張先ノードを意味しています。

関連項目:

- 新規Oracle RACクラスタの構成および既存のOracle RACクラスタの拡張の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- 第11章「WindowsシステムのノードでのOracle RACの追加と削除」

Oracle ClusterwareがインストールされたノードへのOracle RACの追加

この手順を開始する前に、既存ノードのGrid_homeへのパスが正しいこと、および$ORACLE_HOME環境変数がOracle RACホームに設定されていることを確認します。

関連項目:
クラスタの新規ノードへのOracle Clusterwareホームの拡張の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

ローカル(非共有)のOracleホームを使用している場合は、クラスタの既存のノード(この手順ではnode1)にあるOracle RACデータベース・ホームをターゲット・ノード(この手順ではnode3)に拡張する必要があります。

1. node1の$ORACLE_HOME/oui/binディレクトリに移動し、次の構文を使用してaddNode.shスクリプトを実行します。

$ ./addNode.sh -silent "CLUSTER_NEW_NODES={node3}"

2. rootとして、node3で$ORACLE_HOME/root.shスクリプトを実行します。

共有Oracleホームを使用している場合(OracleホームをOracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)に格納している場合など)は、ホームがクラスタ内のノード全体で共有されているため、Oracle RACデータベース・ホームをターゲット・ノードに拡張する必要はありません。

かわりに、次の手順に従って、最初にターゲット・ノードにOracle RACデータベース・ホーム用のマウント・ポイントを作成し、Oracleホームをマウントおよびアタッチして、Oracleインベントリを更新する必要があります。

1. クラスタ内の既存ノードでsrvctl config db -d db_nameコマンドを実行して、マウント・ポイント情報を取得します。

2. 次のコマンドをrootとしてnode3で実行し、マウント・ポイントを作成します。

# mkdir -p mount_point_path

3. Oracle RACデータベース・ホームをホストするファイル・システムをマウントします。

4. 追加するノードのOracle_home/oui/binディレクトリから次のコマンドを実行して、Oracle RACデータベース・ホームを追加します。

$ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME""CLUSTER
_NODES={node_list}" LOCAL_NODE="node_name"

5. 次のように、Oracleインベントリを更新します。

$ ./runInstaller -updateNodeList ORACLE_HOME=mount_point_path "CLUSTER
_NODES={node_list}"

前述のコマンドで、node_listは、追加するノードを含む、Oracle RACデータベース・ホームがインストールされるすべてのノードのリストを示します。

6. node3でrootとしてGrid_home/root.shスクリプトを実行し、指示に従って後続のスクリプトを実行します。

注意:
ノード追加プロセスの終了後は、OCRをバックアップすることをお薦めします。

これで、次の項のいずれかの手順を使用して、ターゲット・ノードにOracle RACデータベース・インスタンスを追加できます。

- ターゲット・ノードへのポリシー管理Oracle RACデータベース・インスタンスの追加

- ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加

ターゲット・ノードへのポリシー管理Oracle RACデータベース・インスタンスの追加

Oracle RACデータベース・インスタンスを追加する前に、既存ノードで次のコマンドを実行し、データベース・インスタンスを追加するノードにOracle Enterprise Managerを構成します。

$ emca -addNode db

データベースとノードの情報を求めるプロンプトが表示されます。

関連項目:
Oracle Enterprise Managerの構成の詳細は、『Oracle Real Application Clustersインストレーション・ガイドfor Linux and UNIX Systems』を参照してください。

ポリシー管理データベースをOracle Automatic Storage Management(Oracle ASM)に格納しないかぎり、およびOracle Managed Filesが有効でないかぎり、UNDOログおよびREDOログを手動で追加する必要があります。

サーバー・プールにノードを追加するための空き領域があり、データベースが1回以上起動されている場合、Oracle ClusterwareはOracle RACデータベース・インスタンスを新しく追加したノードに追加するため、それ以上の処置は必要ありません。

注意:
新しく追加したノードにデータベース・インスタンスを追加する前に、データベースは1回以上起動されている必要があります。

サーバー・プールに空き領域がない場合は、新しく追加したノードは空きサーバー・プールに移動します。srvctl modify srvpoolコマンドを使用して、新しく追加したノードを格納するサーバー・プールのカーディナリティを上げた後に、ノードは空きサーバー・プールから修正済サーバー・プールに移動し、Oracle ClusterwareはOracle RACデータベース・インスタンスをそのノードに追加します。

ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加

注意:
この項の手順は、管理者管理データベースに対してのみ実行してください。ポリシー管理データベースは、そのデータベースのサーバー・プールでノードが使用可能な場合にノードを使用します。

Oracle Enterprise ManagerまたはDBCAを使用して、Oracle RACデータベース・インスタンスをターゲット・ノードに追加できます。Oracle Enterprise Managerを使用してターゲット・ノードにデータベース・インスタンスを追加する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

この項では、DBCAを使用してOracle RACデータベース・インスタンスを追加する方法について説明します。内容は次のとおりです。

- 対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

- サイレント・モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

これらのツールは、次のタスクをガイドします。

- 各ターゲット・ノードでの新規データベース・インスタンスの作成

- 高可用性コンポーネントの作成および構成

- Oracleホームからのデフォルト以外のリスナー用のOracle Net構成の作成

- 新規インスタンスの起動

- サービス構成ページでサービス情報を入力した場合、サービスの作成および起動

ターゲット・ノードにインスタンスを追加した後で、第5章「自動ワークロード管理の概要」で説明したように、必要なサービス構成手順を実行する必要があります。

対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

対話モードでDBCAを使用してターゲット・ノードにデータベース・インスタンスを追加するには、次の手順を実行します。

1. 既存ノードの$ORACLE_HOME環境変数がOracle RACホームに設定されていることを確認します。

2. Oracle_home/binディレクトリから、システム・プロンプトでdbcaを入力してDBCAを起動します。
DBCAの実行中に、CVUの特定のチェックが実行されます。ただし、コマンドラインからCVUを実行して、様々な検証を実行することもできます。

関連項目:
CVUの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

DBCAにOracle RAC用の「ようこそ」ページが表示されます。DBCAの各ページで「ヘルプ」をクリックすると、追加情報を参照できます。

3. 「Oracle Real Application Clusters (RAC)データベース」を選択し、「次へ」をクリックすると、「操作」ページが表示されます。

4. 「インスタンス管理」を選択して「次へ」をクリックすると、DBCAによって「インスタンス管理」ページが表示されます。

5. 「インスタンスの追加」を選択し、「次へ」をクリックします。DBCAによって「クラスタ・データベースのリスト」ページが表示され、データベースおよび現在のステータス(ACTIVEやINACTIVEなど)が表示されます。

6. 「クラスタ・データベースのリスト」ページで、インスタンスを追加するアクティブなOracle RACデータベースを選択します。SYSDBA権限を持つデータベース・ユーザーのユーザー名およびパスワードを入力します。「次へ」をクリックすると、DBCAによって選択したOracle RACデータベースの既存のインスタンスの名前を示す「クラスタ・データベース・インスタンスのリスト」ページが表示されます。

7. 新規インスタンスを追加するには、「次へ」をクリックします。「インスタンスの追加」ページが表示されます。

8. 「インスタンスの追加」ページで、DBCAに表示されるインスタンス名が既存のインスタンス名スキームと合致しない場合には、このページの一番上のフィールドにインスタンス名を入力します。

9. 新しいインスタンスのUNDO表領域およびREDOログ・グループのファイルの場所を確認して、「インスタンス記憶域」ページで「終了」をクリックします。

10. 「サマリー」ダイアログ・ボックスに表示された情報を確認し、「OK」をクリックするか、またはインスタンス追加操作を終了する場合は「取消」をクリックします。DBCAがインスタンス追加操作を実行中であることを示す進捗ダイアログ・ボックスが表示されます。DBCAによるインスタンス追加操作が終了すると、別の操作を実行するかどうかを尋ねるダイアログ・ボックスが表示されます。

11. DBCAセッションの終了後、次のコマンドを実行して、ターゲット・ノードでの管理権限を確認し、それらの権限に関する詳細情報を取得します(nodelistは、データベース・インスタンスを追加したノードの名前で構成されます)。

cluvfy comp admprv -o db_config -d Oracle_home -n nodelist [-verbose]

12. 第5章「自動ワークロード管理の概要」で説明したように、必要なサービス構成手順を実行します。

サイレント・モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

DBCAのサイレント・モードを使用して、Oracle ClusterwareホームおよびOracle Databaseホームを拡張したノードにインスタンスを追加できます。dbcaコマンドを実行する前に、既存ノードでORACLE_HOME環境変数が正しく設定されていることを確認します。表10-1に示す変数に値を指定して、DBCAを実行します。

dbca -silent -addInstance -nodeList node_name -gdbName gdb_name
[-instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password]

表10-1 DBCAサイレント・モード構文の変数

変数

説明

node_name

インスタンスの追加(または削除)対象のノード。

gdb_name

グローバル・データベース名。

instance_name

インスタンスの名前。Oracle RACインスタンス名に関するOracleネーミング規則を使用せずにインスタンス名を指定する場合にのみ、インスタンス名を指定します。

sysdba

SYSDBA権限を持つOracleユーザーの名前。

password

SYSDBAユーザーのパスワード。

第5章「自動ワークロード管理の概要」で説明したように、必要なサービス構成手順を実行します。

クラスタ・ノードからのOracle RACの削除

クラスタ・ノードからOracle RACを削除するには、データベース・インスタンスおよびOracle RACソフトウェアを削除した後で、クラスタからそのノードを削除する必要があります。

注意:
削除するノードにデータベース・インスタンスがない場合は、「Oracle RACの削除」に進みます。

この項では、次の手順を実行して、Oracle RAC環境のクラスタからノードを削除します。

- Oracle RACデータベースからのインスタンスの削除

- Oracle RACの削除

- クラスタからのノードの削除

Oracle RACデータベースからのインスタンスの削除

データベース・インスタンスの削除手順は、ポリシー管理データベースと管理者管理データベースとで異なります。ポリシー管理データベース・インスタンスを削除すると、データベース・インスタンスが存在するサーバー・プールのサーバーの数が減少します。管理者管理データベース・インスタンスの削除では、DBCAを使用したデータベース・インスタンスの削除が必要です。

ポリシー管理データベース・インスタンスの削除

データベース・インスタンスが存在するノードをクラスタから削除する場合は、データベース・インスタンスを削除する前に、残りのノードで次のコマンドを実行し、削除するノードのOracle Enterprise Managerを構成解除します。

$ emca -deleteNode db

データベースとノードの情報を求めるプロンプトが表示されます。

ポリシー管理データベースを削除するには、データベース・インスタンスが存在するサーバーを別のサーバー・プールに再配置することで、データベース・インスタンスが存在するサーバー・プールのサーバーの数を減らします。この操作によって、ノードからOracle RACソフトウェアを削除しなくても、またはクラスタからノードを削除しなくても、事実上インスタンスは削除されます。

たとえば、クラスタ内の任意のノードで次のコマンドを実行すると、ポリシー管理データベースを削除できます。

$ srvctl stop instance -d db_unique_name -n node_name
$ srvctl relocate server -n node_name -g Free

最初のコマンドは特定のノードのデータベース・インスタンスを停止し、2つ目のコマンドはノードを現行のサーバー・プールから空きサーバー・プールに移動します。

関連項目:
ノードからのOracle RACソフトウェアの削除方法の詳細は、「Oracle RACの削除」を参照してください。

管理者管理データベースからのインスタンスの削除

注意:
Oracle RACデータベースからインスタンスを削除する前に、SRVCTLまたはOracle Enterprise Managerのいずれかを使用して次の操作を実行します。

- サービスが構成されている場合は、サービスを再配置します。

- 各サービスを残りのインスタンスの1つで実行できるように、サービスを変更します。

- 管理者管理データベースから削除されるインスタンスが、何らかのサービスの優先インスタンスまたは使用可能インスタンスではないことを確認します。

関連項目:
「Oracle Enterprise Managerを使用したサービスの管理」および「SRVCTLを使用したサービスの管理」

この項では、対話モードまたはサイレント・モードでDBCAを使用してOracle RACデータベースからインスタンスを削除する方法について説明します。

関連項目:
Oracle Enterprise Managerを使用してターゲット・ノードからデータベース・インスタンスを削除する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

この項の内容は次のとおりです。

- 対話モードでのDBCAによるノードからのインスタンスの削除

- サイレント・モードでのDBCAによるノードからのインスタンスの削除

対話モードでのDBCAによるノードからのインスタンスの削除

対話モードでDBCAを使用してインスタンスを削除するには、次の手順を実行します。

1. DBCAを起動します。
削除するインスタンスを保持しているノード以外のノードで、DBCAを起動します。削除するデータベースおよびインスタンスは、この手順の間、実行し続けている必要があります。

2. DBCAの「ようこそ」ページで「Oracle Real Application Clustersデータベース」を選択し、「次へ」をクリックします。「操作」ページが表示されます。

3. DBCAの「操作」ページで「インスタンス管理」を選択し、「次へ」をクリックします。DBCAによって「インスタンス管理」ページが表示されます。

4. DBCAの「インスタンス管理」ページで、削除するインスタンスを選択し、「インスタンスの削除」を選択し、「次へ」をクリックします。

5. 「クラスタ・データベースのリスト」ページで、次のように、インスタンスを削除するOracle RACデータベースを選択します。

1. この「クラスタ・データベース・インスタンスのリスト」ページには、DBCAによって選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。インスタンスを削除するクラスタ・データベースを選択します。

2. SYSDBA権限を持つデータベース・ユーザーのユーザー名およびパスワードを入力します。「次へ」をクリックします。

3. 「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスの削除を続行します。
DBCAがインスタンスを削除していることを示す進捗ダイアログ・ボックスが表示されます。この操作の中で、DBCAはインスタンスとそのインスタンスのOracle Net構成を削除します。DBCAがインスタンスの削除操作を終了すると、別の操作を実行するかどうかを尋ねるダイアログ・ボックスが表示されます。

DBCAを終了する場合は「いいえ」を、別の操作を実行する場合は「はい」をクリックします。「はい」をクリックすると、DBCAによって「操作」ページが表示されます。

6. 既存ノードでSQL*Plusを使用してGV$LOGビューを問い合せ、削除したインスタンスのREDOスレッドが削除されていることを確認します。REDOスレッドが無効になっていない場合は、スレッドを無効にします。次に例を示します。

SQL> ALTER DATABASE DISABLE THREAD 2;

7. 次のコマンドを実行して、OCRからインスタンスが削除されていることを確認します(db_unique_nameはOracle RACデータベースの一意のデータベース名です)。

srvctl config database -d db_unique_name

8. 複数のノードを削除する場合は、この手順を繰り返し、削除するすべてのノードからインスタンスを削除します。

サイレント・モードでのDBCAによるノードからのインスタンスの削除

DBCAのサイレント・モードを使用して、ノードからデータベース・インスタンスを削除できます。

次のコマンドを実行します(変数は、インスタンスを追加するDBCAコマンドの表10-1に示されている変数と同じです)。次の例に示すとおり、DBCAが実行されているノード以外からインスタンスを削除する場合のみ、ノード名を指定します(passwordはパスワードです)。

dbca -silent -deleteInstance [-nodeList node_name] -gdbName gdb_name
-instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password

この時点で、次の作業が完了しています。

- 関連付けられたOracle Net Servicesリスナーからの選択されたインスタンスの登録解除

- インスタンスの構成ノードからの選択されたデータベース・インスタンスの削除

- Oracle Net構成の削除

- インスタンスの構成ノードからのOracle Flexible Architectureディレクトリ構造の削除

Oracle RACの削除

この手順では、クラスタから削除するノードからOracle RACソフトウェアを削除し、残りのノードのインベントリを更新します。

1. 削除するノードのOracle RACホームにリスナーが存在する場合、Oracle RACソフトウェアを削除する前にリスナーを無効にして停止する必要があります。リスナーの名前および削除するノード名前を指定して、次のコマンドをクラスタ内の任意のノードで実行します。

$ srvctl disable listener -l listener_name -n name_of_node_to_delete
$ srvctl stop listener -l listener_name -n name_of_node_to_delete

2. 削除するノードの$ORACLE_HOME/oui/binから次のコマンドを実行して、そのノードのインベントリを更新します。

$ ./runInstaller -updateNodeList ORACLE_HOME=Oracle_home_location
"CLUSTER_NODES={name_of_node_to_delete}" -local

3. Oracle RACソフトウェアを削除するために、Oracleホームが共有か非共有かに応じて、次のいずれかの手順を実行します。

- 共有ホームの場合は、ノードを削除するのではなくデタッチします。それには、削除する各ノードの$ORACLE_HOME/oui/binディレクトリから次のコマンドを実行します。

$ ./runInstaller -detachHome ORACLE_HOME=Oracle_home_location

- 非共有ホームの場合は、次のコマンドを実行して、削除するノードからOracleホームを削除します。

$ORACLE_HOME/deinstall/deinstall -local

関連項目:
ノードの削除方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

4. クラスタ内の残りのノードのいずれかの$ORACLE_HOME/oui/binディレクトリから次のコマンドを実行して、これらのノードのインベントリを更新します。コマンドには、残りのノードの名前をカンマ区切りリストで指定します。

$ ./runInstaller -updateNodeList ORACLE_HOME=Oracle_home_location
"CLUSTER_NODES={remaining_node_list}"

Oracle Grid Infrastructureホームが共有ホームの場合は、この手順のコマンド例に-cfsオプションを追加し、クラスタ・ファイル・システムの完全なパス位置を指定します。

クラスタからのノードの削除

データベース・インスタンスおよびOracle RACソフトウェアを削除した後で、クラスタからそのノードを削除するプロセスを開始できます。削除するノードでスクリプトを実行してOracle Clusterwareインストールを削除し、残りのノードでスクリプトを実行してノード・リストを更新し、このプロセスを完了します。

関連項目:
クラスタからノードを削除する方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

11 WindowsシステムのノードでのOracle RACの追加と削除

この章では、既存のOracle Real Application Clusters(Oracle RAC)ホームを他のノードおよびクラスタ内のインスタンスに拡張し、Oracle RACをノードおよびクラスタ内のインスタンスから削除する方法について説明します。Windowsシステムの場合の手順について説明します。

注意:
この章では、Grid_homeのエントリはOracle Grid Infrastructureホームのフル・パス名を指し、Oracle_homeのエントリはOracle RACがあるOracleホームの環境変数の置き換えを指します。

既存のOracle RACホームをクローニングし、クラスタ全体で複数の新規Oracle RACインストールを作成する場合は、第8章「新規クラスタのノードへのOracle RACのクローニング」に示すクローニング手順に従います。

内容は次のとおりです。

- Oracle ClusterwareがインストールされたノードへのOracle RACの追加

- クラスタ・ノードからのOracle RACの削除

注意:

- ocrconfig -showbackupコマンドを実行してOracle RACの追加または削除を行う前に、Oracle Cluster Registry(OCR)の現行のバックアップがあることを確認してください。

- Windowsでは、Oracle Enterprise Managerを使用したノードとインスタンスの追加および削除はサポートされていません。

- ノードの追加とノードの削除のすべての手順で、%TEMP%、C:\Tempなどの一時ディレクトリは、共有ディレクトリにしないでください。一時ディレクトリが共有されていると、%TEMP%などの一時環境変数にはローカル・ノードにある場所が設定されます。また、すべてのノードに存在するディレクトリ・パスを使用してください。

関連項目:
新規Oracle RACクラスタの構成および既存のOracle RACクラスタに対するノードの追加と削除の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

Oracle ClusterwareがインストールされたノードへのOracle RACの追加

この手順を開始する前に、既存ノードのGrid_homeへのパスが正しいこと、およびOracle_home環境変数が正しく設定されていることを確認します。

関連項目:
クラスタへのノードの追加の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle ClusterwareがすでにインストールされているノードにOracle RACデータベース・インスタンスを追加するには、クラスタの既存のノード(この手順ではnode1)にあるOracle RACホームをターゲット・ノードに拡張する必要があります。

1. node1のOracle_home\oui\binディレクトリに移動し、次の構文を使用してaddNode.batスクリプトを実行しますが、ここで、node2は追加するノードの名前です。

addNode.bat "CLUSTER_NEW_NODES={node2}"

2. ポリシー管理データベースをOracle Automatic Storage Management(Oracle ASM)に格納する場合は、Oracle Managed Filesが有効になり、node2のサーバー・プールに領域があれば、crsdがOracle RACデータベース・インスタンスをnode2に追加するため、それ以上の処置は必要ありません。Oracle Managed Filesが有効でない場合は、UNDOログおよびREDOログを手動で追加する必要があります。
サーバー・プールに空き領域がない場合は、node2は空きサーバー・プールに移動します。srvctl modify srvpoolコマンドを使用して、node2を格納するサーバー・プールのカーディナリティを上げた後に、node2は空きサーバー・プールから修正済サーバー・プールに移動し、crsdはOracle RACデータベース・インスタンスをnode2に追加します。

3. 管理者管理データベースの場合は、「ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加」の説明に従って新しいインスタンスをnode2に追加します。

注意:
ノード追加プロセスの終了後は、投票ディスクおよびOracle Cluster Registry(OCR)ファイルをバックアップすることをお薦めします。

ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加

Oracle RACデータベース・インスタンスを追加する前に、既存ノードで次のコマンドを実行し、データベース・インスタンスを追加するノードにOracle Enterprise Managerを構成します。

C:\>emca -addNode db

データベースとノードの情報を求めるプロンプトが表示されます。

関連項目:
Oracle Enterprise Managerの構成の詳細は、Microsoft Windows版のOracle Real Application Clustersインストレーション・ガイドを参照してください。

Oracle Enterprise ManagerまたはDBCAを使用して、Oracle RACデータベース・インスタンスをターゲット・ノードに追加できます。Oracle Enterprise Managerを使用してターゲット・ノードにデータベース・インスタンスを追加する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

この項では、DBCAを使用してOracle RACデータベース・インスタンスを追加する方法について説明します。内容は次のとおりです。

- 対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

- サイレント・モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

これらのツールは、次のタスクをガイドします。

- 各ターゲット・ノードでの新規データベース・インスタンスの作成

- 高可用性コンポーネントの作成および構成

- Oracleホームからのデフォルト以外のリスナー用のOracle Net構成の作成

- 新規インスタンスの起動

- サービス構成ページでサービス情報を入力した場合、サービスの作成および起動

ターゲット・ノードにインスタンスを追加した後で、第5章「自動ワークロード管理の概要」で説明したように、必要なサービス構成手順を実行する必要があります。

対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

対話モードでDBCAを使用してターゲット・ノードにデータベース・インスタンスを追加するには、次の手順を実行します。

1. 既存ノードのOracleホーム環境変数が正しく設定されていることを確認します。

2. 既存ノードのOracle_home/binディレクトリから、システム・プロンプトでdbcaを入力してDBCAを起動します。
DBCAの実行中に、CVUの特定のチェックが実行されます。ただし、コマンドラインからCVUを実行して、様々な検証を実行することもできます。

関連項目:
CVUの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

DBCAにOracle RAC用の「ようこそ」ページが表示されます。DBCAの各ページで「ヘルプ」をクリックすると、追加情報を参照できます。

3. 「Oracle Real Application Clustersデータベース」を選択し、「次へ」をクリックすると、「操作」ページが表示されます。

4. 「インスタンス管理」を選択して「次へ」をクリックすると、DBCAによって「インスタンス管理」ページが表示されます。

5. 「インスタンスの追加」を選択し、「次へ」をクリックします。DBCAによって「クラスタ・データベースのリスト」ページが表示され、データベースおよび現在のステータス(ACTIVEやINACTIVEなど)が表示されます。

6. 「クラスタ・データベースのリスト」ページで、インスタンスを追加するアクティブなOracle RACデータベースを選択します。SYSDBA権限を持つデータベース・ユーザーのユーザー名およびパスワードを入力します。「次へ」をクリックすると、DBCAによって選択したOracle RACデータベースの既存のインスタンスの名前を示す「クラスタ・データベース・インスタンスのリスト」ページが表示されます。

7. 新規インスタンスを追加するには、「次へ」をクリックします。「インスタンスの追加」ページが表示されます。

8. 「インスタンスの追加」ページで、DBCAに表示されるインスタンス名が既存のインスタンス名スキームと合致しない場合には、このページの一番上のフィールドにインスタンス名を入力します。リストから新しいノード名を選択し、「次へ」をクリックすると、「サービス」ページが表示されます。

9. 新しいノードのインスタンスに関するサービス情報を入力し、「次へ」をクリックすると、「インスタンス記憶域」ページが表示されます。

10. Oracle ASMまたはクラスタ・ファイル・システムを使用している場合は、「インスタンス記憶域」ページで「終了」をクリックします。

11. 「サマリー」ダイアログ・ボックスに表示された情報を確認し、「OK」をクリックするか、またはインスタンス追加操作を終了する場合は「取消」をクリックします。DBCAがインスタンス追加操作を実行中であることを示す進捗ダイアログ・ボックスが表示されます。DBCAによるインスタンス追加操作が終了すると、別の操作を実行するかどうかを尋ねるダイアログ・ボックスが表示されます。

12. DBCAセッションの終了後、次のコマンドを実行して、新しいノードに対する管理権限を確認し、それらの権限に関する詳細情報を取得します。nodelistには、新しく追加するノードが含まれています。

cluvfy comp admprv -o db_config -d oracle_home -n nodelist [-verbose]

13. 第5章「自動ワークロード管理の概要」で説明したように、必要なサービス構成手順を実行します。

サイレント・モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加

DBCAのサイレント・モードを使用して、Oracle ClusterwareホームおよびOracle Databaseホームを拡張したノードにインスタンスを追加できます。次の構文を使用します。

dbca -silent -addInstance -nodeList node_name -gdbName gdb_name
[-instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password]

関連項目:
前述の構文で使用されている変数の定義については、表10-1を参照してください。

第5章「自動ワークロード管理の概要」で説明したように、必要なサービス構成手順を実行します。

クラスタ・ノードからのOracle RACの削除

クラスタ・ノードからOracle RACを削除するには、データベース・インスタンスおよびOracle RACソフトウェアを削除した後で、クラスタからそのノードを削除する必要があります。

注意:
削除するノードにデータベース・インスタンスがない場合は、「Oracle RACの削除」に進みます。

この項では、次の手順を実行して、Oracle RAC環境のクラスタからノードを削除します。

- Oracle RACデータベースからのインスタンスの削除

- Oracle RACの削除

- クラスタからのノードの削除

Oracle RACデータベースからのインスタンスの削除

インスタンスの削除手順は、ポリシー管理データベースと管理者管理データベースとでは異なります。ポリシー管理データベース・インスタンスを削除すると、データベース・インスタンスが存在するサーバー・プールのサイズが減少します。管理者管理データベース・インスタンスの削除では、DBCAを使用したデータベース・インスタンスの削除が必要です。

ポリシー管理データベースの削除

データベースが存在するノードをクラスタから削除する場合は、削除しないノードで次のコマンドを実行し、削除するノードのOracle Enterprise Managerを構成解除してからデータベース・インスタンスを削除します。

emca -deleteNode db

データベースとノードの情報を求めるプロンプトが表示されます。

ポリシー管理データベースを削除するには、データベース・インスタンスが存在するサーバー・プールのサイズを小さくします。この操作によって、ノードからOracle RACソフトウェアを削除しなくても、またはクラスタからノードを削除しなくても、事実上インスタンスは削除されます。

たとえば、クラスタ内の任意のノードで次のコマンドを実行すると、ポリシー管理データベースを削除できます。

srvctl stop instance -d db_unique_name -n node_name
srvctl relocate server -n node_name -g Free

最初のコマンドは特定のノードのインスタンスで停止し、2つ目のコマンドはノードを現行のサーバー・プールから空きサーバー・プールに移動します。

関連項目:
ノードからのOracle RACソフトウェアの削除方法の詳細は、「Oracle RACの削除」を参照してください。

管理者管理データベースからのインスタンスの削除

注意:
Oracle RACデータベースからインスタンスを削除する前に、SRVCTLまたはOracle Enterprise Managerのいずれかを使用して次の操作を実行します。

- サービスが構成されている場合は、サービスを再配置します。

- 各サービスを残りのインスタンスの1つで実行できるように、サービスを変更します。

- 管理者管理データベースから削除されるインスタンスが、何らかのサービスの優先インスタンスまたは使用可能インスタンスではないことを確認します。

関連項目:
「Oracle Enterprise Managerを使用したサービスの管理」および「SRVCTLを使用したサービスの管理」

この項では、対話モードまたはサイレント・モードでDBCAを使用してOracle RACデータベースからインスタンスを削除する方法について説明します。

関連項目:
Oracle Enterprise Managerを使用してターゲット・ノードからデータベース・インスタンスを削除する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

この項の内容は次のとおりです。

- 対話モードでのDBCAによるノードからのインスタンスの削除

- サイレント・モードでのDBCAによるノードからのインスタンスの削除

対話モードでのDBCAによるノードからのインスタンスの削除

対話モードでDBCAを使用してインスタンスを削除するには、次の手順を実行します。

1. OCRの現行のバックアップがあることを確認します。
ocrconfig -showbackupコマンドを実行して、有効なバックアップがあることを確認します。

2. DBCAを起動します。
削除するインスタンスを保持しているノード以外のノードで、DBCAを起動します。削除するデータベースおよびインスタンスは、この手順の間、起動し、実行し続ける必要があります。

3. DBCAの「ようこそ」ページで「Oracle Real Application Clustersデータベース」を選択し、「次へ」をクリックします。「操作」ページが表示されます。

4. DBCAの「操作」ページで「インスタンス管理」を選択して、「次へ」をクリックします。「インスタンス管理」ページが表示されます。

5. 「インスタンス管理」ページで、「インスタンスの削除」を選択して、「次へ」をクリックします。DBCAによって「クラスタ・データベースのリスト」ページが表示されます。

6. インスタンスを削除するOracle RACデータベースを選択します。SYSDBA権限を持つデータベース・ユーザーのユーザー名およびパスワードを入力します。「次へ」をクリックすると、DBCAによって「クラスタ・データベース・インスタンスのリスト」ページが表示されます。「クラスタ・データベース・インスタンスのリスト」ページには、選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。

7. 「クラスタ・データベースのリスト」ページで、次のように、インスタンスを削除するOracle RACデータベースを選択します。

1. この「クラスタ・データベース・インスタンスのリスト」ページには、DBCAによって選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。インスタンスを削除するクラスタ・データベースを選択します。「終了」をクリックします。

2. 「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスの削除を続行します。

3. 次の「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスおよび関連するOptimal Flexible Architecture(OFA)ディレクトリ構造を削除します。
DBCAがインスタンスを削除していることを示す進捗ダイアログ・ボックスが表示されます。この操作の中で、DBCAはインスタンスとそのインスタンスのOracle Net構成を削除します。DBCAがインスタンスの削除操作を終了すると、別の操作を実行するかどうかを尋ねるダイアログ・ボックスが表示されます。

DBCAを終了する場合は「いいえ」を、別の操作を実行する場合は「はい」をクリックします。「はい」をクリックすると、DBCAによって「操作」ページが表示されます。

8. 既存インスタンスからSQL*Plusを使用してV$LOGビューを問い合せ、削除したインスタンスのREDOスレッドが削除されていることを確認します。REDOスレッドが無効になっていない場合は、スレッドを無効にします。次に例を示します。

SQL> ALTER DATABASE DISABLE THREAD 2;

9. 次のコマンドを実行して、OCRからインスタンスが削除されていることを確認します(db_unique_nameはデータベース名です)。

srvctl config database -d db_unique_name

10. 複数のノードを削除する場合は、この手順を繰り返し、削除するすべてのノードからインスタンスを削除します。

サイレント・モードでのDBCAによるノードからのインスタンスの削除

DBCAのサイレント・モードを使用して、ノードからデータベース・インスタンスを削除できます。

次のコマンドを実行します(変数は、インスタンスを追加するDBCAコマンドの表10-1に示されている変数と同じです)。次の例に示すとおり、DBCAが実行されているノード以外からインスタンスを削除する場合のみ、ノード名を指定します(passwordはSYSDBAパスワードです)。

dbca -silent -deleteInstance [-nodeList node_name] -gdbName gdb_name
-instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password

この時点で、次の作業が完了しています。

- 関連付けられたOracle Net Servicesリスナーからの選択されたインスタンスの登録解除

- インスタンスの構成ノードからの選択されたデータベース・インスタンスの削除

- Oracle Net構成の削除

- インスタンスの構成ノードからのOracle Flexible Architectureディレクトリ構造の削除

Oracle RACの削除

この手順では、クラスタから削除するノードからOracle RACソフトウェアを削除し、残りのノードのインベントリを更新します。

1. 削除するノードのOracle RACホームにリスナーが存在する場合、Oracle RACソフトウェアを削除する前にリスナーを無効にして停止する必要があります。リスナーの名前および削除するノード名前を指定して、次のコマンドをクラスタ内の任意のノードで実行します。

srvctl disable listener -l listener_name -n name_of_node_to_delete
srvctl stop listener -l listener_name -n name_of_node_to_delete

2. 削除するノードの%ORACLE_HOME%\oui\binから次のコマンドを実行して、そのノードのインベントリを更新します。

setup.exe -updateNodeList ORACLE_HOME=Oracle_home_location
"CLUSTER_NODES={name_of_node_to_delete}" -local

3. Oracleホームが共有か非共有かに応じて、次のいずれかの手順を実行します。

- 共有ホームの場合は、ノードを削除するのではなくデタッチします。それには、削除する各ノードのOracle_home\oui\binディレクトリから次のコマンドを実行します。

setup.exe –detachHome ORACLE_HOME=Oracle_home

- 非共有ホームの場合は、削除するノードからOracleホームを削除します。それには、Oracle_home\deinstallディレクトリから次のコマンドを実行します。

deinstall -local

4. クラスタ内の残りのノードのいずれかのOracle_home\oui\binディレクトリから次のコマンドを実行して、これらのノードのインベントリを更新します。コマンドには、残りのノードの名前をカンマ区切りリストで指定します。

setup.exe -updateNodeList ORACLE_HOME=Oracle_home_location
"CLUSTER_NODES={remaining_node_list}"

クラスタからのノードの削除

インスタンスを削除すると、クラスタからノードを削除するプロセスを開始できます。削除するノードでスクリプトを実行してOracle Clusterwareインストールを削除し、残りのノードでスクリプトを実行してノード・リストを更新し、このプロセスを完了します。

関連項目:

- クラスタからノードを削除する方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle ClusterwareおよびOracle ASMの削除の詳細は、Microsoft Windows版のOracle Grid Infrastructureインストレーション・ガイドを参照してください。

12 設計およびデプロイメント方法

この章では、Oracle Real Application Clusters(Oracle RAC)環境でのデータベースの設計およびデプロイメント方法について簡単に説明します。また、高可用性を実現するための考慮事項を説明し、Oracle RACの様々なデプロイメントに関する一般的なガイドラインを示します。

内容は次のとおりです。

- 高可用性を実現するOracle RACのデプロイ

- Oracle RACの設計に関する一般的な考慮事項

- Oracle RACでのデータベースの一般的なデプロイメント

高可用性を実現するOracle RACのデプロイ

多数のお客様がOracle RACを実装してそれぞれのOracle Databaseアプリケーションで高可用性を実現しています。真の高可用性を得るには、アプリケーションのインフラストラクチャ全体を高可用性にする必要があります。これには、インフラストラクチャ全体でシングル・ポイント障害の発生をなくすための詳細な計画が必要です。Oracle RACによってデータベースが高可用性になったとしても、重要なアプリケーションが使用不可になれば、ビジネスに悪影響が生じる可能性があります。たとえば、認証にLightweight Directory Access Protocol(LDAP)を使用する場合は、LDAPサーバーを高可用性にする必要があります。データベースが起動していても、LDAPサーバーへのアクセスに障害があってユーザーがデータベースに接続できないと、ユーザーにはシステム全体が停止しているように見えます。

この項の内容は次のとおりです。

- 高可用性システムの設計について

- 高可用性環境でOracle RACをデプロイするためのベスト・プラクティス

- クラスタ内の単一または複数のデータベースでの複数のアプリケーションの統合

- Oracle RACのスケーラビリティ

高可用性システムの設計について

ミッション・クリティカルなシステムの場合は、フェイルオーバーとリカバリが実行可能であることに加えて、あらゆるタイプの障害に対して環境にリジリエンスがある必要があります。これらの目標に到達するには、ビジネスのサービス・レベルの要件を定義することから始めます。この要件には、データセンター内の障害(ノード障害など)または障害時リカバリ(データセンター全体に障害が発生した場合)に対する最大のトランザクション応答時間およびリカバリ予測の定義が含まれる必要があります。通常、サービス・レベルの目標は、障害の内容にかかわらず、作業の目標応答時間になります。各冗長コンポーネントにリカバリ時間を設定します。アクティブ/アクティブ・モードで実行されている複数のハードウェア・コンポーネントがある場合でも、1つのコンポーネントに障害が発生したときに、そのコンポーネントの修理中に、他のハードウェア・コンポーネントが稼働状態を保持できるとは想定しないでください。また、コンポーネントがアクティブ・モードまたはパッシブ・モードで実行されている場合は、通常のテストを実行してフェイルオーバー時間を検証します。たとえば、ストレージ・チャネルのリカバリ時間は、何分もかかる場合があります。停止時間がビジネスのサービス・レベル契約の範囲内であることを確認し、この範囲を超えている場合は、ハードウェア・ベンダーと協力して構成および設定をチューニングします。

ミッション・クリティカルなシステムをデプロイする場合は、テストに機能試験、破壊試験および性能試験を含める必要があります。破壊試験では、システム内に様々な障害を発生させてリカバリをテストし、サービス・レベルの要件に適合しているかどうかを確認します。また、破壊試験によって、本番システム用の操作手順を作成できます。

ミッション・クリティカルなシステムまたは高可用性システムの設計と実装を支援するため、Oracleでは規模に関係なくすべての組織に適用可能な様々なソリューションを提供しています。小規模な作業グループとグローバル企業が同じように組織の重要なビジネス・アプリケーションの可用性を拡張できます。Oracleとインターネットを使用することで、現在では常にどこからでも確実にアプリケーションとそのデータにアクセスできます。Oracle Maximum Availability Architecture(MAA)は、Oracleの実証済高可用性テクノロジと推奨事項に基づいたOracleのベスト・プラクティスのブループリントです。MAAの目的は、最適な高可用性アーキテクチャの設計から複雑な仕組みを排除することです。

関連項目:

- 『Oracle Database高可用性概要』を参照してください。

- 次のOracle Maximum Availability Architecture(MAA)のWebサイトを参照してください。

http://www.oracle.com/technology/deploy/availability/htdocs/maa.htm

高可用性環境でOracle RACをデプロイするためのベスト・プラクティス

アプリケーションは、Oracle Database、Oracle ClusterwareおよびOracle RACの多数の機能を使用してOracle RAC環境の障害を最小限に抑えたり、マスクすることができます。たとえば次のようなことが可能です。

- VIPアドレスを使用してデータベースに接続することで、TCP/IPのタイムアウト待機時間をなくします。

- 詳細な操作手順を作成し、インフラストラクチャ内のすべてのコンポーネントに対して、定義されたサービス・レベルを満たす適切で有効なサポート契約があることを確認します。

- 接続時フェイルオーバー、高速接続フェイルオーバー、高速アプリケーション通知、ロード・バランシング・アドバイザなどのOracle RACの自動ワークロード管理機能を使用します。詳細は、第5章「自動ワークロード管理の概要」を参照してください。

- 個別のボリューム・グループに投票ディスクを配置して、I/Oスループットの低下による停止を減らします。x個の投票デバイスの障害に対応するには、2x + 1個のミラーを構成します。

- Oracle Database Quality of Service Management(Oracle Database QoS Management)を使用して、システムを監視し、パフォーマンス・ボトルネックを検出します。

- 約2ミリ秒(ms)以下のI/Oサービス時間でOCRを配置します。

- FAST_START_MTTR_TARGET初期化パラメータを使用してデータベース・リカバリをチューニングします。

- Oracle Automatic Storage Management(Oracle ASM)を使用してデータベース記憶域を管理します。

- 厳密変更制御手順が有効であることを確認します。

- LDAP、NIS、DNSなどの周辺のインフラストラクチャに高可用性およびリジリエンスがあることを確認します。これらのエンティティは、Oracle RACデータベースの可用性に影響します。可能な場合は、ローカルのバックアップ手順を定期的に実行します。

- Oracle Enterprise Managerを使用して、Oracle RACデータベースのみでなく、Oracle RAC環境全体を管理します。Oracle Enterprise Managerを使用して、サービスの作成と変更、およびクラスタ・データベース・インスタンスとクラスタ・データベースの起動と停止を実行できます。Oracle RAC環境でOracle Enterprise Managerを使用する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- Recovery Manager (RMAN)を使用して、データ・ファイル、制御ファイル、サーバー・パラメータ・ファイル(SPFILE)およびアーカイブREDOログ・ファイルのバックアップ、リストアおよびリカバリを実行します。RMANをメディア・マネージャとともに使用すると、ファイルを外部記憶域にバックアップできます。また、Oracle RACデータベースのバックアップまたはリカバリの実行時にパラレル化を構成できます。Oracle RACでは、RMANのチャネルは、すべてのOracle RACインスタンス間で動的に割り当てられます。チャネルのフェイルオーバーによって、1つのノード上で失敗した操作を別のノードで継続できます。RMANは、Oracle Enterprise Manager Backup Managerまたはコマンドラインから実行できます。RMANの使用方法の詳細は、第6章「Recovery Managerの構成およびアーカイブ」を参照してください。

- 順序番号を使用している場合、常にNOORDERオプションを指定したCACHEを使用することによって、順序番号生成のパフォーマンスを最適化します。ただし、CACHEオプションを使用すると、連続しない順序番号が生成される場合があります。連続しない順序番号を使用できない環境では、NOCACHEオプションを使用するか、または順序番号の事前生成を検討してください。アプリケーションでは順序番号の順序付けが必要で、連続しない順序番号を使用できる場合は、CACHEおよびORDERを使用して、Oracle RACの順序番号のキャッシュおよび順序付けを行います。アプリケーションで連続した順序番号の順序付けが必要な場合は、NOCACHEおよびORDERを使用します。NOCACHEとORDERの組合せは、その他のキャッシュおよび順序付けの組合せと比較すると、パフォーマンスに最も大きな影響を及ぼします。

注意:
連続しない順序番号を使用できない環境では、順序番号の事前生成を検討するか、またはORDERおよびCACHEオプションを使用してください。

- 索引を使用する場合は、逆キー索引などの方法を検討してパフォーマンスを最適化します。逆キー索引は、挿入日付に基づいた索引のように、索引の一方に頻繁に挿入を行う場合に特に有効です。

クラスタ内の単一または複数のデータベースでの複数のアプリケーションの統合

多くのユーザーは、複数のアプリケーションの単一データベースへの統合および複数のデータベースの単一クラスタへの統合を望んでいます。Oracle ClusterwareおよびOracle RACは、両方のタイプの統合をサポートしています。

Oracle ASMによって管理された単一の記憶域のプールでクラスタを作成すると、インフラストラクチャで複数のデータベースを(シングル・インスタンス・データベースか、またはOracle RACデータベースかに関係なく)管理できます。

Oracle RACデータベースの場合は、ワークロードの要件に基づいてインスタンスの数、および指定されたデータベースのインスタンスを実行するノードを調整できます。クラスタで管理されるサービスなどの機能を使用すると、単一データベースまたは複数のデータベース間で複数のワークロードを管理できます。

作業を追加する場合は、クラスタの容量を適切に管理することが重要です。クラスタを管理するプロセス(Oracle Clusterwareとデータベースの両方からのプロセスを含む)は、CPUのリソースを適時に取得できる必要があり、システム内で優先度が高く設定される必要があります。Oracle Database Quality of Service Management(Oracle Database QoS Management)は、パフォーマンス目標を満たすようにCPUリソースを動的に割り当てることで、クラスタまたはデータベース内での複数のアプリケーション統合を支援します。

関連項目:
詳細は、『Oracle Database Quality of Service Managementユーザーズ・ガイド』を参照してください。

サーバー上のリアルタイム・グローバル・キャッシュ・サービス・プロセス(LMSn)の数は、プロセッサ数と同じか、それより少なくすることをお薦めします。(これは、コアを含めて認識されるCPUの数です。たとえば、デュアル・コアCPUは、2つのCPUとみなされます。)ノード上にインスタンスを追加するときは、システムで負荷試験を実行して、ワークロードをサポートするのに必要な容量があることを確認することが重要です。

多数の小規模なデータベースをクラスタに統合する場合は、Oracle RACインスタンスによって作成されるLMSnの数を減らす必要がある場合があります。デフォルトでは、サーバーで検出されるCPUの数に基づいてプロセスの数がOracle Databaseによって算出されます。この計算の結果、LMSnプロセスがOracle RACインスタンスで必要とされるプロセス数より多くなることがあります。1つのLMSプロセスは、最大4個のCPUで対応できます。LMSnプロセスの数を減らすには、GC_SERVER_PROCESSES初期化パラメータを手動で最小限度の1の値に設定します。CPU4個ごとに、アプリケーションで必要とされるプロセスを1つ追加します。通常は、ビジー状態のLMSnプロセスを少なくすることをお薦めします。Oracle Databaseはインスタンスの起動時にプロセスの数を算出するため、その値を変更する場合はインスタンスを再起動する必要があります。

Oracle RACのスケーラビリティ

Oracle RACでは、複数のシステムからデータの個別コピーへのトランザクションに一貫性のある同時アクセスが可能です。単一のサーバーの容量を超えたスケーラビリティも実現します。アプリケーションが対称マルチプロセッシング(SMP)サーバーで透過的にスケール変更する場合は、そのアプリケーションはアプリケーション・コードを変更しなくてもOracle RACで適切にスケール変更すると想定できます。

従来、データベース・サーバーが容量を超えて実行される場合は、より大きな新しいサーバーに置き換えられてきました。サーバーの容量が大きくなると、価格も上がります。ただし、Oracle RACデータベースには、容量を増やすための別の手段があります。

- 従来はより大きいSMPサーバーで実行していたアプリケーションを移行して、小規模なサーバーのクラスタで実行できます。

- 現行のハードウェアへの投資を維持し、新しいサーバーをクラスタに追加する(あるいは新しいクラスタを作成または追加する)ことで、容量を増やすことができます。

Oracle ClusterwareおよびOracle RACを使用してクラスタにサーバーを追加する場合、停止は必要ありません。新規インスタンスが起動されると同時に、アプリケーションは追加された容量を使用できます。

クラスタ内のすべてのサーバーは、同じオペレーティング・システムと同じバージョンのOracle Databaseを実行する必要がありますが、各サーバーの容量を完全に揃える必要はありません。Oracle RACを使用すると、要件にあったクラスタ(デュアルCPUの汎用サーバーで構成されるクラスタや、32または64のCPUが組み込まれたサーバーで構成されるクラスタなど)を構築できます。Oracleのパラレル実行機能を使用すると、1つのSQL文を複数のプロセスに分割でき、それぞれのプロセスで作業のサブセットが実行されます。Oracle RAC環境では、パラレル・プロセスをユーザーが接続されているインスタンスでのみ実行するように定義したり、クラスタ内の複数のインスタンス間で実行するように定義することができます。

関連項目:

- 第8章「新規クラスタのノードへのOracle RACのクローニング」

- 第9章「クローニングを使用した同じクラスタのノードへのOracle RACの拡張」

- 第10章「LinuxおよびUNIXシステムのノードでのOracle RACの追加と削除」

- 第11章「WindowsシステムのノードでのOracle RACの追加と削除」

Oracle RACの設計に関する一般的な考慮事項

この項では、Oracle RAC環境でのデータベースの設計およびデプロイメント方法について簡単に説明します。また、高可用性を実現するための考慮事項を説明し、Oracle RACの様々なデプロイメントに関する一般的なガイドラインを示します。

Oracle RACデータベース上にデプロイするアプリケーションの設計および開発時には、次の手順の実行を検討してください。

1. 設計とアプリケーションのチューニング

2. メモリーとI/Oのチューニング

3. 競合のチューニング

4. オペレーティング・システムのチューニング

注意:
アプリケーションをSMPシステムで拡張できない場合は、アプリケーションをOracle RACデータベースに移動してもパフォーマンスは向上しません。

挿入集中型オンライン・トランザクション処理(OLTP)アプリケーションには、ハッシュ・パーティション化を使用することを検討します。ハッシュ・パーティション化の特長は次のとおりです。

- 単一データベース構造への同時挿入による競合を軽減します。

- 索引がローカルで表を使用してパーティション化され、表が順序ベースのキーでパーティション化されている場合、順序ベースの索引に適用されます。

- アプリケーションに対して透過的です。

OLTP環境に対して表および索引のハッシュ・パーティション化を使用すると、Oracle RACデータベースでのパフォーマンスが大幅に向上します。ハッシュ・パーティション化された索引では、索引レンジ・スキャンは使用できないことに注意してください。

Oracle RACでのデータベースの一般的なデプロイメント

この項では、Oracle RACデータベースをデプロイする際の考慮事項について説明します。ここで説明する方法を採用しない場合でも、Oracle RACデータベースのパフォーマンスが低下することはありません。効率的な非クラスタ設計であれば、アプリケーションはOracle RACデータベースで効率的に実行されます。

この項の内容は次のとおりです。

- Oracle RACでの表領域の使用

- Oracle RACでのオブジェクトの作成およびパフォーマンス

- Oracle RACでのノードの追加と削除およびSYSAUX表領域

- 分散トランザクションおよびOracle RAC

- Oracle RACでのOLTPアプリケーションのデプロイ

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

- Oracle RACでのデータ・ウェアハウス・アプリケーションのデプロイ

- Oracle RACでのデータ・セキュリティの考慮事項

Oracle RACでの表領域の使用

ローカル管理表領域の使用の他に、自動セグメント領域管理(ASSM)および自動UNDO管理を使用して領域管理をさらに簡単にすることができます。

ASSMでは、挿入を行うためのブロックの各インスタンスのサブセット間にインスタンスのワークロードが分散されます。これによってブロック転送が最小限に抑えられるため、Oracle RACパフォーマンスが向上します。自動UNDO管理をOracle RAC環境にデプロイするには、各インスタンスに固有のUNDO表領域が必要です。

Oracle RACでのオブジェクトの作成およびパフォーマンス

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

Oracle RACでのノードの追加と削除およびSYSAUX表領域

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

関連項目:
複数のインスタンスに対するSYSAUX表領域のサイズの設定方法については、プラットフォーム固有のOracle RACのインストレーション・ガイドを参照してください。

分散トランザクションおよびOracle RAC

Oracle RAC環境でXAトランザクションを実行しているときに、そのパフォーマンスが低い場合は、密結合分散トランザクションのすべてのブランチを同じインスタンスに割り当てます。

これを実現するには、1つ以上のOracle RACインスタンスで複数のOracle分散トランザクション処理(DTP)サービスを作成します。各DTPサービスは、1つのみのOracle RACインスタンスで使用可能な単一のサービスです。分散トランザクション処理のためのデータベース・サーバーへのアクセスは、すべてDTPサービスを経由する必要があります。単一のグローバル分散トランザクションのすべてのブランチが、同じDTPサービスを使用することを確認してください。つまり、TNS名やJDBC URLなどのネットワーク接続記述子には、分散トランザクション処理をサポートするためにDTPサービスを使用する必要があります。

関連項目:

- サービスおよび分散トランザクションの有効化の詳細は、「Oracle RACのサービスおよび分散トランザクション処理」を参照してください。

- Oracle RACでの分散トランザクションの詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。

Oracle RACでのOLTPアプリケーションのデプロイ

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

- 障害時の高可用性

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

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

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

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

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

- ユーザーの需要の変化

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

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

Oracle RACでのデータ・ウェアハウス・アプリケーションのデプロイ

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

この項の内容は次のとおりです。

- Oracle RACでのデータ・ウェアハウス・アプリケーションのスピードアップ

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

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

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

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

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

Oracle Databaseのパラレル実行機能では、マルチ・プロセスを使用して1つ以上のCPUでSQL文を実行します。パラレル実行は、非クラスタOracle DatabaseおよびOracle RACデータベースの両方で使用できます。

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

関連項目:

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

- パラレル実行の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

Oracle RACでのデータ・セキュリティの考慮事項

この項では、2つのOracle RACセキュリティの考慮事項について説明します。内容は次のとおりです。

- 透過的データ暗号化およびウォレット

- Windowsファイアウォールの考慮事項

透過的データ暗号化およびウォレット

Oracle Database 11g リリース2(11.2)では、Oracle RACノードでウォレットを共有できます。これによって、すべてのノードにウォレットを手動でコピーし同期化する必要がなくなります。ウォレットは、共有ファイル・システムで作成することをお薦めします。こうすることで、すべてのインスタンスが同じ共有ウォレットにアクセスできるようになります。

Oracle RACでは、次のようにウォレットが使用されます。

1. ある1つのOracle RACインスタンスで実行されるウォレットのオープン、クローズなどのウォレット操作は、他のすべてのOracle RACインスタンスに適用されます。つまり、1つのインスタンスでウォレットをオープンおよびクローズすると、すべてのOracle RACインスタンスでウォレットがオープンおよびクローズされます。

2. 共有ファイル・システムを使用する場合は、すべてのOracle RACインスタンスのENCRYPTION_WALLET_LOCATIONパラメータが、必ず同じ共有ウォレットの場所を指すようにします。また、セキュリティ管理者は、適切なディレクトリ権限を割り当てることによって、共有ウォレットのセキュリティを確保する必要もあります。

注意:
オペレーティング・システムでOracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)が使用可能な場合は、ウォレットをOracle ACFSに格納することをお薦めします。Oracle ASMにOracle ACFSがない場合は、Oracle ASMコンフィギュレーション・アシスタント(ASMCA)を使用して作成してください。次のように、各インスタンスのsqlnet.oraファイルに、マウント・ポイントを追加する必要があります。

ENCRYPTION_WALLET_LOCATION=
(SOURCE = (METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /opt/oracle/acfsmounts/data_wallet)))

このファイル・システムは、インスタンスの起動時に自動的にマウントされます。ウォレットのオープンとクローズ(およびTDEマスター暗号化鍵の設定またはキー更新およびローテーションを行うコマンド)は、すべてのノードで間で同期化されています。

3. ある1つのインスタンスで実行されるmaster key rekeyは、すべてのインスタンスに適用されます。新しいOracle RACノードは、構成されると、現在のウォレットのステータス(オープンまたはクローズ)を認識します。

4. マスター・キーの設定または変更中に、ウォレットのopenまたはcloseコマンドを発行しないでください。

共有ストレージがウォレット用に存在しないデプロイメントでは、各Oracle RACノードでローカル・ウォレットを保持する必要があります。単一のノードでウォレットを作成およびプロビジョニングした後、次のようにウォレットをコピーして他のすべてのノードで使用可能にする必要があります。

- 暗号化されたウォレットとともに透過的データ暗号化を使用するシステムでは、任意の標準ファイル転送プロトコルを使用できますが、保護されたファイル転送を使用することをお薦めします。

- 不明瞭にされたウォレットとともに透過的データ暗号化を使用するシステムでは、保護されたチャネルを介してファイルを転送することをお薦めします。

ウォレットが存在するディレクトリを指定するには、sqlnet.oraファイル内のENCRYPTION_WALLET_LOCATIONパラメータを設定します。SQL文ALTER SYSTEM SET KEYを使用してサーバー・キーが再設定されるまで、透過的データ暗号化の使用中にウォレットのローカル・コピーを同期化する必要はありません。データベース・インスタンスでALTER SYSTEM SET KEY文を発行するたびに、ノードに存在するウォレットを再度コピーし、他のすべてのノードで使用可能にする必要があります。次に、各ノードでウォレットを閉じてから再度開く必要があります。不要な管理オーバーヘッドを回避するために、サーバー・マスター・キーのセキュリティが低下したり、キーを再設定しないと重大なセキュリティ問題が発生することが明確な例外的な場合のためにキーの再設定を予約します。

関連項目:
ウォレットの作成およびプロビジョニングの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。

Windowsファイアウォールの考慮事項

デフォルトにより、Windows Server 2003 Service Pack 1以上のすべてのインストレーションにおいて、Windowsファイアウォールは、着信接続に対するほとんどすべてのTCPネットワーク・ポートをブロックできます。そのため、TCPポート上で着信接続をリスニングするOracle製品はすべて、これらのどの接続要求も受信せず、これらの接続を行っているクライアントはエラーを報告します。

インストールするOracle製品およびその使用方法によって、Windows Server 2003でファイアウォール製品が機能するように、Windowsのインストール後の追加の構成作業を実行する必要があります。

関連項目:
Windowsファイアウォールの例外に必要なOracle RACの実行可能ファイルの詳細は、Oracle Real Application Clustersインストレーション・ガイドのMicrosoft Windows版を参照してください。

13 パフォーマンスの監視

この章では、Oracle Real Application Clusters(Oracle RAC)のパフォーマンスを監視およびチューニングする方法について説明します。

内容は次のとおりです。

- Oracle RACデータベースの監視およびチューニングの概要

- Oracle RACのインターコネクト設定の検証

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

- Oracle RACのパフォーマンス・ビュー

- CATCLUST.SQLによるOracle RACのデータ・ディクショナリ・ビューの作成

- Oracle RACのパフォーマンス統計

- Oracle RAC環境における自動ワークロード・リポジトリ

- Oracle RACのアクティブ・セッション履歴レポート

- Oracle RACの統計および待機イベントの監視

Oracle RACデータベースの監視およびチューニングの概要

この項の内容は次のとおりです。

- Oracle RACおよびOracle Clusterwareの監視

- Oracle RACデータベースのチューニング

関連項目:

- 『Oracle Database 2日でReal Application Clustersガイド』

- Oracle Enterprise Managerのオンライン・ヘルプ

- 基本的なデータベース・チューニングの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

- 一般的なパフォーマンスのチューニングの詳細は、『Oracle Database 2日でパフォーマンス・チューニング・ガイド』を参照してください。

- Oracle Clusterwareコンポーネントの問題の診断方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle RACおよびOracle Clusterwareの監視

Oracle RACおよびOracle Clusterwareの監視には、Oracle Enterprise Managerを使用することをお薦めします。Oracle Enterprise Managerは、コンピューティング環境を監視および管理するためのOracleのWebベースの統合管理ソリューションです。Webブラウザを使用できる場所であれば、どこからでも、OracleのRACデータベース、アプリケーション・サーバー、ホスト・コンピュータおよびWebアプリケーションと、それらに関連するハードウェアやソフトウェアを管理できます。たとえば、Webブラウザが使用可能であれば、オフィス、自宅またはリモート環境からOracle RACデータベースのパフォーマンスを管理できます。

Oracle Enterprise Manager Database ControlとOracle Enterprise Manager Grid Controlはいずれも、クラスタを認識し、クラスタ・データベースを集中管理するためのコンソールを提供します。クラスタ・データベースの「ホーム」ページから、次のすべての操作を実行できます。

- システム全体のステータス(クラスタ内のノードの数、各ノードの現在のステータスなど)の表示。この高度なビュー機能を使用すると、包括的な集計情報のみを確認する場合に、各データベース・インスタンスの詳細情報にアクセスする必要がなくなります。

- いずれかのインスタンスで発生したすべてのアラート・メッセージの表示および各アラート・メッセージの原因のリスト。アラート・メッセージは、特定のメトリック条件が発生したことを示します。メトリックは、システムの状態をレポートするために使用される測定単位です。

- クラスタ全体および個々のインスタンスに影響している問題の確認。

- 処理傾向を識別し、Oracle RAC環境のパフォーマンスを最適化するために役立つ、クラスタ・キャッシュ一貫性の統計の監視。キャッシュ一貫性の統計では、複数のインスタンスのキャッシュ内データがどの程度同期化されているかが測定されます。データ・キャッシュが相互に完全に同期化されている場合、どのインスタンスのキャッシュからメモリーの場所を読み取っても、その場所に対して任意のインスタンスのキャッシュから書き込まれた最新のデータが戻されます。

Oracle Enterprise Managerは、特定期間のデータ(収集ベース・データという)を累積します。また、Oracle Enterprise Managerは、現在のデータ(リアルタイム・データ)も提供します。

『Oracle Database 2日でReal Application Clustersガイド』では、Oracle Enterprise Managerを使用したパフォーマンスの監視について詳細に説明しています。

- Automatic Database Diagnostic MonitorおよびOracle RACのパフォーマンス

- クラスタ・データベースの「ホーム」ページ

- 「インターコネクト」ページ

- クラスタの「パフォーマンス」ページ

クラスタ・データベースの「ホーム」ページ

クライアントのブラウザを使用してOracle Enterprise Managerにログインすると、クラスタ・データベースの「ホーム」ページが表示され、ここで、Oracle ClusterwareおよびOracle RAC環境の両方のステータスを監視できます。監視には次の内容が含まれます。

- VIPの再配置が発生した場合の通知

- クラスタ検証ユーティリティ(cluvfy)で取得した情報を使用している各クラスタ・ノードのOracle Clusterwareのステータス

- ノード・アプリケーション(nodeapps)が起動または停止した場合の通知

- Oracle ClusterwareのOCR用アラート・ログに記録された問題、投票ディスクの問題(ある場合)およびノード削除の通知

クラスタ・データベースの「ホーム」ページは、非クラスタ・データベースの「ホーム」ページと似ています。ただし、クラスタ・データベースの「ホーム」ページには、Oracle Enterprise Managerによって、システムの状態と可用性が表示されます。これには、アラート・メッセージおよびジョブ・アクティビティのサマリーと、全データベースに対するリンクおよびOracle Automatic Storage Management(Oracle ASM)のインスタンスが含まれています。たとえば、サービスがどの優先インスタンスでも実行されていない、サービス応答時間のしきい値が満たされていないなど、クラスタのサービスで発生する問題を追跡できます。

「インターコネクト」ページ

Oracle Enterprise Managerの「インターコネクト」ページを使用して、Oracle Clusterware環境を監視できます。「インターコネクト」ページには、次のような、クラスタのパブリック・インタフェースおよびプライベート・インタフェースや、インターコネクトのデータベース・インスタンスによるロードが表示されます。

- プライベート・インターコネクト間の全体スループット

- 設定の問題が原因で、データベース・インスタンスがパブリック・インタフェースを使用している場合の通知

- インターコネクトのスループットおよびエラー(ある場合)

- インターコネクトの個々のインスタンスによるスループット

この情報はすべて、履歴ビューを持つコレクションとしても使用可能です。このことは、クラスタの待機イベント関連の問題を診断する場合などに、クラスタ・キャッシュ一貫性と併用すると有効です。クラスタ・データベースの「ホーム」ページで「InterConnect」タブをクリックするか、またはOracle RACデータベースの「ホーム」ページで診断結果の「インターコネクト・アラート」リンクをクリックすると、「インターコネクト」ページにアクセスできます。

クラスタの「パフォーマンス」ページ

Oracle Enterprise Managerクラスタ・データベースの「パフォーマンス」ページには、データベースのパフォーマンス統計のサマリーが表示されます。統計は、グラフにあるクラスタ・データベース内のすべてのインスタンス間でロールアップされます。グラフの横のリンクを使用すると、より詳細な情報を取得したり、次のタスクを実行することができます。

- パフォーマンスの問題の原因の特定。

- リソースを追加または再分散する必要があるかどうかの判別。

- SQLプランおよびスキーマのチューニングによる最適化。

- パフォーマンスの問題の解決

クラスタ・データベースの「パフォーマンス」ページにあるグラフは次のとおりです。

- 「クラスタ・ホストのロード平均」グラフ: クラスタ・データベースの「パフォーマンス」ページの「クラスタ・ホストのロード平均」グラフには、データベース外部で発生する可能性がある問題が表示されます。このグラフには、クラスタ内にある使用可能なノードの、過去1時間の最大ロード値、平均ロード値および最小ロード値が表示されます。

- 「グローバル・キャッシュ・ブロックのアクセス待機時間」グラフ: 各クラスタ・データベース・インスタンスは、システム・グローバル領域(SGA)に固有のバッファ・キャッシュを備えています。キャッシュ・フュージョンの使用によって、Oracle RAC環境で各インスタンスのバッファ・キャッシュが論理的に結合され、論理的に結合された単一のキャッシュにデータが存在する場合と同様に、データベース・インスタンスでデータを処理できます。

- 「平均アクティブ・セッション」グラフ: クラスタ・データベースの「パフォーマンス」ページの「平均アクティブ・セッション」グラフには、データベース内で発生する可能性がある問題が表示されます。「カテゴリ」(待機クラスという)には、CPUやディスクI/Oなどのリソースを使用しているデータベースの数が表示されます。CPU時間と待機時間を比較すると、他のプロセスで保留されている可能性のあるリソースを待機している時間ではなく、有効な作業に費やされているレスポンス時間を判別できます。

- 「平均アクティブ・セッション」グラフ: 「データベース・スループット」グラフは、「平均アクティブ・セッション」グラフに表示される任意のリソース競合を要約する他、ユーザーやアプリケーションのためにデータベースが実行中の作業の量を示します。「1秒当たり」ビューは、1秒当たりのログオン数に対するトランザクションの数、REDOサイズに対する物理読取りの量を示します。「1トランザクション当たり」ビューは、トランザクション当たりのREDOサイズに対する物理読取りの量を示します。「ログオン」は、データベースにログオンしているユーザー数を示します。

さらに、クラスタ・データベースの「パフォーマンス」ページにある「トップ・アクティビティ」ドリルダウン・メニューでは、待機イベント、サービスおよびインスタンス単位でアクティビティを表示できます。また、グラフのスライダを使用して以前の時点に移動することによって、SQL/セッションの詳細を表示できます。

クラスタ・データベースの「パフォーマンス」ページには、Oracle RACデータベースのパフォーマンス統計のサマリーが表示されます。ユーザーがすべてのインスタンスを調べなくてもパフォーマンスの問題を特定できるように、統計はクラスタ・データベース内のすべてのインスタンス間でロールアップされます。サービスに関連したパフォーマンスの問題の優先順位を決定しやすくするために、Oracle Enterprise Managerでは次のレベルでアクティビティ・データを集計します。

- 待機単位の集計
すべてのアクティビティ・データが12のカテゴリ(CPU、スケジューラ、ユーザーI/O、システムI/O、同時実行性、アプリケーション、コミット、構成、管理、ネットワーク、クラスタおよびその他)で表示されます。表示されたデータは、実行中のすべてのインスタンスからロールアップされます。

- サービス単位の集計
すべてのアクティビティ・データが、サービスごとにロールアップされます。この方法でアクティビティ・データを表示すると、最もアクティブなサービスおよび詳細な分析が必要なサービスを簡単に特定できます。

- インスタンス単位の集計
同様の結果として、サービスが対象のサービスでない場合、アクティビティ・データはインスタンスごとにロールアップされます。

集計はアクティビティ・データが表示されているページ(「データベース・パフォーマンス」ページ、「トップ・アクティビティ」ページ、「待機の詳細」ページ、「サービスの詳細」ページなど)に表示されます。

関連項目:
『Oracle Database 2日でReal Application Clustersガイド』

Oracle RACデータベースのチューニング

非クラスタのOracle Databaseのすべてのチューニング方法は、Oracle RACデータベースに適用されます。したがって、『Oracle Database 2日でパフォーマンス・チューニング・ガイド』および『Oracle Databaseパフォーマンス・チューニング・ガイド』の説明に従って、非クラスタのチューニング方法を実施してください。

Oracle RACのインターコネクト設定の検証

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

接続したOracle RACデータベース・インスタンスのインターコネクト設定を検証するには、V$CLUSTER_INTERCONNECTSおよびV$CONFIGURED_INTERCONNECTSビューを問い合せます。次に例を示します。

例13-1 V$CLUSTER_INTERCONNECTSを使用したインターコネクト設定の検証

SQL> SELECT * FROM V$CLUSTER_INTERCONNECTS;

NAME             IP_ADDRESS       IS_PUBLIC SOURCE
---------------  --------------   ---       -------------------------------
eth2             10.137.20.181    NO        Oracle Cluster Repository

注意:
GV$CLUSTER_INTERCONNECTSビューを問い合せて、クラスタ内のすべてのインスタンスのエントリを表示できます。

例13-2 V$CONFIGURED_INTERCONNECTSを使用したインターコネクト設定の検証

SQL> SELECT * FROM V$CONFIGURED_INTERCONNECTS;

NAME             IP_ADDRESS       IS_PUBLIC   SOURCE
---------------  ---------------  ---         -------------------------------
eth2             10.137.20.181    NO          Oracle Cluster Repository
eth0             10.137.8.225     YES         Oracle Cluster Repository

インターコネクト処理への影響

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

Oracle Cluster Registry(OCR)には、システムのインターコネクト情報が格納されます。Oracle Interface Configuration(OIFCFG)コマンドライン・ユーティリティoifcfg getifコマンドまたはOCRDUMPユーティリティを使用して、使用しているインターコネクトを特定します。その後、OIFCFGコマンドを実行して、使用しているインターコネクトを変更できます。

関連項目:

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

- OIFCFGおよびOCRDUMPユーティリティの有効化および使用の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

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

CLUSTER_INTERCONNECTS=10.0.0.1

オペレーティング・システム固有のベンダーIPCプロトコルを使用している場合は、トレース情報からIPアドレスが判明しない場合があります。

注意:
OIFCFGコマンドを使用しても、プライベート・ネットワークまたはプライベートIPアドレスを割り当てることができます。

関連項目:
CLUSTER_INTERCONNECTSパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

Oracle RACのパフォーマンス・ビュー

各インスタンスには、V$という接頭辞が付く、それぞれ一連のインスタンス固有のビューがあります。グローバル動的パフォーマンス・ビューに問い合せて、すべてのインスタンスからパフォーマンス情報を取り出すことができます。グローバル動的パフォーマンス・ビュー名には、GV$という接頭辞が付きます。

GV$ビューを問い合せると、すべてのインスタンスからV$ビュー情報が取り出されます。V$情報に加えて、各GV$ビューには、NUMBERデータ型のINST_IDという追加の列が含まれています。INST_ID列には、関連するV$ビュー情報の取得元のインスタンス番号が表示されます。

フィルタとしてINST_ID列を使用すると、使用可能なインスタンスのサブセットからV$情報を取り出せます。たとえば、次の問合せでは、インスタンス2および5のV$LOCKビューから情報を取り出します。

SQL> SELECT * FROM GV$LOCK WHERE INST_ID = 2 OR INST_ID = 5;

関連項目:
GV$ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

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

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

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

Oracle RACのパフォーマンス統計

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

Oracle RAC環境における自動ワークロード・リポジトリ

自動ワークロード・リポジトリ(AWR)を使用して、Oracle RACデータベースに関連するパフォーマンスの統計を監視できます。AWRでは、パフォーマンス・データのスナップショットを1時間ごとに自動生成し、統計をワークロード・リポジトリに収集します。Oracle RAC環境では、AWRの各スナップショットがクラスタ内のすべてのアクティブなインスタンスからデータを取得します。取得される各スナップショット・セットのデータは、同じ時点のものです。AWRでは、すべてのインスタンスのスナップショット・データが同じ表に格納され、データはインスタンス修飾子で識別されます。たとえば、BUFFER_BUSY_WAIT統計では、各インスタンスのバッファ待機の数が示されます。AWRでは、クラスタ全体から集計されるデータは格納されません。つまり、データは各インスタンスごとに個別に格納されます。

Automatic Database Diagnostic Monitor(ADDM)を使用すると、Oracle Databaseにおいて考えられるパフォーマンス上の問題がないか、AWRで収集された情報を分析できます。ADDMでは、クラスタ全体の観点からパフォーマンス・データを表示するため、全体的なパフォーマンス分析が可能です。Oracle RAC環境では、ADDMは、すべてのインスタンスから収集されたデータを使用してパフォーマンスを分析し、次のような様々なレベルの粒度で表示できます。

- クラスタ全体の分析

- 特定のデータベース・インスタンスの分析

- データベース・インスタンスのサブセットの分析

これらの分析を行うには、ADDMアドバイザをOracle RACのADDMのモードで実行してクラスタ全体の分析を行うか、ローカルADDMのモードで個々のインスタンスのパフォーマンスを分析するか、または部分ADDMモードでインスタンスのサブセットを分析します。Oracle Enterprise Managerのアドバイザ・セントラルまたはDBMS_ADVISORパッケージおよびDBMS_ADDM PL/SQLパッケージを介したアドバイザ・フレームワークを使用して、ADDM分析をアクティブ化します。

関連項目:

- AWRおよびADDMの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

- Oracle Enterprise Managerを使用したグローバルおよびローカルADDMデータへのアクセス方法と分析方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- DBMS_ADVISORおよびDBMS_ADDMパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

Oracle RACのアクティブ・セッション履歴レポート

この項では、Oracle RACのアクティブ・セッション履歴(ASH)レポートについて説明します。内容は次のとおりです。

- Oracle RACのASHレポートの概要

- Oracle RACのASHレポート: トップ・クラスタ・イベント

- Oracle RACのASHレポート: トップ・リモート・インスタンス

関連項目:
ASHレポートの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

Oracle RACのASHレポートの概要

ASHはOracle Databaseの自己管理フレームワークにとって不可欠な部分であり、Oracle RAC環境のパフォーマンスの問題の診断に役立ちます。ASHレポート統計は、Oracle Databaseのセッション・アクティビティに関する詳細を示します。Oracle Databaseでは、Oracle RACのすべてのアクティブ・インスタンスのアクティブ・セッションに関する情報を記録して、このデータをシステム・グローバル領域(SGA)に格納します。データベースに接続してCPUを使用しているすべてのセッションが、アクティブ・セッションとみなされます。ただし、アイドル状態の待機クラスに属するイベントを待機しているセッションは例外です。

ASHレポートは、アクティブ・セッションの情報のみを取り込むことによって、管理可能なデータのセットを表示します。データの量は、システムで許可されているセッションの数ではなく、実行されている作業に直接関連します。

指定した期間中に収集されたASH統計をASHレポートに含めることができます。各ASHレポートは、ADDM分析には表示されない短時間のパフォーマンスの問題を特定できるように、複数のセクションに分割されています。Oracle RAC固有の2つのASHレポート・セクションは、次の2つの項で説明するとおり、トップ・クラスタ・イベントとトップ・リモート・インスタンスです。

Oracle RACのASHレポート: トップ・クラスタ・イベント

ASHレポートのトップ・クラスタ・イベント・セクションは、Oracle RAC固有のトップ・イベント・レポートの一部です。トップ・クラスタ・イベント・レポートでは、クラスタ待機クラスのイベントのうちセッション・アクティビティの割合が最も高いイベントと、影響を受けるインスタンスのインスタンス番号が表示されます。この情報を使用して、クラスタ待機イベントの割合を上げているイベントおよびインスタンスを特定できます。

Oracle RACのASHレポート: トップ・リモート・インスタンス

ASHレポートのトップ・リモート・インスタンス・セクションは、Oracle RAC固有のトップ・ロード・プロファイル・レポートの一部です。トップ・リモート・インスタンス・レポートでは、クラスタ待機イベントと、セッション・アクティビティの割合が最も高いインスタンスのインスタンス番号が表示されます。この情報を使用して、クラスタ待機期間を長くしているインスタンスを特定できます。

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

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

この項の内容は次のとおりです。

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

- Oracle RACの待機イベント

- GCS統計とGES統計の分析によるパフォーマンス監視

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

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

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

AWRおよびStatspackレポートでのOracle RAC統計およびイベント

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

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

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

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

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

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

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

- グローバルCR統計

- 実行済のグローバルCURRENT統計

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

Oracle RACの待機イベント

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

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

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

- gc current block request

- gc cr block request

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

- gc current block 3-way

- gc current block busy

- gc cr block grant 2-way

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

GCS統計とGES統計の分析によるパフォーマンス監視

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

- キャッシュ・フュージョンがOracle RACに与える影響の分析

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

キャッシュ・フュージョンがOracle RACに与える影響の分析

グローバル・キャッシュ内のブロックへのアクセス、および一貫性を保持した場合の効果は、次の情報で示されます。

- gc current blocks received、gc cr blocks receivedなどのcurrentおよびcrブロックのグローバル・キャッシュ・サービス(GCS)統計

- gc current block 3-way、gc cr grant 2-wayなどのGCSの待機イベント

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

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

この項では、すべてのインスタンスによる使用頻度の高い(hot)データ・ブロックおよびオブジェクトを識別して、GCSのパフォーマンスを監視する方法を説明します。並行処理回数の多いブロックは、GCSの待機イベントおよび待機数によって特定できます。

gc current block busyの待機イベントは、リモート・キャッシュまたはローカル・キャッシュがビジーなため、キャッシュ・データ・ブロックへのアクセスが遅延状態であることを示します。この原因として、次のいずれかが考えられます。

- ブロックが確保されている

- ブロックがセッションによって保留されている

- ブロックがリモート・インスタンス側のログ書込みにより遅延されている

- 同一インスタンス上のセッションが、インスタンス間を移動中のブロックにアクセスしているため、現行のセッションが待機状態(gc current block busyなど)になっている

V$SESSION_WAITビューを使用して、競合するオブジェクトおよびデータ・ブロックを識別します。GCS待機イベントには、p1およびp2のブロック・リクエストのファイルおよびブロック番号がそれぞれ含まれています。

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

AWRインフラストラクチャは、最近の待機イベントおよびその引数のトレースにも使用できるアクティブ・セッション履歴のビューを提供します。そのため、ホット・ブロック分析に有効です。AWRおよびStatspackで使用されるほとんどのレポート機能に、オブジェクト統計およびクラスタ待機クラスのカテゴリが含まれるため、前述のビューのサンプリングが必要になることはほとんどありません。

注意:
ADDMおよびAWRを使用することをお薦めします。ただし、Statspackには下位互換性があります。Statspackには、レポート機能のみが用意されています。ブロック競合およびセグメント・ブロックの待機に関連する統計を収集するには、Statspackをレベル7で実行する必要があります。

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

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

この項では、読込みおよび変更頻度の高いオブジェクトおよびリモート・アクセスにより発生するサービス時間を識別して、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文およびデータベース・オブジェクトが特定されます。

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

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

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

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

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

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

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

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

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

Oracle RACの待機イベントは、次のカテゴリに分類されます。

- ブロック関連の待機イベント

- メッセージ関連の待機イベント

- 競合関連の待機イベント

- ロード関連の待機イベント

ブロック関連の待機イベント

ブロック関連待機の主な待機イベントは、次のとおりです。

- gc current block 2-way

- gc current block 3-way

- gc cr block 2-way

- gc cr block 3-way

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

メッセージ関連の待機イベント

メッセージ関連待機の主な待機イベントは、次のとおりです。

- gc current grant 2-way

- gc cr grant 2-way

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

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

競合関連の待機イベント

競合関連待機の主な待機イベントは、次のとおりです。

- gc current block busy

- gc cr block busy

- gc buffer busy acquire/release

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

gc current block busyおよびgc cr block busyの待機イベントは、要求を作成しているローカル・インスタンスが、カレント・ブロックまたはCRブロックをすぐに受信しなかったことを示します。これらのイベント名にあるbusyという用語は、リモート・インスタンスでブロックの送信が遅延状態であったことを示します。たとえば、ブロックの変更のREDOがOracle Databaseによってまだログ・ファイルに書き込まれていない場合は、ブロックをすぐに送信することはできません。

block busy待機イベントと比較した場合、gc buffer busyイベントには、Oracle Databaseではローカル・バッファ・キャッシュに格納されているデータへのアクセス権をすぐに付与できないことが示されています。これは、バッファに対するグローバル操作が保留中で、操作がまだ完了していないためです。つまり、バッファはビジー状態であり、ローカル・バッファにアクセスしようとしている他のすべてのプロセスで完了を待機する必要があります。

また、gc buffer busyイベントの存在は、ブロック競合が存在し、結果としてローカル・ブロックに対する複数のアクセス要求が発生していることも意味します。Oracle Databaseはこれらの要求をキューに入れる必要があります。Oracle Databaseによるキューの処理に必要な時間の長さは、ブロックの残りのサービス時間に依存します。サービス時間は、ネットワーク待機時間によって加算される処理時間、リモートおよびローカル・インスタンスの処理時間および待機キューの長さによって影響を受けます。

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

ロード関連の待機イベント

ロード関連待機の主な待機イベントは、次のとおりです。

- gc current block congested

- gc cr block congested

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

A サーバー制御ユーティリティのリファレンス

この付録では、サーバー制御ユーティリティ(SRVCTL)に関するすべてのリファレンス情報を示します。

関連項目:
SRVCTLを使用してOracle RACデータベースを管理する方法の詳細は、第3章「データベース・インスタンスおよびクラスタ・データベースの管理」を参照してください。

内容は次のとおりです。

- SRVCTLの使用方法

- SRVCTLの概要

- SRVCTLの使用上の注意

- SRVCTLに関するその他のトピック

- 非推奨のサブプログラムまたはコマンド

- SRVCTLのコマンド・リファレンス

SRVCTLの使用方法

この項では、SRVCTLユーティリティの使用に関連する内容を説明します。

- SRVCTLの概要

- SRVCTLの使用上の注意

- SRVCTLに関するその他のトピック

SRVCTLの概要

SRVCTLを使用して、構成情報を管理します。SRVCTLコマンドを使用すると、データベース、インスタンス、リスナー、SCANリスナー、サービス、グリッド・ネーミング・サービス(GNS)、Oracle ASMなどのいくつかのエンティティの追加、削除、起動、停止、変更、有効化および無効化ができます。

一部のSRVCTL操作では、Oracle Cluster Registry(OCR)に格納されている構成データが変更されます。SRVCTLは、Oracle Clusterwareリソースを起動または停止する要求をOracle Clusterwareプロセス(CRSD)に送信して、他の操作(インスタンスの起動と停止など)も実行します。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

SRVCTLの使用上の注意

SRVCTLはデフォルトで各ノードにインストールされます。

この項の内容は次のとおりです。

- 使用方法

- オブジェクトの値のキャラクタ・セットおよび大文字小文字の区別

- SRVCTLを使用できるタスクのサマリー

- SRVCTLヘルプの使用方法

- 権限とセキュリティ

使用方法

SRVCTLを使用するには、ノードのオペレーティング・システムにログインし、大/小文字を区別した構文(「SRVCTLのコマンド・リファレンス」を参照)で、SRVCTLコマンドとそのオプションを入力します。

SRVCTLを使用する場合のガイドラインは次のとおりです。

- Oracle Database 11g用に作成またはアップグレードされたOracle RACデータベースでは、Oracle Database 11gに付属のSRVCTLバージョンのみを使用します。SRVCTLのバージョンは、管理対象のオブジェクト(リスナー、Oracle ASMインスタンス、Oracle RACデータベースとそれらのインスタンスおよびサービス)のバージョンと同じである必要があります。これらのバージョンが同じリリースであることを確認するには、管理するデータベースまたはオブジェクトのOracleホームからSRVCTLコマンドを発行します。

- SRVCTLでは、同じオブジェクトに対する複数コマンドの同時実行はサポートされていません。したがって、各データベース、サービスまたは他のオブジェクトに対して、1つずつSRVCTLコマンドを実行します。

カンマ区切りリストの使用

カンマ区切りリストをSRVCTLコマンドの一部として指定する場合、リスト内の項目の間に空白をしないでください。次に例を示します。

srvctl add database -g serverpool1,serverpool3

Windows環境でカンマ区切りリストを指定する場合は、リストを二重引用符("")で囲む必要があります。LinuxまたはUNIX環境で、カンマ区切りリストを二重引用符内で囲むことは可能ですが、二重引用符は無視されます。

コマンドライン・エントリの継続指定

SRVCTLコマンドの入力時に、新しい行で入力を続ける場合、オペレーティング・システムの継続文字を使用できます。Linuxでは、バックスラッシュ(\)記号です。

SRVCTLコマンド・フィードバック

出力が生成されないSRVCTLコマンドは、正常なコマンドです。完了(成功)時にすべてのSRVCTLコマンドがメッセージを返すわけではありません。しかし、SRVCTLコマンドが失敗した場合は、常にエラー・メッセージが返されます。

オブジェクトの値のキャラクタ・セットおよび大文字小文字の区別

SRVCTLは、様々なタイプの多くのオブジェクトとやり取りします。キャラクタ・セットと名前の長さの制限、およびオブジェクト名で大/小文字が区別されるかどうかは、オブジェクト・タイプによって異なります。

表A-1 SRVCTLオブジェクト名の文字列制限

オブジェクト・タイプ

キャラクタ・セット制限

大/小文字の区別

最大長

db_domain

英数字、アンダースコア(_)およびシャープ記号(#)

128文字

db_unique_name

英数字、アンダースコア(_)、シャープ記号(#)およびドル記号($)。最初の8文字はポリシー管理データベースのインスタンス名に使用されるため、これらは一意である必要があります。

いいえ

30文字(ただし、最初の8文字は、同じクラスタの他のデータベースに対して一意である必要があります)

diskgroup_name

ディスク・グループのネーミングには、他のデータベース・オブジェクトのネーミングと同じ制限があります。

関連項目: データベース・オブジェクトのネーミング規則の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

いいえ(すべての名前は大文字に変換されます)

instance_name

英数字

プラットフォームに依存

15文字

listener_name

node_name

いいえ

scan_name

最初の文字はアルファベットである必要があります

いいえ

server_pool

英数字、アンダースコア(_)、シャープ記号(#)、ピリオド(.)およびドル記号。ただし、名前をピリオドで始めること、一重引用符('')を含むこと、または「Generic」または「Free」という名前にすることはできません。この2つの名前は、組込みサーバー・プールで予約されています。

250文字

service_name

250文字

volume_name

英数字(ダッシュ(-)で始めることはできません。最初の文字はアルファベットにする必要があります)。

いいえ

11文字

SRVCTLを使用できるタスクのサマリー

SRVCTLは、データベース、インスタンス、クラスタ・データベース、クラスタ・データベース・インスタンス、Oracle ASMインスタンスおよびディスク・グループ、サービス、リスナーまたは他のクラスタウェア・リソースの管理に使用できます。

- クラスタ・データベース構成タスク

- クラスタ・データベース構成情報の追加、変更および削除

- クラスタ・データベース構成に対するインスタンスまたはサービスの追加および削除

- クラスタ・データベース構成内でのインスタンスおよびサービスの移動、およびサービス構成の変更

- クラスタ・データベース構成内のインスタンスまたはサービスの環境設定および解除

- クラスタ・データベース構成内のクラスタ・データベース全体の環境設定および解除

- 一般クラスタ・データベース管理タスク

- クラスタ・データベースの起動および停止

- クラスタ・データベース・インスタンスの起動および停止

- クラスタ・データベース・サービスの起動、停止および再配置

- クラスタ・データベース、クラスタ・データベース・インスタンスまたはクラスタ・データベース・サービスのステータスの取得

- ノード・レベル・タスク

- ノード・レベル・アプリケーション、サーバー・プールおよびVIPの追加および削除

- ノード・レベル・アプリケーションの環境設定および解除

- ディスク・グループの管理

- サーバー・プールの管理

- ノード・アプリケーションの管理

- Oracle ASMインスタンスの管理

- 仮想IPアドレス(VIP)、リスナー、Oracle Notification Servicesなどのプログラムのグループの起動と停止

関連項目:
詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

SRVCTLヘルプの使用方法

すべてのSRVCTLコマンドに関するヘルプを表示するには、コマンドラインから次のように入力します。

srvctl -h

各SRVCTLコマンドのコマンド構文およびオプションのリストを表示するには、コマンドラインから次のように入力します。

srvctl command (or verb) object (or noun) -h

SRVCTLのバージョン・ナンバーを表示するには、次のように入力します。

$ srvctl -V

権限とセキュリティ

SRVCTLを使用してOracle RACデータベース構成を変更するには、管理するホームのソフトウェア所有者としてオペレーティング・システムにログインします。

たとえば、様々なユーザーがOracle DatabaseおよびOracle Grid Infrastructureをインストールした場合、データベースを管理するにはデータベース・ソフトウェア所有者(ora_dbなど)としてログインし、Oracle ASMインスタンスを管理するにはOracle Grid Infrastructureソフトウェア所有者(ora_asmなど)としてログインします。

OSDBAオペレーティング・システム・グループのメンバーであるユーザーは、データベースを起動および停止できます。Oracle ASMインスタンスを停止および起動するには、ユーザーがOSASMオペレーティング・システム・グループのメンバーであることが必要です。

リスナー、Oracle Notification Services、サービスなどのオブジェクトを作成または登録するには、Oracleホームのソフトウェア所有者としてオペレーティング・システムにログインする必要があります。そのOracleホームに作成または登録したオブジェクトは、Oracleホームの所有者のユーザー・アカウントで実行されます。データベースは、実行元になるデータベース・ホームのデータベース・インストール所有者として実行されます。

オブジェクト上でsrvctl add操作を実行するには、そのオブジェクトが実行されているホームのOracleアカウント所有者としてログインする必要があります。

一部のSRVCTLコマンドでコマンドを実行するには、LinuxシステムおよびUNIXシステムではrootでログインし、Windowsシステムでは管理者権限を持つユーザーとしてログインする必要があります。この付録のコマンド例では、それらのコマンドの前にrootプロンプト(#)を付けてあります。

SRVCTLに関するその他のトピック

SRVCTLとCRSCTLの用途の違い

SRVCTLはリスナー、インスタンス、ディスク・グループ、ネットワークなど、Oracleから提供されるリソースの管理に使用し、CRSCTLはOracle Clusterwareおよびそのリソースの管理に使用します。

注意:
Oracleが提供するリソース(oraという名前で始まるリソース)は、CRSCTLでは直接操作しないでください。直接操作することはクラスタ構成に悪影響を与える場合があります。

アクティブなSRVCTLコマンドの停止

[Ctrl]キーを押しながら[C]キーを押すと、SRVCTLコマンドの実行をキャンセルできますが、その結果、構成データが破損される場合があります。

この方法ではSRVCTLを中断しないでください。

非推奨のサブプログラムまたはコマンド

次のコマンド・オプションは、Oracle Database 11gリリース2(11.2)では非推奨です。

表A-2 SRVCTLで非推奨のコマンドおよびオプション

コマンド

非推奨のオプション

srvctl add asm

-n node_name

-i instance_name

-o Oracle_home

-p spfile

srvctl add database

-A {name | IP_address}/netmask

srvctl add listener

-n node_name

srvctl config database

-t

srvctl config listener

-n node_name

srvctl config nodeapps

-n node_name

-l

srvctl config asm

-i instance_name

srvctl disable nodeapps

-n node_name

srvctl enable asm

-i instance_name

srvctl enable nodeapps

-n node_name

srvctl getenv instance

-d db_unique_name

-i instance_name

-t "name=val_list"

srvctl getenv nodeapps

-n node_name

srvctl getenv service

-d db_unique_name

-s service_name

-t "name=val_list"

srvctl modify asm

-o Oracle_home

srvctl modify instance

-s asm_inst_name

-r

srvctl remove asm

-n node_name

-i instance_name

srvctl remove listener

-n node_name

srvctl remove nodeapps

-n "node_name_list"

srvctl setenv instance

-d db_unique_name

-i instance_name

-t "name=val_list"

-T "name=val"

srvctl setenv nodeapps

-n node_name

srvctl setenv service

-d db_unique_name

-s service_name

-t "name=val_list"

-T "name=val"

srvctl start asm

-i instance_name

srvctl status instance

-S level

srvctl status nodeapps

-n node_name

srvctl stop asm

-i instance_name

srvctl unsetenv instance

-d db_unique_name

-i instance_name

-t "name=val_list"

srvctl unsetenv nodeapps

-n node_name

srvctl unsetenv service

-d db_unique_name

-s service_name

-t "name=val_list"

SRVCTLのコマンド・リファレンス

SRVCTLのコマンド構文およびオプション

SRVCTLのコマンド、オブジェクト名およびオプションでは、大/小文字が区別されます。データベース、インスタンス、リスナーおよびサービスの名前は、大/小文字が区別されず、そのまま保持されます。LISTENERとlistenerのように、大/小文字のみが異なるリスナー名は作成できません。SRVCTLでは次のコマンド構文を使用します。

srvctl command object [options]

このSRVCTL構文の各要素の意味は次のとおりです。

- commandは、start、stop、removeなどの動詞です。

- objectは、SRVCTLがコマンドを実行するターゲットまたはオブジェクト(database、instanceなど)です。オブジェクトの短縮形も使用できます。

- optionsは、コマンドの追加パラメータを使用できるようにすぐ前のコマンドの組合せの使用範囲を拡大します。たとえば、-iオプションは、優先インスタンス名のカンマ区切りリストが後に続くことを示し、-iオプションでは、名前のリストではなく1つの値のみが許可される場合もあります。-nオプションは、ノード名またはノードのカンマ区切りリストが後に続くことを示します。カンマ区切りリストの項目の間に空白を使用しないでください。

注意:
Windowsでカンマ区切りリストを指定する場合は、リストを二重引用符("")で囲む必要があります。

表A-3 SRVCTLコマンドのサマリー

コマンド

説明

add

ノード・アプリケーション、データベース、データベース・インスタンス、グリッド・ネーミング・サービス(GNS)、リスナー、単一クライアント・アクセス名(SCAN)、Oracle ASMインスタンス、サーバー・プール、サービスまたは仮想IP(VIP)の追加

config

GNS、ノード・アプリケーション、データベース、Oracle ASMインスタンスまたはサービスの構成の表示

convert

データベースとOracle Real Application Clusters One Node(Oracle RAC One Node)データベース間での双方向の変換。

disable

データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスの無効化

downgrade

データベースの手動ダウングレード後のデータベース構成のダウングレード。

enable

データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスの有効化。

getenv

ノード・アプリケーション、データベース、VIP、リスナーまたはOracle ASMの構成内の環境変数の表示。

modify

ノード・アプリケーション、データベース、データベース・インスタンス、GNSまたはサービスの構成の変更

relocate

ノード間でのGNS、OC4J、SCAN、Oracle RAC One Nodeデータベース、サーバーおよびVIPの再配置

remove

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスの削除。

setenv

ノード・アプリケーション、データベース、VIP、リスナーまたはOracle ASMの構成内の環境変数の設定。

start

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスの起動

status

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスのステータスの表示

stop

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスの停止

unsetenv

ノード・アプリケーション、データベース、VIP、リスナーまたはOracle ASMの構成内の環境変数の設定解除。

upgrade

実行するソフトウェアのバージョンへの構成のアップグレード。

SRVCTLオブジェクトのサマリー

表A-4に、SRVCTLコマンドのobjectの部分に使用できるキーワードを示します。各オブジェクト・キーワードとして、完全な名前または短縮形のいずれかを使用できます。「用途」列に、オブジェクトとそのオブジェクトに実行できるアクションを記述します。

表A-4 オブジェクト・キーワードおよび短縮形

オブジェクト

キーワード

用途

クラスタ検証ユーティリティ

cvu

CVUリソースに対する追加、変更、構成表示、有効化、無効化、起動、停止、再配置、ステータス取得および削除。

データベース

database

データベースに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得の他、データベース構成情報のアップグレード、ダウングレードおよび削除。

ディスク・グループ

diskgroup

Oracle ASMディスク・グループに対する追加、変更、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

ファイル・システム

filesystem

Oracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)のディスク・デバイスに対する追加、変更、構成表示、有効化、無効化、停止、起動、ステータス取得および削除

グリッド・ネーミング・サービス(GNS)

gns

GNSデーモンに対する追加、変更、構成表示、有効化、無効化、停止、起動、ステータス取得および削除

ホーム・ディレクトリ(パッチの適用)

home

ホーム・ディレクトリに対する起動、停止、および関連するすべてのクラスタウェア・リソースのステータス取得。

インスタンス

instance

データベース・インスタンスに対する追加、変更、有効化、無効化、起動、停止、ステータス取得および削除。

リスナー

listener

リスナーに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

ネットワーク

network

デフォルト以外のネットワークの追加、変更、構成表示および削除

注意: また、ノード・アプリケーション・オブジェクトと、configおよびmodifyコマンドは、デフォルトのネットワークを管理します。

ノード・アプリケーション

nodeapps

ノード・アプリケーションに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

Oracle Automatic Storage Management

asm

Oracle ASMインスタンスに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除。

Oracle Grid Foundation OC4Jコンテナ

oc4j

OC4Jインスタンスに対する追加、変更、構成表示、有効化、無効化、起動、停止、再配置、ステータス取得および削除

Oracle Notification Service

ons

Oracle RestartのOracle Notification Serviceインスタンスに対する追加、構成、有効化、起動、ステータス取得、停止、無効化および削除

単一クライアント・アクセス名(SCAN)

scan

SCAN VIPに対する追加、構成表示、変更、有効化、無効化、起動、停止、再配置、ステータス取得および削除

SCANリスナー

scan_listener

SCANリスナーに対する追加、構成表示、変更、有効化、無効化、起動、停止、再配置、ステータス取得および削除

サーバー・プール

srvpool

サーバー・プールに対する追加、変更、構成表示、ステータス取得および削除

サービス

service

サービスに対する追加、変更、構成表示、有効化、無効化、起動、停止、ステータス取得、再配置および削除

仮想IP

VIP

VIPに対する追加、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

add

srvctl addコマンドは、クラスタ・データベース、指定したインスタンス、指定したサービスまたは指定したノード用に、OCRに対して構成およびOracle Clusterwareアプリケーションを追加します。srvctl add操作を実行するには、LinuxシステムおよびUNIXシステムでは、データベース管理者としてログインし、Oracleアカウント所有者である必要があり、Windowsシステムでは、管理者権限を持つユーザーとしてログオンする必要があります。

インスタンスを追加する場合、-iで指定する名前は、ORACLE_SIDパラメータと一致している必要があります。-d db_unique_nameで指定するデータベース名は、DB_UNIQUE_NAME初期化パラメータ設定と一致している必要があります。DB_UNIQUE_NAMEが指定されていない場合は、DB_NAME初期化パラメータ設定と一致させます。DB_UNIQUE_NAMEのデフォルト設定には、DB_NAMEに対する設定が使用されます。また、-m db_domainで指定するドメイン名は、DB_DOMAIN設定と一致している必要があります。

表A-5 srvctl addのサマリー

コマンド

説明

srvctl add asm

Oracle ASMインスタンスの追加

srvctl add cvu

Oracle Clusterware構成へのクラスタ検証ユーティリティ・リソースの追加

srvctl add database

データベースおよび構成の追加

srvctl add filesystem

Oracle ACFSへのボリュームの追加

srvctl add gns

クラスタへのグリッド・ネーミング・サービス(GNS)の追加

srvctl add instance

1つ以上のインスタンスおよび構成の追加

srvctl add listener

ノードへのリスナーの追加

srvctl add network

DHCPまたは静的ネットワークの追加

srvctl add nodeapps

ノード・アプリケーションの追加

srvctl add oc4j

OC4Jインスタンスの追加

srvctl add ons

Oracle Notification Serviceデーモンの追加

srvctl add scan

SCAN VIPの追加

srvctl add scan_listener

SCANリスナーの追加

srvctl add service

サービスの追加

srvctl add srvpool

クラスタへのサーバー・プールの追加

srvctl add vip

ノードへのVIPの追加

srvctl add asm

クラスタ全体にOracle ASMインスタンスに関するレコードを追加します。このコマンドはOracle Grid Infrastructureホームから1回だけ実行される必要があります。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびオプション

srvctl add asmコマンドは、次の構文で使用します。

srvctl add asm [-l listener_name]

このコマンドで使用できるオプションは-lのみで、これは、リスナーの名前をコールします。このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

例

Oracle ASMのクラスタウェア・リソースを、クラスタ内のすべてのノードに追加するには、次のコマンドを使用します。

srvctl add asm

srvctl add cvu

Oracle Database 11gリリース2(11.2.0.2)以降、このコマンドはクラスタ検証ユーティリティ(CVU)をOracle Clusterware構成に追加します。

構文およびオプション

srvctl add cvuコマンドは、次の構文で使用します。

srvctl add cvu [-t check_interval_in_minutes]

表A-6 srvctl add cvuのオプション

オプション

説明

-t check_interval_in_minutes

デフォルトでは、CVUは6時間に1回実行され、クラスタの健全性を検証します。CVUチェックに指定できる最も短い間隔は10分です。

例

次のコマンド例は、チェック間隔が6時間のCVUを追加します。

$ srvctl add cvu -t 360

srvctl add database

クラスタ・データベース構成にデータベース構成を追加します。

構文およびオプション

srvctl add databaseコマンドは、次の構文で使用します。

srvctl add database -d db_unique_name -o oracle_home
[-x node_name] [-m domain_name] [-p spfile]
[-c  {RACONENODE | RAC | SINGLE} [-e server_list] [-i instance_name] [-w timeout]]
[-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}]
[-s start_options] [-t stop_options] [-n db_name -j "acfs_path_list"]
[-y {AUTOMATIC | MANUAL | NORESTART}] [-g server_pool_list] [-a disk_group_list]

表A-7 srvctl add databaseのオプション

構文

説明

-d db_unique_name

データベースの一意の名前。

-o oracle_home

Oracle Databaseのホーム・ディレクトリのパス。

-x node_name

非クラスタOracle Databaseを登録するノード名

注意: このオプションはOracle Clusterwareでのみ使用可能で、-gオプションを指定して使用すると、ポリシー管理の非クラスタ・データベースを作成できます。

-m db_domain

データベースのドメイン

注意: このオプションは、データベースに設定されたDB_DOMAIN初期化パラメータ・セットを設定する場合に使用する必要があります。

-p spfile

データベース・サーバー・パラメータ・ファイルのパス名。

-c {RACONENODE | RAC | SINGLE}

(リリース11.2.0.2以降)追加するデータベースのタイプ(Oracle RAC One Node、Oracle RACまたは単一のインスタンス)。-x node_nameオプションを指定しない場合のデフォルトはRACで、-cオプションのデフォルトはSINGLEです。

-e server_list

(リリース11.2.0.2以降)Oracle RAC One Nodeデータベースの候補サーバーのリスト。

注意: このオプションは管理者管理Oracle RAC One Nodeデータベースでのみ使用できます。Oracle RAC One Nodeデータベースがポリシー管理の場合、このオプションを使用できません。

-i instance_name

(リリース11.2.0.2以降)Oracle RAC One Nodeデータベースのインスタンス名の接頭辞。このオプションのデフォルト値は、一意のグローバル・データベース名の最初の12文字です。

注意: このオプションは管理者管理Oracle RAC One Nodeデータベースでのみ使用できます。Oracle RAC One Nodeデータベースがポリシー管理の場合、このオプションを使用できません。

-w timeout

(リリース11.2.0.2以降)Oracle RAC One Nodeデータベースのオンライン・データベースの再配置タイムアウト(分単位)。デフォルトは30です。

-r {PRIMARY | PHYSICAL_STANDBY |
LOGICAL_STANDBY |
SNAPSHOT_STANDBY}

Oracle Data Guard構成でのデータベースのロール。デフォルトはPRIMARYです。

参照: データベース・ロールの詳細は、『Oracle Data Guard概要および管理』を参照してください。

-s start_options

データベースの起動オプション(OPEN、MOUNT、NOMOUNTなど)デフォルト値はOPENです。

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-t stop_options

データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-n db_name

データベース名(-dオプションで指定された一意の名前と異なる場合)

-j "acfs_path_list"

データベースの依存性が設定された、二重引用符("")で囲まれた単一のOracle ACFSパスまたはOracle ACFSパスのカンマ区切りリスト

このオプションは、データベースがORACLE_HOMEファイル・システムとは異なるファイル・システムでORACLE_BASEを使用する場合など、ORACLE_HOME以外のOracle ACFSファイル・システムへの依存性を作成する場合に使用します。

-y {AUTOMATIC | MANUAL |
NORESTART}

データベースの管理ポリシー。

- AUTOMATIC(デフォルト): データベースは、データベース・ホスト・コンピュータの再起動時に前回の実行状態(起動または停止)へ自動的に戻ります。

- MANUAL: データベース・ホスト・コンピュータの再起動時にデータベースは自動的には再起動されません。MANUALに設定しても、Oracle Clusterwareは、実行中のデータベースを監視し、障害発生時にデータベースを再起動します。

- NORESTART: Oracle Database 11gリリース2(11.2.0.3)以降は、NORESTART値を使用できます。MANUAL設定と同様に、データベース・ホスト・コンピュータの再起動時にデータベースは自動的には再起動されません。ただし、NORESTART設定では、障害が発生しても、データベースを再起動することはありません。

-g "server_pool_list"

データベースの配置の制御に使用するサーバー・プール名のカンマ区切りリスト。このオプションを指定しない場合、デフォルトでGenericサーバー・プールが使用されます。

注意: このオプションはOracle Clusterwareでのみ使用可能です。また、-xオプションとともに使用することはできません。

-a "disk_group_list"

Oracle ASMディスク・グループのカンマ区切りリスト(データベースでOracle ASM記憶域を使用している場合)

例

次のコマンド例は、ポリシー管理データベース追加します。

srvctl add database -d crm -o /u01/oracle/product/112/mydb -m foo.com
-p +diskgroup1/crm/spfilecrm.ora -r PHYSICAL_STANDBY -s MOUNT -t NORMAL
-n database2 -y MANUAL -g svrpool1,svrpool2 -a "diskgroup1,diskgroup2"

次のコマンド例は、管理者管理データベースを追加します。

srvctl add database -d crm -o /u01/oracle/product/112/mydb -m foo.com

srvctl add filesystem

Oracle ACFSにディスク・デバイスを追加します。このコマンドはOracle Grid Infrastructureホームから1回だけ実行される必要があります。

Oracle ACFSファイル・システム・リソースは通常、アプリケーション・リソースの依存性リストで使用するために作成されます。たとえば、Oracle Databaseホームとして使用するためにOracle ACFSファイル・システムが構成されている場合、ファイル・システム用に作成されたリソースは、Oracle Databaseアプリケーションのリソース依存性リストに含まれます。これによって、データベース・アプリケーションの起動アクションの結果、ファイル・システムおよびスタックが自動的にマウントされます。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ACFSを管理するには、クラスタ用のOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ACFSを管理することはできません。

構文およびオプション

srvctl add filesystemコマンドは、次の構文で使用します。

srvctl add filesystem -d volume_device -v volume_name -g diskgroup_name
[-m mountpoint_path] [-u user_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-8 srvctl add filesystemのオプション

オプション

説明

-d volume_device

ボリューム・デバイスのパス。

-v volume_name

ボリュームの名前。

-g diskgroup_name

デバイスを追加する必要があるOracle ACFSディスク・グループの名前。

-m mountpoint_path

ディスク・デバイスのマウント・ポイント・パス名。これは、絶対的パスである必要があります。

注意: ファイル・システムが現在マウントされていない場合、このパラメータを使用してマウントする必要があります。

-u user_name

ファイル・システムのマウントおよびアンマウントが許可されたユーザーの名前

例

次に、このコマンドの例を示します。

srvctl add filesystem -d /dev/asm/d1volume1-295 -v VOLUME1 -g RAC_DATA \
-m /oracle/cluster1/acfs1

srvctl add gns

このコマンドは、DHCPパブリック・ネットワークを使用するときに、グリッド・ネーミング・サービス(GNS)をクラスタに追加するために使用します。

構文およびオプション

srvctl add gnsコマンドは、次の構文で使用します。

srvctl add gns -i ip_address -d domain

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-9 srvctl add gnsのオプション

オプション

説明

-i ip_address

GNSがDNSリクエストをリスニングする仮想IP(VIP)アドレス

-d domain

クラスタIPアドレスのフォワードDNS参照に使用されるネットワーク・サブドメイン

例

次に、このコマンドの例を示します。

srvctl add gns -i 192.168.16.17 -d cluster.mycompany.com

srvctl add instance

クラスタ・データベース構成にインスタンスの構成を追加します。

このコマンドは管理者管理データベースにのみ使用できます。ポリシー管理データベースの場合は、srvctl modify srvpoolコマンドを使用してインスタンスを追加し、データベースで使用するサーバー・プールの最大サイズまたは最小サイズ(あるいはその両方)を増やします。

構文およびオプション

srvctl add instanceコマンドは、次の構文で使用します。

srvctl add instance -d db_unique_name -i instance_name -n node_name

注意:

- このコマンドによって、CARDINALITYリソース属性の値が増加します。

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを使用しようとすると、コマンドからデータベースをOracle RACに変換する必要があるという内容のエラーが戻されます。

表A-10 srvctl add instanceのオプション

オプション

説明

-d db_unique_name

インスタンスを追加するデータベースの一意の名前

-i instance_name

追加するインスタンスの名前

-n node_name

インスタンスを作成するノードの名前

例

次に、このコマンドの例を示します。

$ srvctl add instance -d crm -i  crm01 -n gm01
$ srvctl add instance -d crm -i  crm02 -n gm02
$ srvctl add instance -d crm -i  crm03 -n gm03

srvctl add listener

クラスタ内のすべてのノードにリスナーを追加します。

構文およびオプション

srvctl add listenerコマンドは、次の構文で使用します。

srvctl add listener [-l listener_name] [-o Oracle_home]
[-p "[TCP:]port_list[/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]"]
[-k network_number] [-s]

表A-11 srvctl add listenerのオプション

オプション

説明

-l listener_name

リスナー名を指定します。

オプションを指定しなかった場合は、デフォルト名のLISTENERが使用されます。

-o oracle_home

クラスタ・データベースのOracleホームを指定します。

このオプションを使用しない場合、デフォルトでGridホームが使用されます。

-p "[TCP:]port_list [/IPC:key]
[/NMP:pipe_name]
[/TCPS:s_port]
[/SDP:port]

リスナーのプロトコル仕様。port_listはTCPポートまたはリスナー・エンドポイントのカンマ区切りリストです。

-k network_number

VIPを取得するネットワーク番号(オプション)。指定しなかった場合は、nodeapps VIPが取得されるネットワークと同じデフォルトのネットワークからVIPが取得されます。

-s

ポートの確認をスキップすることを示します。

例

次のコマンドは、ポート1341をリスニングするlistener112という名前のリスナーを追加し、クラスタ内の各ノードの/ora/ora112ホーム・ディレクトリから実行されます。

$ srvctl add listener -l listener112 -p 1341 -o /ora/ora112

srvctl add network

DHCPまたは静的ネットワークを追加します。サーバーが複数のネットワークに接続している場合、このコマンドを使用して、Oracle RAC用の追加のネットワーク・インタフェースを構成でき、これによって複数のパブリック・ネットワーク上にVIPを作成できるようになります。また、LISTENER_NETWORKSデータベース初期化パラメータを使用して、クライアントが適切なネットワークにリダイレクトするように制御できます。

注意:
DHCP割当てのネットワークがサポートされるのはデフォルトのネットワークのみで、後続のネットワークではサポートされません。

構文およびオプション

srvctl add networkコマンドは、次の構文で使用します。

srvctl add network [-k net_number] -S subnet/netmask[/if1[|if2|...]]
[-w network_type] [-v]

表A-12 srvctl add networkのオプション

オプション

説明

-k net_number

ネットワーク番号を指定します。デフォルトは1です。

-S subnet/netmask
[/if1[|if2|...]]

-wオプションで指定したタイプのサブネットを作成します。インタフェース名を指定しない場合、ネットワークは指定されたサブネットの任意のインタフェースを使用します。

-w network_type

static、dhcpまたはmixedから、ネットワーク・タイプを指定します。

-v

冗長出力。

例

次に、このコマンドの例を示します。

$ srvctl add network -k 3 -S 1.2.3.4/255.255.255.0

srvctl add nodeapps

指定したノードにノード・アプリケーション構成を追加します。

構文およびオプション

srvctl add nodeappsコマンドは、次の構文モデルの1つで使用します。

srvctl add nodeapps -n node_name -A {name | ip}/netmask[/if1[|if2|...]]
[-e em_port] [-l ons_local_port] [-r ons_remote-port]
[-t host[:port][,host[:port],...]] [-v]

srvctl add nodeapps -S subnet/netmask[/if1[|if2|...]] [-e em_port]
[-l ons_local_port] [-r ons_remote-port]
[-t host[:port][,host[:port],...]] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-13 srvctl add nodeappsのオプション

オプション

説明

-n node_name

ノード・アプリケーションを作成するノードの名前。ノード名はオプションであり、ローカル・ノードでコマンドを実行する場合は指定する必要がありません。

-A {name | ip}
/netmask[/if1
|[if2|...]]

指定したノードに従来のVIPノード・アプリケーションを作成します。

注意: このオプションは、アップグレード構成および新規のDHCP以外の構成で使用する必要があります。

-S subnet/netmask
[/if1 [| if2 |...]]

DHCPサブネットを作成します。インタフェース名を指定しない場合、VIPは指定されたサブネットの任意のインタフェースを使用します。

-e em_port

Oracle Enterprise Managerがリスニングするローカル・ポート。デフォルト・ポートは2016です。

-l ons_local_port

そのノードのOracle Notification Serviceデーモンのリスナー・ポート。

この値を指定しない場合、Oracle Notification Serviceデーモンのリスナー・ポートはデフォルトで6100が使用されます。

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-r ons_remote_port

リモートOracle Notification Serviceデーモン接続用のポート番号。

ポート番号を指定しない場合、デフォルト値の6200がOracle Notification Serviceリモート・ポートとして使用されます。

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-t host[:port],
[host[:port],[...]

Oracle Notification Serviceネットワークには含まれていてもOracle Clusterwareクラスタには含まれていないリモート・ホストのhost:portペアのリスト

注意: リモート・ホストにportを指定しなかった場合は、ons_remote_portが使用されます。

-v

冗長出力

注意:
このコマンドを実行するには、LinuxシステムおよびUNIXシステムではrootでログインし、Windowsでは管理者権限を持つユーザーとしてログインする必要があります。

例

次に、このコマンドの例を示します。

# srvctl add nodeapps -n crmnode1 -A 1.2.3.4/255.255.255.0

srvctl add oc4j

クラスタ内のすべてのノードにOC4Jインスタンスを追加します。

構文およびオプション

srvctl add oc4j [-v]

このコマンドで使用できるオプションは-vのみです。これは冗長出力を表示します。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

srvctl add oc4j

srvctl add ons

Oracle Notification ServiceデーモンをOracle Restart構成に追加します。

注意:
このコマンドはOracle Restartでのみ使用可能です。

構文およびオプション

srvctl add ons [-l ons_local_port] [-r ons_remote_port]
[-t host[:port][,host[:port]][...]] [-v]

表A-14 srvctl add onsのオプション

オプション

説明

-l ons_local_port

ローカル・クライアント接続用のOracle Notification Serviceデーモンのリスニング・ポート

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-r ons_remote_port

リモート・ホストからの接続用のOracle Notification Serviceデーモンのリスニング・ポート

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-t host[:port][,host[:port]][...]

Oracle Notification Serviceネットワークには含まれていてもOracle Clusterwareクラスタには含まれていないリモート・ホストのhost:portペアのカンマ区切りリスト

注意: リモート・ホストにportを指定しなかった場合は、ons_remote_portが使用されます。

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl add ons -l 6200

srvctl add scan

指定のSCANにOracle Clusterwareリソースを追加します。このコマンドは、SCANが解決されるIPアドレスの数と同じ数のSCAN VIPリソースを作成するか、またはnetwork_numberからDHCPネットワークとOracle GNS構成が識別された場合は3つのSCAN VIPリソースを作成します。

構文およびオプション

srvctl add scanコマンドは、次の構文で使用します。

srvctl add scan -n scan_name [-k network_number]
[-S subnet/netmask[/if1[|if2|...]]]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-15 srvctl add scanのオプション

オプション

説明

-n scan_name

ドメイン名を含む完全修飾されたホスト名

-k network_number

SCAN VIPを取得するネットワーク番号(オプション)。指定しなかった場合は、nodeapps VIPが取得されるネットワークと同じデフォルトのネットワークからSCAN VIPが取得されます。

-S subnet/netmask
[/if1 [|if2|...]]

network_numberを作成します。network_numberが存在しない場合は、このオプションを指定する必要があります。

例

次に、このコマンドの例を示します。

# srvctl add scan -n scan.mycluster.example.com

srvctl add scan_listener

SCANリスナーにOracle Clusterwareリソースを追加します。作成されるSCANリスナーのリソースの数は、SCAN VIPリソースの数です。

構文およびオプション

srvctl add scan_listenerコマンドは、次の構文で使用します。

srvctl add scan_listener [-l lsnr_name_prefix] [-s]
[-p "[TCP:]port_list[/IPC:key][/NMP:pipe_name][/TCPS:s_port] [/SDP:port]"]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-16 srvctl add scan_listenerのオプション

オプション

説明

-l lsnr_name_prefix

SCANリスナー名の接頭辞。

-s

-sオプションを使用してポートの確認をスキップします。

-p "[TCP:]port_list
[/IPC:key][/NMP:pipe_name]
[/TCPS:s_port]
[/SDP:port]"

リスナーのプロトコル仕様。port_listはTCPポートまたはリスナー・エンドポイントのカンマ区切りリストです。

オプションを指定しなかった場合は、デフォルトのTCPポートの1521が使用されます。

例

次に、このコマンドの例を示します。

# srvctl add scan_listener -l myscanlistener

srvctl add service

データベースにサービスを追加し、それらのサービスをインスタンスに割り当てます。同じノードに1つのクラスタ・データベースの複数のインスタンスがある場合、ノードが管理するすべてのサービスに対して、常に、そのノードの1つのインスタンスのみを使用します。

注意:
srvctl add serviceコマンドは、Oracle RAC One Nodeデータベースの配置オプションを受け入れません。

構文およびオプション

srvctl add serviceコマンドを使用して、サービスを作成する(次の構文モデルの最初の構文を使用)か、既存のサービスを更新します(2つ目の構文モデルを使用)。

srvctl add service -d db_unique_name -s service_name {-r "preferred_list"
[-a "available_list"] [-P {BASIC | NONE | PRECONNECT}] | -g server_pool
[-c {UNIFORM | SINGLETON]} [-k network_number]
[-l [PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY]
[-y {AUTOMATIC | MANUAL}] [-q {TRUE | FALSE}] [-x {TRUE | FALSE}]
[-j {SHORT | LONG}][-B {NONE | SERVICE_TIME | THROUGHPUT}]
[-e {NONE | SESSION | SELECT}] [-m {NONE | BASIC}] [-z failover_retries]
[-w failover_delay]

srvctl add service -d db_unique_name -s service_name
-u {-r preferred_list | -a available_list} [-f]

表A-17に、srvctl add serviceのすべてのオプションをリストし、非クラスタまたはOracle RACデータベースにサービスを追加するときにそれらのオプションを使用できるかどうかを示します。

表A-17 srvctl add serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前。

-s service_name

同じサービスを提供する複数のデータベースにわたって接続を拡大しない場合は、service_name.service_domainはクラスタ内で一意である必要があります。サービス名(sales.foo.comなど)の一部としてサービス・ドメインを指定しない場合、DB_DOMAINデータベース属性がデフォルトになります。

-r preferred_list

管理者管理データベースの場合にサービスを実行する優先インスタンスのリスト。

優先インスタンスのリストは、使用可能なインスタンスのリストと相互に排他である必要があります。

注意: このオプションはOracle RACでのみ使用可能です。また、管理者管理データベースにのみ使用できます。

-a available_list

管理者管理データベースの場合にサービスをフェイルオーバーする使用可能なインスタンスのリスト。

使用可能なインスタンスのリストは、優先インスタンスのリストと相互に排他である必要があります。

注意: このオプションはOracle RACでのみ使用可能です。また、管理者管理データベースにのみ使用できます。

-P {BASIC | NONE | PRECONNECT}

TAFポリシーの指定(管理者管理データベースのみ)。

注意:

- -rおよび-aオプションを指定する場合に使用できるのは、PRECONNECTのみです。

- 管理者管理データベースの場合は、クライアント側のTAFポリシーをPRECONNECTに設定できません。

-g server_pool

ポリシー管理データベースの場合に使用されるサーバー・プールの名前。

注意: このオプションはOracle RACでのみ使用可能です。また、ポリシー管理データベースにのみ使用できます。

-c {UNIFORM | SINGLETON}

サービスのカーディナリティ。UNIFORM(サーバー・プールのすべてのインスタンスに提供される)またはSINGLETON(インスタンス1つずつで実行する)。

注意:

- このオプションはOracle RACでのみ使用可能です。また、ポリシー管理データベースにのみ使用できます。

- ポリシー管理Oracle RAC One Nodeデータベースでは、すべてのサービスがSINGLETONである必要があります。

-k network_number

このオプションを使用して、このサービスが提供されるネットワークを特定します。サービスは、指定したネットワークからのVIPに依存するように構成されます。

注意: このオプションは、Oracle RACおよびOracle RAC One Nodeデータベース構成でのみ使用可能です。

-l {[PRIMARY] |
[PHYSICAL_STANDBY] |
[LOGICAL_STANDBY] |
[SNAPSHOT_STANDBY]}

サービス・ロール

このオプションは、指定したサービス・ロールの1つにOracle Data Guardデータベース・ロールが一致した場合に、データベースのオープン時に、サービスが自動的に起動されるように指定する場合に使用します。

手動で開始するSRVCTLの使用は、サービス・ロールに影響を受けません。

注意: -lパラメータは、データベースの起動にのみ、Oracle Data Guard Brokerによって使用されます。手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。

関連項目:

- -lを指定する場合、『Oracle Data Guard Broker』を参照してください。

- データベース・ロールの詳細は、『Oracle Data Guard概要および管理』を参照してください。

-y {AUTOMATIC | MANUAL}

サービス管理ポリシー。

AUTOMATIC(デフォルト)の場合、サービスは、データベースの再起動時(計画された再起動(SRVCTLを使用)または障害発生後の再起動)に自動的に起動されます。ただし、自動再起動はサービス・ロールの影響も受けます(-lオプション)。

MANUALの場合、データベースの計画された再起動(SRVCTLを使用)時にサービスが自動的に再起動されることはありません。MANUALに設定しても、Oracle Clusterwareは、実行中のサービスを監視し、障害が発生すると再起動されます。

注意: CRSCTLを使用してOracle Clusterwareを停止および起動すると、サービスは障害発生時と同様に再起動されます。

-q {TRUE | FALSE}

このサービスのAQ HA通知を有効化(TRUE)するかどうか示します。

-x {TRUE | FALSE}

このサービスの分散トランザクション処理を有効化するかどうか示します。このサービスは、ポリシー管理データベースではsingletonサービス、管理者管理データベースの単一ノードでは優先サービスになります。

注意: このオプションはOracle RACでのみ使用可能です。

-j {SHORT | LONG}

接続時ロード・バランシングの目標をサービスに割り当てます。統合された接続プールを使用している場合はSHORT、サービスのノードごとにセッション数でバランスを取る長時間の接続にはLONGです。

-B {NONE | SERVICE_TIME | THROUGHPUT}

ロード・バランシング・アドバイザの目標

-e {NONE | SESSION | SELECT}

フェイルオーバーのタイプ。

-m {NONE | BASIC}

フェイルオーバーのメソッド

フェイルオーバー・タイプ(-e)にNONE以外の値を設定する場合は、このオプションにBASICを選択する必要があります。

注意: このオプションはOracle RACでのみ使用可能です。

-z failover_retries

フェイルオーバーの再試行回数

-w failover_delay

フェイルオーバーの試行間隔での遅延時間

-u

既存のサービス構成に新しい優先インスタンスまたは使用可能インスタンスを追加します。

-f

ネットワークにリスナーが構成されていない場合も、追加操作を強制します。

例

次の構文例を使用して、gl.example.comサービスをmy_racデータベースに追加します。この場合、AQ HA通知が有効で、フェイルオーバー・メソッドがBASIC、接続ロード・バランシングの目標がLONG、フェイルオーバー・タイプがSELECT、フェイルオーバーの再試行が180回で遅延が5です。

srvctl add service -d my_rac -s gl.example.com -m BASIC -e SELECT \
-z 180 -w 5 -j LONG

リスト1の優先インスタンスとリスト2の使用可能インスタンスを持つデータベースに対して、使用可能インスタンスに事前接続フェイルオーバーを使用して、指定したサービスを追加するには、この例の構文を使用します。

srvctl add service -d crm -s sales -r crm01,crm02 -a crm03 -P PRECONNECT

srvctl add srvpool

注意:
デフォルトでは、指定されたユーザーがサーバー・プールを作成できます。この権限を持つオペレーティング・システム・ユーザーを制限するために、CRS管理者リストに特定のユーザーを追加することを強くお薦めします。

関連項目:
CRS管理者リストへのユーザーの追加については、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

Oracle Databaseをホストするように構成されているサーバー・プールをクラスタに追加します。

構文およびオプション

srvctl add srvpoolコマンドは、次の構文で使用します。

srvctl add srvpool -g server_pool [-i importance] [-l min_size] [-u max_size]
[-n "node_list"] [-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-18 srvctl add srvpoolのオプション

オプション

説明

-g server_pool

サーバー・プールの名前。

-i importance

サーバー・プールの重要度(デフォルトは0)

-l min_size

サーバー・プールの最小サイズ(デフォルトは0)

-u max_size

サーバー・プールの最大サイズ。デフォルト値は-1であり、これは、サイズが無制限であることを意味します。

-n "node_names"

二重引用符("")で囲まれた候補ノード名のカンマ区切りリスト。サーバー・プールには候補リストのノードのみが含まれますが、候補リストのすべてのノードがサーバー・プールに含まれるとはかぎりません。

-f

他のサーバー・プールのリソースを停止する必要がある場合でも、サーバー・プールを追加します。

例

次に、このコマンドの例を示します。

$ srvctl add srvpool -g SP1 -i 1 -l 3 -u 7 -n "mynode1,mynode2"

srvctl add vip

ノードにVIPを追加します。

構文およびオプション

srvctl add vipコマンドは、次の構文で使用します。

srvctl add vip -n node_name -A {name|ip}/netmask[/if1[if2|...]]
[-k network_number] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-19 srvctl add vipのオプション

オプション

説明

-n node_name

VIPを追加するノードの名前

-A {name|ip}/netmask
[/if1[|if2|...]]

指定したノードに従来のVIPノード・アプリケーションを作成します。

-k network_number

VIPを取得するネットワーク番号(オプション)。

指定しなかった場合は、nodeapps VIPが取得されるネットワークと同じデフォルトのネットワークからVIPが取得されます。

-v

冗長出力

注意:
同一ノードの同一ネット番号(サブネットまたはインタフェース・ペア)に複数のVIPを持つことはできません。

例

次に、このコマンドの例を示します。

# srvctl add vip -n node7 -A 192.168.16.17/255.255.255.0 -k 2

前述の例では、追加したばかりのVIP用のネットワーク番号2が作成されます。このネットワーク番号は、他のSRVCTLコマンドの-kオプションの後に指定できます。

config

srvctl configコマンドは、Oracle Clusterwareリソース属性に格納されている構成を表示します。

注意:
srvctl disable object -n node_nameコマンドを使用して、構成情報を取得しようとするオブジェクトを無効にした場合、クラスタ内でノードごとにsrvctl disable object -n node_nameコマンドを使用してクラスタ全体でオブジェクトを無効にすることと、-nオプションを指定せずにsrvctl disable objectコマンドを使用してオブジェクトをグローバルに無効にすることは同じではないことに注意してください。前者の場合は、srvctl config objectコマンドで、そのオブジェクトがまだ有効と報告される場合があります。

関連項目:
srvctl disableコマンドの詳細は、「disable」を参照してください。

表A-20 srvctl configのサマリー

コマンド

説明

srvctl config asm

ノードのOracle ASMインスタンスの構成の表示

srvctl config cvu

CVUチェック間の時間間隔の表示

srvctl config database

クラスタ・データベースの構成情報の表示

srvctl config filesystem

ACFSボリュームの構成情報の表示

srvctl config gns

GNS構成の表示

srvctl config listener

指定したノードでOracle Clusterwareに登録された構成済リスナーのリストの表示

srvctl config nodeapps

ノード・アプリケーションの構成情報の表示

srvctl config oc4j

OC4Jインスタンスの構成の表示

srvctl config ons

Oracle Notification Serviceの構成情報の表示

srvctl config scan

SCAN VIPの構成情報の表示

srvctl config scan_listener

SCANリスナーの構成情報の表示

srvctl config service

サービスの構成情報の表示

srvctl config srvpool

特定のサーバー・プールの構成情報の表示

srvctl config vip

VIPの構成情報の表示

srvctl config asm

すべてのOracle ASMインスタンスの構成を表示します。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびオプション

srvctl config asmコマンドは、次の構文で使用します。

srvctl config asm [-a]

表A-21 srvctl config asmのオプション

オプション

説明

-a

詳細な構成情報の出力

例

次に、このコマンドの例を示します。

srvctl config asm -a

srvctl config cvu

Oracle Database 11gリリース2(11.2.0.2)以降、このコマンドではCVUチェックの間隔を分単位で表示します。

構文およびオプション

srvctl config cvuコマンドは、次の構文で使用します。

srvctl config cvu

このコマンドにはオプションはありません。

例

srvctl config cvuコマンドでは次のような出力が戻されます。

CVU is configured to run once every 360 minutes

srvctl config database

Oracle RACデータベースの構成、またはOracle Clusterwareに登録されたすべての構成済データベースを表示します。

構文およびオプション

srvctl config databaseコマンドは、次の構文で使用します。

srvctl config database [-d db_unique_name] [-a]

表A-22 srvctl config databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前。

このオプションを指定しない場合は、すべてのデータベース・リソースの構成が表示されます。

-a

詳細な構成情報の出力

例

すべてのデータベースの構成を表示するには、次の例を使用します。

srvctl config database -d myDB

次に、srvctl config databaseコマンドの出力例を示します。

$ srvctl config database -d myDB
Database unique name: myDB
Database name:
Oracle home: /scott_st2/oracle
Oracle user: scott
Spfile:
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: myDB
Database instances:
Disk Groups:
Services: scottsvc1
Type: RACOneNode
Online relocation timeout: 30
Instance name prefix: myDB
Candidate servers: node1 node2
Database is administrator managed

この出力例では、データベースのタイプがRACOneNode(Oracle RAC One Nodeデータベース)として示されています。他に可能性のあるタイプとして、RACとSingleInstanceがあります。Online relocation timeout、Instance name prefixおよびCandidate serversフィールドは、Oracle RAC One Nodeデータベースのみに適用され、その他の2つのデータベース・タイプに対しては表示されません。同様に、データベース・タイプがRACOneNodeであるため、Database instancesフィールドは空です。

srvctl config filesystem

Oracle Automatic Storage Managementクラスタ・ファイル・システム(Oracle ACFS)・デバイスの構成を表示します。

構文およびオプション

srvctl config filesystemコマンドは、次の構文で使用します。

srvctl config filesystem -d volume_device_path

表A-23 srvctl config filesystemのオプション

オプション

説明

-d volume_device_path

Oracle ACFSボリュームが使用するデバイスのパス名

例

次の例は、Oracle ACFSファイル・システムの構成を取り出す方法を示しています。

srvctl config filesystem -d /dev/asm/d1volume293

srvctl config gns

GNSの構成を表示します。

構文およびオプション

srvctl config gnsコマンドは、次の構文で使用します。

srvctl config gns [-a] [-d] [-k] [-m] [-n node_name] [-p] [-s] [-V]
[-q name] [-l] [-v]

注意:
このオプションはOracle Clusterwareでのみ使用可能です。

表A-24 srvctl config gnsのオプション

オプション

説明

-a

詳細な構成情報の出力。

-d

GNSから供給されるサブドメインの表示。

-k

GNSがリスニングしているネットワークの表示。

-m

GNSデーモンがマルチキャスト・リクエストをリスニングしているポートの表示。

-n node_name

指定されたノードのGNSの構成情報の表示。

-p

GNSデーモンがDNSサーバーとの通信に使用するポートの表示。

-s

GNSのステータスの表示。

-V

GNSのバージョンの表示。

-q name

GNSへの、名前に属しているレコードの問合せ。

-l

GNSのすべてのレコードのリスト。

-v

冗長出力。

srvctl config listener

Oracle Clusterwareに登録された構成済リスナーのリストを表示、または特定のリスナーの詳細な構成情報を表示します。

構文およびオプション

srvctl config listenerコマンドは、次の構文で使用します。

srvctl config listener [-l listener_name] [-a]

表A-25 srvctl config listenerのオプション

オプション

説明

-l listener_name

リスナー名

このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-a

詳細な構成情報の出力。

例

次に、このコマンドの例を示します。

srvctl config listener

srvctl config nodeapps

クラスタ内の各ノードのVIP構成を表示します。

構文およびオプション

srvctl config nodeappsコマンドは、次の構文で使用します。

srvctl config nodeapps [-a] [-g] [-s]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-26 srvctl config nodeappsのオプション

オプション

説明

-a

VIPアドレス構成の表示

-g

GSD構成の表示

-s

Oracle Notification Service構成の表示

例

次に、このコマンドの例を示します。

$ srvctl config nodeapps -a -g -s

srvctl config oc4j

OC4Jインスタンスの構成情報を表示します。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

srvctl config oc4j

srvctl config ons

Oracle Notification Serviceデーモンの構成情報を表示します。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

srvctl config ons

srvctl config scan

すべてのSCAN VIP(デフォルト)、またはordinal_numberで識別される特定のSCAN VIPの構成情報を表示します。

構文およびオプション

srvctl config scanコマンドは、次の構文で使用します。

srvctl config scan [-i ordinal_number]

このコマンドで使用できるオプションは-i ordinal_numberのみです。このオプションは3つのSCAN VIPのいずれかを識別し、値の範囲は1から3です。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl config scan -i 1

srvctl config scan_listener

すべてのSCANリスナー(デフォルト)、またはordinal_numberで識別される特定のリスナーの構成情報を表示します。

構文およびオプション

srvctl config scan_listenerコマンドは、次の構文で使用します。

srvctl config scan_listener [-i ordinal_number]

このコマンドで使用できるオプションは-i ordinal_numberのみです。このオプションは3つのSCAN VIPのいずれかを識別し、値の範囲は1から3です。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl config scan_listener -i 1

srvctl config service

サービスの構成を表示します。

構文およびオプション

srvctl config serviceコマンドは、次の構文で使用します。

srvctl config service -d db_unique_name [-s service_name]

表A-27 srvctl config serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name

サービス名。

このオプションを指定しない場合、データベースに構成されたすべてのサービスの構成情報が表示されます。

例

次に、ポリシー管理データベースに関するこのコマンドの出力例を示します。

$ srvctl config service -d mjkpdb -s mjkpsvc1
Service name: mjkpsvc1
Service is enabled
Server pool: mjksrvpool1
Cardinality: SINGLETON
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: NONE
Service is enabled on nodes:
Service is disabled on nodes:
Edition: "my Edition"

次に、管理者管理データベースに関するこのコマンドの出力例を示します。

$ srvctl config service -d mjkdb -s mjksvc1
Service name: mjksvc1
Service is enabled
Server pool: mjkdb
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: NONE
Preferred instances: mjkdb_1
Available instances:
Edition: "my Edition"

管理者管理Oracle RAC One Nodeデータベースのサービス構成では、1つのインスタンスが優先として表示されます。

注意:
srvctl config serviceコマンドは、srvctl add | modify serviceコマンドでエディションに指定された文字列値を正確に表示します。エディションを大文字で指定した場合、srvctl config serviceは大文字を表示します。二重引用符("")で囲まれている場合、コマンドは二重引用符を表示します。それ以外の場合、コマンドは空の文字列を表示します。

srvctl config srvpool

クラスタ内の特定のサーバー・プールの構成情報を表示します。この構成情報には、名前、最小サイズ、最大サイズ、重要度、およびサーバー名のリスト(該当する場合)が含まれます。

構文およびオプション

srvctl config srvpoolコマンドは、次の構文で使用します。

srvctl config srvpool [-g server_pool]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl config srvpool -g dbpool

srvctl config vip

ユーザーVIP以外で、クラスタのすべてのネットワークにおけるすべてのVIPを表示します。

構文およびオプション

次の構文モデルのいずれかを使用して、srvctl config vipコマンドを実行します。

srvctl config vip -n node_name

srvctl config vip -i vip_name

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-28 srvctl config vipのオプション

オプション

説明

-n node_name

ノード名

-i vip_name

VIP名

例

次に、このコマンドの例を示します。

$ srvctl config vip -n crmnode1

convert

Oracle Database 11gリリース2(11.2.0.2)以降、srvctl convertコマンドは、データベースとOracle RAC One Nodeデータベースの間で双方向の変換を行います。

構文およびオプション

次の構文モデルのいずれかを使用して、srvctl convert databaseコマンドを実行します。

srvctl convert database -d db_unique_name -c RACONENODE [-i instance_name] [-w timeout]

srvctl convert database -d db_unique_name -c RAC [-n node_name]

表A-29 srvctl convert databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前。

注意: 非クラスタ・データベースを指定すると、このコマンドから、rconfigを使用して非クラスタ・データベースをOracle RACまたはOracle RAC One Nodeに変換するように求めるエラーが戻されます。

-c RACONENODE | RAC

変換するデータベースのタイプ(Oracle RAC One NodeまたはOracle RAC)。

注意: 進行中または失敗したオンライン・データベース再配置がある場合は、先にこのオンライン・データベース再配置を完了または強制終了してから、このコマンドを再実行するように求めるエラーが戻されます。

-i instance_name

Oracle RAC One Nodeデータベースのインスタンス名の接頭辞。このオプションのデフォルト値は、一意のグローバル・データベース名の最初の12文字です。

注意:

- Oracle RACデータベースからOracle RAC One Nodeデータベースに変換する場合にのみ、このオプションを使用できます。

- 変換後のインスタンスをオンラインにするには、srvctl stop/start databaseコマンドを使用してデータベースを再起動する必要があります。

-w timeout

Oracle RAC One Nodeデータベースのオンライン・データベース再配置タイムアウト(分単位)。デフォルトは30です。

-n node_name

管理者管理Oracle RACデータベースのノード名。デフォルトは、最初の候補です。

注意: ノード名を指定しない場合、またはデータベースが実行されてないノード名を指定した場合、このコマンドから、正しいノードを指定するように求めるエラーが戻されます。

例

次に、このコマンドの例を示します。

$ srvctl convert database -d myDB -c RACONENODE -i instance_name

disable

指定したオブジェクト(クラスタ・データベース、データベース・インスタンス、Oracle ASMインスタンスまたはサービス)を無効化します。メンテナンス用にオブジェクトを停止する必要がある場合は、srvctl disableコマンドを使用します。無効にされたオブジェクトは、自動的には再起動しません。

disableコマンドを発行すると、オブジェクトは無効化され、Oracle Clusterwareでの自動起動、フェイルオーバーまたは再起動は実行できなくなります。また、先にオブジェクトを再度有効化してからでなければ、無効化されたオブジェクト上でsrvctl startコマンドを実行することはできません。-i instance_nameまたは-n node_nameを指定すると、指定したインスタンスまたはノードのオブジェクトのみが無効になります。

-i instance_nameも-n node_nameも指定しない場合は、クラスタのすべてのノードで、指定したオブジェクトがグローバルに無効化されます。グローバルに無効にするオブジェクトは、今後クラスタに追加するノードでも無効になります。

オブジェクトをグローバルに無効化することと、クラスタ内のノードごとにオブジェクトをローカルで無効化することは同じではありません。たとえば、クラスタ内のいくつかのノードでデータベースを個別に無効化した場合、srvctl start databaseコマンドを実行すると、データベースが有効化されているノードでのみデータベースが起動されます。一方、データベースをグローバルに無効化した場合は、クラスタ全体でデータベースが無効化されているため、srvctl start databaseは拒否されます。

表A-30 srvctl disableのサマリー

コマンド

説明

srvctl disable asm

Oracle ASMプロキシ・リソースの無効化

srvctl disable cvu

クラスタ検証ユーティリティの無効化

srvctl disable database

クラスタ・データベースの無効化

srvctl disable diskgroup

指定したいくつかのノード上のディスク・グループの無効化

srvctl disable filesystem

Oracle ACFSボリュームの無効化

srvctl disable gns

GNSの無効化

srvctl disable instance

インスタンスの無効化

srvctl disable listener

リスナーの無効化

srvctl disable nodeapps

ノード・アプリケーションおよびGSDの無効化

srvctl disable oc4j

OC4Jインスタンスの無効化

srvctl disable ons

Oracle Notification Serviceデーモンの無効化

srvctl disable scan

SCAN VIPの無効化

srvctl disable scan_listener

SCANリスナーの無効化

srvctl disable service

サービスの無効化

srvctl disable vip

VIPの無効化

srvctl disable asm

Oracle ASMプロキシ・リソースを無効にします。Oracle ASMにOracle Clusterwareデータが含まれる場合、またはノードでの障害発生前に実行されていたノードが再起動した場合、Oracle ASMは再起動します。また、srvctl disable asmコマンドを使用すると、srvctl start asmコマンドでOracle ASMインスタンスを起動できなくなります。

Oracle ASMプロキシ・リソースを無効にすると、データベースおよびディスク・グループを起動できなくなります。データベースおよびディスク・グループがOracle ASMプロキシ・リソースに依存しているためです。

注意:

- Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

- Oracle ASMはOracle Clusterwareスタックの一部であり、Oracle ASMにOCRと投票ディスクが格納されていると、OHASDがOracle Clusterwareスタックを起動するときにOracle ASMが起動します。srvctl disable asmコマンドを使用しても、OHASDで管理されるOracle ASMインスタンスの起動は行われます。したがって、Oracle ASMは、Oracle Clusterwareスタックが必要とする場合に起動します。
srvctl disable asmコマンドを使用すると、Oracle ASM Oracle Clusterwareプロキシ・リソースとそれに依存するすべてのリソースを起動できなくなります。このため、Oracle Clusterwareの管理対象オブジェクト(データベース、ディスク・グループ、Oracle ASMに依存するファイル・システムなど)を起動できなくなります。たとえば、srvctl start database | diskgroup | filesystemコマンドを実行しても、Oracle ASM Oracle Clusterwareプロキシ・リソースが無効になっているノードのオブジェクトを起動することはできません。また、srvctl start asmコマンドでリモート・ノードのOracle ASMの起動することもできません。

構文およびオプション

srvctl disable asmコマンドは、次の構文で使用します。

srvctl disable asm [-n node_name]

表A-31 srvctl disable asmのオプション

オプション

説明

-n node_name

ノード名

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl disable asm -n crmnode1

srvctl disable cvu

Oracle Database 11gリリース2(11.2.0.2)以降、このコマンドは、Oracle Clusterware管理用のクラスタ検証ユーティリティ(CVU)が有効な場合に、これを無効にします。

構文およびオプション

srvctl disable cvuコマンドは、次の構文で使用します。

srvctl disable cvu [-n node_name]

CVUを無効にする特定のノードを指定できます。

表A-32 srvctl disable cvuのオプション

オプション

説明

-n node_name

ノード名

例

次のコマンド例は、クラスタのシングル・ノードでCVUを無効にします。

$ srvctl disable cvu -n crmnode1

srvctl disable database

データベースを無効化します。データベースがクラスタ・データベースの場合、そのインスタンスも無効化されます。

構文およびオプション

srvctl disable databaseコマンドは、次の構文で使用します。

srvctl disable database -d db_unique_name [-n node_name]

表A-33 srvctl disable databaseのオプション

オプション

説明

-d database_name

データベース名

-n node_name

指定したノードからのデータベースの実行を無効化します。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl disable database -d mydb1

srvctl disable diskgroup

指定したいくつかのノード上の特定のディスク・グループを無効化します。

構文およびオプション

srvctl disable diskgroupコマンドは、次の構文で使用します。

srvctl disable diskgroup -g diskgroup_name [-n node_list]

表A-34 srvctl disable diskgroupのオプション

オプション

説明

-g diskgroup_name

Oracle ASMディスク・グループ名

-n node_list

ディスク・グループを無効化するノード名のカンマ区切りリスト

このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl disable diskgroup -g diskgroup1 -n mynode1, mynode2

srvctl disable filesystem

Oracle ACFSボリュームを無効化します。

構文およびオプション

srvctl disable filesystemコマンドは、次の構文で使用します。

srvctl disable filesystem -d volume_device_name

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-35 srvctl disable filesystemのオプション

オプション

説明

-d volume_device_name

Oracle ACFSボリュームの名前

例

次に、このコマンドの例を示します。

$ srvctl disable filesystem -d /dev/asm/d1volume293

srvctl disable gns

特定のノードまたはクラスタ内で使用可能なすべてのノードのGNSを無効化します。

構文およびオプション

srvctl disable gnsコマンドは、次の構文で使用します。

srvctl disable gns [-n node_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-36 srvctl disable gnsのオプション

オプション

説明

-n node_name

クラスタのノードの名前

このオプションを指定しない場合、SRVCTLはクラスタ全体のGNSを無効にします。

例

次に、このコマンドの例を示します。

$ srvctl disable gns -n crm7

srvctl disable instance

インスタンスを無効化します。このコマンドで無効化するインスタンスが、最後に有効化されたインスタンスである場合は、この操作によってデータベースも無効化されます。

構文およびオプション

srvctl disable instanceコマンドは、次の構文で使用します。

srvctl disable instance -d db_unique_name -i instance_name_list

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

表A-37 srvctl disable instanceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-i instance_name_list

インスタンス名のカンマ区切りリスト

例

次に、このコマンドの例を示します。

$ srvctl disable instance -d crm -i "crm1,crm3"

srvctl disable listener

リスナー・リソースを無効化します。

構文およびオプション

srvctl disable listenerコマンドは、次の構文で使用します。

srvctl disable listener [-l listener_name] [-n node_name]

表A-38 srvctl disable listenerのオプション

オプション

説明

-l listener_name

リスナー・リソースの名前。このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-n node_name

無効化するリスナーが実行中のクラスタ・ノードの名前。

このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl disable listener -l listener_crm -n node5

srvctl disable nodeapps

クラスタ内のすべてのノードのノード・アプリケーションを無効化します。

構文およびオプション

srvctl disable nodeappsコマンドは、次の構文で使用します。

srvctl disable nodeapps [-g] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-39 srvctl disable nodeappsのオプション

オプション

説明

-g

GSDの無効化

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl disable nodeapps -g -v

srvctl disable oc4j

すべてのノードまたは特定のノードのOC4Jインスタンスを無効化します。

構文およびオプション

srvctl disable oc4jコマンドは、次の構文で使用します。

srvctl disable oc4j [-n node_name] [-v]

表A-40 srvctl disable oc4jのオプション

オプション

説明

-n node_name

クラスタのノードの名前

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl disable oc4j -n crm3

srvctl disable ons

Oracle RestartインストールのOracle Notification Serviceデーモンを無効化します。

srvctl disable ons [-v]

このコマンドで使用できるオプションは-vのみです。これは、冗長出力が表示されることを示します。

srvctl disable scan

すべてのSCAN VIP(デフォルト)、またはordinal_numberで識別される特定のSCAN VIPを無効化します。

構文およびオプション

srvctl disable scanコマンドは、次の構文で使用します。

srvctl disable scan [-i ordinal_number]

このコマンドで使用できるオプションは-i ordinal_numberのみです。このオプションは3つのSCAN VIPのいずれかを識別し、値の範囲は1から3です。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl disable scan -i 1

srvctl disable scan_listener

すべてのSCANリスナー(デフォルト)、またはordinal_numberで識別される特定のリスナーを無効化します。

構文およびオプション

srvctl disable scan_listenerコマンドは、次の構文で使用します。

srvctl disable scan_listener [-i ordinal_number]

このコマンドで使用できるオプションは-i ordinal_numberのみです。このオプションは3つのSCANリスナーのいずれかを識別し、値の範囲は1から3です。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl disable scan_listener -i 1

srvctl disable service

サービスを無効化します。サービス全体を無効化すると、すべてのインスタンスに適用され、各インスタンスが無効化されます。サービス全体がすでに無効化されている場合、サービス全体に対するsrvctl disable service操作はすべてのインスタンスに適用され、それらを無効化して、エラーのみを戻します。したがって、各インスタンスに対してサービス・インジケータを操作する場合、使用できないサービス操作もあります。

構文およびオプション

srvctl disable serviceコマンドは、次の構文で使用します。

srvctl disable service -d db_unique_name
-s "service_name_list" [-i instance_name | -n node_name]

-i instance_nameオプションも-n node_nameオプションも指定しない場合、すべてのノードのサービスが無効化されます。

表A-41 srvctl disable serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s "service_name_list"

サービス名のカンマ区切りリスト、または単一のサービス名

-i instance_name

無効化するサービスのインスタンス名

注意: このオプションは管理者管理データベースで使用します。

注意: このオプションはOracle ClusterwareおよびOracle RACでのみ使用可能です。

-n node_name

無効化するサービスのノード名

注意: このオプションはポリシー管理データベースで使用します。

注意: このオプションはOracle ClusterwareおよびOracle RACでのみ使用可能です。

例

次の例は、CRMデータベースの2つのサービスをグローバルに無効化します。

$ srvctl disable service -d crm -s "crm,marketing"

次の例では、CRM1インスタンスで実行中のCRMデータベースのサービスの1つを無効化します。その結果、データベースでは引き続きサービスを使用可能ですが、インスタンスは1つ減ります。

$ srvctl disable service -d crm -s crm -i crm1

srvctl disable vip

特定のVIPを無効化します。

構文およびオプション

srvctl disable vipコマンドは、次の構文で使用します。

srvctl disable vip -i vip_name [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-42 srvctl disable vipのオプション

オプション

説明

-i vip_name

VIP名

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl disable vip -i vip1 -v

downgrade

Oracle Database 11gリリース2(11.2.0.2)以降は、手動でデータベースをダウングレードした後に、downgradeコマンドを使用してデータベース構成をダウングレードできます。

srvctl downgrade database

srvctl downgrade databaseコマンドは、データベースとそのサービスの構成を現行バージョンから指定した下位バージョンにダウングレードします。

構文およびオプション

srvctl downgrade databaseコマンドは、次の構文で使用します。

srvctl downgrade database -d db_unique_name -o Oracle_home -t to_version

表A-43 srvctl downgrade databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-o Oracle_home

ORACLE_HOMEへのパス

-t to_version

ダウングレード先のバージョン

enable

srvctl enableコマンドは、指定したオブジェクトを有効化して、このオブジェクトがOracle Clusterwareで自動起動、フェイルオーバーまたは再起動を実行できるようにします。この機能は、オブジェクトをサポートするOracle Clusterwareアプリケーションが起動されているか停止されているかに関係なく使用できます。デフォルト値はenableです。オブジェクトがすでに有効化されている場合、このコマンドは無視されます。有効化されたオブジェクトは起動でき、無効化されたオブジェクトは起動できません。

表A-44 srvctl enableのサマリー

コマンド

説明

srvctl enable asm

Oracle ASMインスタンスの有効化

srvctl enable cvu

クラスタ検証ユーティリティの有効化

srvctl enable database

データベース・リソースの有効化

srvctl enable diskgroup

指定したいくつかのノード上の指定したディスク・グループの有効化

srvctl enable filesystem

Oracle ACFSボリュームの有効化

srvctl enable gns

GNSの有効化

srvctl enable instance

インスタンスの有効化

srvctl enable listener

リスナーの有効化

srvctl enable nodeapps

ノード・アプリケーションおよびGSDの有効化

srvctl enable oc4j

OC4Jインスタンスの有効化

srvctl enable ons

Oracle Notification Serviceデーモンの有効化

srvctl enable scan

SCAN VIPの有効化

srvctl enable scan_listener

SCANリスナーの有効化

srvctl enable service

サービスの有効化

srvctl enable vip

VIPの有効化

srvctl enable asm

Oracle ASMインスタンスを有効化します。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびオプション

srvctl enable asmコマンドは、次の構文で使用します。

srvctl enable asm [-n node_name]

表A-45 srvctl enable asmのオプション

オプション

説明

-n node_name

ノード名

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl enable asm -n crmnode1

srvctl enable cvu

Oracle Database 11gリリース2(11.2.0.2)以降、このコマンドは、Oracle Clusterware管理用のクラスタ検証ユーティリティ(CVU)が無効な場合に、これを有効にします。

構文およびオプション

srvctl enable cvuコマンドは、次の構文で使用します。

srvctl enable cvu [-n node_name]

CVUを有効にする特定のノードを指定できます。

表A-46 srvctl enable cvuのオプション

オプション

説明

-n node_name

ノード名

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次のコマンド例は、クラスタのシングル・ノードでCVUを有効にします。

$ srvctl enable cvu -n crmnode1

srvctl enable database

クラスタ・データベースとそのインスタンスを有効化します。

構文およびオプション

srvctl enable databaseコマンドは、次の構文で使用します。

srvctl enable database -d db_unique_name [-n node_name]

表A-47 srvctl enable databaseのオプション

オプション

説明

-d database_name

データベース名

-n node_name

データベース・リソースを有効にする必要があるノードの名前

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl enable database -d mydb1

srvctl enable diskgroup

指定したいくつかのノード上の特定のディスク・グループを有効化します。

構文およびオプション

srvctl enable diskgroupコマンドは、次の構文で使用します。

srvctl enable diskgroup -g diskgroup_name [-n node_list]

表A-48 srvctl enable diskgroupのオプション

オプション

説明

-g diskgroup_name

Oracle ASMディスク・グループ名

-n node_list

ディスク・グループを有効化するノード名のカンマ区切りリスト

このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl enable diskgroup -g diskgroup1 -n mynode1,mynode2

srvctl enable filesystem

Oracle ACFSボリュームを有効化します。

構文およびオプション

srvctl enable filesystemコマンドは、次の構文で使用します。

srvctl enable filesystem -d volume_device_name

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-49 srvctl enable filesystemのオプション

オプション

説明

-d volume_device_name

Oracle ACFSボリュームのデバイス名

例

次に、このコマンドの例を示します。

$ srvctl enable filesystem  -d /dev/asm/d1volume293

srvctl enable gns

すべてのノードまたは特定のノードのGNSを有効化します。

構文およびオプション

srvctl enable gnsコマンドは、次の構文で使用します。

srvctl enable gns [-n node_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-50 srvctl enable gnsのオプション

オプション

説明

-n node_name

GNSを有効化するノードの名前。

オプションを指定しなかった場合、GNSはクラスタのすべてのノードで有効化されます。

例

次に、このコマンドの例を示します。

$ srvctl enable gns

srvctl enable instance

Oracle RACデータベースのインスタンスを有効化します。このコマンドを使用してすべてのインスタンスを有効化する場合、データベースも有効化されます。

構文およびオプション

srvctl enable instanceコマンドは、次の構文で使用します。

srvctl enable instance -d db_unique_name -i instance_name_list

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

表A-51 srvctl enable instanceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-i instance_name_list

インスタンス名のカンマ区切りリスト。

例

次に、このコマンドの例を示します。

$ srvctl enable instance  -d crm -i "crm1,crm2"

srvctl enable listener

リスナー・リソースを有効化します。

構文およびオプション

srvctl enable listenerコマンドは、次の構文で使用します。

srvctl enable listener [-l listener_name] [-n node_name]

表A-52 srvctl enable listenerのオプション

オプション

説明

-l listener_name

リスナー・リソースの名前。このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-n node_name

クラスタ・ノードの名前

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl enable listener -l listener_crm -n node5

srvctl enable nodeapps

クラスタ内のすべてのノードのノード・アプリケーションを有効化します。

構文およびオプション

srvctl enable nodeappsコマンドは、次の構文で使用します。

srvctl enable nodeapps [-g] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-53 srvctl enable nodeappsのオプション

オプション

説明

-g

GSDの有効化

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl enable nodeapps -g -v

srvctl enable oc4j

すべてのノードまたは特定のノードのOC4Jインスタンスを有効化します。

構文およびオプション

srvctl enable oc4jコマンドは、次の構文で使用します。

srvctl enable oc4j [-n node_name] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-54 srvctl enable oc4jのオプション

オプション

説明

-n node_name

クラスタのノードの名前

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl enable oc4j -n crm3

srvctl enable ons

Oracle Notification Serviceデーモンを有効化します。

注意:
このコマンドはOracle Restartでのみ使用可能です。

構文およびオプション

srvctl enable onsコマンドは、次の構文で使用します。

srvctl enable ons [-v]

このコマンドで使用できるオプションは-vのみです。これは、冗長出力が表示されることを示します。

例

次に、このコマンドの例を示します。

$ srvctl enable ons

srvctl enable scan

すべてのSCAN VIP(デフォルト)、またはそのordinal_numberで識別される特定のSCAN VIPを有効化します。

構文およびオプション

srvctl enable scanコマンドは、次の構文で使用します。

srvctl enable scan [-i ordinal_number]

このコマンドで使用できるオプションは-i ordinal_numberのみです。このオプションは3つのSCAN VIPのいずれかを識別し、値の範囲は1から3です。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl enable scan -i 1

srvctl enable scan_listener

すべてのSCANリスナー(デフォルト)、またはそのordinal_numberで識別される特定のリスナーを有効化します。

構文およびオプション

srvctl enable scan_listenerコマンドは、次の構文で使用します。

srvctl enable scan_listener [-i ordinal_number]

このコマンドで使用できるオプションは-i ordinal_numberのみです。このオプションは3つのSCANリスナーのいずれかを識別し、値の範囲は1から3です。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl enable scan_listener -i 1

srvctl enable service

Oracle Clusterwareのサービスを有効化します。サービス全体の有効化は、各インスタンスでサービスを有効化することによって、すべてのインスタンスに対してサービスを有効化することになります。サービス全体がすでに有効化されている場合、srvctl enable service操作はすべてのインスタンスには適用されないため、インスタンスは有効化されません。この操作は、エラーを戻します。したがって、各インスタンスに対してサービス・インジケータを操作する場合、使用できないサービス操作もあります。

構文およびオプション

srvctl enable serviceコマンドは、次の構文で使用します。

srvctl enable service -d db_unique_name -s "service_name_list"
[-i instance_name | -n node_name]

表A-55 srvctl enable serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name_list

サービス名のカンマ区切りリスト

-i instance_name

サービスを実行するデータベース・インスタンスの名前

このオプションは管理者管理データベースで使用します。

注意: このオプションはOracle ClusterwareおよびOracle RACでのみ使用可能です。

-n node_name

サービスを実行するノードの名前

このオプションはポリシー管理データベースで使用します。

注意: このオプションはOracle ClusterwareおよびOracle RACでのみ使用可能です。

例

次の例は、サービスをグローバルに有効化します。

$ srvctl enable service -d crm -s crm

次の例は、優先インスタンスを使用するサービスを有効化します。

$srvctl enable service -d crm -s crm -i crm1

srvctl enable vip

特定のVIPを有効化します。

構文およびオプション

srvctl enable vipコマンドは、次の構文で使用します。

srvctl enable vip -i vip_name [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-56 srvctl enable vipのオプション

オプション

説明

-i vip_name

VIP名

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl enable vip -i crm1-vip -v

getenv

構成ファイルから環境変数の値を取得し表示します。データベース、インスタンス、サービスおよびノード・アプリケーションの環境構成を管理するには、動詞setenv、getenvおよびunsetenvを指定してSRVCTLを使用します。

表A-57 srvctl getenvのサマリー

コマンド

説明

srvctl getenv asm

Oracle ASM環境の値の取得

srvctl getenv database

データベース環境の値の取得

srvctl getenv listener

リスナー環境の値の取得

srvctl getenv nodeapps

ノード・アプリケーション環境の値の取得

srvctl getenv vip

サービス環境の値の取得

srvctl getenv asm

Oracle ASMに関連付けられている環境変数の値を表示します。

構文およびオプション

srvctl getenv asmコマンドは、次の構文で使用します。

srvctl getenv asm [-t "name_list"]

表A-58 srvctl getenv asmのオプション

オプション

説明

-t "name_list"

環境変数の名前のカンマ区切りリスト。

このオプションを指定しない場合、Oracle ASMに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、Oracle ASMで使用されるすべての環境変数の現在の値を表示します。

$ srvctl getenv asm

srvctl getenv database

データベースに関連付けられている環境変数の値を表示します。

構文およびオプション

srvctl getenv databaseコマンドは、次の構文で使用します。

srvctl getenv database -d db_unique_name [-t "name_list"]

表A-59 srvctl getenv databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-t "name_list"

環境変数の名前のカンマ区切りリスト

このオプションを指定しない場合、データベースに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、CRMデータベースの環境構成を取得します。

$ srvctl getenv database -d crm

srvctl getenv listener

指定したリスナーの環境変数を取得します。

構文およびオプション

srvctl getenv listenerコマンドは、次の構文で使用します。

srvctl getenv listener [-l listener_name] [-t "name_list"]

表A-60 srvctl getenv listenerのオプション

オプション

説明

-l listener_name

リスナー名

オプションを指定しなかった場合は、リスナーの名前はデフォルトでLISTENERになります。

-t "name_list"

環境変数の名前のカンマ区切りリスト

このオプションを指定しない場合、リスナーに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、デフォルトのリスナーのすべての環境変数をリストします。

$ srvctl getenv listener

srvctl getenv nodeapps

ノード・アプリケーション構成の環境変数を取得します。

構文およびオプション

srvctl getenv nodeappsコマンドは、次の構文で使用します。

srvctl getenv nodeapps [-a] [-g] [-s] [-t "name_list"] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-61 srvctl getenv nodeappsのオプション

オプション

説明

-a

VIPアドレス構成の表示

-g

GSD構成の表示

-s

Oracle Notification Service構成の表示

-t "name_list"

環境変数の名前のカンマ区切りリスト

このオプションを指定しない場合、nodeappsに関連付けられているすべての環境変数の値が表示されます。

-v

冗長出力

例

次の例は、ノード・アプリケーションのすべての環境変数をリストします。

$ srvctl getenv nodeapps -a

srvctl getenv vip

指定したVIPの環境変数を取得します。

構文およびオプション

srvctl getenv vipコマンドは、次の構文で使用します。

srvctl getenv vip -i vip_name [-t "name_list"] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-62 srvctl getenv vipのオプション

オプション

説明

-i vip_name

VIPの名前

-t "name_list"

環境変数の名前のカンマ区切りリスト

このオプションを指定しない場合、VIPに関連付けられているすべての環境変数の値が表示されます。

-v

冗長出力

例

次の例は、指定されたVIPのすべての環境変数をリストします。

$ srvctl getenv vip -i node1-vip

modify

Oracle Clusterwareリソースの削除および追加を行わずに、インスタンス構成を変更できます。modifyを使用した場合、他の方法では再入力が必要となるOCR構成の環境が保持されます。構成の記述はOCR構成内で変更され、新規Oracle Clusterwareプロファイルが生成および登録されます。変更は、次回のアプリケーション再起動時に有効になります。

表A-63 srvctl modifyのサマリー

コマンド

説明

srvctl modify asm

Oracle ASMの構成の変更

srvctl modify cvu

クラスタ検証ユーティリティのチェック間隔の変更

srvctl modify database

データベースの構成の変更

srvctl modify filesystem

Oracle ACFSボリュームのマウントおよびアンマウントが許可されたユーザーの変更

srvctl modify gns

GNS構成の変更

srvctl modify instance

インスタンスの構成の変更

srvctl modify listener

ノードのリスナー構成の変更

srvctl modify network

ノード・アプリケーションの構成の変更

srvctl modify nodeapps

ノード・アプリケーションの構成の変更

srvctl modify oc4j

OC4JインスタンスのRMIポートの変更

srvctl modify ons

Oracle Notification Serviceデーモン用のネットワーク構成の変更

srvctl modify scan

特定のSCAN VIPの構成に一致させるためのSCAN VIPの構成の変更

srvctl modify scan_listener

現行のSCAN VIPの構成に一致させるためのSCANリスナーの構成の更新

srvctl modify service

サービスの構成の変更

srvctl modify srvpool

特定のサーバー・プールの変更

srvctl modify asm

Oracle ASMで使用するリスナー、Oracle ASMで使用するディスク・グループ検出文字列、または非クラスタ・データベースまたはクラスタ・データベース用にOracle ASMで使用するSPFILEを変更します。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびオプション

srvctl modify asmコマンドは、次の構文で使用します。

srvctl modify asm [-n node_name] [-l listener_name]
[-d asm_diskstring] [-p spfile_path_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-64 srvctl modify asmのオプション

オプション

説明

-n node_name

ノード名

-l listener_name

Oracle ASMが登録したリスナー名

-d asm_diskstring

新しいOracle ASMディスク・グループ検出文字列

-p spfile_path_name

Oracle ASMで使用される新規SPFILEのパス名

例

Oracle ASMの構成を変更するこのコマンドの例を次に示します。

$ srvctl modify asm -l lsnr1

srvctl modify cvu

Oracle Database 11gリリース2(11.2.0.2)以降、このコマンドは、Oracle Clusterware構成でのCVUのチェック間隔を変更します。

構文およびオプション

srvctl modify cvuコマンドは、次の構文で使用します。

srvctl modify cvu [-t check_interval_in_minutes]

表A-65 srvctl modify cvuのオプション

オプション

説明

-t check_interval_in_minutes

デフォルトでは、CVUは360分(6時間)に1回実行され、クラスタの健全性を検証します。CVUチェックに指定できる最も短い間隔は10分です。

例

次のコマンド例は、CVUのチェック間隔を4時間に変更します。

$ srvctl modify cvu -t 240

srvctl modify database

データベースの構成を変更します。

構文およびオプション

srvctl modify databaseコマンドは、次の構文で使用します。

srvctl modify database -d db_unique_name [-n db_name]
[-o oracle_home] [-u user_name] [-m db_domain] [-p spfile]
[-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}]
[-s start_options] [-t stop_options] [-y {AUTOMATIC | MANUAL | NORESTART}]
[-g "server_pool_list"] [{-a "diskgroup_list" | -z}]
[-e server_list] [-w timeout] [-j "acfs_path_list"]

表A-66 srvctl modify databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-n db_name

-dオプションで指定されたデータベースの一意の名前と異なる場合の、(DB_NAME初期化パラメータで指定された)データベースの名前

-o oracle_home

データベースのOracleホームのパス

-u user_name

Oracleホーム・ディレクトリを所有するユーザーの名前

注意: -uオプションを指定する場合は、権限付きモードでこのコマンドを実行する必要があります。

-m db_domain

データベースのドメイン

注意: データベースに初期化パラメータDB_DOMAINが設定されている場合は、このオプションを指定する必要があります。

-p spfile

データベースのサーバー・パラメータ・ファイルのパス名

-r role [PRIMARY |
PHYSICAL_STANDBY |
LOGICAL_STANDBY |
SNAPSHOT_STANDBY]

Oracle Data Guard構成でのデータベースのロール(PRIMARY、PHYSICAL_STANDBY、LOGICAL_STANDBYまたはSNAPSHOT_STANDBY)

-s start_options

データベースの起動オプション(OPEN、MOUNT、NOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-t stop_options

データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-y [AUTOMATIC |
MANUAL | NORESTART]

データベース・リソースの管理ポリシー。Oracle Database 11gリリース2(11.2.0.3)以降は、NORESTART値を使用できます。

-g "server_pool_list"

ポリシー管理データベースに使用するサーバー・プール名のカンマ区切りリスト

注意:

- 管理者管理データベースを変更している場合、このオプションによって、データベースがポリシー管理に変更され、さらに、すべてのデータベースのサービスが指定したサーバー・プール内でUNIFORMサービスとして実行するように変更されます。管理者管理データベースをポリシー管理データベースに変換するために指定できるサーバー・プールは1つのみです。

- このオプションはOracle ClusterwareおよびOracle RACでのみ使用可能です。

-a "diskgroup_list"

Oracle ASMディスク・グループのカンマ区切りリスト

-z

Oracle ASMディスク・グループへのデータベースの依存性の削除

-e server_list

Oracle RAC One Nodeデータベースの候補サーバーのリスト。

注意: このオプションは管理者管理Oracle RAC One Nodeデータベースでのみ使用できます。Oracle RAC One Nodeデータベースがポリシー管理の場合、このオプションを使用できません。

-w timeout

Oracle RAC One Nodeデータベースのオンライン・データベース再配置タイムアウト(分単位)。デフォルトは30です。

-j "acfs_path_list"

データベースの依存性が設定された、二重引用符("")で囲まれた単一のOracle ACFSパスまたはOracle ACFSパスのカンマ区切りリスト

このオプションは、データベースがORACLE_HOMEファイル・システムとは異なるファイル・システムでORACLE_BASEを使用する場合など、ORACLE_HOME以外のOracle ACFSファイル・システムへの依存性を作成する場合に使用します。

使用上の注意

- srvctl modify databaseコマンドは、管理者管理データベースをポリシー管理データベースに変換できます。管理者管理データベースの実行については、サーバー・リストが提供されている場合は、そのデータベースが実行されているノードがそのリストに含まれている必要があります。インスタンス名の接頭辞は、srvctl add databaseコマンドの実行後に変更することはできません。

- Oracle RAC One Nodeデータベースでは、管理ポリシーをAUTOMATIC(-yオプションを使用)から変更できません。実行しようとすると、エラー・メッセージが表示されます。-xオプションの場合も同様で、このオプションは、非クラスタ・データベースが実行されるノードを変更する場合に使用します。

- ポリシー管理Oracle RAC One Nodeデータベースでは、-gオプションを使用して、サーバー・プール間でOracle RAC One Nodeデータベースを移動できますが、指定できるサーバー・プールは1つのみです。サーバー・プールのリストを指定すると、エラーが戻されます。

例

次の例は、データベースのロールをロジカル・スタンバイに変更します。

$ srvctl modify database -d crm -r logical_standby

次の例では、Oracle ASMディスク・グループSYSFILES、LOGSおよびOLTPを使用するようにracTestデータベースに指示します。

$ srvctl modify database -d racTest -a "SYSFILES,LOGS,OLTP"

srvctl modify filesystem

Oracle ACFSボリュームのマウントおよびアンマウントが許可されたユーザーの名前を変更します。

構文およびオプション

srvctl modify filesystemコマンドは、次の構文で使用します。

srvctl modify filesystem -d volume_device_name -u user_name

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-67 srvctl modify filesystemのオプション

オプション

説明

-d volume_device_name

Oracle ACFSボリュームのデバイス名

-u user_name

Oracle ACFSボリュームのマウントおよびアンマウントが許可されたユーザーの名前

例

次の例は、RACVOL1ボリュームについて許可されたユーザーをsysadに変更します。

$ srvctl modify filesystem -d /dev/asm/racvol1 -u sysad

srvctl modify gns

GNSで使用されるIPアドレスまたはドメインを変更します。

構文およびオプション

srvctl modify gnsコマンドは、次の構文で使用します。

srvctl modify gns [-i ip_address] [-d domain]

表A-68 srvctl modify gnsのオプション

オプション

説明

-i ip_address

GNSのIPアドレス

-d domain

GNSのネットワーク・ドメイン

例

次に、このコマンドの例を示します。

$ srvctl modify gns -i 192.000.000.003

srvctl modify instance

管理者管理データベースでは、データベース・インスタンスの構成を現在のノードから別のノードへ変更します。ポリシー管理データベースでは、指定されたノードでデータベースを実行するときに使用するインスタンス名を定義します。

構文およびオプション

srvctl modify instanceコマンドは、次の構文で使用します。

srvctl modify instance -d db_unique_name -i instance_name
{-n node_name | -z}

注意:

- このコマンドは、実行インスタンスの名前変更または再配置には使用できません。

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

表A-69 srvctl modify instanceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-i instance_name

データベース・インスタンス名

-n node_name

インスタンスを実行するノードの名前

-z

ポリシー管理データベースの既存のノード・インスタンス・マッピングの削除

例

次の例では、データベース・インスタンスamdb1が、指定されたノードmynodeで実行されるように、管理者管理データベースamdbの構成を変更します。

$ srvctl modify instance -d amdb -i amdb1 -n mynode

次の例は、mynodeで実行する場合に、ポリシー管理データベースpmdbでインスタンス名pmdb1を使用するようにします。

$ srvctl modify instance -d pmdb -i pmdb1 -n mynode

次の例は、前述の例で確立されたディレクティブを削除します。

$ srvctl modify instance -d pmdb -i pmdb1 -z

srvctl modify listener

デフォルトのリスナー、特定のリスナー、または指定されたリスナー名のリストに表示されたすべてのリスナーのリスナー名、ORACLE_HOMEパスまたはリスナー・エンドポイントを変更します。これらは、指定されたノードのOracle RestartまたはOracle Clusterwareに登録されています。

リスナーの名前を変更する場合、srvctl remove listenerおよびsrvctl add listenerコマンドを使用します。

構文およびオプション

srvctl modify listenerコマンドは、次の構文で使用します。

srvctl modify listener [-l listener_name] [-o oracle_home] [-u user_name]
[-p "[TCP:]port_list[/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]"]
[-k network_number]

表A-70 srvctl modify listenerのオプション

オプション

説明

-l listener_name

リスナーの名前。

このオプションを指定しない場合はLISTENERという名前が使用されます。

-o oracle_home

このオプションが指定された場合、SRVCTLは指定されたOracleホームから実行するためにリスナーを移動します。

注意: このオプションを使用する場合は、新しいORACLE_HOME所有者に対応するリソース所有権をSRVCTLが更新できるように、権限を持つユーザーでコマンドが実行される必要があります。

-u user_name

指定されたOracleホームを所有するオペレーティング・システム・ユーザーの名前

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-p "[TCP:]port_list [/IPC:key][/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]"

リスナーのプロトコル仕様。port_listはポート番号のカンマ区切りリストです。

-k network_number

このオプションはリスナーがリスニングするパブリック・サブネットを変更します。

注意: 常に1つ以上のリスナーをデフォルトのネットワークに持つ必要があります。このオプションは、デフォルトのネットワークだけをリスニングするリスナーのネットワークの変更に使用しないでください。

例

次の例は、ノードmynode1のデフォルト・リスナーのTCPポートを変更します。

$ srvctl modify listener -l listener1 -p "TCP:1521,1522"

srvctl modify network

指定されたネットワークのサブネットを変更します。

構文およびオプション

次の構文モデルのいずれかを使用して、srvctl modify networkコマンドを実行します。

srvctl modify network [-k network_number [-S subnet/netmask[/if1[|if2|...]]]
[-w network_type] [-v]

表A-71 srvctl modify networkのオプション

オプション

説明

-k network_number

ネットワーク番号を指定します。デフォルトは1です。

-S subnet/netmask
[/if1[|if2|...]]

パブリック・ネットワークのサブネット番号を指定します。ネットマスクとインタフェースを指定すると、変更対象のネットワークのネットマスクとインタフェースが変更されます。インタフェース名を指定しない場合、VIPは指定されたサブネットの任意のインタフェースを使用します。

-w network_type

static、dhcpまたはmixedから、ネットワーク・タイプを指定します。

-v

冗長出力。

例

次の例は、サブネット数、ネットマスクとインタフェース・リストを変更します。

$ srvctl modify network -S 192.168.2.0/255.255.255.0/eth0

次の例は、2つ目のネットワークをDHCPに変更します。

$ srvctl modify network -k 2 -w dhcp

srvctl modify nodeapps

ノード・アプリケーションの構成を変更します。

構文およびオプション

srvctl modify nodeappsコマンドは、次の構文モデルの1つで使用します。

srvctl modify nodeapps [-n node_name -A new_vip_address]
[-S subnet/netmask[/if1[|if2|...]] [-u network_type]
[-e em_port] [-l ons_local_port] [-r ons_remote_port]
[-t host[:port][,host:port,...]] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-72 srvctl modify nodeappsのオプション

オプション

説明

-n node_name

ノード名。

-A new_vip_address/
netmask

ノード・レベルの仮想IPアドレス。名前またはIPで指定されたアドレスは、デフォルトびネットワークのサブネット番号に一致する必要があります。

注意: このオプションは、アップグレード構成および新規のDHCP以外の構成で使用する必要があります。

-S subnet/netmask
[/if1[|if2|...]]

パブリック・ネットワークのサブネット番号を指定します。指定されたネットマスクおよびインタフェースがある場合、デフォルト・ネットワークのネットマスクおよびインタフェースが変更されます。また、netmaskオプションを指定する場合は、各ネットワークの最初のノードにのみ指定する必要があります。

-u network_type

ネットワーク・サーバー・タイプとして、static、dhcp、mixedなどを指定します。

-e em_port

Oracle Enterprise Managerがリスニングするローカル・ポート。デフォルト・ポートは2016です。

-l ons_local_port

ローカル・クライアント接続用にOracle Notification Serviceデーモンがリスニングするポート。

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-r ons_remote_port

リモート・ホストからの接続用にOracle Notification Serviceデーモンがリスニングするポート。

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-t host:port, [host:port,...]

Oracle Notification Serviceネットワークには含まれていてもクラスタには含まれていないリモート・ホストのhost:portペアのリスト。リモート・ホストのportを指定しなかった場合は、ons_remote_portに指定した値が使用されます。

-v

冗長出力。

例

次の例では、アプリケーションVIPに100.200.300.40、ネットワーク・インタフェースeth0のサブネットマスクに255.255.255.0を使用するようにmynode1のnodeappsリソースを変更します。

$ srvctl modify nodeapps -n mynode1 -A 100.200.300.40/255.255.255.0/eth0

srvctl modify oc4j

OC4JインスタンスのRMIポートを変更します。

構文およびオプション

srvctl modify oc4jコマンドは、次の構文で使用します。

srvctl modify oc4j -p oc4j_rmi_port [-v]

表A-73 srvctl modify oc4jのオプション

オプション

説明

-p oc4j_rmi_port

OC4Jインスタンスが使用するRMIポート番号

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl modify oc4j -p 5385

srvctl modify ons

Oracle Restartに登録されたOracle Notification Serviceデーモンで使用するポートを変更します。

構文およびオプション

srvctl modify onsコマンドは、次の構文で使用します。

srvctl modify ons [-l ons_local_port] [-r ons_remote_port]
[-t host[:port][,host[:port]][...]] [-v]

表A-74 srvctl modify onsのオプション

オプション

説明

-l ons_local_port

ローカル・クライアント接続用のOracle Notification Serviceデーモンのリスニング・ポート

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-r ons_remote_port

リモート・ホストからの接続用のOracle Notification Serviceデーモンのリスニング・ポート

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-t host[:port]
[,host[:port]][...]]

Oracle Notification Serviceネットワークには含まれていてもOracle Clusterwareクラスタには含まれていないリモート・ホストのhost:portペアのリスト

注意: リモート・ホストのportを指定しなかった場合はons_remote_portが使用されます。

-v

冗長出力の表示

srvctl modify scan

DNSで指定するscan_nameを調べると戻されるIPアドレス数に一致するように、SCAN VIPの数を変更します。おそらくscan_nameは変更されていませんが、DNSはIPアドレスを追加または削除するために変更されているため、Oracle Clusterwareリソース構成を調整して一致させる必要があります。

構文およびオプション

srvctl modify scanコマンドは、次の構文で使用します。

srvctl modify scan -n scan_name

このコマンドで使用できるオプションは、-n scan_nameのみです。これは、使用するSCAN VIPに解決されるSCAN名を識別します。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

システムに現在scan_name1という名前のSCANが存在し、DNSで単一のIPアドレスに解決されるとします。DNSでSCAN scan_name1を変更して3つのIPアドレスに解決されるようにした場合、次のコマンドを使用して追加のSCAN VIPリソースを作成します。

$ srvctl modify scan -n scan_name1

srvctl modify scan_listener

SCAN VIPにあわせてSCANリスナーを変更するか、またはSCANリスナーのエンドポイントを変更します。

構文およびオプション

srvctl modify scan_listenerコマンドは、次の構文で使用します。

srvctl modify scan_listener {-p [TCP:]port[/IPC:key][/NMP:pipe_name]
[/TCPS:s_port][/SDP:port] | -u }

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-75 srvctl modify scan_listenerのオプション

オプション

説明

-p [TCP:]port[/IPC:key]
[/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]

新しいSCANリスナー・エンドポイント

-u

現行のSCAN VIPの構成に一致するようにSCANリスナーの構成を更新します。このオプションは、SCAN VIPリソースに一致するように、新規リソースを追加するか、または既存のSCANリスナー・リソースを削除します。

例

システムに現在scan_name1という名前のSCANが存在し、最近そのDNSエントリを1つではなく3つのIPアドレスに解決されるように変更したとします。srvctl modify scanコマンドを実行して追加のSCAN VIPリソースを作成した後に、次のコマンドを使用して、この2つの追加のSCAN VIPにあわせて2つの追加のSCANリスナーのOracle Clusterwareリソースを作成します。

$ srvctl modify scan_listener -u

srvctl modify service

あるインスタンスから別のインスタンスにサービス・メンバーを移動します。さらに、このコマンドによって、サービスに対する優先インスタンスと使用可能インスタンスが変更されます。このコマンドでは、サービスに対して次のようなオンライン変更がサポートされています。

- DBMS_SERVICEのサービス属性 (フェイルオーバーの遅延、ランタイム・ロード・バランシングの目標など)は、オンラインで変更できますが、変更が有効になるのは、サービスが次回起動されたときです。

- 新しい優先インスタンスまたは使用可能インスタンスが追加されるようにサービス構成を変更した場合でも、既存サービスの稼働状態に影響はありません。ただし、新しく追加されたインスタンスは、srvctl start serviceコマンドが説明に従って発行されるまで、自動的にはサービスを提供しません。

- サービスに対して使用可能なインスタンスがあり、優先インスタンスまたは使用可能インスタンスが削除されるようにサービス構成を変更した場合、サービスの稼働状態に予測できない変化が発生することがあります。

- 新しいサービス構成に従って、一部のインスタンスでサービスが停止、削除されます。

- サービスは、サービス構成から削除されるインスタンスで稼働している場合があります。

- そのようなサービスは、新しいサービス構成内の次に使用可能なインスタンスに再配置されます。

前述の状況のため、オンライン・サービスを変更した場合、インスタンスが削除されていなくても、ユーザーは一時的にサービスを利用できないことがあります。または、サービスから削除されるインスタンスで、サービスを一時的に利用できないことがあります。

重要:

構成変更は必要最小限にすること、およびオンライン・サービス変更の進行中は他のサービス操作を実行しないことをお薦めします。

構文およびオプション

次のいずれかの形式のsrvctl modify serviceコマンドを指定された構文で使用します。

インスタンス間でのサービスの移動方法

srvctl modify service -d db_unique_name -s service_name -i old_instance_name
-t new_instance_name [-f]

注意:
このコマンドの形式はOracle Clusterwareでのみ使用可能です。

表A-76 サービスの移動用のsrvctl modify serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name

サービス名

-i old_instance_name

元のインスタンス名

-t new_instance_name

新しいインスタンス名

-f

サービス操作の停止または再配置中のすべてのセッションの切断

使用可能インスタンスをサービスの優先インスタンスに変更する方法

srvctl modify service -d db_unique_name -s service_name -t edition_name
-i avail_inst_name -r [-f]

注意:
この形式のコマンドは、Oracle Clusterwareでのみ使用可能で、Oracle RAC One Nodeデータベースの配置オプションを受け入れません。

表A-77 使用可能インスタンスを優先インスタンスに変更するためのsrvctl modify serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name

サービス名

-t edition_name

(リリース11.2.0.2以降)サービスの初期セッション・エディション。

サービスにエディションを指定すると、そのサービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。ただし、セッション接続で異なるエディションを指定した場合は、そのセッション接続で指定したエディションが初期セッション・エディションとして使用されます。

SRVCTLは、指定されたエディション名を検証しません。接続中、接続ユーザーは指定されたエディションのUSE権限を持っている必要があります。そのエディションが存在しないか、接続ユーザーが指定されたエディションのUSE権限を持たない場合は、SRVCTLからエラーが戻されます。

-i available_inst_name

変更する使用可能インスタンスの名前

-r

インスタンスのステータスを優先インスタンスに変更

-f

サービス操作の停止または再配置中のすべてのセッションの切断

複数インスタンスの使用可能および優先ステータスを変更する方法

srvctl modify service -d db_unique_name -s service_name -n -i preferred_list
[-a available_list] [-f]

注意:
この形式のコマンドは、Oracle Clusterwareでのみ使用可能で、Oracle RAC One Nodeデータベースの配置オプションを受け入れません。

表A-78 複数のインスタンスの使用可能および優先ステータスを変更するためのsrvctl modify serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name

サービス名

-n

このサービスに対して指定されたインスタンスのみの使用(すでにサービスに割り当てられていて指定されていないインスタンスは削除)

-i preferred_instance_list

優先インスタンスのリスト

-a available_instance_list

使用可能インスタンスのリスト

-f

サービス操作の停止または再配置中のすべてのセッションの切断

他のサービス属性またはOracle Clusterwareのサービスを変更する方法

srvctl modify service -d db_unique_name -s service_name
[-g server_pool] [-c {UNIFORM|SINGLETON}] [-P {BASIC|PRECONNECT|NONE}]
[-l {[PRIMARY] | [PHYSICAL_STANDBY] | [LOGICAL_STANDBY] | [SNAPSHOT_STANDBY]}
[-q {TRUE|FALSE}] [-x {TRUE|FALSE}] [-j {SHORT|LONG}]
[-B {NONE|SERVICE_TIME|THROUGHPUT}] [-e {NONE|SESSION|SELECT}]
[-m {NONE|BASIC}] [-z failover_retries] [-w failover_delay]
[-y {AUTOMATIC | MANUAL}]

表A-79 srvctl modify serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name

サービス名

-g server_pool

ポリシー管理データベースの場合に使用されるサーバー・プールの名前。

注意: このオプションはOracle RACでのみ使用可能です。また、ポリシー管理データベースにのみ使用できます。

-c {UNIFORM | SINGLETON}

サービスのカーディナリティ。UNIFORM(サーバー・プールのすべてのインスタンスに提供される)またはSINGLETON(インスタンス1つずつで実行する)。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-P {BASIC|PRECONNECT|NONE}

TAFフェイルオーバー・ポリシー

注意: PRECONNECTオプションは管理者管理データベースにのみ適用されます。

-l {[PRIMARY] | [PHYSICAL
_STANDBY] | [LOGICAL
_STANDBY] | [SNAPSHOT
_STANDBY]}

サービスが自動的に開始する必要があるデータベース・モード

手動で開始するSRVCTLの使用は、サービス・ロールに影響を受けません。

注意: -lパラメータは、データベースの起動にのみ、Oracle Data Guard Brokerによって使用されます。手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。

関連項目: -lを指定する場合、『Oracle Data Guard Broker』を参照してください

-q {TRUE | FALSE}

このサービスのAQ HA通知を有効化(TRUE)するかどうか

-x {TRUE | FALSE}

このサービスの分散トランザクション処理を有効化するかどうか

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-j {SHORT | LONG}

接続時ロード・バランシングの目標

-B {NONE | SERVICE_TIME | THROUGHPUT}

ランタイム・ロード・バランシングの目標

-e {NONE | SESSION | SELECT}

フェイルオーバーのタイプ

-m {NONE | BASIC}

フェイルオーバーのメソッド

-z failover_retries

フェイルオーバーの再試行回数

-w failover_delay

フェイルオーバーの試行間隔での遅延時間

-y {AUTOMATIC | MANUAL}

サービス管理ポリシー

例

次の例は、あるインスタンスから別のインスタンスにサービス・メンバーを移動します。

$ srvctl modify service -d crm -s crm -i crm1 -t crm2

次の例は、使用可能インスタンスを優先インスタンスに変更します。

srvctl modify service -d crm -s crm -i crm1 -r

次のコマンドでは、優先インスタンスおよび使用可能インスタンスが交換されます。

$ srvctl modify service -d crm -s crm -n -i crm1 -a crm2

srvctl modify srvpool

クラスタのサーバー・プールを変更します。最小サイズ、最大サイズおよび重要度の数値を増やした場合に、サイズ変更により他のサーバー・プールの最小サイズおよび重要度が相対的に低くなった場合は、このサーバー・プールの新しいサイズが確保されるように、このサーバー・プールへのサーバーの再割当てがCRSデーモンにより試行されます。

構文およびオプション

srvctl modify srvpoolコマンドは、次の構文で使用します。

srvctl modify srvpool -g server_pool [-i importance] [-l min_size]
[-u max_size] [-n node_name_list] [-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-80 srvctl modify srvpoolのオプション

オプション

説明

-g server_pool

変更するサーバー・プールの名前

-i importance

サーバー・プールの新しい重要度。

-l min_size

サーバー・プールの新しい最小サイズ。デフォルト値は0です。

-u max_size

サーバー・プールの新しい最大サイズ。-1の値はサーバー・プールの最大サイズをUNLIMITEDに設定します。

-n node_name_list

候補としてのサーバー名のカンマ区切りリスト。

-f

ユーティリティがいくつかのリソースを停止しても、操作を強制します。

例

次の例では、ノードmynode3およびmynode4のサーバー・プールsrvpool1の重要度ランクを0、最小サイズを2、最大サイズを4に変更します。

$ srvctl modify srvpool -g srvpool1 -i 0 -l 2 -u 4 -n mynode3, mynode4

relocate

relocateコマンドを実行すると、指定したオブジェクトが異なるノードで実行されます。指定するオブジェクトは、すでに実行されている必要があります。

オブジェクトの再配置は、構成を変更するまでの一時的なものです。前述の「modify」コマンドは、構成を永久的に変更します。

表A-81 srvctl relocateのサマリー

コマンド

説明

srvctl relocate cvu

一時的なクラスタ検証ユーティリティの再配置

srvctl relocate database

異なるノードへのOracle RAC One Nodeデータベースの再配置

srvctl relocate gns

異なるノードへのGNSの再配置

srvctl relocate oc4j

異なるノードへのOC4Jインスタンスの再配置

srvctl relocate scan

現行のホスティング・サーバーからクラスタ内の別のサーバーへのSCAN VIPの再配置

srvctl relocate scan_listener

現行のホスティング・サーバーからクラスタ内の別のサーバーへのSCANリスナーの再配置

srvctl relocate server

別のサーバー・プールへの指定したサーバーの再配置

srvctl relocate service

指定インスタンスから別の指定インスタンスへの指定したサービス名の再配置

srvctl relocate vip

クラスタ内のあるノードから別のノードへの特定のVIPの再配置

srvctl relocate cvu

Oracle Database 11gリリース2 (11.2.0.2)以降、このコマンドは、CVUをクラスタ内の別のノードに一時的に再配置します。

構文およびオプション

srvctl relocate cvuコマンドは、次の構文で使用します。

srvctl relocate cvu [-n node_name]

表A-82 srvctl relocate cvuのオプション

オプション

説明

-n node_name

ノード名

例

次のコマンド例は、クラスタの別のノードにCVUを一時的に再配置します。

$ srvctl relocate cvu -n crmnode2

srvctl relocate database

Oracle Database 11gリリース2 (11.2.0.2)以降、srvctl relocate databaseコマンドは、あるノードから別のノードへのOracle RAC One Nodeデータベースの再配置を開始します。このコマンドは、再配置失敗後のクリーンアップも行います。

srvctl relocate databaseコマンドは、Oracle RAC One Nodeデータベースの再配置にのみ使用できます。

構文およびオプション

srvctl relocate databaseコマンドは、次の構文で使用します。

srvctl relocate database -d db_unique_name {[-n target_node] [-w timeout] | -a
[-r]} [-v]

表A-83 srvctl relocate databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前。

-n target

Oracle RAC One Nodeデータベースを再配置するターゲット・ノード。

注意: 管理者管理Oracle RAC One Nodeデータベースを再配置する場合は、このオプションを指定する必要があります。

-w timeout

Oracle RAC One Nodeデータベースのオンライン・データベース再配置タイムアウト(分単位)。デフォルトは30です。

-a

失敗したオンライン・データベース再配置の強制終了。

-r

管理者管理Oracle RAC One Nodeデータベースの候補サーバー・リストからの、失敗したオンライン再配置リクエストのターゲット・ノードの削除。

-v

冗長出力。

使用上の注意

- 再配置するOracle RAC One Nodeデータベースが実行されていない場合、コマンドはエラーを戻します。

- 別のオンライン・データベース再配置がこのOracle RAC One Nodeデータベースに対してアクティブの場合、コマンドはエラーを戻します。

- このOracle RAC One Nodeデータベースのオンライン・データベース再配置が失敗し、ターゲット・ノードがいずれかの再配置と同じでない場合、失敗したオンライン・データベース再配置を強制終了し、新しい再配置を開始するように求めるエラーがコマンドから戻されます。

- このOracle RAC One Nodeデータベースのオンライン・データベース再配置が失敗し、ターゲット・ノードが同じ(またはターゲットを指定していない)場合、このコマンドはデータベース再配置を試行します。

例

次の例は、rac1というOracle RAC One Nodeデータベースを、node7というサーバーに再配置します。

srvctl relocate database -d rac1 -n node7

srvctl relocate gns

現行のホスティング・ノードからクラスタ内の別のノードにGNSを再配置します。

構文およびオプション

srvctl relocate gnsコマンドは、次の構文で使用します。

srvctl relocate gns [-n node_name]

注意:

- このコマンドを実行するには、LinuxシステムおよびUNIXシステムではrootでログインし、Windowsでは管理者権限を持つユーザーとしてログインする必要があります。

- このコマンドはOracle Clusterwareでのみ使用可能です。

表A-84 srvctl relocate gnsのオプション

オプション

説明

-n node_name

GNSの移動先のノードの名前

例

次に、このコマンドの例を示します。

$ srvctl relocate gns -n node1

srvctl relocate oc4j

現行のホスティング・ノードからクラスタ内の別のノードにOC4Jインスタンスを再配置します。

構文およびオプション

srvctl relocate oc4jコマンドは、次の構文で使用します。

srvctl relocate oc4j [-n node_name] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-85 srvctl relocate oc4jのオプション

オプション

説明

-n node_name

OC4Jインスタンスを再配置するノードの名前。

-v

冗長出力の表示

例

次に、このコマンドの例を示します。

$ srvctl relocate oc4j -n staih01 -v

srvctl relocate scan

現行のホスティング・ノードからクラスタ内の別のノードに特定のSCAN VIPを再配置します。

構文およびオプション

srvctl relocate scanコマンドは、次の構文で使用します。

srvctl relocate scan -i ordinal_number [-n node_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-86 srvctl relocate scanのオプション

オプション

説明

-i ordinal_number

再配置するSCAN VIPを識別する序数。このオプションに指定できる値の範囲は1から3です。

-n node_name

単一ノードの名前。

このオプションを指定しない場合は、SCAN VIPが再配置されるノードが選択されます。

例

次に、このコマンドの例を示します。

$ srvctl relocate scan -i 1 -n node1

srvctl relocate scan_listener

現行のホスティング・ノードからクラスタ内の別のノードに特定のSCANリスナーを再配置します。

構文およびオプション

srvctl relocate scan_listenerコマンドは、次の構文で使用します。

srvctl relocate scan_listener -i ordinal_number [-n node_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-87 srvctl relocate scan_listenerのオプション

オプション

説明

-i ordinal_number

再配置するSCAN VIPを識別する序数。このオプションに指定できる値の範囲は1から3です。

-n node_name

単一ノードの名前。

このオプションを指定しない場合は、SCAN VIPが再配置されるノードが選択されます。

例

次に、このコマンドの例を示します。

$ srvctl relocate scan_listener -i 1 -n node3

srvctl relocate server

サーバーをクラスタのサーバー・プールに再配置します。

構文およびオプション

srvctl relocate serverコマンドは、次の構文で使用します。

srvctl relocate server -n "server_name_list" -g server_pool_name [-f]

表A-88 srvctl relocate serverのオプション

オプション

説明

-n "server_name_list"

別のサーバー・プールに再配置する、単一のサーバー名、または二重引用符("")で囲んだ複数のサーバー名のカンマ区切りリスト

-g server_pool_name

サーバーの移動先のサーバー・プールの名前。

-f

いくつかのリソースを停止することになってもサーバーの再配置を強制する場合は、-fオプションを使用します。

例

次に、このコマンドの例を示します。

$ srvctl relocate server -n "server1, server2" -g sp3

srvctl relocate service

指定インスタンスから別の指定インスタンスに、指定したサービス名を再配置します。srvctl relocateコマンドは、同時に1つのソース・インスタンスと1つのターゲット・インスタンスでのみ機能し、1つのソース・インスタンスから1つのターゲット・インスタンスにサービスを再配置します。ターゲット・インスタンスは、サービスの優先または使用可能リストに入っている必要があります。

構文およびオプション

srvctl relocate serviceコマンドは、次の構文で使用します。

srvctl relocate service -d db_unique_name -s service_name
{-c source_node -n target_node | -i old_instance_name -t new_instance_name}
[-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-89 srvctl relocate serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name

サービス名

-c source_node

サービスが現在実行中のノードの名前

-n target_node

サービスを再配置する必要があるノードの名前

-i old_instance_name

元のインスタンス名

-t new_instance_name

新しいインスタンス名

-f

サービス操作の停止または再配置中のすべてのセッションの切断

例

次の例は、指定したサービス・メンバーをcrm1からcrm3に一時的に再配置します。

$ srvctl relocate service -d crm -s crm -i crm1 -t crm3

srvctl relocate vip

現行のホスティング・ノードからクラスタ内の別のノードに特定のVIPを再配置します。

構文およびオプション

srvctl relocate vipコマンドは、次の構文で使用します。

srvctl relocate vip -i vip_name [-n node_name] [-f]

表A-90 srvctl relocate vipのオプション

オプション

説明

-i vip_name

再配置するVIPの名前を指定します。

-n node_name

VIPを再配置する単一のターゲット・ノードの名前を指定します。

-f

このオプションは、VIPの再配置を強制する場合に指定します。

例

次に、このコマンドの例を示します。

$ srvctl relocate vip -i vip1 -n node3

remove

指定したターゲットの構成情報をOracle Clusterwareから削除します。オブジェクトの環境設定も削除されます。このコマンドを使用しても、指定したターゲットが破棄されることはありません。

関連付けられているリソースをOracle ClusterwareまたはOracle Restartの管理から削除するには、動詞removeを使用します。使用する名詞に応じて、データベース、サービス、nodeapps、Oracle ASM、Oracle Notification Serviceおよびリスナーを削除できます。

強制フラグ(-f)を使用しない場合は、続行を確認するプロンプトがOracle ClusterwareまたはOracle Restartによって表示されます。強制(-f)オプションを使用する場合は、プロンプトは表示されず、エラーが発生しても削除操作が続行されます。Oracle Clusterwareリソースを削除できなかった場合でも、OCR構成は削除されるため、オブジェクトは存在しないように見えますが、Oracle Clusterwareリソースは存在しています。OCRの一貫性が保持されなくなる可能性があるため、強制フラグ(-f)オプションを使用する場合は、十分な注意が必要です。

動詞removeを使用するには、まずsrvctl removeを指定するノード・アプリケーション、データベース、インスタンスまたはサービスを停止する必要があります。このコマンドを使用する前に、無効化操作を実行することをお薦めしますが、必須ではありません。srvctl removeコマンドは、ターゲット・オブジェクトを停止してから実行する必要があります。「stop」コマンドも参照してください。

表A-91 srvctl removeのサマリー

コマンド

説明

srvctl remove asm

Oracle ASMインスタンスの削除

srvctl remove cvu

クラスタ用に構成されたクラスタ検証ユーティリティの削除

srvctl remove database

データベースおよび構成の削除

srvctl remove diskgroup

Oracle ClusterwareまたはOracle Restart構成からのディスク・グループの削除

srvctl remove filesystem

Oracle ACFSボリュームの構成の削除

srvctl remove gns

GNSの削除

srvctl remove instance

管理者が管理するデータベースのインスタンスおよび構成の削除

srvctl remove listener

Oracle ClusterwareまたはOracle Restartからの指定したリスナーの構成の削除

srvctl remove nodeapps

ノード・アプリケーションの削除

srvctl remove oc4j

OC4Jインスタンス構成の削除

srvctl remove ons

Oracle Notification Serviceのインスタンスの削除

srvctl remove scan

すべてのSCAN VIPのすべてのOracle Clusterwareリソースの削除

srvctl remove scan_listener

すべてのSCANリスナーのすべてのOracle Clusterwareリソースの削除

srvctl remove service

Oracle ClusterwareまたはOracle Restart構成からのサービスの削除

srvctl remove srvpool

特定のサーバー・プールの削除

srvctl remove vip

特定のVIPの削除

srvctl remove asm

Oracle ASMリソースを削除します。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびオプション

srvctl remove asmコマンドは、次の構文で使用します。

srvctl remove asm [-f]

このコマンドで使用できるオプションは、-fのみです。Oracle ASMリソースを強制的に削除します。

例

次に、このコマンドの例を示します。

$ srvctl remove asm -f

srvctl remove cvu

Oracle Database 11gリリース2(11.2.0.2)以降、このコマンドは、Oracle Clusterware構成からCVUを削除します。

構文およびオプション

srvctl remove cvuコマンドは、次の構文で使用します。

srvctl remove cvu [-f]

実行中または起動中のCVUを削除するには、-fオプションを使用します。

例

次のコマンド例は、CVUを削除します。

$ srvctl remove cvu -f

srvctl remove database

データベース構成を削除します。

構文およびオプション

srvctl remove databaseコマンドは、次の構文で使用します。

srvctl remove database -d db_unique_name [-f] [-y]

表A-92 srvctl remove databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-f

強制削除

-y

プロンプトの非表示

例

次に、このコマンドの例を示します。

$ srvctl remove database -d crm

srvctl remove diskgroup

Oracle ClusterwareまたはOracle Restartから、特定のOracle ASMディスク・グループ・リソースを削除します。

構文およびオプション

srvctl remove diskgroupコマンドは、次の構文で使用します。

srvctl remove diskgroup -g diskgroup_name [-n node_list] [-f]

表A-93 srvctl remove diskgroupのオプション

オプション

説明

-g diskgroup_name

Oracle ASMディスク・グループ名。

-n node_list

ノード名のカンマ区切りリスト

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-f

強制削除

例

次に、このコマンドの例を示します。

$ srvctl remove diskgroup -g DG1 -f

srvctl remove filesystem

特定のOracle ACFSボリューム・リソースを削除します。

構文およびオプション

srvctl remove filesystemコマンドは、次の構文で使用します。

srvctl remove filesystem -d volume_device_name [-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-94 srvctl remove filesystemのオプション

オプション

説明

-d volume_device_name

Oracle ACFSボリュームのデバイス名

-f

強制削除

例

次に、このコマンドの例を示します。

$ srvctl remove filesystem -d /dev/asm/d1volume293

srvctl remove gns

クラスタからGNSを削除します。

構文およびオプション

srvctl remove gnsコマンドは、次の構文で使用します。

srvctl remove gns [-f]

このコマンドのオプションは-fのみです。これにより、発生するエラーに関係なく、GNSを削除する必要があることを指定します。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl remove gns

srvctl remove instance

管理者が管理するデータベースのインスタンスの構成を削除します。ポリシー管理のデータベースの構成を削除するには、srvctl modify srvpoolコマンドを使用してサーバー・プールのサイズを縮小する必要があります。

-fオプションを指定すると、インスタンスで実行中のサービスが停止されます。インスタンスを削除する前に、削除されるインスタンスが優先インスタンスまたは使用可能インスタンスとして使用されないように再構成することをお薦めします。

構文およびオプション

srvctl remove instanceコマンドは、次の構文で使用します。

srvctl remove instance -d db_unique_name -i instance_name [-f]

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを使用しようとすると、コマンドから、そのデータベースを削除しないかぎり、インスタンスを削除できないことを示すエラーが戻されます。

表A-95 srvctl remove instanceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前。

-i instance_name

インスタンス名。

-f

このオプションは、インスタンスが実行中ではないことのチェックをスキップし、実行中であっても削除する場合に指定します。また、インスタンスに実行中のサービスがないことのチェックもスキップし、インスタンスが削除される前にこれらのサービスを停止します。

例

次に、このコマンドの例を示します。

$ srvctl remove instance -d crm -i crm01

srvctl remove listener

Oracle ClusterwareまたはOracle Restartから、指定したリスナーの構成を削除します。

構文およびオプション

srvctl remove listenerコマンドは、次の構文で使用します。

srvctl remove listener [-l listener_name] [-a] [-f]

表A-96 srvctl remove listenerのオプション

オプション

説明

-l listener_name

削除するリスナーの名前。

リスナー名を指定しない場合、リスナー名はデフォルトでLISTENERになります。

-a

すべてのリスナーを削除します。

-f

このオプションは、このリスナーに依存する他のリソース(データベースなど)があるかどうかのチェックをスキップし、ある場合もリスナーを削除する場合に指定します。

例

次のコマンドでは、lsnr01という名前のリスナーの構成を削除します。

$ srvctl remove listener -l lsnr01

srvctl remove nodeapps

ノード・アプリケーション構成を削除します。このコマンドを実行するには、完全な管理権限が必要です。LinuxシステムおよびUNIXシステムではrootでログインし、Windowsシステムでは管理者権限を持つユーザーとしてログインする必要があります。

構文

srvctl remove nodeappsコマンドは、次の構文で使用します。

srvctl remove nodeapps [-f] [-y] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

# srvctl remove nodeapps

表A-97 srvctl remove nodeappsのオプション

オプション

説明

-f

強制削除

-y

プロンプトの非表示

-v

冗長出力

srvctl remove oc4j

Oracle Clusterware構成からOC4Jインスタンス構成を削除します。

構文およびオプション

srvctl remove oc4jコマンドは、次の構文で使用します。

srvctl remove oc4j [-f] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-98 srvctl remove oc4jのオプション

オプション

説明

-f

強制削除

-v

冗長出力

srvctl remove ons

Oracle Grid InfrastructureホームからOracle Notification Serviceを削除します。

構文およびオプション

srvctl remove onsコマンドは、次の構文で使用します。

srvctl remove ons [-f] [-v]

注意:
このコマンドはOracle Restartでのみ使用可能です。

表A-99 srvctl remove onsのオプション

オプション

説明

-f

強制削除

-v

冗長出力

srvctl remove scan

すべてのSCAN VIPからOracle Clusterwareリソースを削除します。

構文およびオプション

srvctl remove scanコマンドは、次の構文で使用します。

srvctl remove scan [-f]

このコマンドで使用可能なオプションは-fのみで、これは、SCAN VIPに依存するSCANリスナーが動作中でもそのSCAN VIPを削除します。動作中のSCAN VIPは、リソースが削除されるまで停止されないため、手動によるクリーンアップが必要な場合があります。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl remove scan -f

srvctl remove scan_listener

すべてのSCANリスナーからOracle Clusterwareリソースを削除します。

構文およびオプション

srvctl remove scan_listenerコマンドは、次の構文で使用します。

srvctl remove scan_listener [-f]

このコマンドで使用可能なオプションは-fのみで、これは、リスナーが動作中でもリスナーを停止することなく、リソースを削除します。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl remove scan_listener -f

srvctl remove service

サービスの構成を削除します。

構文およびオプション

srvctl remove serviceコマンドは、次の構文で使用します。

srvctl remove service -d db_unique_name -s service_name [-i instance_name] [-f]

表A-100 srvctl remove serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name

サービス名

-i instance_name

インスタンス名

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-f

サービスが実行中でも、サービスのリソースを削除します。

例

次に、このコマンドの例を示します。

$ srvctl remove service -d crm -s sales

次の例は、特定のインスタンスからサービスを削除します。

$ srvctl remove service -d crm -s sales -i crm01,crm02

srvctl remove srvpool

特定のサーバー・プールを削除します。このサーバー・プールに依存するデータベースまたはサービスが存在する場合は、先にそれらを削除するため操作は成功します。

server_poolを正常に削除できた場合は、サーバー・プールの最小サイズ、最大サイズおよび重要度に応じて、CRSデーモンによりサーバーが他のサーバー・プールに割り当てられます。CRSデーモンにより、これらのサーバーが空きサーバー・プールに戻される場合もあります。

構文およびオプション

srvctl remove srvpoolコマンドは、次の構文で使用します。

srvctl remove srvpool -g server_pool

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl remove srvpool -g srvpool1

srvctl remove vip

特定のVIPを削除します。

構文およびオプション

srvctl remove vipコマンドは、次の構文で使用します。

srvctl remove vip -i "vip_name_list" [-f] [-y] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-101 srvctl remove vipのオプション

オプション

説明

-i "vip_name_list"

二重引用符("")で囲まれたVIP名のカンマ区切りリスト

-f

強制削除

-y

プロンプトの非表示

-v

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl remove vip -i "vip1,vip2,vip3" -f -y -v

setenv

setenvコマンドは、構成ファイル内の環境の値を設定します。このデータベースまたはデータベース・インスタンスを管理するときに、プロファイルまたはセッションに通常設定する環境変数(言語、TNS_ADMINなど)をOracle Clusterwareに設定するには、setenvを使用します。

unsetenvコマンドは、構成ファイル内の環境の値設定を解除します。

表A-102 srvctl setenvのサマリー

コマンド

説明

srvctl setenv asm

Oracle ASMの環境構成の管理

srvctl setenv database

クラスタ・データベース環境構成の管理

srvctl setenv listener

リスナー環境構成の管理

注意: SCANリスナーの管理にこのコマンドを使用することはできません。

srvctl setenv nodeapps

ノード・アプリケーション環境構成の管理

srvctl setenv vip

VIP環境構成の管理

srvctl setenv asm

Oracle ASM環境構成を管理します。

構文およびオプション

srvctl setenv asmコマンドは、次の構文で使用します。

srvctl setenv asm {-t "name=val[,name=val][...]" | -T "name=val"}

表A-103 srvctl setenv asmのオプション

オプション

説明

-t "name=val[,name=val][...]"

環境変数の名前と値のペアのカンマ区切りリスト

-T "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

例

次の例は、Oracle ASMの言語環境構成を設定します。

$ srvctl setenv asm -t LANG=en

srvctl setenv database

クラスタ・データベース環境構成を管理します。

構文およびオプション

srvctl setenv databaseコマンドは、次の構文で使用します。

srvctl setenv database -d db_unique_name
{-t "name=val[,name=val][...]" | -T "name=val"}

表A-104 srvctl setenv databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-t "name=val,..."

環境変数の名前と値のペアのカンマ区切りリスト

-T "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

例

次の例は、クラスタ・データベースの言語環境構成を設定します。

$ srvctl setenv database -d crm -t LANG=en

srvctl setenv listener

リスナー環境構成を管理します。

構文およびオプション

srvctl setenv listenerコマンドは、次の構文で使用します。

srvctl setenv listener [-l listener_name]
{-t "name=val[,name=val][...]" | -T "name=val"}

表A-105 srvctl setenv listenerのオプション

オプション

説明

-l listener_name

リスナーの名前。

このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-t "name=val"

環境変数の名前と値のペアのカンマ区切りリスト。

-T "name=val"

単一環境変数にカンマや他の特殊文字を含む値に設定可能にする。

例

次の例は、デフォルト・リスナーの言語環境構成を設定します。

$ srvctl setenv listener -t LANG=en

srvctl setenv nodeapps

ノード・アプリケーション構成の環境変数を設定します。

構文およびオプション

srvctl setenv nodeappsコマンドは、次の構文で使用します。

srvctl setenv nodeapps {-t "name=val[,name=val][...]" | -T "name=val"} [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-106 srvctl setenv nodeappsのオプション

オプション

説明

-t "name=val[,name=val] [...]"

環境変数の名前と値のペアのカンマ区切りリスト

-T "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

-v

冗長出力

例

次の例は、ノード・アプリケーションの環境変数を設定します。

$ srvctl setenv nodeapps -T "CLASSPATH=/usr/local/jdk/jre/rt.jar" -v

srvctl setenv vip

クラスタVIP環境構成を管理します。

構文およびオプション

srvctl setenv vipコマンドは、次の構文で使用します。

srvctl setenv vip -i vip_name {-t "name=val[,name=val,...]" | -T "name=val"}

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-107 srvctl setenv vipのオプション

オプション

説明

-i vip_name

VIPの名前

-t "name=val,..."

環境変数の名前と値のペアのカンマ区切りリスト

-T "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

例

次の例は、クラスタVIPの言語環境構成を設定します。

$ srvctl setenv vip -i crm1-vip -t LANG=en

start

データベース、すべてまたは指定のインスタンス、すべてまたは指定のサービス名、またはノード・レベル・アプリケーション用のOracle RestartまたはOracle Clusterwareが有効化された稼働していないアプリケーションを起動します。startコマンド、および接続文字列を使用する他の操作では、接続文字列が指定されていない場合、操作の実行に/ as sysdbaが使用されます。このような操作を実行するには、oracleバイナリ実行可能プログラムの所有者がOSDBAグループのメンバーで、コマンドを実行するユーザーもOSDBAグループに属している必要があります。

表A-108 srvctl startのサマリー

コマンド

説明

srvctl start asm

Oracle ASMインスタンスの起動

srvctl start cvu

クラスタ検証ユーティリティの起動

srvctl start database

クラスタ・データベースとそのインスタンスの起動

srvctl start diskgroup

いくつかのノード上の指定したディスク・グループの起動

srvctl start filesystem

Oracle ACFSボリューム・リソースの起動

srvctl start gns

GNSの起動

srvctl start home

特定のOracleホームのOracle Clusterware管理リソースおよびOracle Restart管理リソースの起動

srvctl start instance

インスタンスの起動

srvctl start listener

指定したリスナーの起動

srvctl start nodeapps

ノード・アプリケーションの起動

srvctl start oc4j

OC4Jインスタンスの起動

srvctl start ons

Oracle RestartのOracle Notification Serviceデーモンの起動

srvctl start scan

すべてのSCAN VIPの起動

srvctl start scan_listener

すべてのSCANリスナーの起動

srvctl start service

サービスの起動

srvctl start vip

VIPの起動

srvctl start asm

Oracle ASMインスタンスを起動します。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびオプション

srvctl start asmコマンドは、次の構文で使用します。

srvctl start asm [-n node_name] [-o start_options]

表A-109 srvctl start asmのオプション

オプション

説明

-n node_name

ノード名

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-o start_options

起動コマンドのオプション(OPEN、MOUNT、NOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

例

次のコマンド例は、クラスタのシングル・ノードでASMインスタンスを起動します。

$ srvctl start asm -n crmnode1

次の例は、クラスタまたは非クラスタ・データベースのすべてのノードでOracle ASMインスタンスを起動します。

$ srvctl start asm

srvctl start cvu

Oracle Database 11gリリース2(11.2.0.2)以降、このコマンドは、クラスタ内の1つのノードでCVUを起動します。ノード名を指定した場合、CVUはそのノードで起動します。

構文およびオプション

srvctl start cvuコマンドは、次の構文で使用します。

srvctl start cvu [-n node_name]

表A-110 srvctl start cvuのオプション

オプション

説明

-n node_name

ノード名

例

次のコマンド例は、クラスタのシングル・ノードでCVUを起動します。

$ srvctl start cvu -n crmnode1

srvctl start database

クラスタ・データベースとその有効化されたインスタンスおよびデータベース・インスタンスが存在するノードのすべてのリスナーを起動します。起動してはいけないリスナーは無効化できます。

構文およびオプション

srvctl start databaseコマンドは、次の構文で使用します。

srvctl start database -d db_unique_name [-o start_options] [-n node_name]

表A-111 srvctl start databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-o start_options

起動コマンドのオプション(OPEN、MOUNTまたはNOMOUNTなど)

注意:

- このコマンド・オプションは、すべてのデータベース起動オプションをサポートします。

- 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-n node_name

データベースを起動するノードの名前

注意:

- このコマンドは、Oracle RAC One Nodeデータベースのみに適用されます。

- 指定するノードは、管理者管理Oracle RAC One Nodeデータベースの候補リストに含まれているか、またはポリシー管理Oracle RAC One Nodeデータベースのサーバー・プールに含まれている必要があります。

- データベースが指定したノード以外ですでに実行されている場合、このコマンドはエラーを戻します。

- ノードを指定しない場合、Oracle Clusterwareはそのポリシー(分散、リソース数、候補ノードの順序)に従ってOracle RAC One Nodeデータベースを起動するノードを選択します。

- 開始しようとしているOracle RAC One Nodeデータベースのオンライン・データベース再配置がアクティブな場合、両方のインスタンスはすでに実行中であり、コマンドはそれを示すエラー・メッセージを戻します(Oracle RAC One Nodeデータベースの2つのインスタンスが存在するのは、オンライン・データベース再配置時のみです)。
Oracle RAC One Nodeデータベースのオンライン・データベース再配置が失敗したときに、ノードが指定されていない場合、このコマンドは両方のデータベース・インスタンスを起動しようとします。

Oracle RAC One Nodeデータベースのオンライン・データベース再配置が失敗したときに、ノードが指定されていた場合、このコマンドは失敗された再配置を強制終了し、そのノードでインスタンスを起動しようとします。

例

次に、このコマンドの例を示します。

$ srvctl start database -d crm -o open

srvctl start diskgroup

指定したいくつかのノード上の特定のディスク・グループ・リソースを起動します。

構文およびオプション

srvctl start diskgroupコマンドは、次の構文で使用します。

srvctl start diskgroup -g diskgroup_name [-n node_list]

表A-112 srvctl start diskgroupのオプション

オプション

説明

-g diskgroup_name

Oracle ASMディスク・グループ名

-n node_list

ディスク・グループ・リソースを起動するノード名のカンマ区切りリスト

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl start diskgroup -g diskgroup1 -n mynode1,mynode2

srvctl start filesystem

Oracle ACFSボリューム・リソースを起動します。

構文およびオプション

srvctl start filesystemコマンドは、次の構文で使用します。

srvctl start filesystem -d volume_device_name [-n node_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-113 srvctl start filesystemのオプション

オプション

説明

-d volume_device_name

Oracle ACFSボリュームのデバイス名

-n node_name

Oracle ACFSボリューム・リソースを起動する必要があるノードの名前

このオプションを指定しない場合は、クラスタ内で使用可能なすべてのノードでOracle ACFSボリューム・リソースが起動されます。

srvctl start gns

特定のノードまたはクラスタ内のすべてのノードのGNSを起動します。

構文およびオプション

srvctl start gnsコマンドは、次の構文で使用します。

srvctl start gns [-l log_level] [-n node_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-114 srvctl start gnsのオプション

オプション

説明

-l log_level

GNSが実行するロギング・レベルを指定します。ログのレベルは1(最小のトレース)から6(すべてをトレースし、処理時間が長い)の間で変わります。

-n node_name

GNSを起動するクラスタのノードの名前。

srvctl start home

指定したOracleホームのすべてのOracle Restart管理リソースおよびOracle Clusterware管理リソースを起動します。

構文およびオプション

srvctl start homeコマンドは、次の構文で使用します。

srvctl start home -o Oracle_home -s state_file [-n node_name]

表A-115 srvctl start homeのオプション

オプション

説明

-o Oracle_home

Oracle RestartまたはOracle Clusterware管理リソースを起動するOracleホームのパス

-s state_file

srvctl stop homeコマンドまたはsrvctl status homeコマンドの実行時に指定した状態ファイルのパス名

-n node_name

Oracleホームが存在するノードの名前。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl start -o /u01/app/oracle/product/11.2.0/db_1 -s ~/state.txt

srvctl start instance

クラスタ・データベース内のインスタンスおよびデータベース・インスタンスが存在するノードのすべてのリスナーを起動します。起動してはいけないリスナーは無効化できます。

構文およびオプション

srvctl start instanceコマンドは、次の構文で使用します。

srvctl start instance -d db_unique_name {-n node_name -i "instance_name_list"}
[-o start_options]

Windowsでは、インスタンス名のカンマ区切りリストを二重引用符("")で囲む必要があります。

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

表A-116 srvctl start instanceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-n node_name

単一ノードの名前

注意: このオプションはポリシー管理データベースで使用します。

-i "instance_name_list"

インスタンス名またはインスタンス名のカンマ区切りリストのいずれかを指定します。

注意: このオプションは管理者管理データベースで使用します。

-o start_options

起動コマンドのオプション(OPEN、MOUNTまたはNOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

例

次の例は、ポリシー管理データベースのインスタンスを起動します。

$ srvctl start instance -d crm -n node2

次の例は、管理者管理データベースのインスタンスを起動します。

$ srvctl start instance -d crm -i "crm2,crm3"

srvctl start listener

指定したnode_nameのデフォルト・リスナー、または指定したリスナー名リスト内のすべてのリスナーを起動します。これらは、指定したノードのOracle Clusterwareに登録されています。

構文およびオプション

srvctl start listenerコマンドは、次の構文で使用します。

srvctl start listener [-n node_name] [-l listener_name_list]

表A-117 srvctl start listenerのオプション

オプション

説明

-n node_name

ノード名

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-l listener_name_list

リスナー名

このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

例

次に、このコマンドの例を示します。

$ srvctl start listener -n mynode1

srvctl start nodeapps

クラスタの1つのノードまたはすべてのノードでノード・レベル・アプリケーションを起動します。

構文およびオプション

srvctl start nodeappsコマンドは、次の構文で使用します。

srvctl start nodeapps [-n node_name] [-g] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-118 srvctl start nodeappsのオプション

オプション

説明

-n node_name

ノード名

このオプションを指定しない場合は、クラスタ内でアクティブなすべてのノードでnodeappsが起動されます。

-g

GSDの起動のみ

-v

冗長出力

例

次に、このコマンドの例を示します。

srvctl start nodeapps

srvctl start oc4j

OC4Jインスタンスを起動します。

構文およびオプション

srvctl start oc4jコマンドは、次の構文で使用します。

srvctl start ocj4 [-v]

このコマンドで使用できるオプションは-vのみです。これは、冗長出力が表示されることを示します。

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

srvctl start ons

Oracle Notification Serviceデーモンを起動します。

注意:
このコマンドはOracle Restartでのみ使用可能です。

構文およびオプション

srvctl start onsコマンドは、次の構文で使用します。

srvctl start ons [-v]

このコマンドで使用できるオプションは-vのみです。これは、冗長出力が表示されることを示します。

srvctl start scan

クラスタのすべてのノードまたは特定のノードで、すべてのSCAN VIP(デフォルト)または特定のSCAN VIPを起動します。

構文およびオプション

srvctl start scanコマンドは、次の構文で使用します。

srvctl start scan [-i ordinal_number] [-n node_name]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-119 srvctl start scanのオプション

オプション

説明

-i ordinal_number

起動するSCAN VIPを識別する序数。このオプションに指定できる値の範囲は1から3です。

このオプションを指定しない場合は、すべてのSCAN VIPが起動されます。

-n node_name

単一ノードの名前。

このオプションを指定しない場合は、クラスタのすべてのノードでSCAN VIPが起動されます。

例

node1ノードの序数1で識別されたSCAN VIPを起動するには、次のコマンドを使用します。

$ srvctl start scan -i 1 -n node1

srvctl start scan_listener

クラスタのすべてのノードまたは特定のノードで、すべてのSCANリスナー(デフォルト)または特定のSCANリスナーを起動します。

構文およびオプション

srvctl start scan_listenerコマンドは、次の構文で使用します。

srvctl start scan_listener [-n node_name] [-i ordinal_number]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-120 srvctl start scan_listenerのオプション

オプション

説明

-i ordinal_number

起動するSCANリスナーを識別する序数。このオプションに指定できる値の範囲は1から3です。

このオプションを指定しない場合は、すべてのSCANリスナーが起動されます。

-n node_name

単一ノードの名前。

このオプションを指定しない場合は、クラスタのすべてのノードでSCANリスナーが起動されます。

例

次に、このコマンドの例を示します。

$ srvctl start scan_listener -i 1

srvctl start service

指定したインスタンスで1つまたは複数のサービスを起動します。すでに最大数(優先インスタンスの数)のインスタンスでサービスが稼働している場合に、サービスをそのインスタンスで起動しようとすると、srvctl start serviceコマンドは失敗します。この付録の後半で説明するsrvctl modify serviceコマンドとsrvctl relocate serviceコマンドを使用すると、インスタンスでのサービスの移動またはサービスのステータス変更を実行できます。

注意:

手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。

関連項目:
『Oracle Data Guard Broker』

構文およびオプション

srvctl start serviceコマンドは、次の構文で使用します。

srvctl start service -d db_unique_name
[-s "service_name_list" [-n node_name | -i instance_name]]
[-o start_options]

表A-121 srvctl start serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s "service_name_list"

サービス名のカンマ区切りリスト。

このオプションを指定しない場合は、指定されたデータベースのすべてのサービスがSRVCTLによって起動されます。

-n node_name

サービスが起動される必要のあるノードの名前。このオプションはポリシー管理データベースで使用します。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-i instance_name

サービスが起動される必要のあるインスタンスの名前。このオプションは管理者管理データベースで使用します。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-o start_options

起動コマンドのオプション(OPEN、MOUNT、NOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

例

次の例は、指定したサービスを起動します。これらのサービスをサポートするインスタンス(サービスがフェイルオーバーに使用可能なインスタンスを含む)が稼働していない場合でも、有効化されていれば、SRVCTLによって起動されます。

$ srvctl start service -d crm -s crm

次の例は、指定したインスタンスで指定したサービスを起動します。

$ srvctl start service -d crm -s crm -i crm2

srvctl start vip

特定のVIPまたは特定のノード上のVIPを起動します。

構文およびオプション

srvctl start vipコマンドは、次の構文で使用します。

srvctl start vip {-n node_name | -i vip_name } [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-122 srvctl start vipのオプション

オプション

説明

-n node_name

ノード名

-i vip_name

VIP名

-v

冗長起動

例

次に、このコマンドの例を示します。

$ srvctl start vip -i crm1-vip -v

status

指定したデータベース、インスタンス、サービス、ディスク・グループ、リスナー、ノード・アプリケーション、またはOracle Clusterwareに管理される他のリソースの現在の状態を表示します。

表A-123 srvctl statusのサマリー

コマンド

説明

srvctl status asm

Oracle ASMインスタンスのステータスの表示

srvctl status cvu

クラスタ検証ユーティリティのステータス表示

srvctl status database

データベースのステータスの表示

srvctl status diskgroup

いくつかのノード上にある特定のディスク・グループのステータスの表示

srvctl status filesystem

Oracle ACFSボリュームのステータスの表示

srvctl status gns

GNSのステータスの表示

srvctl status home

指定されたOracleホームに関連付けられているリソースのステータスの表示

srvctl status instance

インスタンスのステータスの表示

srvctl status listener

リスナー・リソースのステータスの表示

srvctl status nodeapps

ノード・アプリケーションのステータスの表示

srvctl status oc4j

Oracle Database QoS Managementサーバーを実行しているノードの特定

srvctl status ons

Oracle Notification Serviceのステータスの表示

srvctl status scan

SCAN VIPのステータスの表示

srvctl status scan_listener

SCANリスナーのステータスの表示

srvctl status server

サーバーのステータスの表示

srvctl status service

サービスのステータスの表示

srvctl status srvpool

サーバー・プールのステータスの表示

srvctl status vip

VIPのステータスの表示

srvctl status asm

Oracle ASMインスタンスのステータスを表示します。

注意:
Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびオプション

srvctl status asmコマンドは、次の構文で使用します。

srvctl status asm [-n node_name] [-a] [-v]

表A-124 srvctl status asmのオプション

オプション

説明

-n node_name

ノード名。このオプションを指定しない場合、SRVCTLはすべてのOracle ASMインスタンスのステータスを表示します。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-a

詳細なステータス情報の出力。

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status asm -n crmnode1 -a

srvctl status cvu

Oracle Database 11gリリース2 (11.2.0.2)以降、このコマンドは、クラスタ内の1つのノードでのCVUの現在の状態を表示します。ノード名を指定すると、コマンドはそのノードのCVUステータスを確認します。

構文およびオプション

srvctl status cvuコマンドは、次の構文で使用します。

srvctl status cvu [-n node_name]

表A-125 srvctl status cvuのオプション

オプション

説明

-n node_name

ノード名

例

次のコマンド例は、クラスタのシングル・ノードでCVUのステータスを確認します。

$ srvctl status cvu -n crmnode1

srvctl status database

インスタンスとそのサービスのステータス、およびインスタンスが実行されている場所を表示します。

Oracle RAC One Nodeデータベースでこのコマンドを実行すると、任意のオンライン・データベース再配置のステータス(アクティブ、失敗または非アクティブ)、および再配置のソース・ノードと接続先ノードが出力に示されます。

構文およびオプション

srvctl status databaseコマンドは、次の構文で使用します。

srvctl status database -d db_unique_name [-f] [-v]

表A-126 srvctl status databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-f

無効化されたアプリケーションを含める

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status database -d crm -v

srvctl status diskgroup

指定したいくつかのノード上にある特定のディスク・グループのステータスを表示します。

構文およびオプション

srvctl status diskgroupコマンドは、次の構文で使用します。

srvctl status diskgroup -g diskgroup_name [-n node_list] [-a] [-v]

表A-127 srvctl status diskgroupのオプション

オプション

説明

-g diskgroup_name

Oracle ASMディスク・グループ名

-n node_list

ディスク・グループのステータスをチェックするノード名のカンマ区切りリスト

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-a

ディスク・グループの有効化されているステータス情報の表示

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status diskgroup -g diskgroup1 -n mynode1,mynode2 -a

srvctl status filesystem

指定したOracle ACFSボリュームのステータスを表示します。

構文およびオプション

srvctl status filesystemコマンドは、次の構文で使用します。

srvctl status filesystem -d volume_device_name [-v]

表A-128 srvctl status filesystemのオプション

オプション

説明

-d volume_device_name

Oracle ACFSボリュームのデバイス名

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status filesystem -d /dev/asm/d1volume293

srvctl status gns

GNSの現在の状態を表示します。

構文およびオプション

srvctl status gnsコマンドは、次の構文で使用します。

srvctl status gns [-n node_name [-v]]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-129 srvctl status gnsのオプション

オプション

説明

-n node_name

状態を表示する実行中のGNSのノードの指定

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

srvctl status home

指定したOracleホームのすべてのOracle Restart管理リソースおよびOracle Clusterware管理リソースのステータスを表示します。

構文およびオプション

srvctl status homeコマンドは、次の構文で使用します。

srvctl status home -o Oracle_home -s state_file [-n node_name]

表A-130 srvctl status homeのオプション

オプション

説明

-o Oracle_home

Oracle RestartまたはOracle Clusterware管理リソースを起動するOracleホームのパス

-s state_file

このコマンドで生成された状態情報を保持するテキスト・ファイルのパス名

-n node_name

Oracleホームが存在するノードの名前。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

例

次に、このコマンドの例を示します。

$ srvctl status home -o /u01/app/oracle/product/11.2.0/db_1 -s ~/state.txt

srvctl status instance

インスタンスのステータスを表示します。

構文およびオプション

srvctl status instanceコマンドは、次の構文で使用します。

srvctl status instance -d db_unique_name {-n node_name | -i "instance_name_list"}
[-f] [-v]

注意:
このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

表A-131 srvctl status instanceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-n node_name

ノード名

注意: このオプションはポリシー管理データベースで使用します

-i "instance_name_list"

インスタンス名のカンマ区切りリスト

注意: このオプションは管理者管理データベースで使用します

-f

無効化されたアプリケーションを含める

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status instance -d crm -i "crm1,crm2" -v

srvctl status listener

リスナー・リソースのステータスを表示します。

構文およびオプション

srvctl status listenerコマンドは、次の構文で使用します。

srvctl status listener [-l listener_name] [-n node_name [-v]]

表A-132 srvctl status listenerのオプション

オプション

説明

-l listener_name

リスナーの名前。

このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-n node_name

クラスタ・ノードの名前。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status listener -n node2

srvctl status nodeapps

ノード・アプリケーションのステータスを表示します。

構文およびオプション

srvctl status nodeappsコマンドは、次の構文で使用します。

srvctl status nodeapps

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

srvctl status oc4j

Oracle Database QoS Managementサーバーを実行しているノードを特定します。

構文およびオプション

srvctl status oc4jコマンドは、次の構文で使用します。

srvctl status oc4j [-n node_name [-v]]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-133 srvctl status oc4jのオプション

オプション

説明

-n node_name

状態を表示する、Oracle Database QoS Managementサーバーが実行されているノードの指定

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

srvctl status ons

Oracle Notification Serviceデーモンの現在の状態を表示します。

注意:
このコマンドはOracle Restartでのみ使用可能です。

構文およびオプション

srvctl status onsコマンドは、次の構文で使用します。

srvctl status ons

srvctl status scan

すべてのSCAN VIP(デフォルト)または特定のSCAN VIPのステータスを表示します。

構文およびオプション

srvctl status scanコマンドは、次の構文で使用します。

srvctl status scan [-i ordinal_number [-v]]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-134 srvctl status scanのオプション

オプション

説明

-i ordinal_number

特定のSCAN VIPを識別する序数の指定。このオプションに指定できる値の範囲は1から3です。このオプションを指定しない場合は、クラスタのすべてのSCAN VIPのステータスが表示されます。

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status scan -i 1

srvctl status scan_listener

すべてのSCANリスナー(デフォルト)または特定のリスナーのステータスを表示します。

構文およびオプション

srvctl status scan_listenerコマンドは、次の構文で使用します。

srvctl status scan_listener [-i ordinal_number [-v]]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-135 srvctl status scan_listenerのオプション

オプション

説明

-i ordinal_number

特定のSCAN VIPを識別する序数の指定。このオプションに指定できる値の範囲は1から3です。このオプションを指定しない場合は、クラスタのすべてのSCAN VIPのステータスが表示されます。

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status scan_listener -i 1

srvctl status server

指定したサーバーの現在の状態を表示します。

構文およびオプション

srvctl status serverコマンドは、次の構文で使用します。

srvctl status server -n "server_name_list" [-a]

表A-136 srvctl status serverのオプション

オプション

説明

-n "server_name_list"

サーバー名のカンマ区切りリスト。

-a

詳細なステータス情報の出力。

例

次の例は、指定したサーバーのステータスを表示します。

$ srvctl status server -n server11 -a

srvctl status service

サービスのステータスを表示します。

Oracle RAC One Nodeデータベースに関しては、オンライン・データベース再配置が進行中の場合、再配置がアクティブか失敗かに関係なく、srvctl status serviceコマンドはソース・ノードと宛先ノードおよび再配置のステータスを表示します。

構文およびオプション

srvctl status serviceコマンドは、次の構文で使用します。

srvctl status service -d db_unique_name [-s "service_name_list"] [-f] [-v]

表A-137 srvctl status serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s "service_name_list"

サービス名のカンマ区切りリスト。

このオプションを指定しない場合は、指定されたデータベースのすべてのサービスのステータスが表示されます。

-f

無効化されたアプリケーションを含める

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次の例は、クラスタ・データベース全体でグローバルに指定したサービスのステータスを表示します。

$ srvctl status service -d crm -s crm -v

srvctl status srvpool

-gオプションを指定しなかった場合は、すべてのサーバー・プールの名前とそれぞれのサーバー・プールに現在割り当てられているサーバーの数が表示されます(-aオプションを指定した場合はサーバー名も表示されます)。-gオプションを指定した場合は、指定したサーバー・プールに関する前述の情報が表示されます。

構文およびオプション

srvctl status srvpoolコマンドは、次の構文で使用します。

srvctl status srvpool [-g server_pool] [-a]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-138 srvctl status srvpoolのオプション

オプション

説明

-g server_pool

サーバー・プールの名前

-a

詳細なステータス情報の出力

例

次に、このコマンドの例を示します。

$ srvctl status srvpool -g srvpool1 -a

srvctl status vip

特定のVIPまたは特定のノード上のVIPのステータスを表示します。

構文およびオプション

srvctl status vipコマンドは、次の構文で使用します。

srvctl status vip {-n node_name | -i vip_name} [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-139 srvctl status vipのオプション

オプション

説明

-n node_name

ノード名

-i vip_name

VIP名

-v

INTERNAL_STATEを表示しますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。内部状態がSTABLEの場合、これは通常の状態のため、-vオプションは何も表示しません。また、-vオプションはSTATE_DETAILSを表示しますが、これは、リソースによって提供される、現在の状態になった理由についての追加情報を示す場合があります。

例

次に、このコマンドの例を示します。

$ srvctl status vip -i node1-vip

stop

データベース、すべてまたは指定のインスタンス、すべてまたは指定のサービス名、リスナー、またはノード・レベル・アプリケーション・リソース用のOracle Clusterwareアプリケーションを停止します。起動または稼働しているOracle Clusterwareアプリケーションのみが停止されます。Oracle Clusterwareの外部で稼働しているオブジェクトは停止されません。

srvctl stopコマンド実行後に、停止状態のままにするオブジェクトを無効化する必要があります。srvctl disableコマンド(srvctl disable database以降)を参照してください。

注意:

- オブジェクトを無効化せずに停止した場合、別の計画された操作の結果として再起動されることがあります。障害の結果としてオブジェクトが再起動されることはありません。stopコマンドの実行後に、停止状態にしておくオブジェクトを無効化することをお薦めします。

- オブジェクトおよび依存アプリケーションの停止に-f(force)フラグを使用した場合、それらの依存アプリケーションは、オブジェクトが後で再起動される場合やノードに障害が発生した後も再起動されることはありません。データベースが停止した場合は、依存アプリケーション(管理ポリシーがAUTOMATICのサービス以外)を手動で再起動する必要があります。

表A-140 srvctl stopのサマリー

コマンド

説明

srvctl stop asm

Oracle ASMインスタンスの停止

srvctl stop cvu

クラスタ検証ユーティリティ・リソースの停止

srvctl stop database

クラスタ・データベースの停止

srvctl stop diskgroup

指定した数のノード上にある特定のディスク・グループの停止

srvctl stop filesystem

Oracle ACFSボリューム・リソースの停止

srvctl stop gns

GNSの停止

srvctl stop home

指定したOracleホームのリソースの停止

srvctl stop instance

インスタンスの停止

srvctl stop listener

指定したリスナーの停止

srvctl stop nodeapps

ノード・レベル・アプリケーションの停止

srvctl stop oc4j

OC4Jインスタンスの停止

srvctl stop ons

Oracle Notification Serviceの停止

srvctl stop scan

すべてのSCAN VIPの停止

srvctl stop scan_listener

すべてのSCANリスナーの停止

srvctl stop service

サービスの停止

srvctl stop vip

VIPリソースの停止

srvctl stop asm

Oracle ASMインスタンスを停止します。

構文およびオプション

srvctl stop asmコマンドは、次の構文で使用します。

srvctl stop asm [-n node_name] [-o stop_options] [-f]

注意:

- Oracle Database 11gリリース2(11.2)インストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)でSRVCTLを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLを使用してOracle ASMを管理することはできません。

- このコマンドはOracle ASMを停止しないため、Oracle ASMにOCRが格納されているときには使用できません。Oracle ASMを停止するには、Oracle Clusterwareを停止する必要があります。

表A-141 srvctl stop asmのオプション

オプション

説明

-n node_name

Oracle ASMインスタンスを停止するノードの名前。

このオプションを指定しない場合は、クラスタ内のすべてのアクティブ・ノードでOracle ASMインスタンスが停止されます。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-o stop_options

停止コマンドのオプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-f

このオプションを使用して、Oracle ASMに依存するディスク・グループ、ファイル・システムおよびデータベースを停止します。

例

次に、このコマンドの例を示します。

$ srvctl stop asm -n crmnode1 -i +asm1

srvctl stop cvu

Oracle Database 11gリリース2 (11.2.0.2)以降、このコマンドは、実行中または起動中のいずれかの状態のクラスタ検証ユーティリティ(CVU)を停止します。

構文およびオプション

srvctl stop cvuコマンドは、次の構文で使用します。

srvctl stop cvu [-f]

-fオプションは、このコマンドで使用できる唯一のオプションです。-fオプションは、CVUを強制的に停止します。

例

次のコマンド例は、CVUを停止します。

$ srvctl stop cvu

srvctl stop database

データベース、そのインスタンスおよびそのサービスを停止します。後でデータベースを再起動をすると、AUTOMATIC管理ポリシーが設定されたサービスは自動的に起動しますが、MANUAL管理ポリシーが設定されたサービスは手動で起動する必要があります。

構文およびオプション

srvctl stop databaseコマンドは、次の構文で使用します。

srvctl stop database -d db_unique_name [-o stop_options] [-f]

表A-142 srvctl stop databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前。

-o stop_options

このオプションを使用して、shutdownコマンドのオプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)を指定します。

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-f

このオプションは、データベース、そのインスタンス、そのサービス、およびそれらのサービスに依存するリソースを停止します。

例

次に、このコマンドの例を示します。

$ srvctl stop database -d crm -o NORMAL

srvctl stop diskgroup

指定したいくつかのノード上の特定のディスク・グループ・リソースを停止します。

構文およびオプション

srvctl stop diskgroupコマンドは、次の構文で使用します。

srvctl stop diskgroup -g diskgroup_name [-n node_list] [-f]

表A-143 srvctl stop diskgroupのオプション

オプション

説明

-g diskgroup_name

Oracle ASMディスク・グループ名

-n node_list

ディスク・グループを停止するノード名のカンマ区切りリスト

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-f

このオプションでは、停止するディスク・グループに依存するデータベースは停止されません。かわりに強制ディスマウントを実行するため、データベースに障害が発生する可能性があります。

例

次に、このコマンドの例を示します。

$ srvctl stop diskgroup -g diskgroup1 -n mynode1,mynode2 -f

srvctl stop filesystem

Oracle ACFSボリューム・リソースを停止します。

構文およびオプション

srvctl stop filesystemコマンドは、次の構文で使用します。

srvctl stop filesystem -d volume_device_name [-n node_name] [-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-144 srvctl stop filesystemのオプション

オプション

説明

-d volume_device_name

Oracle ACFSボリュームのデバイス名

-n node_name

ノードの名前

このオプションを指定しない場合は、クラスタ内でアクティブなすべてのノードでボリューム・リソースが停止されます。

-f

このオプションは、ファイル・システムを停止し、このファイル・システムに依存するデータベースまたはその他のリソースも停止します。

例

次に、このコマンドの例を示します。

$ srvctl stop filesystem -d /dev/asm/d1volume293 -f

srvctl stop gns

クラスタのGNSを停止します。

構文およびオプション

srvctl stop gnsコマンドは、次の構文で使用します。

srvctl stop gns [-n node_name [-v] [-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-145 srvctl stop gnsのオプション

オプション

説明

-n node_name

GNSが実行中のノードの名前

-v

冗長出力

-f

強制停止

例

次に、このコマンドの例を示します。

$ srvctl stop gns

srvctl stop home

指定したOracleホームのすべてのOracle Restart管理リソースおよびOracle Clusterware管理リソースを停止します。

構文およびオプション

srvctl stop homeコマンドは、次の構文で使用します。

srvctl stop home -o Oracle_home -s state_file [-t stop_options]
[-n node_name] [-f]

表A-146 srvctl stop homeのオプション

オプション

説明

-o Oracle_home

Oracle RestartまたはOracle Clusterware管理リソースを起動するOracleホームのパス

-s state_file

状態ファイルに書き込むパス名。

-t stop_options

データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-n node_name

Oracleホームが存在するノードの名前。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-f

エラーがレポートされてもリソースを停止します。

例

次に、このコマンドの例を示します。

$ srvctl stop -o /u01/app/oracle/product/11.2.0/db_1 -s ~/state.txt

srvctl stop instance

-fオプションを指定しない場合は、インスタンスを停止し、指定したインスタンスで実行されているすべてのサービスを停止します。-fを指定すると、インスタンス停止時に、サービスは使用可能インスタンスにフェイルオーバーします。

構文およびオプション

srvctl stop instanceコマンドは、次の構文で使用します。

srvctl stop instance -d db_unique_name {[-n node_name]|[-i "instance_name_list"]}
[-o stop_options] [-f]

Windowsでは、インスタンス名のカンマ区切りリストを二重引用符("")で囲む必要があります。

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

表A-147 srvctl stop instanceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-n node_name

単一ノードの名前

注意: このオプションはポリシー管理データベースで使用します。

-i "instance_name"

二重引用符で囲まれたカンマ区切りのインスタンス名

注意: このオプションは管理者管理データベースで使用します。

-o stop_options

停止コマンドのオプション(NORMAL、TRANSACTIONAL LOCAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-f

別のインスタンスへの実行中のサービスのフェイルオーバー

例

次の例は、ポリシー管理データベースのインスタンスを停止します。

$ srvctl stop instance -d crm -n node1

次の例は、管理者管理データベースのインスタンスを停止します。

$ srvctl stop instance -d crm -i crm1

srvctl stop listener

指定したnode_nameのデフォルト・リスナー、または指定したリスナー名リスト内のリスナーを停止します。これらは、指定したノードのOracle Clusterwareに登録されています。

このコマンドは、非クラスタ・データベースのリスナーを非クラスタのデータベース・ホームから停止する場合にも使用できます。ただし、非クラスタ・データベース・ホームから実行する場合は、-nオプションは指定できません。

構文およびオプション

srvctl stop listenerコマンドは、次の構文で使用します。

srvctl stop listener [-n node_name] [-l listener_name_list] [-f]

表A-148 srvctl stop listenerのオプション

オプション

説明

-n node_name

特定のリスナーを実行する単一ノードの名前。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-l listener_name

停止するリスナーの名前

このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-f

強制停止

例

次に、このコマンドの例を示します。

$ srvctl stop listener -n mynode1

srvctl stop nodeapps

クラスタのノードでノード・レベル・アプリケーションを停止します。

構文およびオプション

srvctl stop nodeappsコマンドは、次の構文で使用します。

srvctl stop nodeapps [-n node_name] [-g] [-r] [-f] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-149 srvctl stop nodeappsのオプション

オプション

説明

-n node_name

ノード名

このオプションを指定しない場合は、クラスタ内のすべてのアクティブ・ノードのnodeappsが停止されます。

-g

GSDの停止のみ

-r

VIPの再配置

注意: このオプションを指定する場合は、-n node_nameオプションも指定する必要があります。

-f

強制停止

-v

冗長出力の表示

例

次に、このコマンドの例を示します。

$ srvctl stop nodeapps

srvctl stop oc4j

OC4Jインスタンスを停止します。

構文およびオプション

srvctl stop oc4jコマンドは、次の構文で使用します。

srvctl stop oc4j [-f] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-150 srvctl stop oc4jのオプション

オプション

説明

-f

SCANリスナーの停止を強制します。

-v

冗長出力の表示

例

次に、このコマンドの例を示します。

$ srvctl stop oc4j -f -v

srvctl stop ons

Oracle Notification Serviceデーモンを停止します。

注意:
このコマンドはOracle Restartでのみ使用可能です。

構文およびオプション

srvctl stop onsコマンドは、次の構文で使用します。

srvctl stop ons [-v]

このコマンドで使用できるオプションは-vのみです。これは、冗長出力が表示されることを示します。

例

次に、このコマンドの例を示します。

$ srvctl stop ons -v

srvctl stop scan

すべてのSCAN VIP(デフォルト)、またはordinal_numberで識別される特定のSCAN VIPを停止します。

構文およびオプション

srvctl stop scanコマンドは、次の構文で使用します。

srvctl stop scan [-i ordinal_number] [-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-151 srvctl stop scanのオプション

オプション

説明

-i ordinal_number

停止するSCAN VIPを識別する序数。このオプションに指定できる値の範囲は1から3です。

このオプションを指定しない場合は、すべてのSCAN VIPが停止されます。

-f

SCAN VIPの停止を強制します。

例

次に、このコマンドの例を示します。

$ srvctl stop scan -i 1

srvctl stop scan_listener

すべてのSCANリスナー(デフォルト)、またはordinal_numberで識別される特定のリスナーを停止します。

構文およびオプション

srvctl start scan_listenerコマンドは、次の構文で使用します。

srvctl stop scan_listener [-i ordinal_number] [-f]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-152 srvctl stop scan_listenerのオプション

オプション

説明

-i ordinal_number

停止するSCANリスナーを識別する序数。このオプションに指定できる値の範囲は1から3です。

このオプションを指定しない場合は、すべてのSCANリスナーが停止されます。

-f

SCANリスナーの停止を強制します。

例

次に、このコマンドの例を示します。

$ srvctl stop scan_listener -i 1

srvctl stop service

クラスタ・データベース全体でグローバルに、または指定したインスタンスで、1つ以上のサービスを停止します。

構文およびオプション

srvctl stop serviceコマンドは、次の構文で使用します。

srvctl stop service -d db_unique_name [-s "service_name_list"
[-n node_name | -i instance_name] [-f]

Windowsでは、サービス名のカンマ区切りリストを二重引用符("")で囲む必要があります。

表A-153 srvctl stop serviceのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-s service_name_list

二重引用符("")で囲まれたサービス名のカンマ区切りリスト

サービス名のリストを指定しない場合、SRVCTLはデータベース上のすべてのサービスを停止します。

-n node_name

サービスが停止される必要のあるノードの名前。このオプションはポリシー管理データベースで使用します。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-i instance_name

サービスが停止される必要のあるインスタンスの名前。このオプションは管理者管理データベースで使用します。

注意: このオプションはOracle Clusterwareでのみ使用可能です。

-f

SRVCTLによるサービスの強制停止。すべてのセッションがトランザクションを切断され、サービスを使用中のセッションは再接続の後、別のインスタンスに接続する必要があります。

注意: -fオプションを指定しない場合、このサービスに接続済のセッションはそのまま残りますが、サービスに新しいセッションを確立することはできません。

例

次の例は、クラスタ・データベース全体でグローバルにサービスを停止します。

$ srvctl stop service -d crm -s crm

次の例は、指定したインスタンスでサービスを停止します。

$ srvctl stop  service -d crm -s crm -i crm2

srvctl stop vip

特定のノードの特定のVIPまたはすべてのVIP(フェイルオーバーによって再配置されたVIPを含む)を停止します。

構文およびオプション

srvctl stop vipコマンドは、次の構文で使用します。

srvctl stop vip {-n node_name | -i vip_name} [-r] [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-154 srvctl stop vipのオプション

オプション

説明

-n node_name

このオプションは、フェイルオーバーされたVIPを含む、特定のノード上のすべてのVIPを停止します。

-i vip_name

このオプションは特定のVIPを停止します。

-r

VIPの再配置

注意: -n node_nameオプションを-rとともに使用する必要があります。

-v

冗長出力

例

mynode1のすべてのVIP(フェイルオーバーされたVIPを含む)を停止するには、次のコマンドを使用します。

$ srvctl stop vip -n mynode1 -v

unsetenv

unsetenvコマンドは、構成ファイル内の環境の値設定を解除します。これにより、オブジェクトの環境構成をユーザーが管理できます。

表A-155 srvctl unsetenvコマンドのサマリー

コマンド

説明

srvctl unsetenv asm

1つ以上のOracle ASM環境変数の値の設定解除

srvctl unsetenv database

1つ以上のクラスタ・データベース環境変数の値の設定解除

srvctl unsetenv listener

1つ以上のリスナー環境変数の値の設定解除。

srvctl unsetenv nodeapps

1つ以上のノード・アプリケーション環境変数の値の設定解除

srvctl unsetenv vip

1つ以上のVIP環境変数の値の設定解除

srvctl unsetenv asm

Oracle ASM環境構成の設定を解除します。

構文およびオプション

srvctl unsetenv asmコマンドは、次の構文で使用します。

srvctl unsetenv asm -t "name_list"

表A-156 srvctl unsetenv asmのオプション

オプション

説明

-t "name_list"

二重引用符("")で囲まれた環境変数名のカンマ区切りリスト

例

次の例は、Oracle ASM環境変数の環境構成の設定を解除します。

$ srvctl unsetenv asm -t CLASSPATH

srvctl unsetenv database

クラスタ・データベース環境構成の設定を解除します。

構文およびオプション

srvctl unsetenv databaseコマンドは、次の構文で使用します。

srvctl unsetenv database -d db_unique_name -t "name_list"

表A-157 srvctl unsetenv databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-t "name_list"

環境変数の名前

例

次の例は、クラスタ・データベース環境変数の環境構成の設定を解除します。

$ srvctl unsetenv database -d crm -t CLASSPATH

srvctl unsetenv listener

リスナーの環境構成の設定を解除します。

構文およびオプション

srvctl unsetenv listenerコマンドは、次の構文で使用します。

srvctl unsetenv listener [-l listener_name] -t "name_list"

表A-158 srvctl unsetenv listenerのオプション

オプション

説明

-l listener_name

リスナーの名前。

このオプションを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-t "name_list"

環境変数の名前

例

次の例は、ノード・アプリケーション環境構成の設定を解除します。

$ srvctl unsetenv listener -t "TNS_ADMIN"

srvctl unsetenv nodeapps

ノード・アプリケーションの環境変数の設定を解除します。

構文およびオプション

srvctl unsetenv nodeappsコマンドは、次の構文で使用します。

srvctl unsetenv nodeapps -t "name_list" [-v]

注意:
このコマンドはOracle Clusterwareでのみ使用可能です。

表A-159 srvctl unsetenv nodeappsのオプション

オプション

説明

-t "name_list"

環境変数の名前および値

-v

冗長出力の表示

例

次の例は、ノード・アプリケーション環境構成の設定を解除します。

$ srvctl unsetenv nodeapps -t "test_var1,test_var2"

srvctl unsetenv vip

指定したクラスタVIPの環境構成の設定を解除します。

構文およびオプション

srvctl unsetenv vipコマンドは、次の構文で使用します。

srvctl unsetenv vip -i vip_name -t "name_list" [-v]

表A-160 srvctl unsetenv vipのオプション

オプション

説明

-i vip_name

クラスタVIPの名前

-t "name_list"

環境変数の名前のカンマ区切りリスト

-v

冗長出力

例

次の例は、 クラスタVIPのCLASSPATH環境変数の設定を解除します。

$ srvctl unsetenv vip -i crm2-vip -t CLASSPATH

upgrade

Oracle Database 11gリリース2(11.2.0.2)以降、upgradeコマンドは、このコマンドを実行しているソフトウェアのバージョンに構成をアップグレードします。

srvctl upgrade database

srvctl upgrade databaseコマンドは、このコマンドの実行元であるデータベース・ホームのバージョンに、データベースの構成とそのすべてのサービスをアップグレードします。

構文およびオプション

srvctl upgrade databaseコマンドは、次の構文で使用します。

srvctl upgrade database -d db_unique_name -o Oracle_home

表A-161 srvctl upgrade databaseのオプション

オプション

説明

-d db_unique_name

データベースの一意の名前

-o Oracle_home

ORACLE_HOMEへのパス

B Oracle RACのトラブルシューティング

この付録では、トレース・ファイルおよびログ・ファイルを使用して、Oracle Real Application Clusters(Oracle RAC)コンポーネントの問題を診断する方法について説明します。この項の内容は次のとおりです。

- エラー分析に必要なファイルの場所

- Oracle RACでの診断データの管理

- Oracle RACでのインスタンス固有のアラート・ファイルの使用

- Oracle RACでのJavaベースのツールとユーティリティに関するトレースの有効化

- 停止保留問題の解決

- Oracle RACインスタンスでプライベート・ネットワークが使用されているかどうかの判別方法

注意:
Oracle RACでのOracle Database用に生成されたファイルと同じように、トレース・ファイルおよびログ・ファイルは、Oracle Clusterwareコンポーネントでも使用できます。Oracle Clusterwareの場合、これらのファイルはOracle Databaseによって統合ディレクトリのログ構造に格納されます。
Oracle Clusterwareのトラブルシューティングの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

エラー分析に必要なファイルの場所

Oracle Databaseは、Oracle RAC環境で発生する重要なイベントに関する情報をトレース・ファイルに記録します。Oracle RACのトレース・ファイルは、非クラスタのOracle Databaseの場合と同じです。すべてのインスタンスに対してトレース・ファイルを定期的に監視およびバックアップし、将来のトラブルシューティングのための情報を保持します。

ORA-600エラーに関する情報は、各インスタンスのalert_SID.logファイルにあります。ここでSIDには、インスタンスの識別子を指定します。

バックグラウンド・プロセスおよびサーバー・プロセス用のアラート・ログ・ファイルとすべてのトレース・ファイルは、自動診断リポジトリに書き込まれます(自動診断リポジトリの位置は、DIAGNOSTIC_DEST初期化パラメータで指定できます)。次に例を示します。

diagnostic_dest=/oracle/11.1/diag/rdbms/rac/RAC2/trace

Oracle Databaseは、各バックグラウンド・スレッドに対して別々のトレース・ファイルを作成します。Oracle RACのバックグラウンド・スレッドでは、トレース・ファイルを使用して、データベース操作およびデータベース・エラーが記録されます。これらのトレース・ログは、トラブルシューティングに有効であり、また、Oracleサポート・サービスは、これらのトレース・ログを使用して、クラスタ・データベース構成の問題をより効率的にデバッグできます。トレース・ファイル名はオペレーティング・システム固有ですが、通常、各ファイルにはそれを書き込むLGWRやRECOなどのプロセスの名前が含まれます。Linux、UNIXおよびWindowsシステムでは、バックグラウンド・プロセスのトレース・ファイル名は、SID_process name_process identifier.trcになります。

関連項目:
トレース・ファイルでのエラー監視およびアラートの詳細は、『Oracle Database管理者ガイド』および『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

DIAGNOSTIC_DEST初期化パラメータを設定した場合は、トレース・ファイルはユーザー・プロセスに対しても作成されます。ユーザー・プロセス・トレース・ファイルの名前は、SID_ora_process_identifier/thread_identifier.trcの形式です(LinuxおよびUNIXシステムの場合、process_identifierはプロセス識別子(PID)を表す5桁の数値で、Windowsシステムの場合、thread_identifierはスレッド識別子です)。

Oracle RACでの診断データの管理

Oracle RACインスタンス全体にわたる問題は、最も診断が難しいタイプの問題である可能性があります。たとえば、複数のインスタンスからトレース・ファイルを相互に関連付け、マージする必要がある場合があります。Oracle Database 11gには、診断データの収集および管理用の高度な障害診断インフラストラクチャが含まれており、データベース診断データの格納に自動診断リポジトリ(ADR)ファイル・ベースのリポジトリが使用されます。共有ディスクにADRベースを作成すると、同じOracle RACデータベースのすべてのインスタンスのADRホームを同じADRベースに配置できます。共有記憶域を使用すると、次の処理を実行できます。

- ADRCIコマンドライン・ツールを使用して、すべてのインスタンスの診断を相互に関連付けることができます。
ADRCIは、ADR内の診断データを確認し、Oracleサポートへの送信用に発生事象と問題の情報をzipファイルに圧縮できるコマンドライン・ツールです。診断データには、発生事象と問題の説明、トレース・ファイル、ダンプ、状態モニター・レポート、アラート・ログ・エントリなどが含まれます。

関連項目:
ADRCIの使用方法の詳細は、『Oracle Databaseユーティリティ』を参照してください。

- データ・リカバリ・アドバイザを使用して、破損したデータ・ブロック、破損または欠落したファイルおよびその他のデータ障害を修復できます。
データ・リカバリ・アドバイザは、永続データ障害の自動的診断、修復オプションの提示およびユーザーの要求に応じた問題の修復を行う、Oracle Databaseインフラストラクチャです。

関連項目:
診断データの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。

Oracle RACでのインスタンス固有のアラート・ファイルの使用

Oracle RACデータベースの各インスタンスには、1つのアラート・ファイルがあります。各インスタンスのアラート・ファイル(alert.SID.log)には、データベース操作中に発生したエラー・メッセージおよび例外に関する重要な情報が含まれています。インスタンスを起動するたびに、アラート・ファイルの末尾に情報が追加されます。すべての処理スレッドをインスタンスのアラート・ファイルに書き込むことができます。

alert_SID.logファイルは、DIAGNOSTIC_DEST初期化パラメータで指定されたディレクトリにあります。

Oracle RACでのJavaベースのツールとユーティリティに関するトレースの有効化

Oracle RACで使用可能なJavaベースのすべてのツールとユーティリティは、ツールまたはユーティリティと同じ名前のスクリプトを実行してコールします。クラスタ検証ユーティリティ(CVU)、Database Configuration Assistant(DBCA)、Net Configuration Assistant(NetCA)、サーバー制御ユーティリティ(SRVCTL)、Global Services Daemon(GSD)などがあります。たとえば、DBCAを実行するには、コマンドdbcaを入力します。

Oracle Databaseでは、デフォルトでDBCAおよびDatabase Upgrade Assistant(DBUA)のトレースが有効になっています。CVU、GSDCTLおよびSRVCTLの場合は、SRVM_TRACE環境変数をTRUEに設定すると、Oracle Databaseでトレースを生成できます。トレースはログ・ファイルに書き込まれます。たとえば、DBCAおよびDBUAの場合、トレースはそれぞれOracle home/cfgtoollogs/dbcaおよびOracle home/cfgtoollogs/dbua内のログ・ファイルに書き込まれます。

停止保留問題の解決

SHUTDOWN IMMEDIATEが保留され、停止要求を繰り返してもOracle Databaseが迅速に応答しなくなる場合があります。これは、Oracle Clusterwareで現行の停止要求が処理中のため発生する場合があります。そのような場合は、以後の停止要求に対し、SQL*Plusを使用してSHUTDOWN ABORTを発行します。

Oracle RACインスタンスでプライベート・ネットワークが使用されているかどうかの判別方法

この項では、Oracle RACインスタンスでプライベート・ネットワークが使用されているかどうかを手動で判別する方法について説明します。ただし、このタスクを実行する場合は、Oracle Enterprise Manager Database ControlのGraphical User Interfaceを使用してインターコネクトを確認することをお薦めします。また、Oracle Enterprise Managerを使用したOracle RACの監視の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

ほとんどのネットワーク・プロトコルで、oradebug ipcコマンドを発行し、データベースで使用されているインターコネクトを確認できます。次に例を示します。

oradebug setmypid
oradebug ipc

これらのコマンドは、DIAGNOSTIC_DEST初期化パラメータによって指定された場所にトレース・ファイルをダンプします。出力は次のようになる場合があります。

SSKGXPT 0x1a2932c flags SSKGXPT_READPENDING     info for network 0
socket no 10    IP 172.16.193.1         UDP 43749
sflags SSKGXPT_WRITESSKGXPT_UP  info for network 1
socket no 0     IP 0.0.0.0      UDP 0...

この例では、データベースがユーザー・データグラム・プロトコル(UDP)プロトコルでIP 172.16.193.1を使用していることを確認できます。oradebug tracefile_nameコマンドを発行して、出力が書き込まれるトレースの場所を出力することもできます。

また、V$CLUSTER_INTERCONNECTSビューを問い合せて、プライベート・インターコネクトに関する情報を確認できます。次に例を示します。

SQL> SELECT * FROM V$CLUSTER_INTERCONNECTS;

NAME  IP_ADDRESS          IS_  SOURCE
----- -------------------------- ---  -------------------------------
eth0  138.2.236.114         NO  Oracle Cluster Repository

C Oracle RAC Database (RACDB)プラグイン

Oracle Real Application Clusters (Oracle RAC) RACDBイントロスペクション・プラグインでは、Oracle ClusterwareおよびOracle RAC Databaseコンポーネントを検証して、そのメタデータをキャプチャします。

この付録では、次のOracle RAC Databaseイントロスペクション・プラグインに関する情報を説明します。

- サポートされるバージョン

- Oracle RAC Databaseのイントロスペクション・パラメータ

- Oracle RAC Databaseのイントロスペクション・パスワード・パラメータ

- 参照システムの前提条件

- 要件

- 結果のアーティファクト・タイプ

- ワイヤリング

- 接続プロパティ

- Oracle Databaseアプライアンスのプロパティ

- プラグインの拡張機能

- サポートされるテンプレート・タイプ

サポートされるバージョン

このプラグインでは、Oracle Database 11gリリース2 (11.2)をサポートしています。

Oracle RAC Databaseのイントロスペクション・パラメータ

表C-1に、Oracle RAC Databaseのイントロスペクション・プラグイン用のイントロスペクション・パラメータを示します。

表C-1 Oracle RAC Databaseプラグインのイントロスペクション・パラメータ

パラメータ

説明

asmHome

このパラメータは、Oracle Automatic Storage Managementが記憶域タイプとして使用されており、別のOracleホームにインストールされている場合に必要です。

crsHome

イントロスペクトするOracle ClusterwareのORACLE_HOME。

dbHome

イントロスペクトするOracle DatabaseのORACLE_HOME。

globalDbName

イントロスペクトするOracle Databaseのグローバル・データベース名。

shutdownDBOK

このフラグは、データベース・リブートを承認するために渡す必要があります。

sysDBAUserName

SYSDBA権限を持つデータベース・アカウント。オペレーティング・システム認証が現在のデータベースに対して無効である場合のみ、このパラメータは必須です。

Oracle RAC Databaseのイントロスペクション・パスワード・パラメータ

表C-2に、Oracle RAC Databaseプラグインのイントロスペクション・パスワード・パラメータを示します。abctlツールを使用してイントロスペクションを実行すると、これらのパラメータの値を入力するためのプロンプトが表示されます。Oracle Virtual Assembly Builder Studioには、これらのパラメータ用のパスワード・フィールドがあります。

表C-2 Oracle RAC Databaseプラグインの(イントロスペクション時に要求される)イントロスペクション・パラメータ

パラメータ

説明

rootPassword

使用可能なファイル・セットの取得を行うためにORACLE_HOMEファイルの権限を変更する場合のみ、rootPasswordパラメータは必須です。

sysDBAPassword

sysDBAUserNameユーザーのパスワード。オペレーティング・システム認証が現在のデータベースに対して無効である場合のみ、このパラメータは必須です。

参照システムの前提条件

イントロスペクション時、Oracle Clusterwareスタックは実行されている必要があります。

要件

Oracle RAC Databaseには、次の要件が適用されます。

ベース・システム・イメージのオペレーティング・システム・バージョンが、参照システムのバージョンと一致する必要があります。

結果のアーティファクト・タイプ

単一のアプライアンス。

ワイヤリング

Oracle RAC Database 11gリリース2 (11.2)の場合は、Oracle RAC Databaseアプライアンスに単一の入力が作成されます。

11gリリース2 (11.2)以前のOracle RAC Databaseには、構成で検出されたOracle RAC Databaseアプライアンスの各リスナーまたはポート・ディレクティブに入力が作成されます。

接続プロパティ

Oracle RAC Database 11gリリース2 (11.2)の場合、入力エンドポイントには、2つの編集可能なプロパティscan-nameおよびglobal-db-nameと、入力に接続できる出力の種類を示す2つの編集不可のプロパティprotocolおよびportがあります。

11gリリース2 (11.2)より前のOracle RAC Databaseの場合、入力エンドポイントには、1つの編集可能なプロパティglobal-db-nameと、2つの編集不可のプロパティprotocolおよびportがあります。

Oracle Databaseアプライアンスのプロパティ

Oracle Databaseアプライアンスが含まれるアセンブリには、ユーザー・プロパティ(表C-3)およびシステム・プロパティ(表C-4)があります。

表C-3 Oracle RAC Databaseのユーザー・プロパティ

名前

型

必須

デフォルト

説明

asm-password

文字列

省略可

なし

SYSASMアカウントのパスワード

cluster-name

文字列

省略可

new_cluster

クラスタ名(11gリリース2 (11.2)以前のOracle Databaseにのみ該当)。

db-account-password

パスワード

必須

なし

データベース・アカウントSYS、SYSTEM、SYSMANおよびDBSNMPのパスワード。

表C-4 Oracle RAC Databaseのシステム・プロパティ

名前

型

必須

デフォルト

説明

CRS_BASE

文字列

省略可

なし

Oracle Clusterwareのベース・パス。

CRS_HOME

文字列

省略可

なし

Oracle Clusterwareのホーム・パス。

CRS_OWNER

文字列

省略可

grid

Oracle Clusterwareホームの所有者になるオペレーティング・システム・ユーザーの名前。

CRS_GROUP

文字列

省略可

oinstall

Oracle Clusterwareホームの所有者になるオペレーティング・システム・ユーザー・グループの名前。

CRS_ORACLE_GROUPS

文字列

省略可

oinstall

OSDBA、OSOPERおよびOSASMグループ。

VOTING_DISKS_LOCATIONS

文字列

省略可

なし

投票ディスクの場所(Oracle Clusterwareファイルのファイル・システム記憶域タイプ専用)。

VOTING_DISKS_REDUNDANCY

文字列

省略可

なし

投票ディスクの冗長性(Oracle Clusterwareファイルのファイル・システム記憶域タイプ専用)。

OCR_DISKS_LOCATIONS

文字列

省略可

なし

Oracle Cluster Registryディスクの場所(Oracle Clusterwareファイルのファイル・システム記憶域タイプ専用)。

OCR_DISKS_REDUNDANCY

文字列

省略可

なし

Oracle Cluster Registryディスクの冗長性(Oracle Clusterwareファイルのファイル・システム記憶域タイプ専用)。

SCAN_PORT

文字列

省略可

1521

SCANリスナーのポート。

CRS_STORAGE_TYPE

文字列

省略可

なし

参照システムごとのOracle Clusterwareファイルの記憶域タイプ。

CRS_VERSION

文字列

省略可

なし

参照システムのOracle Clusterwareソフトウェアのバージョン。

CRS_ASM_DISK_GROUP_NAME

文字列

省略可

OVMOCRVD

Oracle Clusterwareファイルを格納しているOracle ASMディスク・グループの名前。

CRS_ASM_DISCOVERY_STRING

文字列

省略可

/dev/raw/ovmocrvd*

すべてのデータOracle ASMディスクを検出するためのパス。

CRS_ASM_DISK_GROUP_REDUNDANCY

文字列

省略可

NORMAL

Oracle ASMディスク・グループの冗長のレベル。

CRS_ASM_DISKS

文字列

省略可

/dev/raw/ovmocrvd0, /dev/raw/ovmocrvd1, /dev/raw/ovmocrvd2

Oracle Clusterwareファイルを格納しているOracle ASMディスク・グループに属するディスクのパス。

ASM_BASE

文字列

省略可

なし

Oracle ASM ORACLE_BASEのパス。

ASM_HOME

文字列

省略可

なし

Oracle ASM ORACLE_HOMEのパス。

ASM_OWNER

文字列

省略可

grid

Oracle ASM ORACLE_HOMEを所有するオペレーティング・システム・ユーザー。

DATA_ASM_DISCOVERY_STRING

文字列

省略可

/dev/raw/asm*

すべてのデータOracle ASMディスクを検出するためのパス。

DATA_ASM_DISK_GROUP_NAME

文字列

省略可

なし

データOracle ASMディスク・グループの名前。

DATA_ASM_DISK_GROUP_REDUNDANCY

文字列

省略可

なし

データOracle ASMディスク・グループの冗長のレベル。

DATA_ASM_DISKS

文字列

省略可

なし

データOracle ASMディスク・グループに属するディスクのパス。

RECOVERY_ASM_DISCOVERY_STRING

文字列

省略可

/dev/raw/asm*

すべてのリカバリOracle ASMディスクを検出するためのパス。

RECOVERY_ASM_DISK_GROUP_NAME

文字列

省略可

なし

リカバリOracle ASMディスク・グループの名前。

RECOVERY_ASM_DISK_GROUP_REDUNDANCY

文字列

省略可

なし

リカバリOracle ASMディスク・グループの冗長のレベル。

RECOVERY_ASM_DISKS

文字列

省略可

なし

リカバリOracle ASMディスク・グループに属するディスクのパス。

RECOVERY_STORAGE_TYPE

文字列

省略可

なし

データベース・リカバリの記憶域タイプ。

DATA_STORAGE_TYPE

文字列

省略可

なし

参照システムに従ったデータベースの記憶域タイプ。

RECOVERY_STORAGE_TYPE

文字列

省略可

なし

参照システムに従ったデータベース・リカバリ・ファイルの記憶域タイプ。

DB_USING_ASM

文字列

省略可

なし

参照システムに従ってデータベースまたはリカバリ・ファイルのいずれかがOracle ASMに格納される場合は、trueに設定します。

DB_VERSION

文字列

省略可

なし

参照システムのOracle Databaseソフトウェアのバージョン。

プラグインの拡張機能

なし。

サポートされるテンプレート・タイプ

サポートされるテンプレート・タイプは、Oracle Enterprise Linuxです。

D Oracle RAC監査構成ツール

この付録では、Oracle Real Application Clusters (Oracle RAC)構成監査ツール(RACcheck)を実行およびメンテナンスするために必要な情報について説明します。このツールは、Oracle RACシステムの重要な様々な構成設定を監査するよう設計されています。

注意:
RACcheckを含むOracle Database 11gリリース2 (11.2.0.4)にまだアップグレードしていない場合、または(3か月ごとにオラクルによりチェックが追加される)最新バージョンのRACcheckをまだ入手していない場合は、次のURLからRACcheckをダウンロードしてください。
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1268927.1

内容は次のとおりです。

- RACcheckの機能

- RACcheckの用途

- RACcheckの使用

- RACcheckのトラブルシューティング

RACcheckの機能

RACcheckは、次のカテゴリの構成設定の監査に使用できます。

- オペレーティング・システムのカーネル・パラメータ

- Oracle RACに重要なオペレーティング・システム・パッケージおよびその他のオペレーティング・システム構成設定

- Oracle Grid Infrastructure

- Oracle Automatic Storage Management(Oracle ASM)

- Oracle Database

- Oracle RACに重要なデータベース・パラメータおよびその他のデータベース構成設定

- Oracle Database 11gリリース2 (11.2)へのアップグレード準備状況評価

RACcheckは、Oracle RAC Databaseサーバー、Oracle RACデータベース(10gリリース2 (10.2)、11gリリース1 (11.1)および11gリリース2 (11.2))、Oracle Grid Infrastructure、ハードウェア、オペレーティング・システムおよびOracle RACソフトウェアで使用できます。また、RACcheckは、クラスタ化されていないOracle Database(10gリリース2 (10.2)、11gリリース1 (11.1)、11gリリース2 (11.2))、Oracle Restartシステム、およびOracle Real Application Clusters One Node構成で使用できます。

RACcheckは、次のプラットフォームで使用可能です。

- Intel Linux脚注 1  (Enterprise Linux、RedHatおよびSuSE 9、10、11)

- Oracle Solaris SPARC (Solaris 10および11)

- Oracle Solaris x86-64 (Solaris 10および11)

- IBM AIX脚注 2

- HP-UX脚注 2

RACcheckには、次のような機能もあります。

- RACcheckでは必要な処理は少なく、次の項目以外の環境の変更は行いません。

- 監査対象のすべてのデータベース・サーバーで、Oracle Databaseのソフトウェア所有者に対してSSHユーザー等価を構成しないと、RACcheckでは、リモート・データベース・サーバー・ノードでコマンドを実行できません。RACcheckでSSHユーザー等価が構成済でないと判断されると、ツールではユーザー等価を一時的または永続的に設定するオプションを示します。SSHユーザー等価を一時的に設定するよう選択すると、セッションの終わりにRACcheckによりキーが削除され、システムは元のSSHユーザー等価の状態にリストアされます。(構成済でない場合に)RACcheck外でSSHユーザー等価を構成する場合は、次のURLでMy Oracle Supportノート372795.1を参照してください。
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=372795.1

注意:
Oracle Databaseソフトウェアのインストール所有者には必ずSSHユーザー等価が必要ですが、Oracle Grid Infrastructureの構成には必要はありません。

- RACcheckは、評価を実行するために必要なデータを収集する多数の小さい出力ファイルを生成します。

- RACcheckは、一部のデータを収集するために、一部のスクリプトを動的に作成および実行します。

- RACcheckは、収集の一貫として、作成された不要なすべての一時ファイルを削除します。

- RACcheckは、Oracleスタック・コンポーネント(具体的には、Oracle Grid Infrastructure、Oracle Database、Oracle RACなど)の状態を判断し、それらがインストールされ実行されているか、システムに問合せます。各コンポーネントの状態に応じて、RACcheckは適切な収集および監査チェックを行います。

関連項目:
ローカルの環境構成が原因でRACcheckが必要な環境情報を正しく特定できない場合のトラブルシューティング

- RACcheckは、バックグラウンドで自動的にプロセスを実行し、コマンドの実行の進捗を監視します。なんらかの理由により、RACcheckで実行されたコマンドの1つがハングしたり、予想よりも長く実行されている場合、この監査プロセスにより構成可能な時間の経過後にコマンドは停止され、RACcheckは実行を続行できます。これが発生した場合、RACcheckではハングした収集またはコマンドをスキップし、ログに注記を記録します。

関連項目:
デフォルトのタイムアウト期間が短すぎる場合に、RAT_TIMEOUTおよびRAT_ROOT_TIMEOUTパラメータを調整するには、「ランタイム・コマンドのタイムアウト」を参照してください。

- RACcheckのドライバ・ファイルが90日より古い場合、そのドライバ・ファイルは失効しているとみなされ、ドライバ・ファイルが失効しているという通知がされます。

- RACcheckでは、収集および分析が完了すると、利点、影響、リスク、アクションおよび修復情報を含むHTML形式の詳細なレポートを生成します。このレポートには、公開されているドキュメントへの参照および問題とその解決方法の追加情報も含まれる場合があります。RACcheckでは、圧縮された出力ファイルも生成します。この出力ファイルは、必要に応じてMy Oracle Supportに渡すことができます。

- オプションで、レポート目的で、監査チェックの結果をデータベース表にアップロードできます。

- RACcheckを使用する可能性のある各クラスタにコピーせず、RACcheckを共有のファイル・システムにステージングして、1つの場所に維持し様々なシステムからアクセスできるようにしたい場合があります。RACcheckでは、デフォルトの動作として、ステージングされる場所にサブディレクトリおよびその出力ファイルを作成します。ステージング領域が読取り専用のファイル・システムであったり、出力を他の場所に作成したい場合、この目的に使用できる環境変数があります。RAT_OUTPUTパラメータを任意の有効な書込み可能な場所に構成します。

RACcheckの用途

RACcheckの使用時には、次を考慮します。

- RACcheckは、Oracle DatabaseサーバーでOracle Databaseソフトウェア所有者(oracle)として実行します。

- RACcheckには、RACcheckを定期的に(バッチまたはサイレント・モードで)非対話的に実行することを可能にするデーモンが含まれます。

関連項目:
「RACcheckデーモンを使用したRACcheckの実行」

- RACcheckで最高のパフォーマンスを得るには、1つのデータベース・サーバー上のローカル・ファイル・システムにインストールして実行することをお薦めします。

- RACcheckは、Oracle Grid Infrastructureおよび最低1つのデータベースが稼働中のときにを実行すると、有効性を最大限にできます。

- RACcheckは、システムに対する負荷が最小のときに実行することをお薦めします。

- RACcheckで、ネットワークに接続されたワークステーションやノート型コンピュータの端末セッションから実行する際に発生する可能性のある問題を避けるには、VNCを使用してツールを実行すると、ネットワークに障害が発生した場合にも、それが終了するまでツールを実行し続けることができます。

- RACcheckになんらかの理由で障害が発生した場合は、最初から再度実行します。RACcheckは、障害が発生したところから再開することはできません。

- RACcheckはすべてのノードから同時に実行できます。このツールを並行して実行しながら、root固有のチェックを利用するには、システムにインストールされているEXPECTユーティリティを使用するか、RACcheckでsudoを使用できるよう構成します。
sudoを構成するには、visudoコマンドを使用して、各クラスタ・ノードのsudoersファイルにデータベース・ソフトウェアをインストールしたユーザーとownerを置き換える次の行を追加します。

owner ALL=(root)  NOPASSWD:/tmp/root_raccheck.sh

- RACcheckに対する権限が755 (-rwxr-xr-x)であることを確認します。権限の設定が不正な場合は、次のコマンドを実行します。

$ chmod 755 raccheck

この項の内容は次のとおりです。

- RACcheckを使用する状況

- RACcheckで使用可能なオプション

- RACcheck使用のガイドライン

- RACcheckのパスワードの処理方法

RACcheckを使用する状況

RACcheckはご希望の時間に使用できますが、RACcheckは次のときに使用することをお薦めします。

- Oracle RACの最初のデプロイ後

- すべての計画メンテナンスの前後

- 最低90日ごとに1回

RACcheckで使用可能なオプション

表D-1にRACcheckで使用可能なオプションとその説明を示します。

表D-1 RACcheckのオプション

オプション

説明

-a

このオプションは、ベスト・プラクティスおよび推奨されるパッチ・チェックの両方を実行する場合に指定します。これは、RACcheckを実行するデフォルトの方法です。

-b

このオプションは、ベスト・プラクティスのチェックのみを実行する場合に指定します。

-p

このオプションは、推奨のパッチ・チェックのみを実行する場合に指定します。

-v

このオプションは、現在使用中のRACcheckのバージョンを表示する場合に指定します。

-m

このオプションは、最大可用性アーキテクチャ(MAA)スコアカードのチェックを除外する場合に指定します。

MAAスコアカードとは、最大可用性アーキテクチャに対するベスト・プラクティスのセットについての結果で、Oracle RAC環境で発生する可能性のある様々な種類の障害に対するシステムの準備状況を示します。

MAAは重要な概念および機能セットと考えられているため、RACcheckではMAAスコアカードが示されます。ただし、Oracle Data Guardスタンバイ・データベースを実装している場合、最も役立ちます。

-u

このオプションは、アップグレード前、アップグレード後のベスト・プラクティスをチェックするためにRACcheckを実行する場合に使用します。-o preまた-o postは-uオプションとともに使用する必要があります。次に例を示します。

$ raccheck -u -o pre

-o

このオプションは、オプションに引数を追加する場合に使用します。引数には次のようなものがあります。

- verbose: この引数を指定した場合、パスしたチェックがRACcheckによって出力されます。RACcheckのデフォルトの動作では、失敗したり、警告が発行されたり、その他の情報を含むチェックのみを出力します。

- pre: この引数は、(-uオプションとともに使用して)RACcheckでアップグレード前のベスト・プラクティスをチェックする場合に使用します。

- post: この引数は、(-uオプションとともに使用して)RACcheckでアップグレード後のベスト・プラクティスをチェックする場合に使用します。

-f

このオプションは、システムからすでに収集されたデータをオフラインでチェックする場合に使用します。

-clusternodes

このオプションは、RACcheckを実行するカンマ区切りのノード名のリストを入力するために使用します。

このオプションは、RACcheckをクラスタ・ノードのサブセットで実行する場合や、RACcheckがolsnodesを使用してクラスタ・ノードの情報を取得することに失敗した場合のみ必要です。

-localonly

このオプションは、RACcheckをローカル・ノードで実行する場合のみ使用します。

-nopass

このオプションは、パスしたチェックをHTMLレポートで省略する場合に使用します。

-diff report_1 report_2
[-outfile output_HTML]

このオプションは、2つのRACcheckレポートとともに、それを相互に比較するために、ディレクトリ名、zipファイル、またはHTMLレポートの形式で使用します。オプションで-outfileオプションを使用し、比較をHTMLで出力できます。

注意: 出力ディレクトリの権限は、可能なかぎり制限して、セキュリティ上の脆弱性を制限することをお薦めします。出力ディレクトリには構成に関する機密情報および、他に方法がない場合は、一時データの収集ファイルが含まれる可能性があります。

関連項目: 詳細は、「RACcheckでのレポートの比較」を参照してください。

-daemon

このオプションは、RACcheckデーモンの実行中のみRACcheckを実行する場合に使用します。

-nodaemon

このオプションは、コマンドの実行にRACcheckデーモンを使用しない場合に使用します。

-d command

このオプションは、RACcheckデーモンを制御するコマンドとともに使用します。次のコマンドを使用できます。

- start: RACcheckデーモンを起動します

- stop: RACcheckデーモンを停止します

- status: RACcheckデーモンの現在の状態を取得します

- nextautorun: このコマンドを使用すると、RACcheckデーモンの実行中に、「RACcheckデーモンを使用したRACcheckの実行」で説明するAUTORUN_INTERVALの値を使用した、RACcheckの次回の実行時間を取得できます。

-set "parameter_1=value_1
;parameter_2=value_2..."

このオプションは、「RACcheckデーモンを使用したRACcheckの実行」で列挙したRACcheck構成パラメータを設定するために使用します。

-get parameter | all

このオプションは、特定のRACcheckの構成パラメータ、またはすべてのRACcheckの構成パラメータの値を取得する場合に指定します。

-profile profile_name

このオプションは、特定のプロファイルを実行するためにRACcheckを構成するために使用します。サポートされるプロファイルは次のとおりです。

- asm: このプロファイルでは、Oracle ASMの構成がチェックされます

- clusterware: このプロファイルでは、Oracle Clusterware (Oracle Grid Infrastructureの一部)の構成がチェックされます

- dba: このプロファイルは、データベース管理者の構成がチェックされます

- sysadmin: このプロファイルは、システム管理者の構成がチェックされます

-h

このオプションは、RACcheckの用途を表示するために使用します

RACcheck使用のガイドライン

oracleユーザーがシステム上に存在し、(Oracle Clusterware、Oracle Database、Oracle ASMなどの)すべてのOracleコンポーネントがインストール済または実行中の場合、RACcheckをoracle (またはOracle Databaseソフトウェアのインストール所有者)ユーザーとして実行することをお薦めします。RACcheckでは、root権限が必要な監査チェックをいくつか行うため、sudoが構成されていなかったり、rootのパスワードがわからない場合、rootパスワード・メニューでオプション3を選択してRACcheckを構成し、これらの監査チェックをスキップできます。

RACcheckは、raccheck -profile sysadminコマンドを使用してsysadminプロファイルを指定した場合のみ、rootとして実行できます。この場合、RACcheckではデータベース関連のすべてのベスト・プラクティスをスキップしますが、全クラスタ・ノードでrootユーザーに対してSSHユーザー等価を設定する必要があるため、RACcheckではrootのパスワードは求められません。

注意:
通常、RACcheckをoracleで実行した場合、オペレーティング・システムによる認証がOracle Databaseソフトウェア所有者用に設定されるため、RACcheckでデータベースのログイン資格証明は不要になります。

関連項目:

- SSHユーザー等価の構成方法の詳細は、次のURLを参照してください。
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=372795.1

- RACcheckを別のユーザーとして実行したり、ツールの実行前にデータベース認証を確認する方法の詳細は、「データベースのログイン上の問題」を参照してください。

RACcheckのパスワードの処理方法

RACcheckではパスワードを格納したり保存しません。rootパスワードの処理は、expectユーティリティがインストールされているかどうかによって異なります。

(Oracle Enterprise Linux 5を除くすべてのプラットフォームでデフォルトである) expectユーティリティがインストールされていない場合、rootのパスワード要求は延期され、RACcheckの実行の進捗を注意深く監視して、クラスタ内の各ノードで1回要求された際に、パスワードを入力する必要があります。それ以外の場合、RACcheckではパスワードを対話的に自動化するexpectユーティリティを使用します。他のLinuxディストリビューションにexpectユーティリティをインストールすると、パスワードの対話的な処理を自動化できます。

RACcheckによってexpectユーティリティが検出されると、プロセスの最初でツールによってrootパスワードが収集され、各ノードでrootパスワードが要求され必要とされるたびに、expectユーティリティによってそれが提供され、ユーザーがさらに入力を行う必要なくRACcheckを続行できます。

RACcheckは、クラスタ内のすべてのデータベース・サーバーでrootパスワードが同一であるか照会をします。(デフォルトである)肯定の応答を行った場合、rootパスワードが1回要求され検証され、以降クラスタ内のすべてのノードで使用されるようになります。(クラスタ内のすべてのノードのrootパスワードは同一でないという)否定の応答を行った場合、RACcheckによってクラスタ内の各ノードで個々にrootパスワードが求められ検証されます。

また、RACcheckによってexpectユーティリティが検出される場合、正しいパスワードを入力する機会が3回与えられ、rootパスワードは検証されます。正しいパスワードの入力に3回失敗すると、RACcheckは次のノードに移り、パスワードがまだ不正で、そのノードで収集されたデータに対するチェックがスキップされることを示すメッセージを表示します。この時点で、RACcheckの実行をキャンセルして正しいrootパスワードを入手するか、レポートに重要な情報が欠落している可能性がある認識で続行するかを選択します。

RACcheckでexpectユーティリティを使用する場合、rootパスワードが入力され検証されてから、それらのパスワードの対象であるノードに到達する間に、そのパスワードが変更されてしまう可能性もあります。その場合、RACcheckは、パスワードが変更された可能性があり、そのノードに対する収集(そのノードのチェック)をスキップするというメッセージを表示しますが、これはそのノードのチェックがスキップされることを意味します。データおよびチェックがスキップされることを把握したままRACcheckを完了させるか、RACcheckの実行をキャンセルして問題を解決するかいずれかを実行できます。

なんらかの理由によりRACcheckでチェックが1つでもスキップされる場合、実行の終了後に、どのノードでどのチェックがスキップされたか、ツールによってログにレポートがされます。

RACcheckの使用

RACcheckは、対話的にも、サイレントにも、また指定した間隔でRACcheckを自動的に実行することも可能です。RACcheckを対話的に実行するには、次のコマンドを実行します。

$ raccheck

RACcheckにより監査プロセスの間プロンプトが表示されます。

注意:
RACcheckの実行にかかる時間は、クラスタ内のノード数、CPUに対する負荷、ネットワークの遅延などの要因によって異なります。通常、処理全体は各ノードで5分ほどです。これは一般的な目安で、これよりも大幅に時間がかかる場合は、調査の必要がある他の問題がある場合があります。

この項の内容は次のとおりです。

- RACcheckデーモンを使用しないRACcheckのサイレント・モードでの実行

- RACcheckデーモンを使用したRACcheckの実行

- RACcheckでのレポートの比較

- アップグレードの準備状況を判断するためのRACcheckの実行

- 出力ファイルのメンテナンス

- 複数のデータベースのサポート

- データベースへのレポート用のRACcheckの結果およびパッチのアップロード

- 監査チェックの除外

RACcheckデーモンを使用しないRACcheckのサイレント・モードでの実行

RACcheckをサイレント・モードで実行するには、次の手順を実行します。

1. まずSSHユーザー等価を構成します。SSHユーザー等価の構成方法の詳細は、次のURLを参照してください。
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=372795.1

注意:
SSHユーザー等価は、クラスタをサポートするためにシステムでOracle Grid Infrastructureを実行している場合のみ必要です。これはクラスタ化されていないデータベースやOracle Restart構成では、必要ありません。

2. RACcheckでは、root固有のチェックの実行に、rootでのアクセスを必要とします。これらのチェックをサイレント・モードで進めるには、パスワード不要のsudoを構成して-sオプションを使用してRACcheckを実行します。

注意:
環境でsudoが許可されない場合には、この手順をスキップします。この場合でも、-Sオプションを使用して、ルート固有のチェックを行わずRACcheckをサイレントに実行することができます。ルート固有のチェックを排除すると、RACcheckの能力が制限されるため、この方法でのRACcheckの実行はお薦めしません。

3. RACcheckをサイレントで実行するには、構成に応じて次のいずれかの引数を指定します。

- -s: このオプションでは、sudoをoracleユーザーがrootパスワードを使用せず、無人でRACcheckを実行できます

- -S: このオプションでは、rootパスワードを使用せず、root権限の収集や監査を行わずRACcheckを無人で実行できます

注意:
RACcheckの機能を完全に利用するために、「RACcheckの用途」で説明するように、/tmp/root_raccheck.shのrootには、パスワード不要のsudoを実装することをお薦めします。

RACcheckは、Oracle Clusterwareから収集した情報を使用してサイレント・モードで実行されます。RACcheckをサイレント・モードで実行すると、Oracle Clusterwareのリソースと定義されているローカル・ノード上で実行されるすべてのデータベースに対して、データの収集と監査チェックが行われます。

RACcheckデーモンを使用したRACcheckの実行

RACcheckデーモンを実行するには、まずraccheck -set parameter=valueコマンドを実行してデーモン・パラメータを構成する必要があります。次の構成パラメータを設定できます。

- AUTORUN_INTERVAL: このパラメータでは、RACcheckを実行する間隔を日時(d | h)を指定して定義できます。次に例を示します。

$ raccheck -set AUTORUN_INTERVAL=1d

前述のコマンドでは、RACcheckデーモンが毎日実行されるよう構成されます。パラメータを0に設定した場合には、RACcheckデーモンは自動では実行されません。これがこのパラメータのデフォルト設定です。

- AUTORUN_FLAGS: このパラメータでは、表D-1に示したフラグを使用してRACcheckを実行する方法を定義できます。次に例を示します。

$ raccheck -set "AUTORUN_INTERVAL=12h;AUTORUN_FLAGS=-profile sysadmin"

前述のコマンドでは、12時間ごとにRACcheckでsysadminプロファイルが実行されるよう構成されます。

- PASSWORD_CHECK_INTERVAL: このパラメータでは、実行中のデーモンがデーモンの開始時に入力したパスワードを検証する頻度を(時間単位で)定義できます。(パスワードが変更されたことにより)デーモンに対して不正なパスワードが示される場合、デーモンは実行を停止し、デーモン・ログ(raccheck_daemon.log)に通知を入力します(構成されている場合は、電子メールも送信します)。次に例を示します。

$ raccheck -set PASSWORD_CHECK_INTERVAL=1

前述のコマンドでは毎時パスワードが検証されます。

- NOTIFICATION_EMAIL: このパラメータでは、特定のユーザーに通知が電子メールで送信されるようRACcheckデーモンを構成します。次に例を示します。

$ raccheck -set NOTIFICATION_EMAIL=firstname.lastname@company.com

注意:
各パラメータをセミコロンで区切ったリストにして、二重引用符("")で囲み、1つのコマンドに複数のパラメータを構成できます。たとえば、次のコマンドでは、RACcheckデーモンは毎日verboseモードで実行され、デーモンからの通知として電子メール・アドレスが指定され、毎時パスワードの変更がチェックされます。

$ raccheck -set "AUTORUN_INTERVAL=1d;AUTORUN_FLAGS= -o verbose;
NOTIFICATION_EMAIL=firstname.lastname@company.com;PASSWORD_CHECK_INTERVAL=1"

RACcheckデーモンのすべてのパラメータの現在の構成を取得するには、次のコマンドを実行します。

$ raccheck -get all

前述のコマンドでは次のような出力が戻されます。

AUTORUN_INTERVAL = 1d
AUTORUN_FLAGS = -o verbose
NOTIFICATION_EMAIL = firstname.lastname@company.com
PASSWORD_CHECK_INTERVAL = 1

RACcheckのパラメータは、RACcheckデーモンの起動後に設定または変更できます。

注意:
最低でもNOTIFICATION_EMAILおよびPASSWORD_CHECK_INTERVALのパラメータは構成することをお薦めします。

RACcheckデーモンを起動するには、次のコマンドを実行します。

$ raccheck –d start

RACcheckによって、必要な情報が収集され、デーモン・プロセスを起動する対話型のグラフィカル・ユーザー・インタフェースが起動されます。

RACcheckデーモンの実行中に、デーモン・プロセスを起動したユーザーとしてRACcheckデーモンを起動した同じディレクトリから、引数なしにコマンドラインにraccheckを入力して、RACcheckを必要に応じて実行することも可能です。このように実行した場合、デーモンがすべての要求でパラメータを渡し、対話的にRACcheckが実行されるときと同様な出力が画面に生成され、RACcheckは非対話的に実行されます。

注意:
RACcheckデーモンの実行時に、RACcheckを対話的に実行する場合は、次のコマンドを実行します。

$ raccheck -nodaemon

RACcheckデーモンの使用方法

- RACcheckデーモンが起動中の場合、他のユーザーがRACcheckデーモンを使用してRACcheckを非対話モードで実行することはできません。RACcheckデーモンを使用するには、デーモンが起動されたのと同じディレクトリから同じユーザーとして、RACcheckを必要に応じて実行する必要があります。

- RACcheckデーモンは一度起動されると、デーモンを(raccheck –d stopコマンドを使用して)明示的に停止するか、次の条件が満たさないかぎり、バックグラウンドで実行が継続します。

- 実行中のサーバーでデーモンが再起動されるか停止されます。

- いずれかのノードでパスワードが変更されてデーモンが停止され、raccheck_daemon.logにエントリが追加されます。加え、NOTIFICATION_EMAIL構成パラメータに入力されたアドレスにRACcheckが電子メールを送信します。必要なパスワードの有効性を確認するには、PASSWORD_CHECK_INTERVAL構成パラメータを設定します。

- デーモンの開始以降、RACcheckのスクリプトが変更されたり、新しいスクリプトに置き換えられた場合、RACcheckをそれ以降実行しようとしたり、自動実行されても失敗します。それ以降実行するには、デーモンを新しいスクリプトを使用して再起動する必要があります。

- (ノードまたはインスタンスが追加または削除されるなど)システムの構成が変わった場合、構成の変更が認識されるようRACcheckデーモンを再起動する必要があります。

RACcheckでのレポートの比較

RACcheckを使用して、2つのRACcheckレポートの結果を比較することができます。比較結果を使用して、わかりやすいHTMLレポートで、時間の経過とともにまたは計画メンテナンス後に変化するトレンドおよびベスト・プラクティスを監視できます。RACcheck出力ディレクトリ、.zip出力ファイル、HTMLレポートのRACcheckレポートにアクセスできることを確認します。

2つのRACcheckレポートを比較するには、次のコマンドを実行します。

$ raccheck -diff report_1 report_2

比較する2つのレポート・ファイルの名前を指定します。RACcheckで2つのファイルの比較が終了すると、ユーティリティによってサマリーが出力され、参照可能な比較レポートの場所が提供されます。

アップグレードの準備状況を判断するためのRACcheckの実行

RACcheckを使用すると、Oracle RACおよびOracle Clusterwareのアップグレード計画の促進に役立つ自動化されたアップグレード準備状況評価を取得することができます。次のアップグレード関係のドキュメントで詳細に説明する、多数の手動でのアップグレード前およびアップグレード後チェックを、RACcheckを使用し、自動で実行できます。

- 『Oracle Databaseアップグレード・ガイド』

- ご使用のプラットフォーム用のOracle Grid Infrastructureインストレーション・ガイド

- 次のMy Oracle Supportノート:

- https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=785351.1

- https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=837570.1

- https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1363369.1

- https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=810394.1

RACcheckは、ソフトウェアのアップグレードの前後に実行できます。アップグレード前チェックは、発生する可能性のある問題を解決するための十分な時間がある、実際のアップグレード・プロセス前のアップグレード・プロセスの計画段階で実行します。アップグレード後のチェックは、Oracle Grid InfrastructureおよびOracle Databaseが健全な状態にあることを確認するために実行します。次に、RACcheckのアップグレード・チェックから得ることができる可能性のあるものの要約を示します。

- アップグレード前チェックを実行する際、RACcheckではOracle Clusterwareに登録されているすべてのデータベースを検出し、アップグレード前チェックを実行するデータベースのリストを生成します。最新バージョンのデータベースが検出される場合、RACcheckではそれをスキップし、まったくチェックを行いません。

- アップグレード後チェックを実行する際、RACcheckではOracle Clusterwareに登録されているすべてのデータベースを検出し、アップグレード後チェックを実行するデータベースのリストを生成します。RACcheckによってOracle Database 11gリリース2 (11.2.0.3)より前のデータベース・バージョンが検出される場合、RACcheckではそれをスキップし、まったくチェックを行いません。

- アップグレード前チェックまたはアップグレード後チェックのいずれかが実行される場合でも、RACcheckではOracle Clusterwareとオペレーティング・システムの両方をチェックします。

- RACcheckではチェックを終了すると、その結果とその他の詳細および情報へのリンクを含むレポートをHTML形式で生成します。

RACcheckのアップグレード・チェックを実行するには、次の構文を使用します。

$ raccheck -u -o pre | post

出力ファイルのメンテナンス

RACcheckを実行すると、ツールによってraccheckで開始され、日時を含む命名規則の(raccheck_SIEBXL_072613_141001などの)サブディレクトリ、および(raccheck_SIEBXL_072611_141001.zipなど)サブディレクトリのコンテンツを含むzipファイルが、ファイル・システム上のRACcheck自体と同じレベルで作成されます。ファイル・システム上のサブディレクトリおよびzipファイルの合計サイズは、5MB未満である必要があります。システム上のノード数およびデータベース数により、正確なものは異なります。RACcheckはシステムに対する負荷が最小のときに実行することをお薦めしますが、時間の経過に伴い、ファイル数は増え、古いファイル、サブディレクトリまたはこの両方をメンテナンスおよび削除する必要性が生じます。

複数のデータベースのサポート

RACcheckは複数のデータベースをサポートするよう設計されています。このツールは、Oracle Grid Infrastructureに登録されている実行中のデータベースのリストを提示します。1つ選択するか、すべて選択するか、またはリストされたデータベースを指定する数のカンマ区切りリストを選択できます。クラスタ内の他のノードで実行されているデータベース・インスタンスをチェックするために複数のノードにツールをインストールする必要はありません。

RACcheckはローカルbequeath接続を使用してすべてのデータベースにログインし、ツールを実行するユーザーのデータベースにオペレーティング・システム認証が存在することを前提としています。構成によっては、(oracleなど)同じオペレーティング・システム・ユーザーが所有するデータベース・ホームが複数あったり、すべて異なるオペレーティング・システム・ユーザーが所有するデータベース・ホームがいくつもある場合があります。

前者の場合、RACcheckをoracleとして実行します。後者の場合、可能なかぎりの情報を得るために、最大数のデータベースがあるホームにRACcheckうをデプロイします(この場合、そのホームの所有者としてRACcheckをインストールします)。その他のデータベースをスキャンするには、各データベース・ホーム・ユーザー・アカウントとしてRACcheckをインストールして実行する必要があります。

データベースへのレポート用のRACcheckの結果およびパッチのアップロード

レポート用のデータ・ソースとして使用するために、RACcheckによって実行された監査チェックの結果またはインストール済パッチのリストをデータベース表にアップロードすることできます。

このオプションの機能を利用するには、実行環境に多数の環境変数を設定し、2つの表を(1つは監査チェックの結果、もう1つはシステムにインストール済のパッチ用に)作成して、そのデータを受取る必要があります。

auditcheck_resultという結果表を作成するには、次のDDLコマンドを実行します。

create table
auditcheck_result
(
COLLECTION_DATE TIMESTAMP,
CHECK_NAME VARCHAR2(256),
PARAM_NAME VARCHAR2(256),
STATUS VARCHAR2(256),
STATUS_MESSAGE VARCHAR2(256),
ACTUAL_VALUE VARCHAR2(256),
RECOMMENDED_VALUE VARCHAR2(256),
COMPARISON_OPERATOR VARCHAR2(256),
HOSTNAME VARCHAR2(256),
INSTANCE_NAME VARCHAR2(256),
CHECK_TYPE VARCHAR2(256),
DB_PLATFORM VARCHAR2(256),
OS_DISTRO VARCHAR2(256),
OS_KERNEL VARCHAR2(256),
OS_VERSION NUMBER,
DB_VERSION VARCHAR2(256),
CLUSTER_NAME VARCHAR2(256),
DB_NAME VARCHAR2(256),
ERROR_TEXT VARCHAR2(256)
CHECK_ID VARCHAR2(40),
NEEDS_RUNNING VARCHAR2(100),
MODULES VARCHAR2(4000),
DATABASE_ROLE VARCHAR2(100),
CLUSTERWARE_VERSION VARCHAR2(100),
GLOBAL_NAME VARCHAR2(256)
);

auditcheck_patch_resultというパッチの表を作成するには、次のDDLコマンドを実行します。

create table
auditcheck_patch_result
( COLLECTION_DATE     TIMESTAMP(6),
HOSTNAME            VARCHAR2(256),
ORACLE_HOME_TYPE    VARCHAR2(256),
ORACLE_HOME_PATH    VARCHAR2(256),
ORACLE_HOME_VERSION VARCHAR2(256),
PATCH_NUMBER NUMBER,
CLUSTER_NAME VARCHAR2(256),
DESCRIPTION         VARCHAR2(256),
PATCH_TYPE VARCHAR2(128),
APPLIED NUMBER,
RECOMMENDED NUMBER
);

次の環境変数を設定します(例の値が示されています)。

$ export RAT_UPLOAD_CONNECT_STRING="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = bonanza)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))"
$ export RAT_UPLOAD_TABLE=auditcheck_result (name must match that of the table created for the purpose)
$ export RAT_PATCH_UPLOAD_TABLE=auditcheck_patch_result (name must match the name of the table created for the purpose)
$ export RAT_UPLOAD_USER=auditcheck (schema owner of the table created for the purpose)
$ export RAT_UPLOAD_PASSWORD=auditcheck (password for the schema owner)
$ export RAT_UPLOAD_ORACLE_HOME=path_of_database_home (optional, alternate home
containing sqlplus that you want to use for connecting in case it is not the
current $ORACLE_HOME as derived by RACcheck from the environment)

注意:
接続文字列には、RACcheckを実行する可能性のあるすべてのサーバーでのtnsnames.oraファイルの名前解決に依存する必要のないように、tnsnames.oraファイルの別名ではなく、(前述の例に示した)完全修飾されたアドレスを使用します。二重引用符("")を使用する必要があります。

実行環境に(前述の例で示した)最初の4つの環境変数を設定すると、RACcheckでは、プロセスの最後にデータを表にアップロードすることが目的であると想定し、データのアップロードを試行します。このプロセスでは、ユーザーが環境を正しく設定している必要があります(つまり、接続文字列はアクセス可能で、ユーザー名およびパスワードは正しく、表名は正しい必要があります)。RACcheckでデータベースに接続できない場合、それに関するメッセージがログに記述されます。RAT_UPLOAD_ORACLE_HOMEの変数を設定すると、RACcheckから派生する現在のOracleホームからSQL*Plusを起動せず、RACcheckによりそのホームからSQL*Plusが起動されます。最初の4つの環境変数をいずれも設定しない場合、RACcheckではデータのアップロードを試行しません。

監査チェックの除外

オプションで、RACcheckの最初の実行後、次のように1つ以上の監査チェックを除外できます。

1. RACcheckスクリプトおよびドライバ・ファイルと同じディレクトリに、excluded_check_ids.txtという名前のテキスト・ファイルを作成します。

2. ツールの前回の実行の出力ディレクトリにあるraccheck.logファイルを開きます。

3. 以降の実行で除外する監査チェックを検索します。

4. 除外する監査チェックのCHECK_IDのメモを取ります。CHECK IDはCHECK_ID = 65E4DC8B76BC4DA6E040E50A1EC03704のような英数字の文字列です。監査チェックのブロックにCHECK_ID行がない場合、その監査チェックは除外できません。

5. excluded_check_ids.txtファイルに除外する監査チェックのCHECK_IDを、1行にCHECK_IDを1つずつ入力します。

6. 以降、RACcheckを実行すると、ツールによって監査チェックが実行される前に、除外するチェックがあるかexcluded_check_ids.txtファイルが確認され、それらがスキップされます。

RACcheckのトラブルシューティング

この項では、RACcheckの実行時に発生する可能性のある様々な問題とその解決方法を、次の内容で説明します。

- ランタイム・コマンドのタイムアウト

- エラーを含むraccheck_error.logファイル

- リモートからのrootのログインの問題

- ローカル環境の問題

- データベースのログイン上の問題

- ユーザー・プロファイル

ランタイム・コマンドのタイムアウト

root権限で実行されていない個別のコマンドが完了前にタイムアウトする場合、そのプロセスはRACcheckにより停止され、必要なデータは収集されません。これが発生する場合は、次の環境変数をスクリプトの実行環境に設定して延長することができます。

$ export RAT_TIMEOUT=120

環境変数のデフォルト値は90秒です。

RACcheckでは、クラスタ内のノードごとにroot権限でのデータ収集のセットを実行します。データの収集前に収集がタイムアウトする場合、そのプロセスはRACcheckにより停止され、必要なデータは収集されません。これが発生する場合は、次の環境変数をスクリプトの実行環境に設定して延長することができます。

$ export RAT_ROOT_TIMEOUT=600

環境変数のデフォルト値は300秒です。

注意:
これらのタイムアウトのいずれかが発生する場合、遅延の原因を特定して修正し、システムに対する負荷が最小のときにRACcheckを実行することをお薦めします。

エラーを含むraccheck_error.logファイル

raccheck_error.logファイルにある、次のエラーは無視してかまいません。

- /bin/sh: /u01/app/11.2.0/grid/OPatch/opatch: Permission denied

- chmod: changing permissions of '/u01/app/oracle_ebs/product/11.2.0.2/VIS_RAC/.patch_storage': Operation not permitted

- OPatch could not open log file, logging will not be possible

- Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

前述のエラーは、ロールが分かれている環境で、データベース・ソフトウェア所有者によって実行されたRACcheckが、OPatchを使用してその他のユーザー(gridやその他のデータベース・ホーム所有者など)が所有するホームのパッチ・インベントリを列挙しようとするときに発生します。それらのその他のユーザーのためにパッチ・インベントリを列挙するためにOPatchを実行する場合、現在のユーザーはその他のホームに対する権限を持たないためにエラーが発生します。これらの場合、OPatchエラーは無視され、それらのホームのパッチ・インベントリはその他の手段で収集されます。

また、次に類似したエラーを無視できます。

./raccheck: line [N]: [: : integer expression expected

行番号は経時変化する場合がありますが、このエラーは、RACcheckが整数の戻り値を期待しているにもかかわらず、値が見つからないときに発生します。比較を実行するときに、RACcheckではこのエラーを返します。このエラーは、同じコマンドに対し各ノードで1回ずつ何度も返されます。

リモートからのrootのログインの問題

SSHを介したリモートからのrootログインが許可されない場合、root権限コマンドが失敗する場合があります。Oracleソフトウェアの所有者(oracle)を確認するには、稼働していない任意のノードから次のコマンドを手動で実行し、次のように出力されることを確認します。

$ ssh root@remotehostname "id"
root@remotehostname's password:
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

リモートのrootログインが動作していない場合、RACcheckではリモート・ノードをチェックできません。一時的なものであったとしても、RACcheckを実行する際は、システム管理者に問い合せて修正します。

リモートのrootログインを構成できる場合、次のようにして/etc/ssh/sshd_configファイルを編集します。

PermitRootLogin to yes

rootとして、クラスタのすべてのノードで次のコマンドを実行します。

# /etc/init.d/sshd restart

ローカル環境の問題

RACcheckでは、環境(オペレーティング・システムおよびOracle Cluster Registry)から必要なデータをすべて導出しようとしますが、ローカル・システムの違いにより期待どおりにツールが機能せず、可能なシナリオをすべて予想したりテストすることが困難な場合があります。したがって、環境変数が多数サポートされているので、ツールのデフォルトの動作をオーバーライドするか、必要な情報を提供する必要があります。次に環境変数の一覧とそれぞれの説明を示します。

- RAT_INV_LOC: 期待の場所(/u01/app/oraInventory)にoraInst.locファイルがない場合、この環境変数内にoraInventoryディレクトリの正しい場所を指定できます。

- RAT_CRS_HOME: Oracle Clusterwareがインストールされているにもかかわらず、RACcheckが正しいGrid_homeパスを特定できず、ソフトウェアがインストールされていないという情報が表示される場合にこの環境変数を設定します。

- RAT_ORACLE_HOME: Oracle Clusterwareに登録されているデータベースの正しいORACLE_HOMEパスをRACcheckが特定できず、データベース・ソフトウェアがインストールされているにもかかわらず、そのソフトウェアがインストールされていないという情報が表示される場合にこの環境変数を設定します。RACcheckでは、この環境変数に指定したホームから実行されるすべてのデータベースに対して、ベスト・プラクティスおよび推奨のパッチのチェックを実行します。

- RAT_ASM_HOME: Oracle Clusterwareから(Grid_homeパスと同じ)正しいOracle ASMホーム・パスをRACcheckが特定できず、Oracle ASMソフトウェアがインストールされているにもかかわらず、そのソフトウェアがインストールされていないという情報が表示される場合にこの環境変数を設定します。

- RAT_OS: RACcheckが正しいプラットフォームを特定できず、判断されたプラットフォームに必要なデータが見つからないとツールから通知される場合に、この環境変数を設定します。

- RAT_DB: RACcheckによって不正なデータベース・バージョンが特定される場合に、この環境変数を設定します。

- RAT_DBNAMES: RACcheckがOracle Clusterwareから有効なデータベース名を判断できない場合に、この環境変数を設定します。スペース区切りのデータベース名のリストを指定すると、RACcheckでは、Oracle Clusterwareから導出されたものではなくそのリストを使用します。次に例を示します。

$ export RAT_DBNAMES="ORCL ORADB PROD"

複数のデータベース名を指定する場合は、二重引用符("")を使用します。

注意:
Oracle Clusterwareに登録されたデータベースのサブセットとしてRAT_DBNAMESを構成する場合、Oracle Clusterwareに登録されていると検出されるすべてのデータベースのパッチ・インベントリを推奨のパッチに対してチェックする場合、RAT_DBHOMESも構成することをお薦めします。

- RAT_DBHOMES: RAT_DBNAMES環境変数を設定する場合、デフォルトで推奨のパッチ解析は、リストしたデータベース名のホームに限定されます。RAT_DBNAMESに指定した以外の追加のデータベース・ホームで推奨のパッチ解析を実行する場合は、推奨されるパッチをチェックするホームをスペース区切りのデータベース・リストで指定します。たとえば、export RAT_DBNAMES="ORCL ORADB"コマンドを実行したが、PRODデータベースがダウンしていてもPRODデータベース・ホームもチェックしたい場合を想定します。export RAT_DBHOMES="ORCL ORADB PROD"コマンドを実行すると、ORCLおよびORADBのデータベースに対してベスト・プラクティスがチェックされますが、推奨のパッチは、ORCL、ORADBおよびPRODのデータベース・ホームに対してチェックされます。複数のデータベース名を指定する場合は、二重引用符("")を使用します。

- RAT_SSHELL: sshが期待する場所になく、sshコマンドが次のエラーを返す場合、デフォルトの場所(通常は/usr/bin/ssh)をオーバーライドしセキュア・シェルの場所を指定する、この環境変数を設定します。

-bash: /usr/bin/ssh -q: No such file or directory

- RAT_SCOPY: scpが期待する場所になく、scpコマンドが次のエラーを返す場合、デフォルトのセキュア・コピーの場所(通常は/usr/bin/scp)をオーバーライドしセキュア・コピーの場所を指定する、この環境変数を設定します。

/usr/bin/scp -q: No such file or directory

データベースのログイン上の問題

データベース・ソフトウェアのインストール所有者以外のユーザー(rootまたはgridなど)としてRACcheckを実行する場合にデータベース接続で問題が発生した場合、次を実行します。

1. gridとしてシステムにログインします。

2. 次のコマンドを実行します。

$ export ORACLE_HOME=path_to_Oracle_Database_home
$ export ORACLE_SID=database_SID
$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib:$PATH

3. $ORACLE_HOME/network/admin/tnsnames.oraファイルにdatabase_SIDの別名を追加します。

4. パスワードを含め、次のようにデータベースに接続します。

$ORACLE_HOME/bin/sqlplus sys@SID as sysdba

5. 正常に接続したことを確認します。

この方法でデータベース接続に失敗する場合、RACcheckでも同様に接続できません。ツールをOracle Databaseソフトウェア・インストール所有者として実行することを検討してください。

ユーザー・プロファイル

ユーザー・プロファイルにプロンプトまたはトラップがある場合、実行時にプロファイルをソースとするため、RACcheckが実行中にハングする場合があります。このため、RACcheckではこれらの文を環境内のプロファイルでチェックし、すべてのノードで一時的にそれらの文をコメント・アウトすることをアドバイスするメッセージを表示します。

脚注の凡例

脚注 1: Linux Itaniumはサポート対象外です
脚注 2: システムにBASH Shell 3.2以上をインストールする必要があります

用語集

自動ワークロード・リポジトリ(AWR)

すべてのOracle Databaseに存在する組込みリポジトリ。Oracle Databaseは、すべての重要な統計およびワークロード情報のスナップショットを定期的に生成し、AWRに格納します。

管理者管理データベース

実行可能なサーバーやデータベース内のどこでサービスが実行可能かを特に定義したデータベースです。

キャッシュ一貫性

任意のキャッシュを介してメモリー位置を読み取っても、別のキャッシュを介してその位置に書き込まれた最新のデータが戻されるように、複数のキャッシュ内のデータを同期化することです。キャッシュ整合性とも呼ばれます。

キャッシュ・フュージョン

ブロックを保持しているインスタンスのメモリー・キャッシュから要求側インスタンスのメモリー・キャッシュにブロックを直接コピーする、Oracle RACのディスク不要のキャッシュ一貫性メカニズム。

カーディナリティ

通常操作中に実行するデータベース・インスタンスの数です。

クラスタ

相互に接続された複数のコンピュータまたはサーバーで、エンド・ユーザーおよびアプリケーションからは1つのサーバーとして認識されます。

クラスタ・ファイル・システム

高パフォーマンスのサービスをクライアントに提供するために連携するサーバーのクラスタによる分散ファイル・システム。クラスタ・ファイル・システム・ソフトウェアはストレージ・クラスタ・コンポーネントへの分散リクエストを処理します。

クラスタ・データベース

Oracle RACデータベースの総称。

クラスタ・レディ・サービス・デーモン(CRSD)

高可用性リカバリおよびOCRのメンテナンスのような管理操作を実行する主なOracle Clusterwareのプロセスです。また、アプリケーション・リソースを管理し、rootユーザー(Mac OS Xベースのシステムではadminグループのユーザー)として実行され、障害発生時に自動的に再起動します。

クラスタ同期サービス(CSS)

クラスタ全体のメンバーシップの共通ビューを提供して、各ノードのメンバーシップの状態を検出および追跡するOracle Clusterwareコンポーネント。CSSはプロセスの状態(特にデータベース・インスタンスの状態)も監視します。バックグラウンド・プロセスであるグローバル・エンキュー・サービス・モニター(LMON)が、クラスタ・データベース環境の状態を監視し、CSSへの登録および登録解除を行います。「OCSSD」も参照してください。

クラスタ時刻同期サービス

クラスタ内のすべてのノードの内部クロックがすべて同期化されるようにする時刻同期メカニズム。

クラスタ検証ユーティリティ(CVU)

共有ストレージ・デバイス、ネットワーク構成、システム要件、Oracle Clusterware、グループ、ユーザーなど、Oracle RACの様々なコンポーネントを検証するツール。

分散トランザクション処理(DTP)

分散トランザクションの枠組み。外部的に調整されたトランザクションであるXAタイプと、内部的に調整されたトランザクションである分散SQLタイプ(Oracleのデータベース・リンク)の両方が含まれます。

イベント・マネージャ(EVM)

Oracle Clusterwareのイベントを発行するバックグラウンド・プロセス。イベントの発生時に、EVMは指定されたコールアウト・ディレクトリをスキャンし、そのディレクトリ内のすべてのスクリプトを実行します。

イベント・マネージャ・デーモン(EVMD)

LinuxまたはUNIXのイベント・マネージャ・デーモン。racgevtプロセスを起動してコールアウトを管理します。

拡張遠距離クラスタ

クラスタの各ノードが、遠く離れた2つの建物に配置(道りの反対側、キャンパスの反対側や街の反対側など)されたクラスタです。可用性の理由から、データを両方のサイトに配置する必要があり、これにより、記憶域をミラー化するための代替を検討する必要があります。

障害グループ

障害グループはディスク・グループのディスクのサブセットです。これらのディスクはハードウェアを共有するため、同時に障害が発生する可能性があります。障害グループは、データのミラー・コピーを格納するために使用されます。

高速アプリケーション通知(FAN)

アプリケーションでは、FANを使用して、迅速な障害の検出、障害発生後の接続プールの分散の均等化、および障害が発生したコンポーネントの修復時の接続プールの分散の再均等化を行うことができます。FAN通知プロセスでは、クラスタ・サーバーが使用不可になるか、またはネットワーク・インタフェースに障害が発生した場合にOracle Databaseによって発行されるシステム・イベントが使用されます。

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

JDBC、OCIまたはODP.NETを使用するクライアントなどのFAN統合クライアントの高可用性を実現します。高速接続フェイルオーバーを使用するようにクライアントを構成した場合、クライアントが自動的にFANイベントをサブスクライブし、データベースのUPイベントおよびDOWNイベントに対処できます。それに対応して、Oracle Databaseは、要求されたデータベース・サービスを提供するアクティブ・インスタンスにクライアントを接続します。

ディスク書込みの強制実行

Oracle RACでは、ある特定のデータ・ブロックを変更できるのは一時点で1つのインスタンスのみです。あるインスタンスによって、別のインスタンスに必要なデータ・ブロックが変更された場合、そのブロックに送信された要求のタイプによっては、ディスク書込みの強制実行が必要になります。

General Parallel File System (GPFS)

General Parallel File System (GPFS)は、IBM社の共有ディスク・ファイル・システム製品。同機種または異機種クラスタ内のすべてのノードからのデータ・アクセスを提供します。

グローバル・キャッシュ・サービス(GCS)

キャッシュ・フュージョンを実装するプロセス。グローバル・ロール内のブロックのブロック・モードを保持します。インスタンス間のブロックの転送を担います。グローバル・キャッシュ・サービスでは、グローバル・キャッシュ・サービス・プロセス(LMSn)、グローバル・エンキュー・サービス・デーモン(LMD)などの、様々なバックグラウンド・プロセスが使用されます。

グローバル・キャッシュ・サービス・プロセス(LMSn)

リモート・メッセージを管理するプロセス。Oracle RACでは、最大で10のグローバル・キャッシュ・サービス・プロセスが提供されます。

グローバル・キャッシュ・サービス(GCS)・リソース

複数のOracle RACインスタンスのバッファ・キャッシュ内のデータ・ブロックへのアクセスを調整し、キャッシュ一貫性を提供するグローバル・リソース。

グローバル・データベース名

データベースを他のデータベースから一意に識別する完全な名前。グローバル・データベース名の書式はdatabase_name.database_domain(たとえばOP.US.FOO.COM)です。

グローバル動的パフォーマンス・ビュー(GV$)

Oracle RACクラスタ内のすべてのオープン・インスタンスに関する情報を格納する動的パフォーマンス・ビューです。(ローカル・インスタンスには限りません。)これに対して、標準の動的パフォーマンス・ビュー(V$)は、ローカル・インスタンスに関する情報のみを格納します。

グローバル・エンキュー・サービス(GES)

グローバルに共有されるエンキューを調整するサービス。

グローバル・エンキュー・サービス・デーモン(LMD)

リソースへの要求を管理して、ブロックへのアクセスを制御する、リソース・エージェント・プロセス。LMDはデッドロックの検出およびリモート・リソース要求の処理も行います。リモート・リソース要求とは、別のインスタンスから発行された要求です。

グローバル・エンキュー・サービス・モニター(LMON)

バックグラウンドのLMONプロセスは、クラスタ全体を監視し、グローバル・リソースを管理します。LMONはインスタンスの完全破損および障害が発生したインスタンスに関連付けられたリカバリを管理します。特に、LMONはグローバル・リソースに関連付けられたリカバリの部分を処理します。LMONによって提供されるサービスは、クラスタ・グループ・サービスとも呼ばれます。

グローバル・サービス・デーモン(GSD)

SRVCTLからの要求を受けとり、起動や停止などの管理ジョブ・タスクを実行するコンポーネント。コマンドは各ノードでローカルに実行され、その結果はSRVCTLに戻されます。GSDはデフォルトでノードにインストールされています。

Oracle Grid Infrastructure

エンタープライズ・グリッド・アーキテクチャ用のインフラストラクチャを提供するソフトウェア。クラスタの場合は、Oracle ClusterwareとOracle Automatic Storage Management(Oracle ASM)が含まれます。スタンドアロン・サーバーの場合は、Oracle RestartとOracle ASMが含まれます。Oracle Database 11gリリース2(11.2)では、これらのインフラストラクチャ製品がOracle Grid Infrastructureホーム(Grid_home)と呼ばれる1つのソフトウェア・インストールの中に結合されています。

グリッドのプラグ・アンド・プレイ・デーモン(GPNPD)

このプロセスを使用すると、グリッド・プラグ・アンド・プレイ・プロファイルにアクセスできます。また、クラスタのノード間でプロファイルの更新が調整され、すべてのノードで最新のプロファイルが保持されます。

High Availability Cluster Multi-Processing (HACMP)

IBM AIXベースの高可用性クラスタ・ソフトウェア製品。HACMPは高可用性(HA)とクラスタ・マルチプロセッシング(CMP)の2つの主なコンポーネントで構成されます。

高可用性

ハードウェアまたはソフトウェア障害が発生しても、一貫性のある連続的なサービスを提供する、冗長コンポーネントを搭載したシステム。ある程度の冗長性を伴います。

インスタンス

Oracle RACデータベースの場合、クラスタ内の各ノードには通常、データベースを参照する実行中のOracleソフトウェアのインスタンスが1つ存在します。データベースが起動されると、Oracle Databaseによってシステム・グローバル領域(SGA)と呼ばれるメモリー領域が割り当てられ、1つ以上のOracle Databaseプロセスが起動されます。このSGAとOracle Databaseプロセスの組合せはインスタンスと呼ばれます。各インスタンスには、一意のOracleシステム識別子(SID)、インスタンス名、ロールバック・セグメントおよびスレッドIDが割り当てられます。

インスタンス・メンバーシップ・リカバリ

Oracle RACで、すべてのクラスタ・メンバーが機能しているか、またはアクティブであることを保証するために使用される方法です。インスタンス・メンバーシップ・リカバリによってメンバーシップがポーリングおよび調整されます。制御ファイルでハートビートを示していないメンバー、または定期的なアクティビティ問合せメッセージに応答しないメンバーは、停止しているとみなされます。

インスタンス名

クラスタで共通のサービス名が共有されている場合に、特定のインスタンスを一意に識別するために使用されるインスタンスの名前。インスタンス名は、インスタンス初期化ファイル(initsid.ora)のINSTANCE_NAMEパラメータによって識別されます。Oracleシステム識別子(SID)と同じです。

インスタンス番号

データ・ブロックのエクステントを特定のインスタンスと関連付ける番号。インスタンス番号を使用すると、インスタンスを起動し、そのインスタンスに割り当てられたエクステントが挿入および更新に使用されていることを確認できます。これによって、そのインスタンスが他のインスタンスに割り当てられた領域を使用していないことを確認できます。

インターコネクト

ノード間の通信リンク。

論理ボリューム・マネージャ(LVM)

オンラインでのディスク記憶域管理に使用される、LinuxまたはUNIXのサブシステムの総称。

プロセス間通信(IPC)

オペレーティング・システム依存の高速転送コンポーネント。IPCは異なるノード上のインスタンス間でメッセージを転送します。インターコネクトとも呼ばれます。

マスター・ブート・レコード(MBR)

コンピュータの起動時に実行されるプログラム。通常、MBRはローカル・ハード・ディスクの最初のセクターに存在します。パーティション表を調査し、システムの起動に使用するパーティションを決定して、起動プロセスを開始します。その後、MBRプログラムは起動パーティションのブート・セクターに制御を移し、起動プロセスを続行させます。

メトリック

累積統計の変更率です。

Network Attached Storage (NAS)

ネットワーク経由でサーバーに接続された記憶域。

ネットワーク・タイム・プロトコル(NTP)

TCP/IPの最上位に構築されたインターネット標準プロトコル。このプロトコルは、ネットワーク内のコンピュータ時計の時刻をミリ秒単位で正確に同期化します。

ネットワーク・インタフェース・カード(NIC)

コンピュータをネットワークに接続するために、コンピュータに挿入するカード。

ノード

ノードは、Oracle RACおよびOracle Clusterwareソフトウェアがインストールされているコンピュータ・システムです。

Object Link Manager (OLM)

シンボリック・リンクを論理ドライブにマッピングし、それらをOLMのGraphical User Interfaceに表示するOracleインタフェース。

OCSSD

クラスタ同期サービス(CSS)・デーモンを管理するLinuxまたはUNIXのプロセスです。クラスタ・ノード・メンバーシップを管理し、oracleユーザーとして実行し、このプロセスに失敗した場合はクラスタが再起動されます。

Oracle Cluster File System

Oracleには、2種類のクラスタ・ファイル・システム(Windows用のOCFS、Linux用のOCFS2)があります。Windows用のOCFSは独自のファイル・システムですが、Linux用のOCFS2のソースは、GNUのGeneral Public License(GPL)に基づいて使用できます。2つのファイル・システムに互換性はありません。

Oracle Cluster Registry (OCR)

クラスタ・ノード・リストに関する情報およびインスタンスからノードへのマッピング情報を管理するOracle RAC構成情報のリポジトリ。OCRは、カスタマイズされたアプリケーション用のOracle Clusterwareリソース・プロファイルに関する情報も管理します。

Oracle Enterprise Manager Configuration Assistant

Oracle Enterprise Manager機能の構成に使用できるGraphical User InterfaceベースのConfiguration Assistant。

Oracleグリッド・ネーミング・サービス・デーモン(GNSD)

Oracleグリッド・ネーミング・サービスは、クラスタmDNSと外部DNSサーバー間のゲートウェイ。gnsdプロセスは、クラスタ内で名前解決を実行します。

Oracle高可用性サービス・デーモン(OHASD)

このプロセスは、クラスタ操作を円滑化するプロセスで構成される、Oracle Clusterwareスタックの下位部分を常駐させます。

Oracle Interface Configurationツール(OIFCFG)

非クラスタのOracle DatabaseとOracle RACデータベースの両方で使用されるコマンドライン・ツールです。このツールを使用すると、コンポーネントへのネットワーク・インタフェースの割当ておよび割当て解除を行ったり、特定のネットワーク・インタフェースを使用するようにコンポーネントに指定したり、コンポーネントの構成情報を取得することができます。Oracle Universal Installerも、OIFCFGを使用して、使用可能なインタフェースの識別および表示を行います。

Oracle Managed Files

いくつかの初期化パラメータに基づいて、制御ファイル、REDOログ・ファイル、データファイルなどのデータベース・ファイルの名前の指定、場所の設定、作成、削除を自動化するサービスです。Oracle Managed Filesは、VxFSやODMなどのホスト・オペレーティング・システムでサポートされている従来のファイル・システムに加えて使用できます。データベース管理の多くの側面について独自の方針を作成する必要をなくすことによって、それらの詳細を簡略化できます。

Oracle Notification Service

すべてのFANイベントに関する情報を通信する、パブリッシュおよびサブスクライブ・サービス。

Oracle Clusterware

ノードのメンバーシップ、グループ・サービス、グローバル・リソース管理、高可用性機能などのクラスタ・データベースの処理を管理するOracle提供のクラスタウェア。

Oracle Universal Installer

Oracle Clusterware、Oracleリレーショナル・データベース・ソフトウェアおよびOracle RACソフトウェアをインストールするためのツールです。Oracle Universal Installerを使用してDatabase Configuration Assistant(DBCA)を起動することもできます。

ポリシー管理データベース

クラスタ・リソースとして定義したデータベースです。データベースの管理は、データベースがどのサーバーで実行可能か、予想されるワークロードのサポートにデータベースのインスタンスがいくつ必要かといった、リソースの構成方法によって定義されます。

RAWデバイス

ファイル・システムがまだ設定されていないディスク・ドライブ。ディスクの共有が可能であるため、Oracle RACに使用されます。「RAWパーティション」も参照してください。

RAWパーティション

最小限のアクセス・レベルでアクセスされる物理ディスクの部分。拡張パーティションが作成され、論理パーティションがフォーマットされずに拡張パーティションに割り当てられた場合に作成されます。フォーマットが完了したパーティションは、クックド・パーティションと呼ばれます。「RAWデバイス」も参照してください。

Recovery Manager (RMAN)

データファイル、制御ファイルおよびアーカイブREDOログ・ファイルをバックアップ、コピー、リストアおよびリカバリできるツール。Oracleサーバーに含まれており、個別にインストールする必要はありません。RMANは、オペレーティング・システム(OS)のプロンプトからコマンドライン・ユーティリティとして実行するか、またはGUIベースのOracle Enterprise ManagerのBackup Managerを使用して実行できます。

結果キャッシュ

結果キャッシュはSGAまたはクライアント・アプリケーション・メモリー内のメモリー領域で、データベースの問合せまたは問合せブロックの結果を再利用するために格納します。キャッシュされた行は、失効しないかぎり文およびセッション間で共有されます。

ランタイム接続ロード・バランシング

Oracle Databaseは、要求されたアプリケーションに対して現在のワークロードに応じて最適なサービスを提供する接続プールに基づいて、インテリジェントなサービス接続決定を行うことができます。JDBC、ODP.NETおよびOCIクライアントはロード・バランシング・アドバイザと統合され、これらのいずれかのクライアント環境を使用して、ランタイム接続ロード・バランシングを使用できます。

スケーラビリティ

Oracle RACアプリケーションにノードを追加し、大幅なスケールアップおよびスピードアップを実現する機能です。

セキュア・シェル(SSH)

ネットワーク上のリモート・コンピュータにログインするためのプログラム。SSHを使用すると、リモート・システム上でコマンドを実行し、ファイルをあるシステムから別のシステムに移動できます。SSHでは厳密認証が使用され、セキュアでないチャネル上での通信を保護します。

サーバー制御(SRVCTL)ユーティリティ(SRVCTL)

Server Management(SRVM)は、Oracle Enterprise ManagerをOracle RACで操作するために必要なコンポーネントを構成します。Intelligent Agent、グローバル・サービス・デーモン、SRVCTLなどのSRVMコンポーネントを使用すると、オープンなクライアント/サーバー・アーキテクチャを介して異機種間環境で実行されているクラスタ・データベースを、Oracle Enterprise Managerを使用して管理できます。

サーバー

Oracleソフトウェアがインストールされていないコンピュータ・システムです。

サーバー・グループ

アプリケーション、データベースまたはその両方をホスティングするグループに論理的に分割されているクラスタ内のノードです。サーバー・グループはその他のサーバー・グループのメンバーになることができます。

サービス・レベル

システムのパフォーマンスの尺度。

サービス

Oracle RACデータベースで定義可能なエンティティ。サービスによって、データベースのワークロードをグループ化し、サービスを提供するために割り当てられた最適なインスタンスに作業をルーティングできます。

Shared Everything

すべてのインスタンスによってすべてのデータへのアクセスが共有されるデータベースのアーキテクチャ。

単一クライアント・アクセス名(SCAN)

Oracle Database 11gのデータベース・クライアントでは、データベースとの接続にSCANを使用します。SCANは、パブリック・クライアント接続を処理するクラスタ内の複数のリスナーに対応する、複数のIPアドレスに解決できます。

単一のサービス

一度に1つのインスタンス上のみで実行されるサービス。サービスの分散トランザクション処理(DTP)プロパティを定義することによって、サービスを強制的にSINGLETONサービスにすることができます。

スプリット・ブレイン・シンドローム

複数のインスタンスによってクラスタ・データベースの制御が試行される状態。たとえば、2ノード環境で、一方のインスタンスによって更新の管理が試行され、もう一方のインスタンスによって同時に更新の管理が試行される状態です。

システム識別子(SID)

Oracleシステム識別子(SID)は、実行中のOracleソフトウェアの特定のインスタンスを識別します。Oracle RACデータベースの場合、クラスタ内の各ノードにはデータベースを参照するインスタンスが存在します。

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

Oracle RACやOracle RAC Guardなどの高可用性環境を対象としたランタイム・フェイルオーバーで、TAFとは、アプリケーションからサービスへの接続のフェイルオーバーおよび再確立を指します。これにより、クライアント・アプリケーションは接続障害の発生時にデータベースに自動的に再接続でき、実行中だったSELECT文を再開することも可能です。この再接続は、Oracle Call Interfaceライブラリ内から自動的に実行されます。

投票ディスク

ノードのメンバーシップに関する情報を管理するファイル。

ウォレット

ウォレットは、個々のエンティティのセキュリティ資格証明の格納と管理に使用するデータ構造です。

索引
A B C D E F G H I J K L M N O P Q R S T U V W X

記号

$ORACLE_HOME/root.shスクリプト, 8.3

A

異常インスタンス終了, 3.2.1

ACMS

メモリー・サービスへのアトミック制御ファイル, 1.3.4

アクティブ・セッション履歴レポート, Oracle RAC, 13.8.1 アクティブ・セッション履歴レポート, トップ・クラスタ・イベント, 13.8.2 アクティブ・セッション履歴レポート, トップ・リモート・インスタンス, 13.8.3 アクティブなセッション, 13.8.1 ACTIVE_INSTANCE_COUNT初期化パラメータ, 3.6 既存クラスタへのノードの追加, 9.1 LinuxおよびUNIXでのOracle RACのノードへの追加, 10.1 WindowsでのOracle RACのノードへの追加, 11.1 ADDM

グローバルな監視, 13.7

「自動データベース診断モニター」を参照

Oracle Real Application ClustersのADDMモード, 13.7 管理

サービス, 5.9.1

SRVCTLを使用したサービス, 5.9.3

インスタンスの管理

Server Management, 3.1

Oracle Enterprise Managerジョブの管理, 3.11.3.1 サービスの管理

Oracle Enterprise Manager, 5.9

SRVCTL, 5.9

管理ツール

概要および概念, 1.6.2

SYSASM権限, 3.2.3

管理者管理データベース・インスタンス

追加, 11.1.1

管理者管理データベース, 3.1.1, 5.3.2.6

サービスのAVAILABLEインスタンス, 5.3.2.6

ポリシー管理への変換, 3.7

定義, 1.6.1

サービスのPREFERREDインスタンス, 5.3.2.6

ADRCI

ADRコマンドライン・インタプリタ, B.2

アドバンスト・キューイング

FAN, 5.5.1

Oracle Enterprise Managerのアドバイザ・セントラル, 13.7 集計

インスタンスごと, 13.1.1.3

サービス, 13.1.1.3

待機ごと, 13.1.1.3

アラートの管理

Oracle Enterprise Manager, 3.11.3.2

アラートのブラックアウト

Oracle Enterprise Manager, 3.11.3.3

アラート・ログ, B.3

管理, B.1

ALTER SYSTEM ARCHIVE LOG CURRENT文, 3.1.3.2 ALTER SYSTEM ARCHIVE LOG文, 3.1.3.2

INSTANCEオプション, 3.1.3.2

ALTER SYSTEM CHECKPOINT LOCAL文, 3.1.3.2 ALTER SYSTEM CHECKPOINT文

グローバル対ローカル, 3.1.3.2

インスタンスの指定, 3.1.3.2

ALTER SYSTEM KILL SESSION文

特定のインスタンスのセッションの終了, 3.4

ALTER SYSTEM QUIESCE RESTRICTED文

非クラスタ・データベースの静止, 3.8

ALTER SYSTEM文

CHECKPOINT句, 3.1.3.2

ALTER SYSTEM SWITCH LOGFILE文, 3.1.3.2, 3.1.3.2 アプリケーション

単一データベースへの複数のアプリケーションの統合, 12.1.3

高可用性, 12.1

スケーラビリティ, 12.1.4

Oracle RACインスタンスにまたがったXAトランザクション, 5.8.1

事前作成済のデータベース・セッションの使用, 5.7.5

ARCHIVE LOGコマンド

SQL*Plus, 3.1.3.2

ARCHIVE_LAG_TARGET初期化パラメータ, 3.6.3 アーカイブREDOログ・ファイル

パラレルで適用, 7.5.1

ファイル・フォーマットおよび接続先, 6.8

ログ順序番号, 6.8

アーカイバ・プロセス

監視, 6.10

アーカイブ・モード

変更, 6.2

ASHレポート, 13.8.1 asm

SRVCTLのオブジェクト名, A

ASM_PREFERRED_READ_FAILURE_GROUPS初期化パラメータ, 2.6.4, 3.6 メモリー・サービスへのアトミック制御ファイル(ACMS), 1.3.4 Automatic Database Diagnostic Monitor, 13.9.2, 13.9.3.2, 13.9.5 Automatic Database Diagnostic Monitor(ADDM), 1.6.3

AWRデータの分析, 13.7

DBMS_ADDM PL/SQLパッケージ, 13.7

DBMS_ADVISOR PL/SQLパッケージ, 13.7

グローバルADDMモード, 13.7

ローカルADDMモード, 13.7

Automatic Database Diagnostic Monitoring(ADDM), 13.7 自動診断リポジトリ(ADR), B.2

ADRCIコマンドライン・インタプリタ, B.2

自動ロード・バランシング

複数のインスタンス用のRMANチャネルの構成, 6.6

AUTOMATIC管理ポリシー, 3.2.4 自動パフォーマンス診断(AWR)

パフォーマンス統計の監視, 13.7

自動セグメント領域管理(ASSM), 12.3.1

Oracle RACでの表領域の使用, 12.3.1

自動UNDO管理

Oracle RACでの表領域の使用, 12.3.1

自動ワークロード管理

概念, 1.4, 5.3.1

説明, 5.1

手動によるリバランス, 5.2

自動ワークロード・リポジトリ, 5.1, 5.2, 5.2, 5.10, 13.9.3.2 自動ワークロード・リポジトリ(AWR), 13.7, 13.9

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

スナップショット, 13.7

AVAILABLEインスタンス

サービス, 5.3.2.6

「平均アクティブ・セッション」グラフ

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

AWR

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

B

バックグラウンド・プロセス

Oracle RAC, 1.3.4

SMON, 3.2.1, 7.3.1

バックグラウンド・スレッド・トレース・ファイル, B.1 バックアップ

サーバー・パラメータ・ファイル, 3.5.3

帯域幅

インターコネクト, 13.2

ベスト・プラクティス

高可用性を実現するためのOracle RACのデプロイ, 12.1.2

ブラックアウト

定義, 3.11.3.3

ブロック・モード変換

統計, 13.6

ブロック

インスタンスとの対応付け, 7.3.1

バッファ・キャッシュ, 1.3.3

インスタンス・リカバリ, 7.3.1

バッファ・サイズ

プロセス間通信(IPC)

Oracle RAC用に調整, 13.3

C

キャッシュ一貫性, 13.9.3.1

キャッシュ・フュージョン, 1.3.3, 12.3.5

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

概要, 1.6.4

キャッシュ・フュージョンのパフォーマンス, 13.2 キャッシュ・フュージョンによる転送, 13.9.4 コールアウト

実行方法, 5.5.3

容量

増加, 12.1.4

カーディナリティ, 3.1.1 catclustdb.sqlスクリプト, 1.6.3 CATCLUST.SQLスクリプト

Oracle RACのビューを作成するための使用, 13.5

すべてのサービスの構成の変更, 4.3.1 チャネル

Oracle RACインスタンスごとに1つのRMANチャネルの構成, 6.6.2

クロスチェックまたはリストア操作中の構成, 6.5

RMAN用の構成, 6.6

グラフ

グローバル・キャッシュ・ブロックのアクセス待機時間, 13.1.1.3

グラフ

平均アクティブ・セッション, 13.1.1.3

クラスタ・ホストのロード平均, 13.1.1.3

データベース・スループット, 13.1.1.3

インターコネクトの確認, B.6 CLB_GOAL_SHORT, 5.5.1 クライアント

アプリケーション環境およびFAN, 5.7

SCANを使用したクライアント接続, 3.1.1 クライアント

FANイベントの統合, 5.5.1

JDBC Thinドライバ, 5.7.2

JDBC/OCI, 5.7.2.2

クライアント側

ロード・バランシング, 5.4

クライアント側ロード・バランシング, 5.4.1 clone.pl, 8.4 clone.plスクリプト

クローニング・パラメータ, 8.3

環境変数, 8.3

クローニング, 1.5.3, 8, 8.2

デプロイメント・フェーズ, 8.3

ログ・ファイル, 8.4

clone.plスクリプトに渡されるパラメータ, 8.3

準備フェーズ, 8.2

$ORACLE_HOME/root.shスクリプトの実行, 8.3

ORACLE_BASEの設定, 8.3

ORACLE_HOMEの設定, 8.3

ORACLE_HOME_NAMEの設定, 8.3

ログ・ファイルのクローニング, 8.4 クラスタ

定義, 1.1

クラスタ・キャッシュ一貫性, 13.1.1.2 クラスタ・データベースの「パフォーマンス」ページ

「トップ・アクティビティ」ドリルダウン・メニュー, 13.1.1.3

クラスタ・ファイル・システム

アーカイブ・パラメータの設定, 6.9.1.2

アーカイブの使用例, 6.9.1

リストア, 7.2.1

Oracle RACの記憶域, 2.1

「クラスタ・ホストのロード平均」ページ

クラスタ・データベースのパフォーマンス, 13.1.1.3

クラスタ・ノード名

clone.plスクリプト, 8.3

クラスタ検証ユーティリティ

概要および概念, 1.6.2

CLUSTER_DATABASE初期化パラメータ, 3.6, 3.6.1 CLUSTER_DATABASE_INSTANCE初期化パラメータ, 3.6.1 CLUSTER_DATABASE_INSTANCES初期化パラメータ, 3.6 CLUSTER_INTERCONNECTS

パラメータ, 13.3

CLUSTER_INTERCONNECTS初期化パラメータ, 3.9.1 CLUSTER_INTERCONNECTSパラメータ

例, 3.9.2, 3.9.2

CLUSTER_NODE_NAMEパラメータ

FAN、および該当するデータベース署名, 5.5.5

CLUSTER_NODESパラメータ

clone.plスクリプト, 8.3

クラスタ化されたOracle ASM

非クラスタのOracle ASMの変換, 2.6.5

クラスタ

複数のデータベースの統合, 12.1.3

クラスタウェア管理ソリューション, 1.2 CMANセッション・プール

FAN, 5.7.1

コールド・バックアップ, 3.8 コマンドライン・インタプリタ

ADRコマンドライン・インタプリタ(ADRCI), B.2

コミットされたデータ

インスタンス障害, 7.3.1

通信プロトコル

設定の検証, 13.2

互換性

Oracle RACおよびOracle Databaseソフトウェア, 1.5.1

COMPATIBLE初期化パラメータ, 3.6.1 チャネルの構成

リストアまたはクロスチェック操作中, 6.5

拡張クラスタでの優先読取りミラー・ディスクの構成, 2.6.4 CONNECTコマンド, 3.1.3.2

SQL*Plus, 3.1.3.2

CONNECT SYS

例, 3.2.3

接続

インスタンス, 1.6.2, 3.1.3

接続時ロード・バランシング

概念, 1.4

概要, 5.1

long方式, 5.4.3

short方式, 5.4.3

接続プール

FAN, 5.7.1

一貫性のあるブロック, 1.3.3 CONTROL_FILES初期化パラメータ, 3.6.1 Oracle RAC One NodeからOracle RACへのデータベースの変換, 4.3.2 インスタンスが1つのOracle RACデータベースからOracle RAC One Nodeへの変換, 4.3.1 データ・ブロックの破損, B.2 CREATE PFILE

FROM MEMORY句, 3.5

CREATE PFILE文, 3.5.3 CREATE SPFILE

FROM MEMORY句, 3.5

作成

サーバー・パラメータ・ファイル, 3.5

サービス, 5.9.1

SPFILEのバックアップ, 3.5.3

クロスチェック操作

チャネルの構成, 6.5

複数のノードでのクロスチェック

RMANのバックアップ, 6.5

CRS管理者, 3.1.1 CRSリソース

管理, 1.2

現行ブロック, 1.3.3 CVU

「クラスタ検証ユーティリティ」を参照

D

データ・ディクショナリ

ビューの問合せ, 13.5

データ・リカバリ・アドバイザ, B.2 データ・セキュリティ

ウォレット, 12.3.8.1

データ・ウェアハウス

Oracle RACでのアプリケーションのデプロイ, 12.3.7

データ・ウェアハウス・システム, 12.3.7 データベース

作成, 1.5.2

サービス

SINGLETON, 3.7

UNIFORM, 3.7

SRVCTLのオブジェクト名, A Database Configuration Assistant(DBCA), 1.5.2

対話モードでのインスタンスの追加および削除

Windows, 11.1.1.1

サイレント・モードでのインスタンスの追加および削除

Windows, 11.1.1.2

対話モードでのインスタンスの追加

LinuxおよびUNIX, 10.1.2.1

サイレント・モードでのインスタンスの追加

LinuxおよびUNIX, 10.1.2.2

Oracle RACインスタンスのクローニング, 8.3 Oracle Real Application Clustersでのビューの作成, 13.5 「データベース記憶域」ページ, 10.1.2.1, 11.1.1.1 対話モードでのインスタンスの削除

LinuxおよびUNIX, 10.2.1.1

Windows, 11.2.1.1

サイレント・モードでのインスタンスの削除

LinuxおよびUNIX, 10.2.1.2

Windows, 11.2.1.2

「インスタンス管理」ページ, 10.1.2.1, 11.1.1.1 「クラスタ・データベースのリスト」ページ, 10.1.2.1, 11.1.1.1 「操作」ページ, 10.1.2.1, 11.1.1.1 catclustdb.sqlスクリプトの実行, 1.6.3 「ようこそ」ページ, 10.1.2.1, 11.1.1.1 データベース・インスタンス

管理者管理

削除, 10.2.1, 11.2.1

データベース・リソース, 3.1.1 データベース・リソース・マネージャ, 3.8 データベース・ロール, 3.2.4 データベース署名

該当するFANパラメータ, 5.5.5

データベースの状態, 3.2 「データベース記憶域」ページ, 10.1.2.1, 11.1.1.1 「データベース・スループット」ページ

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

DATABASE_UNIQUE_NAMEパラメータ

FAN、および該当するデータベース署名, 5.5.5

データベース

追加

Oracle RAC One Node, 4.2

管理者管理, 3.1.1, 5.3.2.6 クラスタへの複数のデータベースの統合, 12.1.3 再起動の制御, 3.10 Oracle RAC One Node

サービス, 4.2

ポリシー管理, 3.1.1, 5.3.2.7 スケーラビリティ, 12.1.4 データベース・セッション

事前作成済, 5.7.5

データグラム・プロトコル(UDP), 1.3.2 DB_BLOCK_SIZE初期化パラメータ, 3.6.1 DB_DOMAIN初期化パラメータ, 3.6.1 DB_FILES初期化パラメータ, 3.6.1 DB_NAME初期化パラメータ, 3.6, 3.6.1 DB_RECOVERY_FILE_DEST初期化パラメータ, 3.6.1, 7.6 DB_RECOVERY_FILE_DEST_SIZE初期化パラメータ, 3.6.1 DB_UNIQUE_NAME初期化パラメータ, 3.6.1 DBCA

「Database Configuration Assistant(DBCA)」を参照

DDL文, 12.3.2 デフォルトのデータベース・サービス, 1.5.2, 3.6, 5.9.1 並列度(DOP), 12.3.7.1 管理者管理データベースのインスタンスの削除, 10.2.1, 11.2.1 依存性

サービス, 5.3.3.1

デプロイ

Oracle Real Application Clusters環境, 1.6.1, 12

設計

Oracle Real Application Clusters環境, 1.6.1, 12

Oracle RACの問題の診断, B ADRを使用した問題の診断, B.2 DIAGNOSTIC_DEST初期化パラメータ, B.1, B.3 ディスク・グループ

SRVCTLのオブジェクト名, A

DISPATCHERS初期化パラメータ, 3.6

サービスの指定, 5.9.1

IPアドレスの表示

ifconfigを使用, 3.9.2

netstatを使用, 3.9.2

分散SQLトランザクション, 5.8.1 分散トランザクション処理(DTP), 12.3.4 分散トランザクション, 12.3.4

クラスタのシングル・インスタンスへの割当て, 5.8.2

Oracle RACのサービス, 5.8.1

インスタンスにまたがるXAトランザクション, 5.8.1

DML_LOCKS初期化パラメータ, 3.6.1 DTPサービス, 5.8.2 DTP/XAトランザクション, 5.8.1 動的パフォーマンス・ビュー, 13.9

作成, 13.5

GV$, 1.6.3

V$, 1.6.3

動的リソース割当て

概要, 1.6.4

E

E-Commerce

Oracle RAC内のアプリケーション, 12.3.5

エディション

サービス属性, 5.3.2.3

ENCRYPTION_WALLET_LOCATIONパラメータ, 12.3.8.1 Enterprise Manager

概要, 1.2

環境変数

clone.plスクリプトに渡される, 8.3

SRVCTLを使用した設定, 3.1.4

ブロック転送の評価, 13.6 イベント通知

有効化, 5.7.5

例

CLUSTER_INTERCONNECTSパラメータの設定, 3.9.2

拡張遠距離クラスタ, 2.6.4

Oracle ASM優先ミラー読取り, 2.6.4

拡張遠距離クラスタ

優先読取りミラー・ディスクの構成, 2.6.4

外部トランザクション・マネージャ

OraMTS, 5.8.1

F

障害

インスタンス, 7.3

複数ノード, 7.3.2

ノード, 7.3.1

障害グループ, 2.6.4 FANイベント

JDBCの有効化, 5.7.2.2

高速アプリケーション通知(FAN), 5.5

高可用性イベント, 5.5.5

コールアウト定義, 5.5.6

コールアウト, 使用方法, 5.5.6

イベント, JDBCクライアントの有効化, 5.7.2

イベント, ODP.NETの有効化, 5.7.6

イベント, Oracle Call Interfaceの有効化, 5.7.4

イベント, ODP.NETクライアントの有効化, 5.7.7

イベントの発行方法, 5.5.1

概要, 5.1

概要, 5.5.1

パラメータおよび該当するデータベース署名, 5.5.5

使用, 5.5.1

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

JDBCクライアントの有効化, 5.7.2

ThinクライアントおよびThickクライアントでの有効化, 5.7.2.2

概要, 5.1

障害診断, B.2 FCF

「高速接続フェイルオーバー(FCF)」を参照

新機能, はじめに ファイル

アーカイブREDOログ・ファイル, 6.8

REDOログ, 6.8

ファイル・システム

SRVCTLのオブジェクト名, A

FROM MEMORY句

CREATE PFILEまたはCREATE SPFILE, 3.5

G

GC_SERVER_PROCESSES初期化パラメータ

LMSnプロセス数の指定, 12.1.3

GCSプロトコル, 13.9.3.1 GCS_SERVER_PROCESSES初期化パラメータ, 3.6 Genericサーバー・プール, 3.1.1 GES

「グローバル・キャッシュおよびエンキュー・サービス(GES)」を参照

グローバル・キャッシュおよびエンキュー・サービス(GES), 13.9.1 「グローバル・キャッシュ・ブロックのアクセス待機時間」 グラフ

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

グローバル・キャッシュ・サービス(GCS), 1.3.3, 3.6 グローバル・キャッシュ・サービス・プロセス(LMS), 1.3.4 グローバル・キャッシュ・サービス・プロセス(LMSn)

数の削減, 12.1.3

数の指定, 12.1.3

グローバル・キャッシュ・サービス統計, 13.9.1, 13.9.3.1 GLOBAL句

チェックポイントの強制, 3.1.3.2

グローバル・エンキュー・サービス・デーモン(LMD), 1.3.4 グローバル・エンキュー・サービス(GES), 1.3.3 グローバル・エンキュー・サービス・モニター(LMON), 1.3.4 グローバル・エンキュー・サービス統計, 13.9.1 グローバル・パフォーマンス・データ

ADDM, 13.7

グローバル・リソース・ディレクトリ(GRD), 1.3.3 グローバル・トランザクション・プロセス(GTX0-j), 1.3.4 GLOBAL_TXN_PROCESSES初期化パラメータ, 5.8.1 ゴール

ロード・バランシング・アドバイザ, 5.6.1

ロード・バランシング・アドバイザ, 5.6.2

グリッド・ネーミング・サービス(GNS)

SRVCTLのオブジェクト名, A

GTX0-j

グローバル・トランザクション・プロセス, 1.3.4

GV$, 1.6.3 GV$ビュー, 13.4 GV$SESSION, 3.4, 3.4

H

ハッシュ・パーティション化

Oracle RAC使用, 12.2

高可用性

ベスト・プラクティス, 12.1.2

Oracle RACデータベース, 12.1

高可用性フレームワーク

概念, 1.4

概要, 5.1

ホーム

SRVCTLのオブジェクト名, A

HOSTコマンド, 3.1.3.2

SQL*Plus, 3.1.3.2

I

アイドル状態の待機クラス, 13.8.1

暗黙接続キャッシュ, 5.7.2

索引

順序ベース, 12.2

initdb_name.oraファイル

DIAGNOSTIC_DEST初期化パラメータ, B.1

初期化パラメータ

クラスタ・データベースの問題, 3.6

CLUSTER_INTERCONNECTS, 3.9.1, 13.3

使用する際の推奨事項, 3.9.1

すべてのインスタンスに同じ値を設定, 3.6.3 RECOVERY_PARALLELISM, 7.5.2.1 インスタンスの設定, 3.5 Oracle RACに固有, 3.6 すべてのインスタンスで同一, 3.6.1 すべてのインスタンスで一意, 3.6.2 INST_ID列, 13.4 インストール

概要, 1.5

Oracle RAC, 1.5.2

インストール

複数の同時クラスタの実行, 8

インスタンス

SRVCTLのオブジェクト名, A

インスタンスの検出

Oracle Enterprise Manager Grid Control, 3.11.1

インスタンス・エンキュー・プロセス(LCK0), 1.3.4 「インスタンス管理」ページ, 10.1.2.1, 11.1.1.1 INSTANCE NAME初期化パラメータ, 3.6 INSTANCEオプション, 3.1.3.2 INSTANCEパラメータ

FAN、および該当するデータベース署名, 5.5.5

インスタンス・リカバリ, 3.2.1 INSTANCE_NAME初期化パラメータ, 3.6.2 INSTANCE_NUMBER初期化パラメータ, 3.6.2 INSTANCE_TYPE初期化パラメータ, 3.6.1 インスタンス

サービス・パフォーマンスのための集計, 13.1.1.3

Oracle RACのクローニング, 8.3

SQL*Plusコマンドの効果, 3.1.3.2

障害, 7.3.2

初期化パラメータの設定, 3.5

Oracle RACでの最大数, 1.1

メモリー構造, 1.3.3

パラレル・プロセス, 5.3.3.4

プライベート・インターコネクトの使用, B.6

リカバリ, 3.2.1, 7.3.1

リカバリ, 異常終了, 3.2.1

リカバリ, 複数障害, 7.3.2

サーバー管理, 3.1

停止, 3.2.1

起動と停止, 3.2

セッションの終了, 3.4

検証, 3.3, 3.3

実行の検証, 3.3

インスタンス障害

リカバリ, 7.3

Statspackのかわり, 1.6.3 インターコネクト

パフォーマンス, 13.3

Oracle RACアーキテクチャ, 1.1

Oracle Real Application Clustersのプロトコル, 13.2

設定の検証, 13.2

インターコネクト帯域幅, 13.2

待機時間, 13.2

インターコネクト・ブロック転送率, 13.6 インターコネクト設定

検証, 13.2

インターコネクト

プライベート・ネットワークの代替, 3.9

プライベート, B.6

「インターコネクト」ページ

Oracle Enterprise Managerによるクラスタウェアの監視, 13.1.1

Oracle Clusterwareの監視, 13.1.1.2

プロセス間通信(IPC)

バッファ・サイズ

調整, 13.3

IPCプロトコル, 13.2, 13.9.3.1

J

Java Database Connectivity(JDBC)クライアント

Oracle Notification Serviceの使用法, 5.1

Javaベースのツールとユーティリティ

CVU, B.4

DBCA, B.4

DBUA, B.4

トレース・ツールの有効化, B.4

GSD, B.4

NETCA, B.4

SRVCTL, B.4

JDBC

FAN, 5.7.1

FANイベントの有効化, 5.7.2.2

JDBCクライアント

高速接続フェイルオーバー(FCF)の有効化, 5.7.2

JDBC Thinドライバ, 5.7.2 JDBC/OCI, 5.7.2.2 ジョブの管理

Oracle Enterprise Manager, 3.11.3.1

K

KILL SESSION句

ALTER SYSTEM文, 3.4

L

LCK0

インスタンス・エンキュー・プロセス, 1.3.4

レベルのしきい値

サービス, 5.11

LICENSE_MAX_USERS初期化パラメータ, 3.6.3 「クラスタ・データベースのリスト」ページ, 10.1.2.1, 11.1.1.1 リスナー

SRVCTLのオブジェクト名, A

リスナー

ノードに追加するコマンド, A

削除するコマンド, A

Oracle Net, 1.2

LMD

グローバル・エンキュー・サービス・デーモン, 1.3.4

LMONグローバル・エンキュー・サービス・モニター, 1.3.4 LMS

グローバル・キャッシュ・サービス・プロセス, 1.3.4

LMSプロセス

数の削減, 12.1.3

LMSnプロセス

数の削減, 12.1.3

ロード・バランシング, 12.3.5

サービス, 1.3.2

OCIランタイム接続, 5.7.5

サーバー側, 5.4

ロード・バランシング・アドバイザ

FANイベント, 5.6.3

概念, 1.4

使用のための環境の構成, 5.6.2

デプロイメント, 5.6.1

説明, 5.6

イベントおよびFAN, 5.5.1

概要, 5.1

ロード・バランシング・アドバイザ, 5.3.2.8 ローカル・アーカイブの使用例

RMAN, 6.9.2

Local Area Network(LAN), 1.3.2 LOCAL句

チェックポイントの強制, 3.1.3.2

ローカル・ファイル・システム

アーカイブ・パラメータの設定, 6.9.2.2

リストア, 7.2.2

ローカル・インスタンス

停止, 3.2.3

起動, 3.2.3

ローカル・ノード名

clone.plスクリプト, 8.3

LOCAL_NODEパラメータ

clone.plスクリプト, 8.3

ローカル管理表領域, 12.3.1 ログ・ファイル

トレース, B.4

ログ順序番号, 6.8 LOG_ARCHIVE_FORMAT初期化パラメータ, 3.6.3 LOG_ARCHIVE_FORMATパラメータ, 6.8

M

大規模デプロイメント

クローニング, 1.5.3, 8, 8.2

メディア障害

リカバリ, 7.4

メモリー構造

Oracle RAC, 1.3.3

メッセージ要求カウンタ, 13.6 移行

アプリケーション, 12.1.4

欠落したファイル, B.2 ミッション・クリティカルなシステム

Oracle RACの考慮事項, 12.1.1

変更データ

インスタンス・リカバリ, 7.3.1

監視

アーカイバ・プロセス, 6.10

概要および概念, 1.6.3

グローバル・キャッシュ・ブロックのアクセスのパフォーマンス, 13.1.1.3

ホストのロード平均の監視, 13.1.1.3 Oracle RACデータベースのすべての非実行インスタンスのマウント, 3.2.4 複数のクラスタ・インターコネクト, 3.9 クラスタ内の複数のデータベース, 3.9.1 複数インスタンス

単一のSQL*Plusセッションからの開始, 3.2.3

1つのノードからの開始, 3.2.3

複数ノード障害, 7.3.2 複数のパブリック・ネットワーク, 1.3.2 多重REDOログ・ファイル, 2.4

N

ネット・サービス名, 3.1.3

ネットワーク

SRVCTLのオブジェクト名, A

Network Attached Storage(NAS), 1.3.2 ネットワーク・リソース, 1.3.2 NICボンディング, 3.9 ノード

障害およびVIPアドレス, 1.3.2

ノード・アフィニティの認識, 7.3.4 ノードの検出

Oracle Enterprise Manager Grid Control, 3.11.1

ノード削除, 13.1.1.1 nodeapps

SRVCTLのオブジェクト名, A

ノード

アフィニティの認識, 7.3.4

障害, 7.3.1

仮想IPアドレス, A, A

非クラスタ・データベース

静止, 3.8

非クラスタのOracle ASM

クラスタ化されたOracle ASMへの変換, 2.6.5

O

オブジェクトの作成および削除, 12.3.2

オブジェクト

生成およびパフォーマンスへの影響, 12.3.2

SRVCTLのオブジェクト名および短縮形, A

OC4J

SRVCTLのオブジェクト名, A

OCFS2, 1.3.1 OCIセッション・プール, 5.7.5 OCIセッション・プール

最適化, 5.7.5

ランタイム接続ロード・バランシング, 5.7.5

サービス・メトリック, 5.7.5

OCIセッション・プール

FAN, 5.7.1

OCI_EVENTSモード

ランタイム接続ロード・バランシングの設定, 5.7.5

OCI_THREADEDモード

ランタイム接続ロード・バランシングの設定, 5.7.5

OCRDUMPユーティリティ, 13.3 ODP.NET

FAN, 5.7.1

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

ロード・バランシング・アドバイザのイベント, 5.7.7

OLTP環境, 12.2 オンライン・データベース再配置

再配置ユーティリティ, 4.4

オンライン・リカバリ, 7.3.1 オンライン・トランザクション処理(OLTP)

Oracle RAC内のアプリケーション, 12.3.5

ons

SRVCTLのオブジェクト名, A

ONS

「Oracle Notification Services」を参照

「操作」ページ, 10.1.2.1, 11.1.1.1 最適実行計画, 12.3.7.1 Oracle ASM

「Oracle Automatic Storage Management(Oracle ASM)」を参照

Oracle Automatic Storage Management(Oracle ASM)

アーカイブの使用例, 6.9.1

非クラスタのOracle ASMからクラスタ化されたOracle ASMへの変換, 2.6.5

インストール, 1.5.2

インスタンス

SRVCTLを使用した管理, 2.6.6

Oracle ASM優先読取り障害グループ, 2.6.4 優先読取りミラー・ディスク, 2.6.4 優先読取りディスク, 3.6 SRVCTLのオブジェクト名, A 記憶域ソリューション, 2.1 SYSASM権限, 3.2.3 Oracle Call Interface環境

サービス・メトリックの受信, 5.7.5

Oracle Call Interface(OCI)

ランタイム接続ロード・バランシング, 5.7.5

Oracle Cluster File System(Windows用のOCFS), 1.3.1 Oracle Cluster Registry(OCR), 3.1.4, 13.3 Oracle Clusterware

クローニング, 1.5.3

制御ポリシー

AUTOMATIC, 3.10

MANUAL, 3.10

表示および変更のためのSRVCTLの使用, 3.10

データベースの再起動の制御, 3.10 説明, 1.2, 1.2 概要, 1.2 概要および概念, 1 Oracleプロセスの管理, 1.2 Oracle Database

セッション・アクティビティ, 13.8.1

Oracle動的ボリューム・マネージャ

説明, はじめに

Oracle Enterprise Manager

ノードへのデータベース・インスタンスの追加

LinuxおよびUNIX, 10.1.2

Windows, 11.1.1

アラートの管理, 3.11.3.2 アラートのブラックアウト, 3.11.3.3 Automatic Database Diagnostic Monitoring(ADDM), 13.7 「平均アクティブ・セッション」グラフ, 13.1.1.3 クラスタ・データベースの「ホーム」ページ, 13.1.1.1 クラスタ・データベースのページ, 13.1.1 クラスタ・データベースの「パフォーマンス」ページ

Oracle RACデータベースのパフォーマンス統計, 13.1.1.3

データベース管理での変更を認識させるための構成, 3.7 「データベース・スループット」グラフ, 13.1.1.3 ノードからのデータベース・インスタンスの削除, 10.2.1, 11.2.1 「グローバル・キャッシュ・ブロックのアクセス待機時間」グラフ, 13.1.1.3 「インターコネクト」ページ, 13.1.1.2 ジョブの管理, 3.11.3.1 使用可能ノードのロード値の監視, 13.1.1.3 概要および概念, 1.6.2 「トップ・アクティビティ」ドリルダウン・メニュー, 13.1.1.3 「インターコネクト」ページを使用したOracle Clusterwareの監視, 13.1.1 Oracle RACを管理するための使用, 3.1.2 サービスを管理するための使用, 5.9.2 サーバー・パラメータ・ファイルをバックアップするための使用, 3.5.3 DTPサービスを作成するための使用, 5.8.4 Oracle Clusterwareを監視するための使用, 13.1.1 Oracle RACを監視するための使用, 13.1.1 Oracle RAC環境を監視するための使用, 1.6.3 SPFILEをリストアするための使用, 7.2.3 自動ワークロード・リポジトリのアクションをスケジュールするための使用, 5.11 高速リカバリ領域を設定するための使用, 7.6 データベースを起動や停止するための使用, 3.2.2 RMANでの使用, 6.4 Oracle Enterprise Manager Database Control

再構成するためのemcaの使用, 3.7

Oracle Enterprise Manager Grid Control

インスタンスの検出, 3.11.1

ノードの検出, 3.11.1

Oracleホーム

クローニング, 1.5.3

定義, 1.5.2

Oracle Interface Configuration(OIFCFG), 13.3 Oracle Managed Files, 3.1.1 Oracle Maximum Availability Architecture(MAA), 12.1.1 Oracle Net

リスナー, 1.2

Oracle Net Services

ロード・バランシング, 5.7.1

サービス, 5.3.2.9

Oracle Notification Service, 1.2

SRVCTLのオブジェクト名, A

FANでの使用, 5.1

Oracle Notification Services

API, 5.5.1

Oracleプロセス

Oracle Clusterwareでの管理, 1.2

Oracle RAC

管理者管理データベースのインスタンスの追加, 10.1.2.1, 11.1.1

ポリシー管理データベースのインスタンスの追加, 10.1, 11.1

LinuxおよびUNIXでのクラスタのノードへの追加, 10.1

Windowsでのクラスタのノードへの追加, 11.1

E-Commerce, 12.3.5

バックグラウンド・プロセス

ACMS, 1.3.4

GTX0-j, 1.3.4

LCK0, 1.3.4

LMD, 1.3.4

LMON, 1.3.4

LMS, 1.3.4

RSMN, 1.3.4

クローニングのメリット, 8.1 クローニング, 1.5.3, 8

バイナリのサイズ, 8.1

データベースの変換元, 4.3 データベースの変換先, 4.3 シングル・インスタンスからOracle RAC One Nodeへの変換, 4.3.1 Oracle RACホームのコピー, 8.2 データベース

静止, 3.8

クローンのデプロイ, 8.3 パフォーマンスの問題の診断, 13.8.1 問題の診断, B インストールの概要, 1.5.2 管理の概要, 1 Windowsでの削除, 11.2.2 LinuxおよびUNIXからのソフトウェアの削除, 10.2.2 セキュリティに関する考慮事項, 12.3.8 インスタンスの停止, 3.2.1 ソフトウェア・コンポーネント, 1.3.3 記憶域オプション

ネットワーク・ファイル・システム(NFS), 1.3.1

Oracle Automatic Storage Management(Oracle ASM), 1.3.1

Oracle Cluster File System(Windows用のOCFS), 1.3.1

ボリューム・マネージャ, 1.3.1

高速リカバリ領域の使用, 7.6 Oracle RACのバックグラウンド・プロセス

(RMSn), 1.3.4

Oracle RAC Databaseのイントロスペクション・プラグイン, C Oracle RAC One Node, はじめに, 4

データベースの追加, 4.2

データベースの変換元, 4.3

データベースの変換先, 4.3

Oracle RACへの変換, 4.3.2

オンライン・データベース再配置, 4.4

別のノードへの再配置, 4.4

Oracle RAC One Nodeデータベース

サービス, 4.2

Oracle Real Application Clusters

「Oracle RAC」を参照

Oracle Real Application Clusters構成監査ツール

「RACcheck」を参照

Oracle Real Application Clusters One Node, 4

「Oracle RAC One Node」を参照

Oracle Streams, 5.3.3.5 Oracle Streamsのアドバンスト・キューイング

FAN, 5.5.1

Oracle Universal Installer

データベースのインストール, 1.5.2

Oracle RACのインストール, 1.5.2

ORACLE_BASE環境変数, 8.3 ORACLE_HOME環境変数, 8.3 ORACLE_HOME_NAME環境変数, 8.3 ORACLE_SIDパラメータ, 3.6.2 oradebug ipcコマンド, B.6 OraMTS

外部トランザクション・マネージャ, 5.8.1

orapwdファイル, 3.7 停止

計画, 5.5.4

予定外, 5.5.3

P

パラレル実行, 12.3.7.2

パラレル・プロセス, 5.3.3.4

パラレル・リカバリ, 7.5.2.1

無効化, 7.5.2

PARALLEL_EXECUTION_MESSAGE_SIZE初期化パラメータ, 3.6.1 PARALLEL_FORCE_LOCAL初期化パラメータ, 5.3.3.4 PARALLEL_INSTANCE_GROUPS初期化パラメータ, 5.3.3.4 パラレル化

Oracle RAC, 12.3.7.2

パラレル問合せの最適化, 12.3.7.1

パラメータ・ファイル

概要, 3.5

パラメータ・ファイルの検索順序, 3.5.2 パラメータ

DB_RECOVERY_FILE_DEST, 7.6

すべてのインスタンスで同一, 3.6.1

すべてのインスタンスで一意, 3.6.2

パスワード・ファイルベースの認証, 4.4 パフォーマンス, 13.1.1.3

サービスごとの集計, 13.1.1.3

包括的なグローバル・データ, 13.7

待機イベント、サービスおよびインスタンス単位でのアクティビティの監視, 13.1.1.3

データベース・スループットの監視, 13.1.1.3

グローバル・キャッシュ・ブロックのアクセスの監視, 13.1.1.3

データベースで発生する可能性のある問題の監視, 13.1.1.3

影響する主な要素, 13.2

インスタンスごとのサービス集計, 13.1.1.3

待機ごとのサービス集計, 13.1.1.3

ADDMの使用, 1.6.3

パフォーマンス評価

概要および概念, 1.6.4

パフォーマンス統計, 13.9.5 PFILE

Oracle RACでの使用, 3.5

フェーズ

クローニングのデプロイメント, 8.3

クローニングの準備, 8.2

PMONバックグラウンド・プロセス, 3.4 ポリシー管理データベース・インスタンス

追加, 11.1

ポリシー管理データベース, 3.1.1, 3.6.2, 5.3.2.7

定義, 1.6.1

LinuxおよびUNIXでの削除, 10.2.1

Windowsでの削除, 11.2.1

PREFERREDインスタンス

サービス, 5.3.2.6

優先読取りディスク

Oracle RAC拡張遠距離クラスタでのOracle ASM, 2.6.4

プライベート・インターコネクト, B.6

使用の確認, B.6

プライベート・ネットワーク

代替インターコネクト, 3.9

プライベート・ネットワークIPアドレス, 13.3 プロセス

Oracle Clusterwareでの管理, 1.2

パラレル, 5.3.3.4

パブリック・インタフェースおよびプライベート・インタフェース

Oracle Enterprise Managerに表示, 13.1.1.2

Q

問合せオプティマイザ, 12.3.7.1

デフォルト・コスト・モデル, 12.3.7.1

キュー表, 5.3.3.5 データベースの静止

Oracle Real Application Clusters, 3.8

データベースの静止, 3.8 静止

非クラスタ・データベース, 3.8

R

RACcheck, D

コマンド・オプション, D

レポートの比較, D

構成パラメータ, D

サイレント・モードでの実行, D

対話的な実行, D

トラブルシューティング, D

RACcheckデーモン, D リバランス

ワークロード, 5.2

RECOVERコマンド, 3.1.3.2

SQL*Plus, 3.1.3.2

リカバリ

SHUTDOWN ABORT後, 3.2.1

複数ノード障害, 7.3.2

単一ノード障害, 7.3.1

インスタンス, 3.2.1

メディア障害, 7.4

オンライン, 7.3.1

パラレル, 7.5.2.1

RECOVERY_PARALLELISMパラメータ, 7.5.2.1 REDOログ・ファイル

インスタンス・リカバリ, 7.3.1

ログ順序番号, 6.8

使用, 2.4

REDOログ・グループ, 2.4 REDOログ

フォーマットおよび接続先の指定, 6.8

REDOスレッド, 3.1.1 競合の低減, 12.2 リモートOracle Notification Serviceサブスクリプション, 5.7.2.1 リモート・スレーブ・モニター(RSMN), 1.3.4 REMOTE_LISTENERデータベース・パラメータ, 5.4.1 REMOTE_LOGIN_PASSWORDFILE初期化パラメータ, 3.6.1 リソースの競合, 13.1.1.3 リソース・マネージャ, 5.2 リソース・マネージャ

サービス, 5.3.3.2

リソース・プロファイル

サービスの作成, 5.3.3.1

リソース

解放, 7.3.1

セッションが保持するリソース, 3.4 リストア機能の使用例

RMAN, 7.2

リストア・スキーム

クラスタ・ファイル・システム, 7.2.1

ローカル・ファイル・システム, 7.2.2

結果キャッシュ, 3.6

無効化, 3.6

有効化, 3.6

RESULT_CACHE_MAX_SIZE初期化パラメータ, 3.6, 3.6.1 RMAN

CONFIGUREコマンド, 6.3

チャネルの構成, 6.5

自動ロード・バランシングを使用するようなチャネルの構成, 6.6

インスタンスごとに1つのチャネルの構成, 6.6.2

スナップショット制御ファイルの場所の構成, 6.3

複数のノードでのクロスチェック, 6.5

ローカル・アーカイブの使用例, 6.9.2

リストア機能の使用例, 7.2

SPFILEバックアップを作成するための使用, 3.5.3

RMSn

Oracle RAC管理プロセス, 1.3.4

ロールバック

インスタンス・リカバリ, 7.3.1

root.shスクリプト

$ORACLE_HOME, 8.3

RSMN

リモート・スレーブ・モニター, 1.3.4

ランタイム接続ロード・バランシング

定義, 5.7.5

OCIセッション・プール, 5.7.5

概要, 5.1

ランタイム接続ロード・バランシング, 5.3.2.8

S

スケーラビリティ, 12.3.5

Oracle RAC, 12.1.4

scan

SRVCTLのオブジェクト名, A

SCAN, 1.2

定義, 1.4

scan_listener

SRVCTLのオブジェクト名, A

スクリプト

$ORACLE_HOME/root.sh, 8.3

セキュリティ

ウォレット, 12.3.8.1

順序ベースの索引, 12.2 順序

ログ順序番号, 6.8

サーバー制御ユーティリティ

「SRVCTL」を参照

サーバー管理

インスタンスの管理, 3.1

サーバー・パラメータ・ファイル

バックアップ, 3.5.3

サーバー・パラメータ・ファイル

作成, 3.5

サーバー・プール, 3.1.1

概念, 1.4

ポリシー管理用に作成, 3.7

Generic, 3.1.1

SRVCTLのオブジェクト名, A

サーバー

別のサーバー・プールからの再配置, 3.7

スケーラビリティ, 12.1.4

サービス

SRVCTLのオブジェクト名, A

サービス・レベルの目標

Oracle RACの定義, 12.1.1

サービス・レベル, 12.3.6 サービス・メトリック

OCIランタイム接続ロード・バランシング, 5.7.5

ランタイム接続ロード・バランシング, 5.7.5

SERVICEパラメータ

FAN、および該当するデータベース署名, 5.5.5

SERVICE TIME

ロード・バランシング・アドバイザ・ゴール, 5.6.2

SERVICE_NAMES初期化パラメータ, 3.6

サービスの設定, 3.6, 5.9.1

サービス・レベル契約, 3.4 サービス, 3.6

インスタンスごとに集計されたアクティビティ・レベル, 13.1.1.3

サービスごとに集計されたアクティビティ・レベル, 13.1.1.3

待機ごとに集計されたアクティビティ・レベル, 13.1.1.3

管理, 5.9.1

Oracle Enterprise Managerを使用した管理, 5.9

SRVCTLを使用した管理, 5.9, 5.9.3

属性

エディション, 5.3.2.3

基本概念, 5.3.1 概念, 1.4 自動ワークロード管理の特性の構成, 5.3.2 デフォルト, 5.3.4 依存性, 5.3.3.1 イベント通知の有効化, 5.7.5 概要, 1.3.2, 5.1 レベルのしきい値, 5.11 管理ポリシー

自動, 5.3.2.4

手動, 5.3.2.4

AWRで監視されたパフォーマンス, 5.3.3.3 SERVICE_NAMESパラメータ, 3.6, 5.9.1 サービスの指定, 5.9.1 使用, 5.3.1 管理者管理データベース用のサービス, 3.7 セッション

特定のインスタンスでの終了, 3.4

インスタンスの設定, 1.6.2, 3.1.3 Shared Everything, 1.3.1 共有サーバー構成, 3.6 SHOW INSTANCEコマンド, 3.1.3.2

SQL*Plus, 3.1.3.2

SHOW PARAMETERコマンド

SQL*Plus, 3.1.3.2

SHOW PARAMETERコマンド, 3.1.3.2 SHOW SGAコマンド, 3.1.3.2

SQL*Plus, 3.1.3.2

SHUTDOWN ABORT, 3.2.1, B.5 SHUTDOWNコマンド

ABORTオプション, 3.2.1

SQL*Plus, 3.1.3.2

SHUTDOWN IMMEDIATE, B.5 SHUTDOWN TRANSACTIONAL, 3.2.1 停止

インスタンス, 3.2.1

インスタンスの停止

異常終了, 3.2.1

インスタンスの停止, 3.2.1 sidalrt.logファイル, B.3 単一クライアント・アクセス名

「SCAN」を参照

単一クライアント・アクセス名(SCAN)

SRVCTLのオブジェクト名, A

単一のシステム・イメージ, 1.3.3 SMONプロセス

インスタンス・リカバリ, 7.3.1, 7.3.2

SHUTDOWN ABORT後のリカバリ, 3.2.1

スナップショット制御ファイル, 6.3

場所の構成, 6.3

データ・ウェアハウス・システムのスピードアップ, 12.3.7.1 SPFILE

バックアップ, 3.5.3

バックアップ

作成, 3.5.3

パラメータ設定の変更, 3.5 破損, 3.5.1 デフォルト名, 3.5.2 場所, 3.5 命名規則, 3.5.2 リカバリ, 3.5.3 Oracle Enterprise Managerを使用したリストア, 7.2.3 RMANを使用したリストア, 7.2.3 値の設定, 3.5.1 SPFILE初期化パラメータ, 3.6, 3.6.3 SQL文

パラレル実行, 5.3.3.4

インスタンス固有, 3.1.3.2

SQL*Plus, 3.1.3

プロンプトの変更, 3.1.3.1, 3.1.3.1

コマンド

CONNECT, 3.1.3

インスタンスへの効果, 3.1.3.2

SRVCTL

addの使用方法の説明, A

Oracle ASMインスタンスの管理, 2.6.6

サービスの管理, 5.9.3

クラスタ・データベース構成タスク, A

クラスタ・データベース・タスク, A

コマンド構文, A

コマンド

add asm, A

add cvu, A, A

add database, A

add filesystem, A

add gns, A

add instance, A

add listener, A

add network, A

add nodeapps, A

add ons, A

add scan, A

add scan_listener, A

add service, A

add srvpool, A

add vip, A

config asm, A, A

config cvu, A

config database, A

config filesystem, A

config gns, A

config nodeapps, A

config oc4j, A

config ons, A

config scan, A

config scan_listener, A

config service, A

config srvpool, A

config vip, A

convert database, A

disable asm, A

disable cvu, A

disable database, A

disable diskgroup, A

disable filesystem, A

disable gns, A

disable instance, A

disable listener, A

disable nodeapps, A

disable oc4j, A

disable ons, A

disable scan, A

disable scan_listener, A

disable service, 5.9.3.3, A

disable vip, A

downgrade database, A

enable asm, A

enable cvu, A

enable database, A

enable diskgroup, A, A

enable filesystem, A

enable instance, A

enable listener, A

enable nodeapps, A

enable oc4j, A

enable ons, A

enable scan, A

enable scan_listener, A

enable service, 5.9.3.3, A

enable vip, A

getenv asm, A

getenv database, A

getenv listener, A

getenv nodeapps, A, A

help, A

modify asm, A

modify cvu, A

modify database, A

modify filesystem, A

modify gns, A

modify instance, A

modify listener, A

modify network, A

modify nodeapps, A

modify oc4j, A

modify ons, A

modify scan, A

modify scan_listener, A

modify service, A

modify srvpool, A

relocate cvu, A

relocate database, A

relocate gns, A

relocate oc4j, A

relocate scan, A

relocate scan_listener, A

relocate server, A

relocate service, A

relocate vip, A

remove asm, A

remove database, A

remove diskgroup, A

remove filesystem, A

remove gns, A

remove instance, A

remove listener, A

remove nodeapps, A

remove oc4j, A

remove ons, A

remove scan, A

remove scan_listener, A

remove service, A

remove srvpool, A

remove vip, A

setenv asm, A

setenv database, A, A

setenv listener, A

setenv nodeapps, A

srvctl setenv, 3.1.4

start asm, A

start cvu, A

start database, 3.2.4, A

start diskgroup, A

start filesystem, A

start gns, A

start home, A

start instance, 3.2.4, A

start listener, A

start nodeapps, A

start oc4j, A

start ons, A

start scan, A

start scan_listener, A

start service, A

start vip, A

status asm, A

status cvu, A

status database, A

status diskgroup, A

status filesystem, A

status gns, A

status home, A

status instance, A

status listener, A

status nodeapps, A

status oc4j, A

status ons, A

status scan, A

status scan_listener, A

status server, A

status service, A

status srvpool, A

status vip, A

stop asm, A

stop cvu, A

stop database, 3.2.4, A

stop diskgroup, A

stop filesystem, A

stop gns, A

stop home, A

stop instance, 3.2.4, A

stop listener, A

stop nodeapps, A

stop oc4j, A

stop ons, A

stop scan, A

stop scan_listener, A

stop service, A

stop vip, A

unsetenv asm, A

unsetenv database, A, A

unsetenv listener, A

unsetenv nodeapps, A

upgrade database, A

同時コマンド, A configの使用方法の説明, A convertの使用方法の説明, A 非推奨のコマンドおよびオプション, A disableの使用方法の説明, A downgradeの使用方法の説明, A enableの使用方法の説明, A イベント通知の有効化, 5.7.5 getenvの使用方法の説明, A modifyの使用方法の説明, A ノード・レベル・タスク, A オブジェクト名

データベース, A

ディスク・グループ, A

ファイル・システム, A

グリッド・ネーミング・サービス(GNS), A

ホーム, A

インスタンス, A

リスナー, A

ネットワーク, A

ノード・アプリケーション(nodeapps), A

oc4j, A

Oracle Automatic Storage Management(Oracle ASM), A

Oracle Notification Service, A

scan, A

scan_listener, A

サーバー・プール(srvpool), A

サービス, A

vip, A

オブジェクト名, A 概要, 3.1.4 概要および概念, 1.6.2 relocateの使用方法の説明, A removeの使用方法の説明, A setenvの使用方法の説明, A start serviceコマンド, 5.9.3.2, 5.9.3.2 startの使用方法の説明, A status serviceコマンド, 5.9.3.5 statusの使用方法の説明, A クラスタ・データベースの停止および起動, 3.2.4 stopの使用方法の説明, A unsetenvの使用方法の説明, A upgradeの使用方法の説明, A SRVM_TRACE環境変数, B.4 Standard Edition

Oracle ASMのインストール, 1.5.2

管理者管理データベースの起動, 3.2.4 ポリシー管理データベースの起動, 3.2.4 STARTUPコマンド

SQL*Plus, 3.1.3.2

統計

内容, 13.6

Statspack, 13.9, 13.9.1

使用, 1.6.3

データベース・インスタンスの停止, 3.2.4 記憶域

クラスタ・ファイル・システム, 2.1

Oracle Automatic Storage Management(Oracle ASM), 2.6.1

サブネット

仮想IPアドレスの構成, A, A

サブネット, 1.3.2 SYS$BACKGROUNDサービス, 5.3.4 SYS$USERSサービス, 5.3.4 SYSASM権限, 3.1.3, 3.2.3 SYSAUX表領域

ノード追加時のサイズの増加, 12.3.3

ノード削除時のサイズの減少, 12.3.3

SYSDBA, 3.1.3

接続のための権限, 3.1.3

Oracle ASMインスタンスへのSYSDBA接続, 3.1.3 SYSOPER, 3.1.3 SYSOPER権限

接続, 3.1.3

システム変更, 6.8 システム・グローバル領域(SGA), 1.3.3, 13.8.1

サイズ要件, 1.3.3

T

表領域

Oracle RACでの自動セグメント領域管理(ASSM), 12.3.1

Oracle RACでの自動UNDO管理, 12.3.1

ローカル管理, 12.3.1

Oracle RACでの使用, 12.3.1

TCPネットワーク・ポート

Windowsファイアウォールの考慮事項, 12.3.8.2

TCP/IP, 1.3.2 特定のインスタンスのセッションの終了, 3.4 THREAD初期化パラメータ, 3.6 スレッド

複数のアプリケーション, 5.7.5

THROUGHPUT

ロード・バランシング・アドバイザ・ゴール, 5.6.2

定期的な統計, 13.6 タイムアウト

メッセージ, 回避, 1.3.2

tnsnames.oraファイル, 3.6 「トップ・アクティビティ」ドリルダウン・メニュー

クラスタ・データベースの「パフォーマンス」ページ, 13.1.1.3

トップ・クラスタ・イベント, 13.8.2 トップ・クラスタ・イベント, ASHレポート, 13.8.2 トップ・リモート・インスタンス, 13.8.3 トップ・リモート・インスタンス, ASHレポート, 13.8.3 トレース・ファイル, B.1

管理, B.1

sidalrt.log, B.3

バックグラウンド・プロセス用トレース・ファイル, B.1 TRACE_ENABLED初期化パラメータ, 3.6.3 トレース

Javaベースのツールとユーティリティの有効化, B.4

SRVM_TRACE環境変数, B.4

ログ・ファイルへの書込み, B.4

トランザクション

インスタンス障害, 7.3.1

ロールバック, 3.4, 7.3.1

リカバリ待機, 7.3.1

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

サービス, 5.3.2.12

透過的データ暗号化

ENCRYPTION_WALLET_LOCATIONパラメータの指定, 12.3.8.1

暗号化されたウォレットおよび不明瞭にされたウォレット, 12.3.8.1

チューニング

概要, 1.6.4

ADDMの使用, 1.6.3

U

UNDO表領域, 3.1.1

UNDO_MANAGEMENT初期化パラメータ, 3.6.1

UNDO_RETENTION初期化パラメータ, 3.6.3

UNDO_TABLESPACEパラメータ, 3.6.2

ユニバーサル接続プール

メリット, はじめに

ユーザー・データグラム・プロトコル(UDP), B.6 ユーザー・プロセス・トレース・ファイル, B.1

V

V$, 1.6.3

V$ビュー, 13.4

V$ACTIVE_INSTANCES, 3.3, 3.3

V$CLUSTER_INTERCONNECTS, 13.2, B.6

V$CONFIGURED_INTERCONNECTS, 13.2

ベンダーのクラスタウェア, 1.1

検証

データ・ファイル, オンライン・ファイル, 2.3

インターコネクト設定の検証, 13.2 バージョン

Oracle RACおよびOracle Databaseソフトウェアの互換性, 1.5.1

ビュー

Oracle Real Application Clusters用の作成, 13.5

動的パフォーマンス

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

GV$, 13.4

パフォーマンスの監視, 13.4 GV$SESSION, 3.4, 3.4 インスタンス固有, 13.4

V$ビュー, 13.4

VIP

SRVCTLのオブジェクト名, A

仮想インターネット・プロトコル(VIP)・アドレス, 1.2 仮想IPアドレス

要件, A, A

W

待機イベント, 13.9, 13.9.1

サービス・パフォーマンスのための集計, 13.1.1.3

ブロック関連, 13.9.5.1

競合関連, 13.9.5.3

ロード関連, 13.9.5.4

メッセージ関連, 13.9.5.2

ウォレット

データ・セキュリティ, 12.3.8.1

「ようこそ」ページ, 10.1.2.1, 11.1.1.1 Windowsファイアウォール, 12.3.8.2 ワークロード管理

「自動ワークロード管理」を参照

ワークロード

サービス, 5.3.1

「自動ワークロード管理」も参照

X

XAトランザクション

Oracle RACインスタンスにまたがる, 5.8.1

XAトランザクション, 12.3.4

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2015, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。