Oracle® Real Application Clusters

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

12c リリース1 (12.1)

B71323-07(原本部品番号:E48838-12)

2017年7月

Oracle Real Application Clusters管理およびデプロイメント・ガイド, 12cリリース1 (12.1)

B71323-07

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

原本著者: Richard Strohm

原本協力著者: Janet Stern

原本協力者:  Troy Anthony、Lance Ashdown、Ram Avudaiappan、Prasad Bagal、Mark Bauer、Anand Beldalker、Eric Belden、Gajanan Bhat、David Brower、George Claborn、Maria Colgan、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、Karen Li、Barb Lundhild、Venkat Maddali、Bill Manry、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、Daniel Semler、Ara Shakian、Cathy Shea、Khethavath P.Singh、Kesavan Srinivasan、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 Real Application Clusters管理およびデプロイメント・ガイド』のこのリリースの変更内容

- Oracle Real Application Clusters 12cリリース1 (12.1)での変更内容

- Oracle Real Application Clusters 12cリリース1 (12.1.0.2)での変更内容

- Oracle Real Application Clusters 12cリリース1 (12.1.0.1)での変更内容

- 非推奨となった機能

- サポート対象外となった機能

1 Oracle RACの概要

- Oracle RACの概要

- Oracle Real Application Clusters One Nodeの概要

- Oracle ClusterwareおよびOracle RACの概要

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

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

- Oracle RACおよびネットワーク接続性

- Oracle Databasesに接続するための動的データベース・サービスの使用の概要

- 仮想IPアドレスの概要

- Oracle RACのサービス登録の制限

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

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

- 動的データベース・サービスによる自動ワークロード管理の概要

- サーバー・プールおよびポリシー管理データベースの概要

- サーバー・プールの概要

- サーバー・プールの使用例

- ポリシー管理データベースのデプロイ

- ポリシー管理データベースの管理

- ポリシー・ベースのクラスタ管理

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

- Oracle RAC環境の互換性

- Oracle RACデータベース管理スタイルおよびデータベースのインストレーション

- Oracle RACデータベース管理スタイルおよびデータベースの作成

- Oracle RACクラスタの拡張の概要

- Oracle RACを含むOracle Multitenantの概要

- Oracle RACを含むインメモリー列ストアの概要

- Oracle RAC環境の管理の概要

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

- Oracle RAC環境の管理ツール

- Oracle RAC環境の監視

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

2 Oracle RACの記憶域の管理

- Oracle RAC用の記憶域管理の概要

- 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の管理ツール

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

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

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

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

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

- SRVCTLを使用した1つ以上のインスタンスおよびOracle RACデータベースの起動

- SRVCTLを使用した1つ以上のインスタンスおよびOracle RACデータベースの停止

- CRSCTLを使用したすべてのデータベースおよびインスタンスの停止

- SQL*Plusを使用した個々のインスタンスの起動と停止

- Oracle RACでのPDBの起動および停止

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

- インスタンスが実行中であることを確認するためのSRVCTLの使用

- インスタンスが実行中であることを確認するためのSQL*Plusの使用

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

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

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

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

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

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

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

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

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

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

- データベース・サーバーのメモリー不足の管理

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

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

- CLUSTER_INTERCONNECTSパラメータを使用するためのユース・ケース

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

- Oracle Enterprise Managerの高度な管理

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

- Oracle Enterprise Managerのその他の機能

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

- Oracle RACでのジョブの管理

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

- Oracle Enterprise Managerでの定義済ブラックアウトの使用

4 Oracle RAC One Nodeの管理

- Oracle RAC One Nodeデータベースの作成

- データベースの変換

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

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

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

5 動的データベース・サービスによるワークロード管理

- Oracleサービスの使用方法

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

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

- サービスのOracle Clusterwareリソース

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

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

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

- Oracle StreamsおよびOracle RAC

- サービスの特性

- サービス名

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

- サービス管理ポリシー

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

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

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

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

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

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

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

- 制限されたサービス登録

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

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

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

- 古いクライアント用のクライアント側の接続構成

- JDBC-Thinクライアント

- OCIクライアント

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

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

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

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

- 計画外の障害の管理

- 計画停止の管理

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

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

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

- クライアント・フェイルオーバーを向上させるためのトランザクション・ガード

- トランザクション・ガードの概要

- トランザクション・ガードの構成チェックリスト

- トランザクション・ガードのサービスの構成

- アプリケーション・コンティニュイティ: 停止をマスクするための自動リプレイ

- Oracle RACでのアプリケーション・コンティニュイティの構成チェックリスト

- 可変値の管理

- リプレイの無効化

- アプリケーション・コンティニュイティがアプリケーションで機能する仕組み

- TAFによるOCIクライアントのフェイルオーバー

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

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

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

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

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

- Oracle RACのクライアントの有効化

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

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

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

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

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

- Javaのアプリケーション・コンティニュイティのためのJDBC-Thinクライアントの構成

- トランザクション・ガード用のJDBC-Thinクライアントの構成

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

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

- トランザクション・ガードを使用するためのOCIクライアントの構成

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

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

- トランザクション・ガードを使用するためのODP.NETクライアントの構成

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

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

- XAトランザクションに対するDTPサービスおよびXAアフィニティのメリット

- 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をデプロイするためのベスト・プラクティス

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

- 統合時の容量管理

- 統合時のグローバル・キャッシュ・サービス・プロセスの管理

- 統合へのDatabase Cloudの使用

- 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統計を使用したキャッシュ・フュージョンによる転送の影響の分析

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

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

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

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

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

14 シングル・インスタンスOracle DatabaseのOracle RACおよびOracle RAC One Nodeへの変換

- データベースをOracle RACに変換する場合の管理上の問題点

- DBCAを使用したOracle RACおよびOracle RAC One Nodeへの変換

- DBCAを使用したOracle DatabaseのインストールのOracle RACへの変換

- DBCAを使用したシングル・インスタンス・データベースのイメージの作成

- Oracle Clusterwareのインストールの完了

- クラスタの検証

- 事前構成済データベース・イメージのコピー

- Oracle Database 12cソフトウェアおよびOracle RACのインストール

- DBCAを使用したクラスタ上のシングル・インスタンスのOracle RAC One Nodeへの変換

- DBCAを使用したクラスタ上のシングル・インスタンスのOracle RACへの変換

- RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合

- DBCAを使用した自動変換の手順

- 手動変換の手順

- RAC非対応のOracle ホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合

- rconfigおよびOracle Enterprise Managerを使用して変換するための準備

- Oracle RACデータベースへの変換の前提条件

- rconfigを使用したOracle RACへの変換時の構成の変更

- rconfigまたはOracle Enterprise Managerを使用したデータベースのOracle RACへの変換

- Oracle Enterprise Managerを使用したデータベースのOracle RACへの変換

- rconfigを使用したデータベースのOracle RACへの変換

- ConvertToRAC用のrconfig XML入力ファイルの例

- 変換後の手順

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

- SRVCTLの使用方法

- 単一文字ではなくキーワードとしてのコマンド・パラメータの指定

- SRVCTLコマンド・パラメータへの入力ファイルの指定

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

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

- SRVCTLヘルプの使用方法

- SRVCTLの権限とセキュリティ

- 追加のSRVCTLトピック

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

- すべてのSRVCTLコマンドの単一文字パラメータ

- その他のSRVCTLコマンドおよびパラメータ

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

- add

- srvctl add cvu

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl add database

- 構文およびパラメータ

- 例

- srvctl add havip

- 構文およびパラメータ

- 例

- srvctl add instance

- 構文およびパラメータ

- 例

- srvctl add listener

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl add mgmtlsnr

- 構文およびパラメータ

- 例

- 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 cvu

- 構文およびパラメータ

- 例

- srvctl config database

- 構文およびパラメータ

- 例

- srvctl config havip

- 構文およびパラメータ

- 例

- srvctl config listener

- 構文およびパラメータ

- 例

- srvctl config network

- 構文およびパラメータ

- 例

- 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

- 構文およびパラメータ

- 例

- srvctl config volume

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl convert database

- 構文およびパラメータ

- 例

- disable

- srvctl disable cvu

- 構文およびパラメータ

- 例

- srvctl disable database

- 構文およびパラメータ

- 例

- srvctl disable diskgroup

- 構文およびパラメータ

- 例

- srvctl disable filesystem

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl disable gns

- 構文およびパラメータ

- 例

- srvctl disable havip

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl disable instance

- 構文およびパラメータ

- 例

- srvctl disable listener

- 構文およびパラメータ

- 例

- srvctl disable mgmtdb

- 構文およびパラメータ

- 例

- srvctl disable mgmtlsnr

- 構文およびパラメータ

- 例

- srvctl disable nodeapps

- 構文およびパラメータ

- 例

- srvctl disable oc4j

- 構文およびパラメータ

- 例

- srvctl disable ons

- srvctl disable scan

- 構文およびパラメータ

- 例

- srvctl disable scan_listener

- 構文およびパラメータ

- 例

- srvctl disable service

- 構文およびパラメータ

- 例

- srvctl disable vip

- 構文およびパラメータ

- 例

- srvctl disable volume

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl downgrade database

- 構文およびパラメータ

- enable

- srvctl enable asm

- 構文およびパラメータ

- 例

- srvctl enable cvu

- 構文およびパラメータ

- 例

- srvctl enable database

- 構文およびパラメータ

- 例

- srvctl enable diskgroup

- 構文およびパラメータ

- 例

- srvctl enable filesystem

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl enable gns

- 構文およびパラメータ

- 例

- srvctl enable havip

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl enable instance

- 構文およびパラメータ

- 例

- srvctl enable listener

- 構文およびパラメータ

- 例

- srvctl enable mgmtdb

- 構文およびパラメータ

- 例

- srvctl enable mgmtlsnr

- 構文およびパラメータ

- 例

- srvctl enable nodeapps

- 構文およびパラメータ

- 例

- srvctl enable oc4j

- 構文およびパラメータ

- 例

- srvctl enable ons

- 構文およびパラメータ

- 例

- srvctl enable scan

- 構文およびパラメータ

- 例

- srvctl enable scan_listener

- 構文およびパラメータ

- 例

- srvctl enable service

- 構文およびパラメータ

- 例

- srvctl enable vip

- 構文およびパラメータ

- 例

- srvctl enable volume

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl export gns

- 構文およびパラメータ

- 使用上の注意

- 例

- getenv

- srvctl getenv asm

- 構文およびパラメータ

- 例

- srvctl getenv database

- 構文およびパラメータ

- 例

- srvctl getenv listener

- 構文およびパラメータ

- 例

- srvctl getenv mgmtdb

- 構文およびパラメータ

- 例

- srvctl getenv mgmtlsnr

- 構文およびパラメータ

- 例

- srvctl getenv nodeapps

- 構文およびパラメータ

- 例

- srvctl getenv vip

- 構文およびパラメータ

- 例

- srvctl import gns

- 構文およびパラメータ

- 使用上の注意

- 例

- modify

- srvctl modify asm

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl modify cvu

- 構文およびパラメータ

- 例

- srvctl modify database

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl modify filesystem

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl modify gns

- 構文およびパラメータ

- 例

- srvctl modify havip

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl modify instance

- 構文およびパラメータ

- 例

- srvctl modify listener

- 構文およびパラメータ

- 例

- srvctl modify mgmtdb

- 構文およびパラメータ

- 例

- srvctl modify mgmtlsnr

- 構文およびパラメータ

- 例

- 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

- 構文およびパラメータ

- 例

- srvctl modify vip

- 構文およびパラメータ

- 例

- predict

- srvctl predict asm

- 構文およびパラメータ

- 例

- srvctl predict database

- srvctl predict diskgroup

- 構文およびパラメータ

- 例

- srvctl predict filesystem

- 構文およびパラメータ

- 例

- srvctl predict listener

- 構文およびパラメータ

- 例

- srvctl predict network

- 構文およびパラメータ

- 例

- srvctl predict oc4j

- 構文およびパラメータ

- 例

- srvctl predict scan

- 構文およびパラメータ

- 例

- srvctl predict scan_listener

- 構文およびパラメータ

- 例

- srvctl predict service

- 構文およびパラメータ

- 例

- srvctl predict vip

- 構文とオプション

- 例

- relocate

- srvctl relocate asm

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl relocate cvu

- 構文およびパラメータ

- 例

- srvctl relocate database

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl relocate gns

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl relocate havip

- 構文およびパラメータ

- 例

- srvctl relocate mgmtdb

- 構文およびパラメータ

- 例

- 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 havip

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl remove instance

- 構文およびパラメータ

- 例

- srvctl remove listener

- 構文およびパラメータ

- 例

- srvctl remove mgmtdb

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl remove mgmtlsnr

- 構文およびパラメータ

- 例

- srvctl remove network

- 構文およびパラメータ

- 例

- 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

- 構文およびパラメータ

- 例

- srvctl remove volume

- 構文およびパラメータ

- 使用上の注意

- 例

- setenv

- srvctl setenv asm

- 構文およびパラメータ

- 例

- srvctl setenv database

- 構文およびパラメータ

- 例

- srvctl setenv listener

- 構文およびパラメータ

- 例

- srvctl setenv mgmtdb

- 構文およびパラメータ

- 例

- srvctl setenv mgmtlsnr

- 構文およびパラメータ

- 例

- 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 havip

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl start home

- 構文およびパラメータ

- 例

- srvctl start instance

- 構文およびパラメータ

- 例

- srvctl start listener

- 構文およびパラメータ

- 例

- srvctl start mgmtdb

- 構文およびパラメータ

- 例

- srvctl start mgmtlsnr

- 構文およびパラメータ

- 例

- srvctl start nodeapps

- 構文およびパラメータ

- 例

- srvctl start oc4j

- 構文およびパラメータ

- srvctl start ons

- 構文およびパラメータ

- srvctl start scan

- 構文およびパラメータ

- 例

- srvctl start scan_listener

- 構文およびパラメータ

- 例

- srvctl start service

- 構文およびパラメータ

- 例

- srvctl start vip

- 構文およびパラメータ

- 例

- srvctl start volume

- 構文およびパラメータ

- 使用上の注意

- 例

- status

- srvctl status asm

- 構文およびパラメータ

- 例

- srvctl status cvu

- 構文およびパラメータ

- 例

- srvctl status database

- 構文およびパラメータ

- 例

- srvctl status diskgroup

- 構文およびパラメータ

- 例

- srvctl status filesystem

- 構文およびパラメータ

- 例

- srvctl status gns

- 構文およびパラメータ

- srvctl status havip

- 構文およびパラメータ

- 例

- srvctl status home

- 構文およびパラメータ

- 例

- srvctl status instance

- 構文およびパラメータ

- 例

- srvctl status listener

- 構文およびパラメータ

- 例

- srvctl status mgmtdb

- 構文およびパラメータ

- 例

- srvctl status mgmtlsnr

- 構文およびパラメータ

- 例

- 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

- 構文およびパラメータ

- 例

- srvctl status volume

- 構文およびパラメータ

- 使用上の注意

- 例

- stop

- srvctl stop asm

- 構文およびパラメータ

- 例

- srvctl stop cvu

- 構文およびパラメータ

- 例

- srvctl stop database

- 構文およびパラメータ

- 例

- srvctl stop diskgroup

- 構文およびパラメータ

- 例

- srvctl stop filesystem

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl stop gns

- 構文およびパラメータ

- 例

- srvctl stop havip

- 構文およびパラメータ

- 使用上の注意

- 例

- srvctl stop home

- 構文およびパラメータ

- 例

- srvctl stop instance

- 構文およびパラメータ

- 例

- srvctl stop listener

- 構文およびパラメータ

- 例

- srvctl stop mgmtdb

- 構文およびパラメータ

- 例

- srvctl stop mgmtlsnr

- 構文およびパラメータ

- 例

- srvctl stop nodeapps

- 構文およびパラメータ

- 例

- srvctl stop oc4j

- 構文およびパラメータ

- 例

- srvctl stop ons

- 構文およびパラメータ

- 例

- srvctl stop scan

- 構文およびパラメータ

- 例

- srvctl stop scan_listener

- 構文およびパラメータ

- 例

- srvctl stop service

- 構文およびパラメータ

- 例

- srvctl stop vip

- 構文およびパラメータ

- 例

- srvctl stop volume

- 構文およびパラメータ

- 使用上の注意

- 例

- unsetenv

- srvctl unsetenv asm

- 構文およびパラメータ

- 例

- srvctl unsetenv database

- 構文およびパラメータ

- 例

- srvctl unsetenv listener

- 構文およびパラメータ

- 例

- srvctl unsetenv mgmtdb

- 構文およびパラメータ

- 例

- srvctl unsetenv mgmtlsnr

- 構文およびパラメータ

- 例

- srvctl unsetenv nodeapps

- 構文およびパラメータ

- 例

- srvctl unsetenv vip

- 構文およびパラメータ

- 例

- update

- srvctl update database

- srvctl update gns

- 使用上の注意

- 例

- srvctl update listener

- srvctl update scan_listener

- srvctl upgrade database

- 構文およびパラメータ

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

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

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

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

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

- 停止保留問題の解決

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

- プライベートNIC障害が発生した後、データベースの起動が失敗する

用語集

索引

表一覧

- 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 SRVCTLコマンドのサマリー

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

- A-6 srvctl addコマンドのサマリー

- A-7 srvctl add cvuのパラメータ

- A-8 srvctl add databaseのパラメータ

- A-9 srvctl add havipのパラメータ

- A-10 srvctl add instanceのパラメータ

- A-11 srvctl add listenerのパラメータ

- A-12 srvctl add mgmtlsnrのパラメータ

- A-13 srvctl add networkのパラメータ

- A-14 srvctl add nodeappsのパラメータ

- A-15 srvctl add onsのパラメータ

- A-16 srvctl add scanのパラメータ

- A-17 srvctl add scan_listenerのパラメータ

- A-18 srvctl add serviceのパラメータ

- A-19 srvctl add srvpoolのパラメータ

- A-20 srvctl add vipのパラメータ

- A-21 srvctl configのサマリー

- A-22 srvctl config databaseのパラメータ

- A-23 srvctl config havipのパラメータ

- A-24 srvctl config listenerのパラメータ

- A-25 srvctl config networkのパラメータ

- A-26 srvctl config nodeappsのパラメータ

- A-27 srvctl config serviceのパラメータ

- A-28 srvctl config vipのパラメータ

- A-29 srvctl config volumeのパラメータ

- A-30 srvctl convert databaseのパラメータ

- A-31 srvctl disableのサマリー

- 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 havipのパラメータ

- A-38 srvctl disable instanceのパラメータ

- A-39 srvctl disable listenerのパラメータ

- A-40 srvctl disable mgmtdbのパラメータ

- A-41 srvctl disable mgmtlsnrのパラメータ

- A-42 srvctl disable nodeappsのパラメータ

- A-43 srvctl disable oc4jのパラメータ

- A-44 srvctl disable serviceのパラメータ

- A-45 srvctl disable vipのパラメータ

- A-46 srvctl disable volumeのパラメータ

- A-47 srvctl downgrade databaseのパラメータ

- A-48 srvctl enableのサマリー

- A-49 srvctl enable asmのパラメータ

- A-50 srvctl enable cvuのパラメータ

- A-51 srvctl enable databaseのパラメータ

- A-52 srvctl enable diskgroupのパラメータ

- A-53 srvctl enable filesystemのパラメータ

- A-54 srvctl enable gnsのパラメータ

- A-55 srvctl enable havipのパラメータ

- A-56 srvctl enable instanceのパラメータ

- A-57 srvctl enable listenerのパラメータ

- A-58 srvctl enable mgmtdbのパラメータ

- A-59 srvctl enable mgmtlsnrのパラメータ

- A-60 srvctl enable nodeappsのパラメータ

- A-61 srvctl enable oc4jのパラメータ

- A-62 srvctl enable serviceのパラメータ

- A-63 srvctl enable vipのパラメータ

- A-64 srvctl enable volumeのパラメータ

- A-65 srvctl export gnsのパラメータ

- A-66 srvctl getenvのサマリー

- A-67 srvctl getenv asmのパラメータ

- A-68 srvctl getenv databaseのパラメータ

- A-69 srvctl getenv listenerのパラメータ

- A-70 srvctl getenv mgmtdbのパラメータ

- A-71 srvctl getenv mgmtlsnrのパラメータ

- A-72 srvctl getenv nodeappsのパラメータ

- A-73 srvctl getenv vipのパラメータ

- A-74 srvctl modifyのサマリー

- A-75 srvctl modify asmのパラメータ

- A-76 srvctl modify cvuのパラメータ

- A-77 srvctl modify databaseのパラメータ

- A-78 srvctl modify filesystemのパラメータ

- A-79 srvctl modify gnsのパラメータ

- A-80 srvctl modify havipのパラメータ

- A-81 srvctl modify instanceのパラメータ

- A-82 srvctl modify listenerのパラメータ

- A-83 srvctl modify mgmtdbのパラメータ

- A-84 srvctl modify mgmtlsnrのパラメータ

- A-85 srvctl modify networkのパラメータ

- A-86 srvctl modify nodeappsのパラメータ

- A-87 srvctl modify oc4jのパラメータ

- A-88 srvctl modify onsのパラメータ

- A-89 srvctl modify scanのパラメータ

- A-90 srvctl modify scan_listenerのパラメータ

- A-91 srvctl modify serviceのパラメータ - サービスの移動

- A-92 srvctl modify serviceのパラメータ - 優先インスタンスへの変更

- A-93 srvctl modify serviceのパラメータ - 複数インスタンスのステータスの変更

- A-94 srvctl modify serviceのパラメータ

- A-95 srvctl modify srvpoolのパラメータ

- A-96 srvctl modify vipのパラメータ

- A-97 srvctl predictのサマリー

- A-98 srvctl predict asmのパラメータ

- A-99 srvctl predict databaseのパラメータ

- A-100 srvctl predict diskgroupのパラメータ

- A-101 srvctl predict filesystemのパラメータ

- A-102 srvctl predict listenerのパラメータ

- A-103 srvctl predict networkのパラメータ

- A-104 srvctl predict oc4jのパラメータ

- A-105 srvctl predict scanのパラメータ

- A-106 srvctl predict scan_listenerのパラメータ

- A-107 srvctl predict serviceのパラメータ

- A-108 srvctl predict vipのパラメータ

- A-109 srvctl relocateのサマリー

- A-110 srvctl relocate asmのパラメータ

- A-111 srvctl relocate cvuのパラメータ

- A-112 srvctl relocate databaseのパラメータ

- A-113 srvctl relocate gnsのパラメータ

- A-114 srvctl relocate havipのパラメータ

- A-115 srvctl relocate oc4jのパラメータ

- A-116 srvctl relocate scanのパラメータ

- A-117 srvctl relocate scan_listenerのパラメータ

- A-118 srvctl relocate serverのパラメータ

- A-119 srvctl relocate serviceのパラメータ

- A-120 srvctl relocate vipのパラメータ

- A-121 srvctl removeのサマリー

- A-122 srvctl remove asmのパラメータ

- A-123 srvctl remove databaseのパラメータ

- A-124 srvctl remove diskgroupのパラメータ

- A-125 srvctl remove filesystemのパラメータ

- A-126 srvctl remove gnsのパラメータ

- A-127 srvctl remove havipのパラメータ

- A-128 srvctl remove instanceのパラメータ

- A-129 srvctl remove listenerのパラメータ

- A-130 srvctl remove mgmtdbのパラメータ

- A-131 srvctl remove networkのパラメータ

- A-132 srvctl remove nodeappsのパラメータ

- A-133 srvctl remove oc4jのパラメータ

- A-134 srvctl remove onsのパラメータ

- A-135 srvctl remove scanのパラメータ

- A-136 srvctl remove scan_listenerのパラメータ

- A-137 srvctl remove serviceのパラメータ

- A-138 srvctl remove srvpoolのパラメータ

- A-139 srvctl remove vipのパラメータ

- A-140 srvctl remove volumeのパラメータ

- A-141 srvctl setenvのサマリー

- A-142 srvctl setenv asmのパラメータ

- A-143 srvctl setenv databaseのパラメータ

- A-144 srvctl setenv listenerのパラメータ

- A-145 srvctl setenv mgmtdbのパラメータ

- A-146 srvctl setenv mgmtlsnrのパラメータ

- A-147 srvctl setenv nodeappsのパラメータ

- A-148 srvctl setenv vipのパラメータ

- A-149 srvctl startのサマリー

- A-150 srvctl start asmのパラメータ

- A-151 srvctl start databaseのパラメータ

- A-152 srvctl start diskgroupのパラメータ

- A-153 srvctl start filesystemのパラメータ

- A-154 srvctl start gnsのパラメータ

- A-155 srvctl start havipのパラメータ

- A-156 srvctl start homeのパラメータ

- A-157 srvctl start instanceのパラメータ

- A-158 srvctl start listenerのパラメータ

- A-159 srvctl start mgmtdbのパラメータ

- A-160 srvctl start nodeappsのパラメータ

- A-161 srvctl start scanのパラメータ

- A-162 srvctl start scan_listenerのパラメータ

- A-163 srvctl start serviceのパラメータ

- A-164 srvctl start vipのパラメータ

- A-165 srvctl start volumeのパラメータ

- A-166 srvctl statusのサマリー

- A-167 srvctl status asmのパラメータ

- A-168 srvctl status databaseのパラメータ

- A-169 srvctl status diskgroupのパラメータ

- A-170 srvctl status filesystemのパラメータ

- A-171 srvctl status gnsのパラメータ

- A-172 srvctl status havipのパラメータ

- A-173 srvctl status homeのパラメータ

- A-174 srvctl status instanceのパラメータ

- A-175 srvctl status listenerのパラメータ

- A-176 srvctl status mgmtlsnrのパラメータ

- A-177 srvctl status oc4jのパラメータ

- A-178 srvctl status scanのパラメータ

- A-179 srvctl status scan_listenerのパラメータ

- A-180 srvctl status serverのパラメータ

- A-181 srvctl status serviceのパラメータ

- A-182 srvctl status srvpoolのパラメータ

- A-183 srvctl status vipのパラメータ

- A-184 srvctl status volumeのパラメータ

- A-185 srvctl stopのサマリー

- A-186 srvctl stop asmのパラメータ

- A-187 srvctl stop databaseのパラメータ

- A-188 srvctl stop diskgroupのパラメータ

- A-189 srvctl stop filesystemのパラメータ

- A-190 srvctl stop gnsのパラメータ

- A-191 srvctl stop havipのパラメータ

- A-192 srvctl stop homeのパラメータ

- A-193 srvctl stop instanceのパラメータ

- A-194 srvctl stop listenerのパラメータ

- A-195 srvctl stop mgmtdbのパラメータ

- A-196 srvctl stop mgmtlsnrのパラメータ

- A-197 srvctl stop nodeappsのパラメータ

- A-198 srvctl stop oc4jのパラメータ

- A-199 srvctl stop scanのパラメータ

- A-200 srvctl stop scan_listenerのパラメータ

- A-201 srvctl stop serviceのパラメータ

- A-202 srvctl stop vipのパラメータ

- A-203 srvctl stop volumeのパラメータ

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

- A-205 srvctl unsetenv databaseのパラメータ

- A-206 srvctl unsetenv listenerのパラメータ

- A-207 srvctl unsetenv nodeappsのパラメータs

- A-208 srvctl unsetenv vipのパラメータ

- A-209 srvctl updateコマンドのサマリー

- A-210 srvctl update gnsのパラメータ

- A-211 srvctl upgrade databaseのパラメータ

はじめに

『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サポートへのアクセス

サポートを購入したオラクル社のお客様は、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 12cのREADMEまたはリリース・ノートを参照してください。今回のリリース用のこれらのドキュメントが存在する場合、Oracle製品のインストール・メディアに収録されています。

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

表記規則

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

規則

意味

太字

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

イタリック体

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

固定幅

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

『Oracle Real Application Clusters管理およびデプロイメント・ガイド』のこのリリースの変更内容

この章の内容は次のとおりです。

- Oracle Real Application Clusters 12cリリース1 (12.1)での変更内容

Oracle Real Application Clusters 12cリリース1 (12.1)での変更内容

次に、Oracle Real Application Clusters (Oracle RAC) 12cの『Oracle Real Application Clusters管理およびデプロイメント・ガイド』での変更内容を示します。

- Oracle Real Application Clusters 12cリリース1 (12.1.0.2)での変更内容

- Oracle Real Application Clusters 12cリリース1 (12.1.0.1)での変更内容

- 非推奨となった機能

- サポート対象外となった機能

Oracle Real Application Clusters 12cリリース1 (12.1.0.2)での変更内容

このリリースの新機能は次のとおりです。

- インメモリー列ストア
インメモリー列ストアは、表全体、表パーティション、および圧縮列形式の個々の列を格納する、SGAのオプション領域です。データベースは、SIMDベクトル処理を含む特別な手法を使用して、列データを非常に高速にスキャンします。インメモリー列ストアは、データベース・バッファ・キャッシュを置き換えるものではなく、補完するものです。

関連項目:

詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。

- インメモリー・トランザクション・マネージャ
インメモリー・トランザクション・マネージャは独立したエンジンで、インメモリー列ストアへの変更を適用するトランザクションの読取り一貫性を自動的に提供します。インメモリー列ストアに存在する表およびパーティションは列形式でメモリーに格納され、行メジャー形式でデータ・ファイルおよびデータベース・バッファ・キャッシュに格納されるので、このエンジンが必要です。

関連項目:

詳細は、『Oracle Database概要』を参照してください。

- 高速ホーム・プロビジョニング
高速ホーム・プロビジョニングでは、事前作成済のソフトウェア・ホームのカタログに格納されたイメージに基づいてOracleホームをデプロイできます。

関連項目:

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

- 全データベース・インメモリー・キャッシング
このリリースでは、データベース全体をメモリーにキャッシングできます。各インスタンスのバッファ・キャッシュ・サイズがデータベース全体のサイズよりも大きいときにこの機能を使用します。Oracle RACシステムで、正しくパーティション化されたアプリケーションでは、すべてのデータベース・インスタンスの結合バッファ・キャッシュ(インスタンス間で重複するキャッシュされたブロックを処理する追加の領域を含む)がデータベース・サイズよりも大きい場合に、この機能を使用できます。

関連項目:

詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

- Oracle Database QoS管理をアクティブにする必要がないメモリー・ガード
このリリースでは、Oracle Databaseサービスのクオリティ管理(Oracle Database QoS管理)を使用するかどうかに関係なく、メモリー・ガードがデフォルトで有効化されています。メモリー・ガードはノードのメモリー不足を検出し、既存のワークロードが縮小してメモリーが解放されるまで、新しいセッションを他のインスタンスに送ります。ノードの空きメモリーが増えると、自動的にサービスが再び新しい接続を受け入れられるようになります。

Oracle Real Application Clusters 12cリリース1 (12.1.0.1)での変更内容

このリリースの新機能は次のとおりです。

- アプリケーション・コンティニュイティ
このリリースより前は、エンド・ユーザーから停止をマスクする場合、アプリケーション開発者は基礎となるソフトウェア、ハードウェアおよび通信レイヤーの停止を明示的に処理する必要がありました。

Oracle Database 10gでは、高速アプリケーション通知(FAN)によって、例外条件がアプリケーションに迅速に配信されました。ただし、FANおよび以前のOracleテクノロジでは、最後のトランザクションの結果がアプリケーションに報告されず、アプリケーションの観点から進行中の要求がリカバリされませんでした。結果として、停止がマスクされず、ユーザーに不便を強い、収益が失われました。ユーザーが意図せずに重複して品物を購入したり、1つの請求書に何回も支払う可能性もあります。複雑なケースでは、引き起こされた問題に対処するために、管理者が中間層をリブートする必要がありました。

アプリケーション・コンティニュイティは、アプリケーションに依存しない機能であり、アプリケーションの観点から不完全な要求のリカバリを試行し、システム、通信、ハードウェアの多くの障害および記憶域の停止をエンド・ユーザーからマスクします。

関連項目:

- 詳細は、『Oracle Database概要』を参照してください。

- 「アプリケーションに対してアプリケーション・コンティニュイティが機能する仕組み」

- Java用のトランザクション・ガード
この機能によって、新しいアプリケーション・コンティニュイティインフラストラクチャがJavaに公開されます。次のことがサポートされます。

- トランザクションの冪等性など、トランザクションの実行を1回以下にするためのプロトコル

- 論理トランザクションID (LTXID)を取得するためのAPI

- 接続またはセッションのステータスを取得するための属性

関連項目:

詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

- トランザクションの冪等性
この機能は、アプリケーションに依存しない汎用インフラストラクチャを提供し、これにより、アプリケーションの観点からの作業のリカバリを可能にし、システム、通信およびハードウェアの多くの障害をユーザーからマスクします。トランザクションの冪等性によって、トランザクションは予定どおりに、最大1回実行されるようになります。

関連項目:

詳細は、『Oracle Database開発ガイド』を参照してください。

- Oracle Flex Cluster
場合によっては何千というノードで構成される大規模なクラスタは、Oracle RACにプラットフォームを提供して、大規模パラレル問合せ操作をサポートします。

関連項目:

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

- ディスク・グループの共有Oracle ASMパスワード・ファイル
この機能によって、Oracle Automatic Storage Management(Oracle ASM)共有パスワード・ファイルをOracle ASMディスク・グループに格納する場合のブートストラップ問題に対処するために必要なインフラストラクチャが実装されます。

関連項目:

Oracle Automatic Storage Management管理者ガイド

- Global Data Services
Oracle RACがデータベース・サービスをサポートし、クラスタ内の複数のデータベース・インスタンスをまたいだサービスレベルのワークロード管理を有効にするのと同様の方法で、Global Data Servicesでは、共有サービスを提供する一連のレプリケート・データベースに対する、Oracle RACに似た接続時ロード・バランシング、ランタイム・ロード・バランシング、フェイルオーバーおよびサービスの集中管理を提供します。この一連のデータベースには、Oracle RAC、およびOracle Data Guard、Oracle GoldenGateまたはその他のレプリケーション・テクノロジで相互接続された、非クラスタ化Oracle Databaseを含めることができます。

関連項目:

詳細は、Oracle Databaseグローバル・データ・サービス概念および管理ガイドを参照してください。

- 共有グリッド・ネーミング・サービス
グリッド・ネーミング・サービス(GNS)の1つのインスタンスで、任意の数のクラスタにサービスを提供できます。

関連項目:

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

- Oracle RACのWhat-Ifコマンドの評価
Oracle Clusterwareのこの機能を使用すると、システムの状態を変更することなく、仮定的な計画済または計画外イベントに対するポリシー・レスポンスを提供するメカニズムによって、リソースの管理および可用性が向上します。

Oracle RACでは、SRVCTLに対する拡張が、特定のコマンドを実行してその潜在的影響を判別する前に、それらのコマンドの影響を特定するのに役立ちます。

関連項目:

- What-If機能を使用するSRVCTLコマンドのリストは、「SRVCTL使用情報」を参照してください

- Oracle Clusterware制御(CRSCTL)ユーティリティ・コマンドおよび同様の拡張機能のリストは、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle RACデプロイメントへのサービス登録の制限
この機能により、デフォルトでローカルIPからのリスナー登録のみが許可され、登録要求がリスナーにより許可される一連のIPアドレスまたはサブネットを構成および動的に更新する機能が提供されます。

関連項目:

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

- 有効なノードの確認によるサービス登録の制限
この機能によって、ネットワーク管理者は、単一クライアント・アクセス名(SCAN)リスナーが登録を受け入れたノードのリストおよびサブネット情報を指定できます。SRVCTLを使用してノードおよびサブネット情報を指定でき、SRVCTLではこの情報をSCANリスナー・リソース・プロファイルに格納し、この情報はlistener.oraファイルにも書き込まれます。データベースへのクライアント・アクセスを制限すると、Oracle RACがよりセキュアになり、セキュリティ上の問題や攻撃に対する脆弱性が軽減されます。

- プラガブル・データベース
プラガブル・データベースによって、Oracle Databaseはスキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトのポータブル・コレクションを含むことができます。これらはOracle Netクライアントに個別のデータベースとして表示されます。この自己完結型コレクションは、プラガブル・データベース(PDB)と呼ばれます。コンテナ・データベース(CDB)とは、0 (ゼロ)、1つまたは数多くのユーザー作成のプラガブル・データベース(PDB)を含むOracle Databaseです。PDBはCDBから切断して、別のCDBに接続できます。

関連項目:

『Oracle Database管理者ガイド』

- WindowsでのOracleホーム・ユーザーのサポート
Oracle Database 12c以降、Oracle Databaseでは、Oracleホーム・ユーザーの使用がサポートされており、インストール時に指定できます。Oracleホーム・ユーザーは、Windowsドメイン・ユーザーに関連付けられています。制限された権限セットをOracleホーム・ユーザーに確実に付与することで、Oracle製品の実行に必要な権限のみがOracle Databaseサービスに付与されるようにするには、Windowsドメイン・ユーザーを権限の弱い非管理者アカウントにする必要があります。

Windowsの管理者ユーザーの権限は、インストール、アップグレード、パッチ適用などのOracleソフトウェア・メンテナンス・タスクを実行するために依然として必要です。Oracle Database管理ツールは、必要な場合はOracleホーム・ユーザーのパスワードを尋ねるように拡張されました。Oracle RAC環境では、Oracleホーム・ユーザーのパスワードをセキュア・ウォレットに保存できます。このようなウォレットが存在する場合、Oracle Database管理ツールでは、ウォレットからのパスワードが自動的に使用され、Oracleホーム・ユーザーのパスワードの入力は求められません。

関連項目:

『Oracle Real Application Clustersインストレーション・ガイドfor Microsoft Windows x64(64-Bit)』

- Oracle ACFSおよびOracle ADVMのクラスタ・リソース
Oracle Clusterwareリソースのサポートには、Oracle Automatic Storage Management Cluster File System (Oracle ACFS)、Gridホーム用のOracle ACFS汎用ファイル・システム、およびOracle ASM Dynamic Volume Manager (Oracle ADVM)のボリュームに格納されたOracleホームの拡張が含まれます。Oracle Clusterwareによって管理されるこれらのリソースでは、Oracle ACFS、Oracle ADVMドライバとOKSドライバ、ディスク・グループのマウント、動的ボリュームの有効化、および自動Oracle ACFSファイル・システムのマウントがサポートされています。

関連項目:

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

- Oracle Highly Available NFS
Oracle ACFSは、エクスポートされた可用性の高いファイル・システム・サービスとして構成できます。このサービスは、仮想IPアドレスと組み合せて、Oracle ACFSのクラスタ全体のデータの一貫性および整合性を使用し、NFSエクスポート用のフェイルオーバー機能を実現します。この仮想IPアドレスからNFSエクスポートをマウントすると、クラスタの1つのノードが使用可能である場合、NFSエクスポートは使用可能になることをクライアントに保証できます。

関連項目:

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

- ポリシーベースのクラスタ管理および運用
Oracle Grid Infrastructureでは、1つのクラスタで複数のアプリケーションを実行することができます。ポリシーベースの方法を使用すると、これらのアプリケーションによって発生するワークロードを、ポリシーを使用したクラスタ全体に振り分けることができます。またポリシー設定によって、時間の経過とともに必要に応じて異なるポリシーをクラスタに適用することができます。Webベースのインタフェースまたはコマンドライン・インタフェースを使用して、ポリシー・セットを定義できます。

同じクラスタ内で様々なワークロードを受け入れることで、共有インフラストラクチャにワークロードを集約することができ、高可用性とスケーラビリティが実現されます。集中管理されたポリシーベースの方法を使用することで、要求の変化に応じてリソースを動的に再配分し、優先度付けが可能になります。

関連項目:

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

- オンライン・リソース属性変更

Oracle Clusterwareでは、リソース・モデルを使用して、高可用性のためにハードウェアおよびソフトウェアを管理します。リソース属性を使用して、Oracle Clusterwareによるこれらのリソースの管理方法を定義します。オンライン・リソース属性変更を使用すると、リソースを再起動しないで、特定のリソース属性を変更したり、これらの変更を実装することができます。特定のSRVCTLおよびCRSCTLコマンドを使用して、オンライン・リソース属性変更を管理します。

非推奨となった機能

単一文字SRVCTL CLIオプションの非推奨

すべてのSRVCTLコマンドは、単一文字オプションのかわりに完全単語オプションを受け入れるように拡張されました。このリリースで追加されたすべての新しいSRVCTLコマンド・オプションはフルワード・オプションのみをサポートしており、1文字のオプションはサポートしていません。SRVCTLコマンドでの単一文字オプションの使用は、今後のリリースではサポートされない可能性があります。

サポート対象外となった機能

関連項目:

詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。

- Windows用のOracle Cluster File System
WindowsでのOracle Clusterファイル・システム(OCFS)はサポートされていません。

- Oracle Database用のRAW (ブロック)記憶域デバイスおよび関連テクノロジ
Oracle Database 12cリリース1 (12.1)およびOracle Clusterwareなどの関連するグリッド技術は、RAWストレージ・デバイスまたはブロック・ストレージ・デバイスの直接使用を現在はサポートしていません。Oracle Clusterware 12cリリース1 (12.1)にアップグレードする前に、既存のファイルをRAWまたはブロック・デバイスからOracle ASMに移動する必要があります。

1 Oracle RACの概要

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

この章の内容は次のとおりです。

- Oracle RACの概要

- Oracle Real Application Clusters One Nodeの概要

- Oracle ClusterwareおよびOracle RACの概要

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

- 動的データベース・サービスによる自動ワークロード管理の概要

- サーバー・プールおよびポリシー管理データベースの概要

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

- Oracle RACを含むOracle Multitenantの概要

- Oracle RACを含むインメモリー列ストアの概要

- Oracle RAC環境の管理の概要

Oracle RACの概要

非クラスタの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つのサーバーとして認識されます。Oracle DatabaseとともにOracle RACオプションを使用すると、Oracle Databaseをクラスタ化できます。Oracle RACでは、インフラストラクチャとしてOracle Clusterwareを使用し、複数のサーバーを関連付けてそれらが単一のシステムとして動作するように構成します。

Oracle Clusterwareは、Oracle Databaseと統合された、ポータブルなクラスタ管理ソリューションです。Oracle Clusterwareは、Oracle RACの実行に必要なインフラストラクチャを提供するOracle RACを使用するために必要なコンポーネントです。Oracle Clusterwareでは、仮想インターネット・プロトコル(VIP)・アドレス、データベース、リスナー、サービスなどのリソースも管理します。さらに、Oracle Clusterwareによって、非クラスタのOracle DatabaseとOracle RACデータベースの両方で、Oracle高可用性インフラストラクチャを使用できます。Oracle ClusterwareとOracle Automatic Storage Management(Oracle ASM) (この2つは一緒になってOracle Grid Infrastructureを構成します)が一緒になることによって、非クラスタとOracle RACデータベースの任意の組合せで使用されるストレージのクラスタ化プールを作成できます。

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

関連項目:

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

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

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

従来、Oracle RAC環境は、1つのデータ・センターにあります。しかし、Oracle RACを拡張遠距離クラスタに構成でき、これは、サイト障害からの非常に高速なリカバリを実現し、すべてのサイトのすべてのノードで単一のデータベース・クラスタの一部としてアクティブにトランザクションを処理できるアーキテクチャです。拡張クラスタでは、クラスタ内のノードは通常、2つのファイア・セルの間、2つの部屋や建物の間、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データベースにデプロイするアプリケーションは、コードを変更せずに使用できます。

脚注の説明

脚注1:
Oracle Database 10gリリース2 (10.2)以上の場合、Oracle Clusterwareは、Oracle Clusterware標準クラスタ内で100のノードをサポートし、これらのノード上の1つの本番データベースに属する100のデータベース・インスタンスを実行するオプションを備えています。

Oracle Real Application Clusters One Nodeの概要

Oracle Real Application Clusters One Node (Oracle RAC One Node)はOracle Database 11gリリース2 (11.2)以降に使用可能なOracle Database Enterprise Editionのオプションです。Oracle RAC One Nodeは、クラスタ内の1つのノードで通常の操作のみで実行されるOracle RAC対応データベースの単一インスタンスです。このオプションにより、企業内にOracle Databases用の標準デプロイメントを提供することで管理オーバーヘッドを削減しながら、オラクル社がデータベースの統合に対して提供する柔軟性が向上します。Oracle RAC One Nodeデータベースには、Oracle Grid Infrastructureが必要なため、Oracle RACデータベースと同じハードウェア設定が必要になります。

Oracle RACが認証されているすべてのプラットフォームでOracle RAC One Nodeがサポートされています。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にオンラインでアップグレードできます。Oracle RAC One Nodeが実行されているノードがオーバーロードになった場合は、インスタンスをクラスタ内の別のインスタンスに再配置できます。Oracle RAC One Nodeでは、オンライン・データベース再配置機能を使用して、アプリケーション・ユーザーには停止時間なしでデータベース・インスタンスを再配置できます。あるいは、リソース・マネージャ・インスタンス・ケージングを使用して、クラスタ内のサーバーごとに個々のデータベース・インスタンスのCPU使用率を制限でき、必要な場合は要求シナリオに応じてこの制限を動的に変更できます。

単一クライアント・アクセス名(SCAN)を使用してデータベースに接続すると、クライアントは、データベースが実行されているノードのサービスを独自に特定できます。したがって、クライアント接続によっては、Oracle RAC One Nodeインスタンスの再配置がクライアントに対してほとんど透過的になります。クライアントでの再配置の影響を最小限に抑えるために、アプリケーション・コンティニュイティとOracleの高速アプリケーション通知または透過的アプリケーション・フェイルオーバーを使用することをお薦めします。

Oracle RAC One Nodeデータベースの管理は、Oracle RACデータベースまたは非クラスタ・データベースとは若干異なります。管理者管理Oracle RAC One Nodeデータベースの場合は、候補ノード・リストを監視し、可能であればサーバーがいつでもフェイルオーバーに使用できるようにしておく必要があります。候補サーバーは汎用サーバー・プールに存在し、データベースとそのサービスは、いずれかの候補サーバーにフェイルオーバーします。

ポリシー管理Oracle RAC One Nodeデータベースの場合、現在のノードが使用できなくなった場合にサーバーがデータベースのフェイルオーバーに使用できるように、サーバー・プールが構成されていることを確認する必要があります。この場合、オンライン・データベース再配置用の宛先ノードは、データベースが配置されているサーバー・プールに配置される必要があります。または、サイズが1(サーバー・プール内に1つのサーバー)のサーバー・プールを使用して、最小サイズを1に設定し、クラスタ内で使用されている他のすべてのサーバー・プールに対して重要性を十分に高く設定することで、このサーバー・プールで使用されている1つのサーバーで障害が発生した場合に、そのサーバー・プールに必要に応じて別のサーバー・プールまたは空きサーバー・プールから新しいサーバーが確実に再配置されるようにする方法もあります。

注意:

- Oracle RAC One Nodeは、クライアントのフェイルオーバー用に、トランザクション・ガードおよびアプリケーション・コンティニュイティをサポートしています。

- すべての障害の可能性に準備するために、少なくとも1つの動的データベース・サービス(Oracle Clusterware管理データベース・サービス)をOracle RAC One Nodeデータベースに追加する必要があります。

関連項目:

- Oracle RAC One Nodeデータベースのインストールの詳細は、『Oracle Real Application Clustersインストレーション・ガイドfor Linux and UNIX』

- 「クライアント・フェイルオーバーを向上させるためのトランザクション・ガード」

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 VIPおよびSCANリスナーを含みます)、Oracle Notification Service、Oracle Netリスナーなど他の必須コンポーネントとともに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)ができる通信プロトコルが用意されていること、論理的に結合された単一のキャッシュ上にデータが存在するかのように、複数のデータベース・インスタンスでデータを処理できること、およびクラスタ内のノードのステータスを監視して通信するメカニズムが用意されていることです。

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

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

- Oracle RACおよびネットワーク接続性

- Oracle Databasesに接続するための動的データベース・サービスの使用の概要

- Oracle RACのサービス登録の制限

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

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

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

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

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

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

- 認定されたクラスタ・ファイル・システム

- Oracle Automatic Storage Management Cluster File System (Oracle ACFS)をお薦めします。

- クラスタ対応ボリューム・マネージャ上の、Oracle RAC用に認定されているサード・パーティのクラスタ・ファイル・システム。次に例を示します。

- Oracle OCFS2 (Linuxのみ)

- IBM GPFS (IBM AIXのみ)

- 認定されたネットワーク・ファイル・システム(NFS)・ソリューション

Oracle RACおよびネットワーク接続性

Oracle RAC環境内のすべてのノードは、ユーザーおよびアプリケーションがデータベースにアクセスできるようにするために、少なくとも1つのLocal Area Network (LAN) (一般にパブリック・ネットワークと呼ばれます)に接続する必要があります。Oracle RACでは、パブリック・ネットワークに加えて、ノードとこのノード上で動作するインスタンスの間の通信専用に使用するプライベート・ネットワーク接続が必要になります。このネットワークは、一般にインターコネクトと呼ばれます。

インターコネクト・ネットワークは、クラスタ内のすべてのサーバーに接続するプライベート・ネットワークです。インターコネクト・ネットワークは、1つ以上のスイッチと1つのギガビット・イーサネット・アダプタを使用する必要があります。

注意:

- より大きい帯域幅とのインタフェースはサポートされていますが、インターコネクトとの間のクロスオーバー・ケーブルの使用はサポートされていません。

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

Windowsクラスタの場合を除き、クラスタ・インターコネクト用にユーザー・データグラム・プロトコル(UDP)を構成する必要があります。Windowsクラスタでは、TCPプロトコルが使用されます。LinuxおよびUNIXシステムでは、インターコネクト上のインスタンス間通信用にUDPまたはリライアブル・データ・ソケット(RDS)・プロトコルのいずれかを使用するようにOracle RACを構成できます。Oracle Clusterwareは、UDPプロトコルを使用して同じインターコネクトを使用しますが、RDSを使用するように構成することはできません。

ネットワーク接続ストレージ(NAS)を使用する場合、追加のネットワーク接続が必要になります。ネットワーク接続ストレージは、NFSファイラなどの通常のNASデバイスに、またはFibre Channel over IPなどを使用して接続されるストレージにできます。この追加のネットワーク通信チャネルは、Oracle RAC (パブリックおよびプライベート・ネットワーク通信)で使用されている他の通信チャネルとは独立させる必要があります。他のネットワーク通信チャネルの1つを使用してストレージ・ネットワーク通信を収束する必要がある場合は、ストレージ関連の通信が1番目の優先順位を得るようにする必要があります。

Oracle Databasesに接続するための動的データベース・サービスの使用の概要

アプリケーションは、動的データベース・サービス機能を使用して、パブリック・ネットワークを介してOracle Databaseに接続する必要があります。動的データベース・サービスでは、規則および特性を定義して、ユーザーおよびアプリケーションからデータベース・インスタンスへの接続方法を制御できます。これらの特性には、一意の名前、ワークロード・バランシング、フェイルオーバー・オプションおよび高可用性特性が含まれます。

ユーザーは、クライアント/サーバー構成を使用するか、または接続プーリングを任意に使用し、1つ以上の中間層を介してOracle RACデータベースにアクセスします。デフォルトでは、Oracle RACデータベースへのユーザー接続は、TCP/IPプロトコルを使用して確立されますが、他のプロトコルもサポートされています。Oracle RACデータベース・インスタンスには、クラスタのSCANを使用してアクセスする必要があります。

関連項目:

詳細は、「動的データベース・サービスによる自動ワークロード管理の概要」を参照してください

仮想IPアドレスの概要

Oracle Clusterwareは、パブリック・ネットワーク上のノードの仮想IP (VIP)アドレスをホストします。クライアントがOracle RACデータベースにアクセスするために使用するノードのVIPおよびVIPアドレスです。データベース・クライアントからOracle RACデータベース・インスタンスへの通常の接続試行は、次のようにまとめることができます。

1. データベース・クライアントは、SCAN (パブリック・ネットワーク上のSCAN VIPを含む)に接続して、有効なサービス名をSCANリスナーに提供します。

2. 次にSCANリスナーは、このサービスをホストするデータベース・インスタンスを判別し、それぞれのノード上のローカル・リスナーまたはノード・リスナーにクライアントをルーティングします。

3. ノード・リスナーは、ノードVIPおよび特定のポートでリスニングして、接続リクエストを取得し、クライアントをローカル・ノードのインスタンスに接続します。

クラスタ上で複数のパブリック・ネットワークを使用して、複数のサブネットを介したクライアント接続をサポートする場合、サブネット内で前述の操作を実行します。

ノードで障害が発生した場合、VIPアドレスは、VIPアドレスがTCP接続を受け入れることができる別のノードにフェイルオーバーされますが、このノードはOracle Databaseへの接続は受け入れません。ホーム・ノードに存在しないVIPアドレスに接続を試行するクライアントは、TCP接続タイムアウト・メッセージを待機するかわりにrapid connection refusedエラーを受け取ります。VIPが構成されたネットワークがオンラインに戻ると、Oracle Clusterwareは、接続が受け入れられたホーム・ノードにVIPをフェイルバックします。通常、VIPアドレスは次の場合にフェイルオーバーされます。

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

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

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

Oracle RAC 12cでは、様々なサブネットを介してクラスタへのアクセスを可能にするために、複数のパブリック・ネットワークがサポートされています。各ネットワーク・リソースは専用のサブネットを表し、各データベース・サービスは特定のネットワークを使用してOracle RACデータベースにアクセスします。各ネットワーク・リソースは、Oracle Clusterwareで管理されるリソースで、これにより、すでに説明したVIPの動作が可能になります。

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

Oracle RACのサービス登録の制限

有効なノードの確認機能により、登録要求がリスナーにより許可される一連のIPアドレスまたはサブネットを構成および動的に更新する機能が提供されます。リスナーへのデータベース・インスタンスの登録は、リクエスト元が有効なノードである場合にのみ成功します。ネットワーク管理者は、有効なノードおよび除外ノードのリストを指定したり、有効なノードの確認を無効にすることができます。有効なノードのリストでは、データベースに登録できるノードやサブネットを明示的にリストします。除外ノードのリストでは、データベースに登録できないノードを明示的にリストします。動的登録を制御することによって、Oracle RACデプロイメントの管理性およびセキュリティが向上します。

登録のための有効なノードの確認(VNCR)はデフォルトで有効になっています。デフォルト構成では、SCANリスナーのサブネット内のすべてのノードからの登録要求をリスナーに登録できます。非SCANリスナーでは、ローカル・ノード上のインスタンスからの登録のみが受け入れられます。リモート・ノードまたはSCANリスナーのサブネット外のノードは、listener.oraファイルのregistration_invited_nodes_aliasパラメータを使用して、またはSRVCTLによってSCANリスナーを変更して、有効なノードのリストに含める必要があります。

関連項目:

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

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

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

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

注意:

- インメモリー・トランザクション・マネージャはキャッシュ・フュージョン・プロトコルと統合しています。

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

関連項目:

インメモリー・トランザクション・マネージャの詳細は、『Oracle Database概要』を参照してください。

問合せまたはトランザクションを正しく処理するために必要なブロックを、各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 E-Business Suiteでは、総勘定元帳、売掛金勘定、受注など、職務ごとにサービスを定義できます。サービスはOracle Databaseの1つ以上のインスタンス、グローバル・クラスタ内の複数のデータベースにわたることができ、単一インスタンスで複数のサービスをサポートできます。サービスを提供するインスタンスの数は、アプリケーションに対して透過的です。サービスは、競合するアプリケーションを管理する単一のシステム・イメージを提供し、各ワークロードを1つの単位として管理できるようにします。

中間層アプリケーションおよびクライアントでは、サービス名をTNS接続文字列内の接続の一部として指定することで、サービスを選択します。たとえば、Oracle WebLogic Serverのデータ・ソースは、サービスにルーティングするように設定されます。Net Easy*Connectionを使用する場合、この接続は、user_name/password@SCAN/service_nameのように、サービス名とネットワーク・アドレスだけで構成されます。Oracle Scheduler、パラレル問合せ、Oracle Streamsキューなどのサーバー側の作業では、ワークロード定義の一部としてサービス名を設定します。Oracle Schedulerの場合、ジョブがジョブ・クラスに割り当てられ、サービス内で複数のジョブ・クラスを実行できます。パラレル問合せとパラレルDMLの場合、問合せコーディネータはサービスに接続し、パラレル問合せスレーブはパラレル実行中そのサービスを継承します。Oracle Streamsの場合、ストリーム・キューはサービスを使用してアクセスされます。サービス下で実行される作業は、そのサービスのしきい値および属性を継承し、サービスの一部として測定されます。

Oracle Database Resource Managerでは、サービスをコンシューマ・グループおよび優先度にバインドします。これによって、データベースはサービスをその重要性の順に管理できます。たとえば、DBAでは、優先度の高いオンライン・ユーザー向けと、優先度の低い内部レポート・アプリケーション向けのサービスを個別に定義できます。同様に、DBAでGold、SilverおよびBronzeのサービスを定義して、同じアプリケーションの要求に対してサービスを提供する順番に優先度を付けることができます。システムのサービスを計画する場合、その計画には、他のサービスに対する相対的な各サービスの優先度が含まれている必要があります。このようにして、Oracle Database Resource Managerは優先度が1位のサービス、次に優先度2位のサービス、というように対処できます。

関連項目:

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

ユーザーまたはアプリケーションがデータベースに接続するときは、接続文字列のCONNECT_DATA部分に指定されたサービスを使用することをお薦めします。Oracle Databaseでは、データベースが作成されると自動的に1つのデータベース・サービスが作成されますが、このサービスの動作は、その後自分で作成するデータベース・サービスの動作とは異なります。データベースを使用したワークロード管理の柔軟性を高めるために、Oracle Databaseでは、複数のサービスを作成し、どのインスタンス(またはサービス・プール)でサービスが起動されるかを指定できます。より柔軟なワークロード管理が必要な場合は、この章を読み進めると、サービスで使用できる追加機能を理解できます。

注意:

この章で説明する機能は、デフォルトのデータベース・サービス(DB_NAME、DB_UNIQUE_NAME、PDB_NAME、SYS$BACKGROUNDおよびSYS$USERS)では機能しません。これらのサービスを、データベースに接続するアプリケーションに使用しないことをお薦めします。このような機能を活用するには、クラスタ管理サービスを作成する必要があります。自分が作成したサービスのみ管理できます。データベースによって自動的に作成されたサービスはデータベース・サーバーによって管理されます。

動的データベース・サービス

動的データベース・サービスによってワークロードの分散を管理し、ユーザーおよびアプリケーションに対してパフォーマンスを最適化できます。動的データベース・サービスは、次の機能を提供します。

- サービス: 企業のグリッド構想を可能にするために、Oracle Databaseでは、サービスと呼ばれる強力な自動ワークロード管理機能が導入されています。サービスは、Oracle RACデータベースで定義できるエンティティで、これを使用してデータベース・ワークロードをグループ化し、サービスの提供を割り当てられている最適なインスタンスに作業をルーティングし、計画済および計画外のアクションの高可用性を実現できます。

- 高可用性フレームワーク: Oracle Databaseでコンポーネントを常に稼働状態に維持できるOracle RACコンポーネント。

- 高速アプリケーション通知(FAN): インスタンス、サービスまたはノードのUPやDOWNイベントなどのクラスタ状態の変更およびロード・バランシング・アドバイザのイベントについての情報をOracle RACアプリケーションおよびクライアントに提供します。FANには、クライアントにイベントを発行する方法が2つあり、1つは、Oracle Notification Serviceデーモンで、Oracle Application Serverを含むJava Database Connectivity (JDBC)クライアントによって使用され、もう1つは、Oracle Streamsアドバンスト・キューイングで、Oracle Call Interface (OCI)およびOracle Data Provider for .NET (ODP.NET)クライアントによって使用されます。

注意:

Oracle Clusterwareの以前のリリースでは、OCIおよびODP.NETクライアントは、Oracle Streamsアドバンスト・キューイングを介してFANイベントを受信していました。

- トランザクション・ガード: 計画外停止および重複送信の場合に、トランザクションの実行を1回以下にするためのプロトコルおよびAPIを提供するツール。

- アプリケーション・コンティニュイティ: リカバリ可能なエラーが発生した場合に、多くのシステム、通信、記憶域の停止およびハードウェア障害をマスクして、処理中の要求をリプレイする汎用インフラストラクチャを提供します。既存のリカバリ・テクノロジとは異なり、この機能では、アプリケーション下でトランザクションおよび非トランザクション・セッション状態をリカバリしようとするため、停止はアプリケーションにとって実行の遅延のように見えます。

- コネクション・ロード・バランシング: 要求されたデータベース・サービスを提供するすべてのインスタンスで、受信する接続を均等に分散するOracle Net Servicesの機能。

- ロード・バランシング・アドバイザ: データベースとそのインスタンスが提供する現在のサービス・レベルについてアプリケーションに情報を提供します。ロード・バランシング・アドバイザは、サービス用に定義した管理ポリシーに基づいて最適なサービスを得るために、アプリケーション・リクエストの宛先に関する推奨事項をアプリケーションに提供します。ロード・バランシング・アドバイザのイベントは、Oracle Notification Serviceを介してパブリッシュされます。

- 自動ワークロード・リポジトリ(AWR): サービス・レベルの統計をメトリックとして追跡します。サーバーによって生成されるアラートは、特定のしきい値を超えたり、必要なしきい値に達しない場合、これらのメトリックに対して作成されます。

- 高速接続フェイルオーバー: これは、FANイベントをサブスクライブすることによって、高速な接続のフェイルオーバーを提供する、Oracleクライアントの機能です。

- ランタイム接続ロード・バランシング: アプリケーションが接続にいくつかの作業を完了するように要求すると、データベース・インスタンスによって提供されている現在のサービス・レベルに基づいて、接続プールで高度な接続の割当てを行うOracleクライアントの機能です。

- 単一クライアント・アクセス名(SCAN): Oracle RACに接続しているクライアントに単一の名前を提供し、この名前は、クラスタのノードを追加または削除しても、クラスタの存続期間中は変更されません。SCANに接続しているクライアントでは、Thin JDBC URLやEZConnectなどの単一の接続文字列を使用でき、ロード・バランシングおよびクライアントの接続フェイルオーバーが実現されます。

Oracle RACおよび非クラスタOracle Database環境をデプロイして、多くの異なる方法で動的データベース・サービス機能を使用できます。ノード数および使用環境の使用目的と複雑さによって異なりますが、最適な自動ワークロード管理および高可用性構成は、この章で説明する考慮事項を検討して決定してください。

関連項目:

動的データベース・サービスによるワークロード管理

サーバー・プールおよびポリシー管理データベースの概要

次のデプロイメント・モデルを使用すると、マルチノードであれ、Oracle Real Application Clusters One Node (Oracle RAC One Node)であれ、Oracle RACデータベースを作成できます。

- 管理者管理デプロイメントは、Oracle Database 11gリリース2 (11.2)の前に存在していたOracle RACデプロイメント・タイプに基づき、クラスタ内の特定のノードで実行されるように各データベース・インスタンスを静的に構成する必要があり、また、preferredおよびavailable宛先を使用して、特定のデータベースに属する特定のインスタンスで実行されるようにデータベース・サービスを構成する必要があります。

- ポリシー管理デプロイメントは、サーバー・プールに基づき、この場合、データベース・サービスは、サーバー・プール内でシングルトンまたは均一として、サーバー・プール内のすべてのサーバーにわたって実行されます。データベースは1つ以上のサーバー・プールにデプロイされ、サーバー・プールのサイズによってデプロイメント内のデータベース・インスタンスの数が決まります。

この項には次のトピックが含まれます:

- サーバー・プールの概要

- ポリシー管理データベースのデプロイ

- ポリシー管理データベースの管理

- ポリシー・ベースのクラスタ管理

サーバー・プールの概要

サーバー・プールは、データベース・サービスまたはアプリケーション・サービスを提供するサーバーのグループにクラスタを論理的に割り当てます。サーバー・プールのプロパティは、これらのデータベースおよびアプリケーションのスケーラビリティおよび可用性を制御します。各サーバー・プールは最小サイズおよび最大サイズを使用して構成でき、これによって、スケーラビリティが決まります。Oracle Clusterwareは、サーバー・プール間の可用性を管理し、個々のサーバー・プールの重要度の値を構成することによって可用性をさらに調整できます。

サーバーは名前によってサーバー・プールに割り当てられるのではなく、番号によって割り当てられます。したがって、任意のデータベースを実行するように任意のサーバーを構成する必要があります。たとえば、異機種サーバーやストレージ接続のためにサーバーを構成できない場合は、サーバー・カテゴリ定義を使用してサーバー・プールのメンバーシップ適格性を判別することによってサーバーを制限できます。

関連項目:

サーバー・プールの作成および管理の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

サーバー・プールの使用例

この項では、次のサーバー・プールの使用例を示します。

- サーバーの最小数および最大数

- サーバー・プールのIMPORTANCE属性

- データベースの統合

サーバーの最小数および最大数

onlineとbackofficeという2つのサーバー・プールに4ノード・クラスタが構成されているとします。onlineサーバー・プールではdbsalesというデータベースが実行され、browse、searchおよびsalescartサービスを提供しています。backofficeサーバー・プールではdberpというデータベースが実行され、図1-2に示すとおり、inventoryおよびshippingサービスを提供しています。通常の営業時間中、企業は通常の要求に対応するために、dbsalesデータベースの最低2つのインスタンスと、dberpデータベースの1つのインスタンスを必要とします。

図1-2 最小数および最大数によるサーバーの配置

このポリシー管理デプロイメントでは、onlineサーバー・プールのMIN_SIZEサーバー・プール属性の値は2で、backofficeサーバー・プールのMIN_SIZEサーバー・プール属性の値は1です。このように構成されたOracle Clusterwareでは、常にonlineサーバー・プールに2つのサーバーがあり、backofficeサーバー・プールに1つのサーバーがあります。これは4ノード・クラスタであるため、いずれのサーバー・プールにも割り当てられていないサーバーが1つ残ります。最後のサーバーがデプロイされる場所は、各サーバー・プールのMAX_SIZEサーバー・プール・パラメータによって決まります。各サーバー・プールのMAX_SIZEサーバー・プール属性の値の合計がクラスタ内のサーバーの総数より小さい場合、残りのサーバーは、デプロイされたノードの障害を待つ空きサーバー・プールにとどまります。

MAX_SIZEの値がMIN_SIZEの値より大きい場合、図1-2で示すとおり、また、次の項で詳細に説明するとおり、残りのサーバーは、重要度の値が最大のサーバー・プールにデプロイされます。この場合、サーバーは、サーバーが必要とされるサーバー・プールを結合するためにオンラインで再配置できる共有可能なリソースになります。たとえば、営業時間中は、サーバーをonlineサーバー・プールに与えて、dbsalesデータベースのインスタンスを追加できますが、営業時間後は、backofficeサーバー・プールに再配置して、dberpデータベース・インスタンスを追加できます。このような動作はすべてオンラインであり、インスタンスはトランザクション的に停止されます。

これらの2つのポリシー管理データベースは、必要とされるインスタンスのみを実行し、要求またはビジネス要件を満たすように動的に増減できます。

サーバー・プールのIMPORTANCE属性

IMPORTANCEサーバー・プール属性は、クラスタの起動時、およびノードの障害または削除に応じて使用されます。管理者管理データベースとは対照的に、最初に起動するデータベースを決めるように、また、マルチノードの停止時にオンラインのままにしておくデータベースを決めるように、様々な重要度でサーバー・プールを構成できます。

salesおよびbackofficeという2つのサーバー・プール内で、dbappsというデータベースをホストする4ノード・クラスタを考えてみます。図1-3に示すとおり、2つのサービスorderentryおよびbillingは、salesサーバー・プールで実行され、他の2つのサービスerpおよびreportsは、backofficeサーバー・プールで実行されます。backofficeサーバー・プールの値より大きいsalesサーバー・プールのIMPORTANCEサーバー・プール属性の値を構成することによって、マルチノードの障害の後に残って実行されているサーバーが1つのみでも、クラスタが起動すると、salesのサービスは最初に起動して常に使用可能になります。IMPORTANCEサーバー・プール属性を使用すると、サービスをランク付けすることができ、常に使用可能にするためにクラスタ内のすべてのノードでサービスを実行する必要もなくなります。

図1-3 サーバー・プールの重要度

データベースの統合

いくつかの様々なアプローチを個別にまたは組み合せて使用すると、Oracle Databasesを統合できます。ポリシー管理デプロイメントでは統合は容易です。スキーマ統合の場合、複数のアプリケーションは、個別スキーマまたはプラガブル・データベース(PDB)に分離された単一データベースによってホストされているため、サーバー・プールを使用して必要な容量を満たすことができます。サーバー・プールの動的スケーリング・プロパティのため、現在の要求またはビジネス要件に合うようにデータベース・インスタンスの数を増減できます。サーバー・プールによって、一緒にまたは別個に実行されるサービスも決定されるため、必要なアフィニティまたは分離を構成および維持できます。

たとえば、バージョン要件のためにスキーマ統合を使用できない場合、単一セットのサーバー上で複数のデータベースをホストできます。ポリシー管理データベースを使用すると、ポリシー管理データベースはインスタンス・ケージングを利用することによって同じサーバー・プールを共有できるため、このデータベース統合が容易になります。これにより、要求またはビジネス・ポリシーとスケジュールに合うように、水平方向(サーバー・プール・サイズを使用)と垂直方向(CPU_COUNTサーバー構成属性を使用)の両方にデータベースを動的に増減できます。

関連項目:

CPU_COUNTサーバー構成属性の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

対照的に、管理者管理データベースでは、データベース・インスタンスまたはサーバーに障害が発生した場合、ワークロードのフェイルオーバーを吸収するために各サーバーに容量を確保する必要があります。ただし、ポリシー管理データベースの場合、MIN_SIZE、MAX_SIZEおよびIMPORTANCEサーバー・プール属性を使用して、実行中のワークロードのビジネスの必要性別にサーバー・プールを効果的にランク付けできます。

サーバーの障害によってサーバー・プールがサーバーの構成済最小数を下回ると、重要性の少ないサーバー・プールからの別のサーバーがそのかわりにるため、サーバーの数は構成済最小数に戻ります。これにより、残りのサーバーのオーバーロードによるカスケード障害のリスクがなくなり、処理障害のために容量を確保する必要性を大幅に減らしたり、その必要性をなくすことさえできます。

ポリシー管理データベースに移行または変換すると、クラスタの統合も可能になり、より大きなクラスタを作成することで、データベースのホストおよび拡張に使用可能なサーバー数が増加するため可用性およびスケーラビリティの向上が実現されます。ポリシー管理データベースでは、インスタンス名を特定のサーバーにバインディングすること、およびサービスを特定のインスタンスにバインディングすることが不要なため、大きなクラスタを構成および管理する際の複雑さが大幅に軽減されます。

図1-4に、デプロイメント例を示します。ここでは、前の2つのクラスタ例(図1-2および図1-3)は、単一クラスタに統合され、構成されたデータベース統合(インスタンス・ケージングを使用)とクラスタ統合(サーバー・プールを使用)の両方を利用して、ワークロードのサイズ設定および優先度付けが適切に行われるようにします。

図1-4 データベースの統合

ポリシー管理データベースのデプロイ

ポリシー管理データベースをデプロイする場合、サービスはサーバー・プールにわたらないことを考慮に入れて、まずサービスとその必要なサイズ設定を決定する必要があります。このデータベースを他のデータベースと同じ場所に配置する場合、ホストされている他のデータベースに関するCPU要件を考慮する必要があり、インスタンス・ケージングのCPU_COUNT属性の値も考慮する必要があります。これにより、1つ以上のサーバー・プールで垂直方向と水平方向の両方にデータベースのサイズを指定できます。

このデータベースのサーバー・プールを他のサーバー・プールと同じ場所に配置する場合、会議の要求およびビジネス要件を最適化するためにカレンダまたはイベントに基づいてサーバー・プール・サイズを調整するようにサーバー・プールを構成することを検討します。サーバー・プールのサイズを決定し、MIN_SIZEおよびMAX_SIZEサーバー・プール属性の適切な値を構成したら、各サーバー・プールの相対的な重要度を決定できます。

関連項目:

サーバー・プール属性の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

クラスタ管理者として、srvctl add serverpoolコマンドを使用してポリシー管理データベース・サーバー・プールを作成します。Oracle Grid Infrastructureホームで、srvctl modify serverpoolコマンドを使用すると、サーバー・プールのプロパティを変更できます。

関連項目:

サーバー・プールの作成の詳細は、『Oracle Database Quality of Service Managementユーザーズ・ガイド』を参照してください。

DBCAを使用してサーバー・プールを作成できる間は、小さい単一サーバー・プールのデプロイメント用のもののみをお薦めします。サーバーがすでに他のサーバー・プールに割り当てられている場合、DBCAに障害が発生するためです。また、クラスタが、古いサーバーや新しいサーバーなど、異なる容量のサーバーで構成されている場合、各サーバー・プールを結合するためのサーバーの最小サーバー要件を定義するサーバー・カテゴリ定義を設定することをお薦めします。

関連項目:

サーバーのカテゴリ化の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

サーバー・プールの作成後、適切なデータベース・ホームからDBCAを実行できます。データベースのタイプおよびタスクに応じて、様々なデフォルト・オプションが提示されます。コンテナ・データベース(CDB)を含め、すべての新しいOracle RACおよびOracle RAC One Nodeデータベースの場合、ポリシー管理オプションはデフォルトで、これがお薦めするオプションです。

管理者管理データベースから、またはOracle Database 11gリリース2 (11.2)より前のデータベースからデータベースをアップグレードする場合、ポリシー管理データベースに直接アップグレードするオプションはありません。ただし、アップグレード後、srvctl modify databaseコマンドを使用して、データベースをポリシー管理に変換できます。

関連項目:

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

管理者管理データベースからポリシー管理データベースに変換する場合、インスタンス名は、アンダースコアを含むように自動的に更新されます(例: orcl1はorcl_1になります)。サーバー・プールのサイズが大きくなるときデータベースが自動的にインスタンスを作成できるようにするためには、アンダースコアが必要です。

ポリシー管理データベースの管理

ポリシー管理データベースの管理では、作成、サイズ設定、パッチ適用およびロード・バランシングに関して、管理者管理データベースより構成および再構成の手順が少なくて済みます。また、クラスタ内のサーバー・プールのサーバーはどのデータベースでも実行できるため、データベース・インスタンスとノード名のマッピングを作成して維持する必要はありません。サーバーを空きプールに再配置することによって、またはサーバー・プールの最小サイズと最大サイズを調整することによって、パッチ適用などのメンテナンス・タスクを実行できるため、必要な可用性が維持されます。

関連項目:

詳細は、「srvctl modify srvpool」および「srvctl relocate server」を参照してください

ポリシー管理データベースでは、サービスの管理も容易になります。ポリシー管理データベースは、単一サーバー・プールに割り当てられ、プール内のすべてのサーバーにわたってシングルトンまたは均一として実行されるためです。サービスごとに明示的に優先かつ使用可能なデータベース・インスタンス・リストを作成または維持する必要はなくなりました。手動による再配置または高可用性イベントのためサーバーをサーバー・プールに移動すると、統一されたすべてのサービスおよびその依存データベース・インスタンスは自動的に起動します。1つ以上のシングルトン・サービスをホストしているサーバーがダウンした場合、これらのサービスは、サーバー・プール内の残りの1つ以上のサーバーで自動的に起動します。Oracle RAC One Nodeの場合、対応するデータベース・インスタンスも自動的に起動します。

相互に関連するサービスの管理は、各サーバー・プールの重要度属性を利用することによって向上します。サーバー・プールで実行される各サービスは、クラスタ内で他のサーバー・プールにホストされているサービスに関連するサーバー・プールの重要度を継承します。最も重要なサーバー・プールの最小サイズが0(ゼロ)より大きい場合、このサーバー・プール内のサービスおよび関連のデータベース・インスタンスは、クラスタの起動時に最初に起動し、クラスタ内に1つのサーバーが実行されているかぎり、実行されている最後のサービスおよびデータベース・インスタンスになります。重要でないサービスは最も重要でないサーバー・プールのビジネスに提供でき、要求または障害のために十分なリソースが使用できない場合、これらのサービスは最終的に停止され、よりビジネスクリティカルなサービスが使用可能なまま存続するようにできます。

数多くの管理タスクは、統合環境内の複数のデータベース、サービスまたはサーバー・プールに影響を与える可能性のある変更を伴うことがあるため、特定のSRVCTLコマンドの評価モードを使用して、コマンドのリソース影響のレポートを取得できます。

サーバー・プールを変更するシステムに対する影響を評価する次の例を考えてください。

$ srvctl modify srvpool -l 3 -g online -eval
Service erp1 will be stopped on node test3
Service reports will be stopped on node test3
Service inventory will be stopped on node test3
Service shipping will be stopped on node test3
Database dbsales will be started on node test3
Service orderentry will be started on node test3
Service billing will be started on node test3
Service browse will be started on node test3
Service search will be started on node test3
Service salescart will be started on node test3
Server test3 will be moved from pool backoffice to pool online

前述の例に示すとおり、サーバー・プールを変更すると、数多くのリソース状態の変更を招くことがあります。Oracle ClusterwareまたはOracle Database Quality of Service Managementを介してポリシー・セットを使用できます。

関連項目:

- 評価モードを使用するSRVCTLコマンドのリストは、「SRVCTL使用情報」を参照してください

- Oracle Clusterwareポリシー・セットの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle Database Quality of Service Managementポリシー・セットの詳細は、『Oracle Database Quality of Service Managementユーザーズ・ガイド』を参照してください。

ポリシー・ベースのクラスタ管理

Oracle Database 12cでは、Oracle Clusterwareでは、クラスタ構成ポリシー・セットの管理がネイティブOracle Clusterware機能としてサポートされます。クラスタ構成ポリシーには、システム内で定義された、サーバー・プールごとに1つの定義が含まれます。また、クラスタ構成ポリシーでは、リソース配置およびクラスタ・ノードの可用性についても指定します。クラスタ構成ポリシー・セットでは、クラスタ内に構成されるすべてのサーバー・プール名が定義され、1つ以上の構成ポリシーが含まれます。

一度に1つの構成ポリシーのみが常に有効になります。ただし、管理者は通常、カレンダ日付または時間パラメータに基づいて様々なビジネス・ニーズおよび要求を反映させるために、いくつかの構成ポリシーを作成します。たとえば、一般的に、就業日の午前中は多くのユーザーがログインし、電子メールをダウンロードしますが、夜間や週末は電子メール関連のワークロードが通常は少なくなります。このような場合、クラスタ構成ポリシーを使用して、予想される需要に基づいてサーバー割当てを定義します。より具体的には、この例の場合、より多くのサーバーをOLTPワークロードに割り当てる構成ポリシーを就業日の午前中に有効にし、週末および就業日の夜には、別の構成ポリシーで、より多くのサーバーをバッチ・ワークロードに割り当てます。

クラスタ構成ポリシーを使用すると、様々なコンピュータやメモリー・サイズ(異機種)など、様々な機能のサーバーを構成するクラスタの管理に役立てることもできます。異機種サーバー・タイプで構成されるクラスタ用に管理および可用性ポリシーを作成するために、クラスタ管理者は、サーバー属性に基づいてサーバー・カテゴリを作成できます。これらの属性によって、どのサーバーをどのサーバー・プールに割り当てることができるかを制限できます。たとえば、古いハードウェアを実行するサーバーがクラスタ内に存在する場合に、それらのサーバーを、オンライン販売やその他の業務上重要なアプリケーションに使用されるサーバー・プールではなく、バッチ・ジョブやテストをサポートするサーバー・プールにのみ割り当てるように指定する属性を使用できます。

関連項目:

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

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

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

あるいは、高速ホーム・プロビジョニングを使用してOracle RACをインストールすることもできます。

関連項目:

高速ホーム・プロビジョニングを使用したOracle RACのインストールの詳細は、プラットフォーム用の『Oracle Real Application Clustersインストレーション・ガイド』を参照してください。

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

- Oracle RAC環境の互換性

- Oracle RACデータベース管理スタイルおよびデータベースのインストレーション

- Oracle RACデータベース管理スタイルおよびデータベースの作成

- Oracle RACクラスタの拡張の概要

注意:

Oracle RACをインストールする前に、まずOracle Grid Infrastructureをインストールする必要があります。

関連項目:

ご使用のプラットフォーム用のOracle Grid Infrastructureのインストレーション・ガイドを参照してください。

Oracle RAC環境の互換性

同じクラスタ内で様々なバージョンのOracle Databaseを備えた構成でOracle RACを実行するには、まずOracle Grid Infrastructureをインストールする必要があります。これは、クラスタ内にデプロイする最高バージョンのOracle Databaseと同じバージョン以上にする必要があります。たとえば、Oracle RAC 11gリリース2 (11.2)データベースおよびOracle RAC 12cデータベースを同じクラスタ内で実行するには、Oracle Grid Infrastructure 12cをインストールする必要があります。Oracle RAC環境におけるバージョンの互換性の詳細は、My Oracle Supportに問い合せてください。

注意:

Oracle9iクラスタのOracle Grid Infrastructure 12c環境へのデプロイはサポートされません。

Oracle RACデータベース管理スタイルおよびデータベースのインストレーション

Oracle RACデータベース・ソフトウェアをインストールし、それぞれのデータベースを作成する前に、「サーバー・プールおよびポリシー管理データベースの概要」で説明するとおり、Oracle RACデータベースに適用する管理スタイルについて決めます。

選択する管理スタイルは、ソフトウェアのデプロイメントおよびデータベースの作成に影響を与えます。管理者管理データベース・デプロイメント・モデルを選択し、ソフトウェアのノード単位のインストレーションを使用する場合、Oracle Databaseを実行する予定のノードにのみOracle Databaseソフトウェア(データベース・ホーム)をデプロイすれば十分です。

ソフトウェアのノード単位のインストレーションを使用して、ポリシー管理デプロイメント・モデルを選択した場合、クラスタ内のすべてのノードにソフトウェアをデプロイする必要があります。サーバー・プールへのサーバーの動的割当ては原則的に、データベース・インスタンスが実行される可能性のあるサーバーを予測しないためです。それぞれのデータベース・ホームをホストしないサーバーでのインスタンスの起動障害を避けるには、クラスタ内のすべてのノードにデータベース・ソフトウェアをデプロイすることを強くお薦めします。共有Oracle Databaseホームを使用する場合、クラスタ内のすべてのノードからこのホームへのアクセシビリティが想定されるため、設定では、必要に応じてすべてのサーバーにそれぞれのファイル・システムがマウントされるようにする必要があります。

クラスタ用にOracle Grid Infrastructureをすでにインストールして構成した場合、Oracle Universal Installerでは、クラスタ内のノードにわたってOracle Databaseホームをデプロイすることのみできます。Oracle Universal Installerで、クラスタ内のすべてのノードにわたってデータベース・ホームをデプロイするオプションが得られない場合は、Oracle Universal Installerに表示される前提条件を確認してください。

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

関連項目:

このオプションを選択する場合の詳細は、「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 RACデータベース管理スタイルおよびデータベースの作成

Oracle Databaseのデプロイメントの一部は、データベースの作成です。「Oracle RACデータベース管理スタイルおよびデータベースのインストール」で説明するとおり、データベース・ソフトウェア・デプロイメントの一部としてデータベースを作成することを選択したり、まずデータベース・ソフトウェアのみをデプロイして、その後にDBCAを使用して、新しく作成されたOracleホームの外側で実行するつもりのデータベースを作成することを選択することができます。いずれの場合も、Oracle RACデータベースに使用する予定の管理スタイルを考慮する必要があります。

管理者管理データベースの場合、それぞれのデータベース・インスタンスを実行する予定のノードにデータベース・ソフトウェアをデプロイする必要があります。これらのノードが、データベース・ファイルを格納する記憶域にアクセスできるようにする必要もあります。記憶域の管理を簡略化するために、データベースのインストール時にOracle ASMを選択することをお薦めします。Oracle ASMは、ディスク・グループ内のすべてのデータベース・ファイルの記憶域を自動的に管理します。Oracle Standard Editionを使用してOracle RACデータベースを作成する場合は、Oracle ASMを使用してすべてのデータベース・ファイルを格納する必要があります。

ポリシー管理データベースの場合、アクティブなサーバー・プール設定を考慮に入れると、データベース・インスタンスを実行する可能性のあるすべてのノードにデータベース・ソフトウェアをデプロイする必要があります。これらのノードが、データベース・ファイルを格納する記憶域にアクセスできるようにする必要もあります。管理者管理データベースのところですでに説明したとおり、Oracle ASMを使用することをお薦めします。

サーバー・プールは、Oracle Grid Infrastructure (特にOracle Clusterware)の機能です。Oracle Clusterwareレベルでサーバー・プールを設定するには様々な方法がありますが、それぞれのデータベースを作成する前に、データベース管理用のサーバー・プールを作成することをお薦めします。ただし、ポリシー管理データベースを作成する場合は、事前に作成されたサーバー・プールを使用するか、新しいサーバー・プールを作成するかの選択肢がDBCAによって提示されます。データベースの作成時に新しいサーバー・プールを作成できるかどうかは、そのときにアクティブになっているサーバー・プールの構成によって決まります。

注意:

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

関連項目:

サーバー・プールの管理の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

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

注意:

SRVCTLまたはOracle Enterprise Managerを使用して、メンテナンス操作用にデフォルトのデータベース・サービスを確保し、データベース作成後の手順として、ユーザーまたはアプリケーションの接続用に動的データベース・サービスを作成することをお薦めします。DBCAでは、Oracle RACデータベース用の動的データベース・サービス作成オプションを提供していません。Oracle RAC One Nodeデータベースの場合、少なくとも1つの動的データベース・サービスを作成する必要があります。

Oracle RACクラスタの拡張の概要

初期デプロイメント後に、Oracle RACクラスタ(クローニングとも呼ばれます)を拡張し、既存の環境にノードを追加する場合は、クラスタ内で現在使用している管理スタイルを考慮して、複数のレイヤーでこれを行う必要があります。Oracle RACクラスタを拡張するための様々な手段が用意されています。原則として、現在の環境を拡張するために次の2つのアプローチから選択できます。

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

関連項目:

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

- addnode.sh (Windowsの場合はaddnode.bat)スクリプトを使用したノードの追加

関連項目:

ご使用のプラットフォームに応じて、「LinuxおよびUNIXシステムのノードでのOracle RACの追加と削除」または「WindowsシステムのノードでのOracle RACの追加と削除」を参照してください

環境の初期のデプロイ方法にかかわらず、どちらのアプローチも適用できます。どちらのアプローチも、クラスタを追加する予定のノードに、必要なOracleソフトウェアをコピーします。ノードにコピーされるソフトウェアには、Oracle Grid InfrastructureソフトウェアおよびOracle Databaseホームがあります。

Oracle Databaseホームの場合、クラスタにデプロイされている管理スタイルを考慮する必要があります。管理者管理データベースの場合、それぞれのデータベース・インスタンスを実行する予定のノードにデータベース・ソフトウェアをデプロイする必要があります。ポリシー管理データベースの場合、アクティブなサーバー・プール設定を考慮に入れると、データベース・インスタンスを実行する可能性のあるすべてのノードにデータベース・ソフトウェアをデプロイする必要があります。いずれの場合も、クラスタの一部にするつもりのすべてのノードにまずOracle Grid Infrastructureをデプロイする必要があります。

注意:

Oracleクローニングは、Provisioning Packの一部であるOracle Enterprise Managerを使用したクローニングにかわるものではありません。Oracle Enterprise Managerを使用してOracle RACをクローニングする場合、プロビジョニング・プロセスには、取得するホーム、デプロイする場所、および収集される他の様々なパラメータに関する詳細情報が記述された一連の手順が含まれています。

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

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

関連項目:

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

Oracle RACを含むOracle Multitenantの概要

Oracle MultitenantはOracle Database 12cのオプションで、統合、プロビジョニング、アップグレードなどを簡略化します。これは、マルチテナント・コンテナ・データベース(CDB)に複数のプラガブル・データベース(PDB)を保持することができるアーキテクチャに基づいています。アプリケーション層を変更することなく、既存のデータベースをPDBとして採用できます。このアーキテクチャでは、1つのシステム上で様々なビジネスで重要なアプリケーションを統合するときに必要なローカルの高可用性を、Oracle RACが提供します。

Oracle RACでPDBを使用する場合、マルチテナントCDBはOracle RACに基づきます。各PDBをOracle RAC CDBの各インスタンスまたはインスタンスのサブセットで使用可能にすることができます。いずれの場合も、PDBへのアクセスおよび管理は、動的データベース・サービスを使用して調整されます。これは接続にOracle Net Servicesを使用する1つのインスタンスOracleデータベース内なので、アプリケーションにより使用されて各PDBに接続することもあります。

Oracle RACデータベースをCDBとして作成し、そのCDBに1つ以上のPDBを接続する場合、Oracle RACのCDBのどのインスタンスでもPDBはデフォルトで自動起動されません。PDBに(データベース名と同じ名前のデフォルトのデータベース・サービス以外の)最初の動的なデータベース・サービスが割り当てられると、PDBはサービスが実行されるインスタンスで有効になります。

Oracle RACの1つ以上のインスタンスでPDBが有効かどうかにかかわらず、CDBは通常、PDBで実行されるサービスで管理されます。インスタンス上でPDBを手動で起動することによって、Oracle RAC CDBの各インスタンス上でPDBアクセスを手動で有効化できます。

Oracle RACを含むインメモリー列ストアの概要

Oracle RAC環境内の各ノードには、固有のインメモリー(IM)列格納があります。各Oracle RACノードのIM列格納は同じサイズにすることをお薦めします。IM列格納を必要としないOracle RACノードの場合、INMEMORY_SIZEパラメータを0に設定します。

完全に異なるオブジェクトを各ノードに移入させたり、より大きなオブジェクトをクラスタ内のすべてのIM列格納間で分散させることが可能です。同じオブジェクトを各ノード(エンジニアド・システム上のみ)のIM列格納に表示させることも可能です。クラスタ内のIM列格納間のオブジェクトの分散は、INMEMORY属性への2つの追加の副句(DISTRIBUTEおよびDUPLICATE)により制御されます。

Oracle RAC環境では、指定されたINMEMORY属性のみを含むオブジェクトが、クラスタ内のIM列格納間で自動的に分散されます。DISTRIBUTE句を使用して、クラスタ間でのオブジェクトの分散方法を指定することができます。デフォルトで、使用されるパーティション化のタイプ(ある場合)によりオブジェクトの分散方法が決定されます。オブジェクトがパーティション化されないと、ROWID範囲に分散されます。あるいは、DISTRIBUTE句を指定して、デフォルトの動作をオーバーライドすることができます。

エンジニアド・システムでは、クラスタ内のIM列格納間でメモリーに移入されたオブジェクトを複製またはミラー化することができます。これにより最高レベルの冗長性が提供されます。DUPLICATE句を使用して、クラスタ内のIM列格納間でのオブジェクトの複製方法を制御することができます。DUPLICATEを指定する場合、データのミラー化されたコピーが1つ、クラスタ内のIM列格納間で分散されます。クラスタ内の各IM列格納内のすべてのオブジェクトを複製する場合は、DUPLICATE ALLを指定します。

注意:

非エンジニアド・システムでOracle RACにデプロイする場合、DUPLICATE句はNO DUPLICATEとして扱われます。

関連項目:

IM列格納の詳細は、『Oracle Database概要』を参照してください

Oracle RAC環境の管理の概要

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

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

- Oracle RAC環境の管理ツール

- Oracle RAC環境の監視

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

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

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

関連項目:

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

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

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

- Oracle Maximum Availability Architectureの詳細は、『Oracle Database高可用性概要』を参照してください。

Oracle RAC環境の管理ツール

管理者は、サーバー制御ユーティリティ(SRVCTL)、Oracle Enterprise ManagerまたはSQL*Plusを使用して、クラスタ・データベースを単一システム・イメージとして管理します。

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

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

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

- クラスタ検証ユーティリティ(CVU): クラスタとOracle RACの様々なコンポーネント(共有ストレージ・デバイスなど)、ネットワーク構成、システム要件、Oracle Clusterware、およびオペレーティング・システムのグループやユーザーの検証に使用するコマンドライン・ツール。インストール前およびインストール後のクラスタ環境のチェックにもCVUを使用できます。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環境のネットワークを構成します。

関連項目:

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

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

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

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

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

Oracle RAC環境の監視

WebベースのOracle Enterprise Manager Cloud Controlを使用すると、Oracle RACデータベースを監視できます。Oracle Enterprise Manager Cloud Controlは、グラフィカル・ユーザー・インタフェース(GUI)を介してアクセスするOracle環境を集中的に制御します。Oracle Enterprise Managerを使用したOracle RAC環境の監視の詳細は、「Oracle RACおよびOracle Clusterwareの監視」および『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

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

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

- Oracle Enterprise Manager Cloud 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で実行する必要があります。

関連項目:

- ADDMなど、パフォーマンスの診断およびチューニング用のOracle Databaseの自動機能の詳細は、『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のOracle RAC固有のパフォーマンス・ビュー

2 Oracle RACの記憶域の管理

Oracle Automatic Storage Management(Oracle ASM)は、ボリューム・マネージャで、単一インスタンスOracle DatabaseおよびOracle Real Application Clusters (Oracle RAC)構成をサポートするOracle Databaseファイル用のファイル・システムです。従来のボリューム・マネージャ、ファイルシステムおよびRAWデバイスに対して代替方法を提供するストレージ管理ソリューションとしてOracle ASMをお薦めします。

Oracle ASMでは、データファイルの格納にディスク・グループが使用されます。Oracle ASMディスク・グループとは、Oracle ASMで1つの単位として管理されるディスクの集合のことです。ディスク・グループ内では、各Oracleデータベース・ファイルに使用するファイルシステム・インタフェースがOracle ASMによって公開されます。ディスク・グループ内に保存されたファイルの内容は、均等に分散されるため、ホット・スポットがなくなり、ディスク間のパフォーマンスが均一になります。このパフォーマンスは、RAWデバイスのパフォーマンスに匹敵します。

ディスク・グループに対してディスクの追加や削除を行う際、そのディスク・グループのファイルにアクセス中のデータベースがあっても、そのアクセスが妨げられることはありません。Oracle ASMは、ディスク・グループに対するディスクの追加や削除が行われる際、ファイルの内容を自動的に再分散します。再分散のための停止時間は発生しません。

関連項目:

ディスク・グループの管理の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

Oracle ASMのボリューム・マネージャ機能には、サーバーベースのフレキシブルなミラー化オプションが用意されています。標準冗長性と高冗長性のOracle ASMディスク・グループは、それぞれ双方向ミラー化と3方向ミラー化を可能にします。外部冗長性を使用すると、Redundant Array of Independent Disks(RAID)ストレージ・サブシステムでミラー化保護機能を実行できるようになります。

また、Oracle ASMではOracle Managed Files機能を使用してデータベース・ファイル管理を簡略化しています。Oracle Managed Filesは、指定した場所にファイルを自動的に作成します。さらに、Oracle Managed Filesでは、ファイルの命名およびその削除が行われ、表領域またはファイルを削除するときに領域が解放されます。

Oracle ASMは、データ記憶域を少数のディスク・グループに統合することで、データベース記憶域の管理にまつわるオーバーヘッドを低減します。より少ないディスク・グループで複数データベースのストレージを統合し、I/Oパフォーマンスを高めます。

Oracle ASMファイルは、RAWディスクやサード・パーティのファイルシステムなど他のストレージ管理オプションと共存できます。この機能により、Oracle ASMを既存の環境に統合する作業が簡素化されます。

Oracle ASMは、SQL*Plus、Oracle ASMコマンドライン・ユーティリティ(ASMCMD)・コマンドライン・インタフェース、Oracle ASM Configuration Assistant (ASMCA)などの使いやすい管理インタフェースを備えています。

関連項目:

ASMCMDおよびASMCAの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

この章の内容は次のとおりです。

- Oracle RAC用の記憶域管理の概要

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

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

- Oracle RACでの自動UNDO管理

- Oracle RACによるOracle Automatic Storage Management

Oracle RAC用記憶域管理の概要

Oracle RACデータベース用のすべてのデータ・ファイル(各インスタンスのUNDO表領域を含む)およびREDOログ・ファイル(各インスタンスに少なくとも2つ)は、共有記憶域に存在する必要があります。これらのファイルをOracle ASMディスク・グループに格納するには、Oracle ASMを使用することをお薦めします。

認定されたクラスタ・ファイル・システムなど、共有記憶域の代替使用方法がサポートされています。さらに、インスタンス固有のエントリを使用した単一の共有サーバー・パラメータ・ファイル(SPFILE)を使用することをお薦めします。Oracle RAC 12cでは、Oracle ASMでの共有パスワード・ファイルの格納、およびOracle Automatic Storage Management Cluster File System (Oracle ACFS)でのOracle Databaseファイルの格納ができます。

注意:

Oracle Database、およびOracle Clusterwareなどの関連テクノロジは、RAW (ブロック)記憶域デバイスをサポートしていません。Oracle Clusterware 12cにアップグレードする前に、ファイルをOracle ASMに移動する必要があります。

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

関連項目:

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

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

- Oracle Automatic Storage Management管理者ガイド

- Oracle Database管理者ガイド

注意:

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

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

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

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

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

Oracle RACデータベースでは各インスタンスは、REDOログ・ファイルの少なくとも2つのグループを備える必要があります。REDOログ・グループを割り当ててから、ALTER DATABASE ENABLE INSTANCE instance_nameコマンドを使用して新規インスタンスを有効化する必要があります。DBCAを使用してデータベースを作成する場合、DBCAは、必要に応じてREDOログ・ファイルをインスタンスに自動的に割り当てます。初期データベースの作成時または作成後の手順として必要に応じて、REDOログ・グループの数およびREDOログ・ファイルのサイズを変更できます。

現在のグループが一杯になると、インスタンスは次のログ・ファイル・グループへの書込みを開始します。データベースがARCHIVELOGモードの場合は、各インスタンスは一杯になったオンライン・ログ・グループをアーカイブREDOログ・ファイルとして保存し、このファイルは制御ファイルに記録されます。データベースのリカバリ時に、有効化されているすべてのインスタンスについて、リカバリが必要かどうかがチェックされます。Oracle RACデータベースからインスタンスを削除する場合は、データベースのリカバリ時にスレッドをチェックする必要がないように、インスタンスのREDOスレッドを無効化する必要があります。

REDOログの管理は、特定の本番Oracle RACデータベースのインスタンスの数を変更するときに考慮する必要があります。たとえば、ポリシー管理データベースのサーバー・プールのカーディナリティを増やし、新しいサーバーをサーバー・プールに割り当てると、新しいサーバーのインスタンスが起動されます。新しいサーバーのデータベース・インスタンスが起動すると、一連のREDOログ・グループが必要になります。Oracle ASMディスク・グループに基づいたOracle Managed Filesを使用すると、必要なREDOログ・スレッドおよびそれぞれのファイルの割り当てが自動的に実行されます。REDOログ・グループは、管理者管理データベースを使用する場合にのみ作成する必要があります。

管理者管理データベースの場合、インスタンスごとに、独自のオンライン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表領域を更新できます。

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 Enterprise Managerを使用して、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 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 Cloud 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 [-force]

Oracle ASMインスタンスの起動、停止およびステータスの取得にも、SRVCTLを使用できます。次に例を示します。

Oracle ASMインスタンスを起動にするには、次の構文を使用します。

srvctl start asm [-node node_name] [-startoption start_options]

Oracle ASMインスタンスを停止するには、次の構文を使用します。

srvctl stop asm [-node node_name] [-stopoption stop_options]

Oracle ASMインスタンスの構成を表示するには、次の構文を使用します。

srvctl config asm -node node_name

Oracle ASMインスタンスの状態を表示するには、次の構文を使用します。

srvctl status asm [-node node_name]

関連項目:

- Oracle ASMの管理に使用可能なSRVCTLコマンドの詳細は、「サーバー制御ユーティリティのリファレンス」を参照してください

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

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

この章では、Oracle Real Application Clusters(Oracle RAC)データベースおよびデータベース・インスタンスの管理方法について説明します。

内容は次のとおりです。

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

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

- Oracle RACでのPDBの起動および停止

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

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

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

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

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

- データベース・サーバーのメモリー不足の管理

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

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

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

- Oracle Enterprise Managerの高度な管理

関連項目:

Oracle Enterprise Manager Cloud Controlの詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプを参照してください。

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

Oracle RACデータベースは、異なる2つの管理スタイルおよびデプロイメント・モデルをサポートしています。

- 管理者管理デプロイメントは、Oracle Database 11gリリース2 (11.2)の前に存在していたOracle RACデプロイメント・タイプに基づき、クラスタ内の特定のノードで実行されるように各データベース・インスタンスを静的に構成する必要があり、また、preferredおよびavailable宛先を使用して、特定のデータベースに属する特定のインスタンスで実行されるようにデータベース・サービスを構成する必要があります。

- ポリシー管理デプロイメントは、サーバー・プールに基づき、この場合、データベース・サービスは、サーバー・プール内でシングルトンまたは均一として、サーバー・プール内のすべてのサーバーにわたって実行されます。データベースは1つ以上のサーバー・プールにデプロイされ、サーバー・プールのサイズによってデプロイメント内のデータベース・インスタンスの数が決まります。

同じコマンドまたは方法(DBCAやOracle Enterprise Managerなど)を使用して、管理者管理またはポリシー管理デプロイメント・モデルでデータベースを管理できます。すべてのコマンドおよびユーティリティは、管理者ベース管理(Oracle Database 11gリリース2 (11.2)より前のOracle Databases)のみをサポートしているOracle Databaseの管理をサポートするために下位互換性を維持しています。

一般にデータベースは、Oracle Clusterwareのリソースとして定義されます。データベース・リソースは、DBCAを使用してデータベースを作成すると自動的に作成され、DBCAを使用しない場合は、SRVCTLを使用してデータベースを追加することによって手動でデータベース・リソースを作成できます。データベース・リソースには、Oracleホーム、SPFILE、1つ以上のサーバー・プールおよびデータベースで必要な1つ以上のOracle ASMディスク・グループが含まれます。また、データベース・リソースにはリスナー・タイプに弱い起動依存性があり、これは、データベース・インスタンスの起動時にリソースがノードのすべてのリスナーを起動しようとすることを意味しています。Oracle Clusterwareは、データベース・インスタンスが起動するノードのリスナーを起動しようとします。リスナーを順に起動すると、ノードのVIPが起動します。

管理者管理データベースのデータベース・リソースを確認すると、そのOracle Databaseと同じ名前で定義されたサーバー・プールが表示されます。このサーバー・プールは、Oracleで定義される特別なサーバー・プールの一部で、Genericと呼ばれます。Oracle RACは、Genericサーバー・プールを管理して管理者管理データベースをサポートします。SRVCTLまたはDBCAのいずれかを使用して管理者管理データベースを追加または削除すると、Genericのメンバーであるサーバー・プールがOracle RACによって作成または削除されます。Genericサーバー・プールの変更に、SRVCTLまたはCRSCTLコマンドを使用することはできません。

関連項目:

リソース、サーバー・プールおよびリソースの依存性の定義については、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

ポリシー管理データベースを使用して、動的システムの管理を簡素化します。ポリシー管理により、クラスタおよびデータベースは、要件の変更に応じて拡張または縮小できます。ポリシー管理データベースを使用する場合は、クラスタ内のすべてのノードにOracleホーム・ソフトウェアをインストールする必要があります。ポリシー管理データベースは、Oracle Database 11gリリース2 (11.2)以上のソフトウェアを使用する必要があり、管理者管理データベースと同じサーバーに共存させることはできません。

注意:

同じノードで同じデータベースの複数のインスタンスを実行することはできません。

ポリシー管理データベースは、カーディナリティ(通常の操作で実行する必要があるデータベース・インスタンス数)で定義されます。ポリシー管理データベースは、クラスタ管理者がクラスタに作成した1つ以上のデータベース・サーバー・プールで実行することも、別のサーバーで異なるタイミングで実行することもできます。ポリシー管理データベースの各サーバー・プールは、少なくとも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 RACの管理ツール

次の項では、Oracle RACデータベースおよびインスタンスを管理するために一般に使用する3つのツール(SRVCTLユーティリティ、Oracle Enterprise ManagerおよびSQL*Plus)を使用したOracle RAC管理について説明します。多くの場合、これらのツールを使用してOracle RAC環境を管理する方法は、非クラスタのOracle Databaseを管理する場合と同様です。

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

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

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

SRVCTLを使用したOracle RACの管理

サーバー制御ユーティリティ(SRVCTL)は、集中管理的にOracle Databasesを管理するために使用できるコマンドライン・インタフェースです。Oracleは、クラスタ用のOracle Grid Infrastructureに基づいて、非クラスタ環境とOracle RACデータベースの両方向けのOracle Grid InfrastructureのOracle ASMを使用して、単一インスタンスOracle Databases用のOracle Database 11gリリース2 (11.2)で中央集中型のSRVCTLベースのデータベース管理を使用できるようにしました。これにより、SRVCTLを使用した、すべてのOracle Databaseタイプの同機種管理が可能になります。SRVCTLを使用して、データベースおよびインスタンスの起動と停止、インスタンスおよびサービスの削除または移動を実行できます。また、SRVCTLを使用すると、クラスタ内の他のリソースに加え、サービスの追加および構成情報の管理を行うこともできます。

SRVCTLを使用してクラスタに構成操作を実行すると、SRVCTLは、クラスタ内のOracle Cluster Registry (OCR)に、またはOracle Restart環境内のOracle Local Registry (OLR)に構成データを格納します。SRVCTLは、Oracle Clusterwareリソース(Oracle Call Interface APIを使用してデータベースの起動および停止操作を実行するエージェントを定義)を構成および管理することによって、インスタンスの起動および停止のようなその他の操作を実行します。

注意:

特定の環境変数を使用してデータベース(またはデータベース・インスタンス)を起動する必要がある場合は、srvctl setenvコマンドを使用して、SRVCTLの使用によってデータベース用に維持されているデータベース・プロファイルに対してこれらの変数を設定します。ORACLE_HOMEおよびORACLE_SID環境変数を設定する必要はありません。SRVCTLが自動的にこれらのパラメータを維持および設定するためです。

関連項目:

SRVCTLの詳細は、「サーバー制御ユーティリティのリファレンス」を参照してください

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

Oracle Enterprise Managerでは、Oracle RAC環境を集中的に制御し、複数のクラスタ・データベースで同時に管理タスクを実行できます。Oracle Enterprise Manager Cloud Control (Oracle Enterprise Manager 11gではGrid Control)グラフィカル・ユーザー・インタフェース(GUI)に基づいて、非クラスタ環境とOracle RAC環境の両方を管理できます。

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の管理

SRVCTLまたはOracle Enterprise Managerとは異なり、SQL*Plusはインスタンス指向の管理ツールです。これは、SQL*Plusコマンドは現在のインスタンス上で動作することを意味しています。現行のインスタンスは、SQL*Plusセッションを開始したローカルのデフォルト・インスタンスまたはOracle Net Servicesの接続先リモート・インスタンスです。1つのデータベースで複数のインスタンスを同時に実行するOracle RAC環境の場合、これは、このインスタンス上でSQL*Plusが動作できる範囲を考慮する必要があることを意味しています。これらの制限のため、ポリシー管理データベースを管理する場合はSQL*Plusを使用しないでください。

たとえば、プラガブル・データベース(PDB)が管理者管理スタイルとポリシー管理スタイルのいずれで管理されているかにかかわらず、これらのデータベースを使用する場合、SQL*Plus接続を使用してPDBに実行される変更は、デフォルトで現行のインスタンスにのみ影響することを考慮する必要があります。PDBに属するすべてのインスタンスに影響するような変更を行うには、ALTER PLUGGABLE DATABASEコマンドとinstance=allを使用する必要があります。PDBを使用する場合、動的データベース・サービス(net_service_name)を使用してインスタンスに接続する必要があります。PDBは、自らを、Oracle RACデータベースの1つ以上のインスタンスに関連付けられた動的データベース・サービスとして表しているためです。

関連項目:

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

デフォルトでは、SQL*Plusのプロンプトで現行のインスタンスが識別されないため、正しいインスタンスにコマンドを発行する必要があります。SQL*Plusセッションを開始して、インスタンスを指定せずにデータベースに接続すると、すべてのSQL*Plusコマンドはローカル・インスタンスで処理されます。この場合も、デフォルト・インスタンスが現行のインスタンスです。

デフォルトでは、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文は、現行のインスタンスに適用されます。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コマンドです。

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

次の各項で説明するように、Oracle Enterprise Manager、SQL*PlusまたはSRVCTLを使用してインスタンスを起動および停止できます。Oracle Enterprise ManagerおよびSRVCTLでは、Oracle RACデータベースのすべてのインスタンスの起動および停止を1つの手順で行うオプションを提供しています。

任意のツールを使用して、データベースを起動する起動状態を選択できます。データベースおよびデータベース・インスタンスの状態によって、実行できる操作が決まります。データベースがMOUNT (NOMOUNT)状態にある場合のみ特定の操作を実行できます。他の操作を実行するには、データベースがOPEN状態である必要があります。

注意:

同じノードで同じデータベースの複数のインスタンスを実行することはできません。

クラスタ内のノードでOracle RACデータベース・インスタンスを起動するには、まずノードでOracle Grid Infrastructureスタックを起動する必要があります。Oracle Grid Infrastructureスタックが実行されていないサーバーでは、Oracle RACデータベース・インスタンスは起動しません。

Oracle Database QoS Managementポリシー・ワークロードの重要性によるデータベースの起動順序の決定

ユーザー作成のOracle Database Quality of Service Management (Oracle Database QoS Management)ポリシーがアクティブな場合、パフォーマンス・クラスのランク付けされた順序により、関連するOracle RACデータベースの開始順序またはリクエスト・リアルタイムLMSプロセス・スロットが決定されます。パフォーマンス・クラス・ランキングの使用により、統合環境で実行しているミッションクリティカルなデータベースに、リアルタイムで実行するLMSプロセスが確実に含まれることになるので、ノード間通信でのリソースのボトルネックが解消されます。Oracle Database QoS Managementポリシーでは各ワークロードのランクを指定するので、各データベースにMax(Ranks)の値を使用することにより、各データベースのビジネスの重要度を一貫性のある表現で示すことができます。

次の各項の手順では、Oracle RACデータベース・インスタンスの起動および停止について説明します。

- SRVCTLを使用した1つ以上のインスタンスおよびOracle RACデータベースの起動

- SRVCTLを使用した1つ以上のインスタンスおよびOracle RACデータベースの停止

- CRSCTLを使用したすべてのデータベースおよびインスタンスの停止

- SQL*Plusを使用した個々のインスタンスの起動と停止

関連項目:

- データベースおよびインスタンスの起動状態の詳細は、『Oracle Database概要』を参照してください。

- Oracle Enterprise Managerを使用してクラスタ・データベース・インスタンスまたはクラスタ・データベースを起動または停止するための手順を追った説明は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

SRVCTLを使用した1つ以上のインスタンスおよびOracle RACデータベースの起動

注意:

この項では、データベースにSPFILEを使用していることを前提にしています。

次のSRVCTL構文をコマンドラインから入力し、必要なデータベース名およびインスタンス名を提供するか、または複数のインスタンス名を指定して、複数の特定のインスタンスを起動します。

- クラスタ・データベース全体(すべてのインスタンスおよび使用可能なサービス)を起動または停止するには、次のSRVCTLコマンドを入力します。

$ srvctl start database -db db_unique_name [-startoption start_options]

$ srvctl stop database -db db_unique_name [-o stop_options]

たとえば、次のSRVCTLコマンドは、Oracle RACデータベースの実行中でないすべてのインスタンスをマウントします。

$ srvctl start database -db orcl -startoption mount

- 管理者管理データベースを起動する場合は、インスタンス名のカンマ区切りリストを入力します。

$ srvctl start instance -db db_unique_name -instance instance_name_list [-startoption start_options]

Windowsでは、カンマ区切りリストを二重引用符("")で囲む必要があります。

- ポリシー管理データベースを起動する場合は、単一のノード名を入力します。

$ srvctl start instance -db db_unique_name -node node_name [-startoption start_options]

また、このコマンドでは、使用可能で実行されていないすべてのサービスが開始されます。そのサービスには、AUTOMATIC管理ポリシーが設定され、サービスのいずれかのロールがデータベース・ロールと一致します。

- 1つ以上のインスタンスを停止するには、コマンドラインから次のSRVCTL構文を入力します。

$ srvctl stop instance -db db_unique_name [ -instance "instance_name_list" |
-node node_name ] [ -stopoption stop_options ]

複数のインスタンス名のカンマ区切りリストを指定して複数のインスタンスを停止することも、1つのノード名を指定して1つのインスタンスを停止することもできます。Windowsでは、カンマ区切りリストを二重引用符("")で囲む必要があります。

このコマンドにより、インスタンスが実行されていたノード上で終了したインスタンスと関連するサービスも停止します。例のとおり、次のコマンドで、immediate stopオプションを使用してorclデータベースの2つのインスタンス(orcl3およびorcl4)を停止することができます。

$ srvctl stop instance -db orcl -instance "orcl3,orcl4" -stopoption immediate

関連項目:

SRVCTLオプションおよびSRVCTLで実行可能な他の管理タスクについては、「サーバー制御ユーティリティのリファレンス」を参照してください

SRVCTLを使用した1つ以上のインスタンスおよびOracle RACデータベースの停止

Oracle RACインスタンスの停止手順は、次に説明する例外を除いて、非クラスタのOracle Databaseのインスタンスの停止と同じです。

- Oracle RACでは、1つのインスタンスを停止しても、実行中の他のインスタンスの操作を妨げることはありません。

- Oracle RACデータベースを完全に停止するには、データベースがオープン状態またはマウントされた状態となっているすべてのインスタンスを停止します。

- NORMALまたはIMMEDIATEでの停止後は、インスタンスのリカバリは不要です。ただし、SHUTDOWN ABORTコマンドを発行した後、またはインスタンスが異常終了した後は、リカバリが必要です。まだ実行中のインスタンスが、停止したインスタンスに対してインスタンス・リカバリを実行します。他に実行中のインスタンスがない場合は、次にデータベースをオープンするインスタンスが、リカバリが必要なすべてのインスタンスのリカバリを実行します。

- SHUTDOWN TRANSACTIONALコマンドとともにLOCALオプションを使用すると、特定のOracle RACデータベース・インスタンスを停止する場合に有用です。他のインスタンス上のトランザクションがこの操作を妨げることはありません。LOCALオプションを省略した場合、この操作は、SHUTDOWNコマンドを実行する前に起動した他のすべてのインスタンスのトランザクションがコミットまたはロールバックされるまで待機します。これは、Oracle RACデータベースのすべてのインスタンスを停止する場合は有効なアプローチです。

注意:

SHUTDOWN TRANSACTIONALとSHUTDOWN TRANSACTIONAL LOCALの両方は、非クラスタ化データベースに対して同じアクションを実行しますが、この2つのコマンドは、Oracle RACデータベースでは異なっています。

関連項目:

データベースの停止の詳細は、『Oracle Database概要』を参照してください。

SRVCTLを使用してOracle RACデータベースまたはデータベース・インスタンスを停止します。それぞれのSRVCTLコマンド(srvctl stop databaseまたはsrvctl stop instance)は、最適化されたトランザクションの停止を実行するための停止オプションを備えています。TRANSACTIONAL停止オプションはsrvctl stop databaseコマンドとともに、TRANSACTIONAL LOCAL停止オプションはsrvctl stop instanceコマンドとともに使用します。

関連項目:

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

CRSCTLを使用したすべてのデータベースおよびインスタンスの停止

ノード全体またはクラスタ全体を停止する場合(たとえばメンテナンス目的など)、必要なクラスタ権限があるときは、ノードでcrsctl stop crsコマンドを実行するか、crsctl stop cluster -allコマンドを実行します。これらのコマンドによって、サーバー上またはクラスタ内で実行されているすべてのデータベース・インスタンスは停止し、クラスタを再起動した後でその状態は確実にリカバリされます。CRSCTLを使用すると、Oracle Clusterwareは、他の場所で実行できるサービスおよび他のリソースを再配置することもできます。

これらのCRSCTLコマンドのいずれかを使用してサーバー上またはクラスタ内のすべてのデータベース・インスタンスを停止すると、shutdown abortと同様にデータベース・インスタンスが停止される可能性があり、起動時にインスタンスのリカバリが必要になります。クラスタを停止する前にSRVCTLを使用してデータベース・インスタンスを手動で停止する場合は、shutdown abortを回避できますが、この場合は、Oracle Clusterwareの再起動後にデータベース・インスタンスを手動で再起動する必要があります。

SQL*Plusを使用した個々のインスタンスの起動と停止

ローカル・ノードに接続された状態で、1つのインスタンスのみを起動または停止するには、事前に現行の環境にローカル・インスタンスのSIDが含まれていることを確認する必要があります。SQL*Plusセッションかどうかに関係なく、セッション内の後続のすべてのコマンドは、そのSIDに対応付けられます。

注意:

この項では、SPFILEを使用していることを前提にしています。

ローカル・インスタンスを起動または停止するには、SQL*Plusセッションを開始し、SYSDBAまたはSYSOPER権限で接続した後に、必要なコマンドを発行します。たとえば、ローカル・ノード上でインスタンスを起動しマウントする場合は、SQL*Plusセッション内で次のコマンドを実行します。

CONNECT / AS SYSDBA
STARTUP MOUNT

注意:

Oracle ASMディスク・グループを使用する場合は、SYSDBA権限ではなく、SYSASM権限を使用してOracle ASMインスタンスに接続し、管理します。

Oracle RAC環境でOracle ASMインスタンスを管理する場合は、SQL*Plusを使用しないことをお薦めします。Oracle Clusterwareは、必要に応じてOracle ASMインスタンスを自動的に管理します。手動操作が必要な場合は、それぞれのSRVCTLコマンドを使用します。

関連項目:

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

Oracle Net Servicesを使用して、単一のSQL*Plusセッションから複数のインスタンスを起動できます。Net Services接続文字列(通常は、tnsnames.oraファイルからのインスタンス固有の別名)を使用して、各インスタンスに順次接続します。

たとえば、ローカル・ノード上でSQL*Plusセッションを使用すると、インスタンスの個々の別名を使用して、各インスタンスに順次接続し、リモート・ノード上の2つのインスタンスのトランザクションの停止を実行できます。最初のインスタンスの別名をdb1、2つ目のインスタンスの別名をdb2と仮定します。次のコマンドを入力して、最初のインスタンスに接続してから停止します。

CONNECT /@db1 AS SYSDBA
SHUTDOWN TRANSACTIONAL

注意:

正しいインスタンスに接続するには、接続文字列で1つのインスタンスにのみ対応付けられた別名を使用する必要があります。サービスに接続するTNS別名を使用する接続文字列、または複数のIPアドレスを表示するOracle Netアドレスを使用する場合、停止する特定のインスタンスに接続できないことがあります。

次のコマンドを入力して、SQL*Plusセッションから2つ目のインスタンスに接続した後、停止します。

CONNECT /@db2 AS SYSDBA
SHUTDOWN TRANSACTIONAL

SQL*Plusでは複数のインスタンスを同時に起動または停止することはできないため、単一のSQL*Plusコマンドでクラスタ・データベースのすべてのインスタンスを起動または停止することはできません。各インスタンスに順次接続し、起動および停止するスクリプトを作成することができます。ただし、インスタンスの追加または削除を行う場合は、このスクリプトを手動でメンテナンスする必要があります。

関連項目:

NOMOUNT、MOUNT、IMMEDIATEなどの他の起動および停止のキーワードの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

Oracle RACでのPDBの起動および停止

Oracle RACベースのマルチテナント・コンテナ・データベース(CDB)の管理は、非CDBの管理にある程度似ています。違いは、ある管理タスクはCDB全体に適用され、ある管理タスクはrootにのみ適用され、ある管理タスクは特定のプラガブル・データベース(PDB)に適用されるということのみです。プラガブル・データベース(PDB)の管理には、非CDBを管理するために必要なタスクのごく一部が必要です。この一部のタスクでは、ほとんどがPDBおよび非CDBに対して同じです。ただし、PDBのオープン・モードを変更する場合など、いくつかの違いがあります。また、PDB管理者は、単一PDBの管理のみを行い、CDB内の他のPDBによる影響は受けません。

関連項目:

CDBおよびPDBの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。

PDBがポリシー管理または管理者管理のいずれであるにもかかわらず、サービスを管理することによって、Oracle RACベースのCDB内のPDBを管理します。1つの動的データベース・サービスを各PDBに割り当てて、クラスタ化コンテナ・データベース内のインスタンスにわたってPDBの起動、停止および配置を調整します。

たとえば、prodというサーバー・プールにsparkというポリシー管理PDBを備えたraccontというCDBを所有している場合、次のコマンドを使用してplugというサービスをこのデータベースに割り当てます。

srvctl add service –db raccont –pdb spark –service plug –serverpool prod

サービスplugは、サーバー・プール内のすべてのノードにわたって均一に管理されます。同じサーバー・プールでこのサービスをシングルトン・サービスとして実行する場合は、前述のコマンドとともに-cardinality singletonパラメータを使用します。

PDB sparkを開くには、次のように、それぞれのサービスplugを起動する必要があります。

srvctl start service -db raccont -service plug

サービスを停止するには、plug:

srvctl stop service -db raccont -service plug

PDB sparkは、SQLコマンドALTER PLUGGABLE DATABASE PDB_NAME CLOSE IMMEDIATE;を使用してPDBを閉じるまで開いたままです。srvctl status serviceコマンドを使用すると、データベースのステータスを確認できます。

PDBは動的データベース・サービスを使用して管理されるため、通常のOracle RACベースの管理プラクティスが適用されます。したがって、サービスplugがONLINE状態で、このサービスをホストしているサーバー上でOracle Clusterwareが停止している場合、このサーバー上のOracle Clusterwareの再起動後に、サービスは元の状態にリストアされます。このようにして、PDBの起動は、他のOracle RACデータベースと同様に自動化されます。

注意:

SQL*Plusとは異なり、SRVCTLは全体としてクラスタ・データベース上で動作します。したがって、サービスが同時に複数のサーバー上で実行されるように定義され、クラスタの現行のステータスがこの配置を可能にしている場合、サービスを使用したPDBの起動は、クラスタ化されたCDBの複数のインスタンスに同時に適用されます。

関連項目:

動的データベース・サービスの詳細は、「動的データベース・サービスによるワークロード管理」を参照してください

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

データベース・インスタンスが使用可能であることを確認するには、Oracle Enterprise Manager、SRVCTLまたはSQL*Plusを使用します。

- インスタンスが実行中であることを確認するためのSRVCTLの使用

- インスタンスが実行中であることを確認するためのSQL*Plusの使用

関連項目:

Oracle Enterprise Managerを使用してOracle RACデータベース・インスタンスのステータスを表示する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

インスタンスが実行中であることを確認するためのSRVCTLの使用

SRVCTLを使用すると、特定のデータベースでインスタンスが実行中であることを確認できます。

次のコマンドは、mailというOracle RACデータベースのデータベース・インスタンスのステータスを確認するためのSRVCTLの使用例を示しています。

$ srvctl status database -db mail

このコマンドによって、次のような出力が返されます。

Instance mail1 is running on node betal011Instance mail2 is running on node betal010

また、次のようにして、割り当てられたサービスの可用性を確認することによって、クラスタ内でPDBが実行されているかどうかを確認できます。

$ srvctl status service -db db_unique_name -service service_name

インスタンスが実行中であることを確認するためのSQL*Plusの使用

SQL*Plusを使用すると、データベース・インスタンスが実行中であることを確認できます。

1. 任意のノードで、SQL*Plusプロンプトから、Net Services接続文字列(通常はtnsnames.oraファイルからのインスタンス固有の別名)を使用することによって、データベース・インスタンスに接続します。

CONNECT /@db1 as SYSDBA

2. 次の文を使用して、V$ACTIVE_INSTANCESビューを問い合せます。

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文を使用して、特定のインスタンスのセッションを終了できます。

セッションが停止すると、セッションのアクティブ・トランザクションがロールバックされ、そのセッションが保持していたリソース(ロックやメモリー領域など)がただちに解放されて、他のセッションで使用可能になります。

ALTER SYSTEM KILL SESSION文を使用すると、Oracle RAC環境で厳密なアプリケーション品質保証契約を維持できます。多くの場合、品質保証契約は、指定された期限内にトランザクションを実行することを目的としています。Oracle RAC環境では、このためには、指定された期限内にインスタンスでトランザクションを終了し、別のインスタンスでトランザクションを再試行することが必要な場合があります。

注意:

当初アプリケーションがアプリケーション・コンティニュイティ対応の動的データベース・サービスを使用してデータベース・インスタンスに接続する場合、アプリケーション・コンティニュイティを使用して、トランザクションの取消しをユーザーから隠すことができます。

サービス・レベル管理に対してよりきめ細かいアプローチを求める場合、すべてのOracle RACベースのデータベースに対して、Oracle Database Quality of Service Management (Oracle Database QoS Management)を使用することをお薦めします。

セッションを終了するには、次の手順に従います。

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文を実行してインスタンスでセッションを終了します。

例3-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>

例3-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-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 Enterprise Managerを使用したこれらの手順の例は、『Oracle Database 2日でパフォーマンス・チューニング・ガイド』を参照してください。

- サービス・レベル管理の詳細は、『Oracle Database Quality of Service Managementユーザーズ・ガイド』を参照してください。

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

データベースを作成すると、指定したファイルの位置にSPFILEが作成されます。Oracle ASMディスク・グループまたはクラスタ・ファイル・システムをこの場所に指定できます。手動でデータベースを作成する場合は、初期化パラメータ・ファイル(PFILE)からSPFILEを作成することをお薦めします。

注意:

Oracle RACで従来のPFILEが使用されるのは、SPFILEが存在しないか、STARTUPコマンドでPFILEを指定した場合のみです。管理の単純化、パラメータ設定の一貫性の維持、データベースの停止および起動イベント全体にわたるパラメータ設定の永続性の保証のために、SPFILEを使用することをお薦めします。さらにRMANを構成してSPFILEをバックアップできます。

クラスタ・データベース内のインスタンスはすべて、起動時に同じ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=SPFILE;

これで、SPFILEにはOPEN_CURSORSの次のエントリが含まれます。

*.OPEN_CURSORS=1500
prod1.OPEN_CURSORS=1000

次の文を実行して、prod1を除くすべてのインスタンスのOPEN_CURSORSをデフォルト値にリセットします。

ALTER SYSTEM RESET OPEN_CURSORS SCOPE=SPFILE;

これで、SPFILEにはprod1の次のエントリのみが含まれます。

prod1.OPEN_CURSORS=1000

次の文を実行して、インスタンスprod1のみのOPEN_CURSORSパラメータをデフォルト値にリセットします。

ALTER SYSTEM RESET OPEN_CURSORS SCOPE=SPFILE SID='prod1';

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

Oracle Databaseでは、プラットフォームに応じてパラメータ・ファイルが特定の順序で検索されます。Oracle RACデータベースの場合、srvctl config 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='/u01/oracle/dbs/test_init.ora'
FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';

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

複数のインターコネクトが存在する場合、プライベート・ネットワークの代替クラスタ・インターコネクトを指定します。

注意:

- すべてのOracle DatabaseとOracle Clusterwareでは同じインターコネクト・ネットワークを使用することをお薦めします。

- 特別な場合を除き、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では、Cloud 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 Cloud Controlのクラスタ管理サービス・ページで、クラスタ管理されるサービスを作成する必要があります。これは、Oracle Clusterwareが、ユーザーが作成したサービスおよびデフォルトのデータベース・サービスのこのパラメータの設定を制御するためです。「動的データベース・サービスによるワークロード管理」で説明するサービスの機能は、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

- 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データベースのダウンストリーム取得構成で、Oracle Streamsダウンストリーム取得またはOracle GoldenGate統合取得モードを使用する場合、値は0 (ゼロ)より大きい必要があります。

参照: ダウンストリーム取得構成の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

CLUSTER_DATABASE_INSTANCES

このパラメータについては、すべてのOracle RACデータベース・インスタンスで同一の設定であることが望まれますが、これは必須ではありません。

LICENSE_MAX_USERS

このパラメータでは、データベースに定義されるユーザー数のデータベース全体における制限が決定されるため、このパラメータにはデータベースのすべてのインスタンスに同じ値を指定して、どのインスタンスの使用時にも現在の値を確認できるようにすると便利です。異なる値を設定すると、インスタンスの起動時にOracle Databaseによって追加で警告メッセージが生成されたり、データベース・ユーザーの管理に関連するコマンドが一部のインスタンスで失敗する可能性があります。

LOG_ARCHIVE_FORMAT

すべてのインスタンスで同じ値を使用しない場合、メディア・リカバリが複雑になります。アーカイブ・ログ・ファイルを作成したインスタンスにかかわらず、リカバリを行うインスタンスでは、必要なアーカイブ・ログ・ファイル名のフォーマットがそのインスタンス自体のLOG_ARCHIVE_FORMATの値で定義されていると想定します。

Oracle 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データベースのインスタンス間で異なる値を割り当てる前に、メリットがあるかどうかを慎重に考慮する必要があります。

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

管理者管理データベースをポリシー管理データベースに変換できます。

注意:

管理者管理データベースが権限の弱いユーザー用に構成されており、このデータベースをポリシー管理データベースに変換しようとする場合は、この権限の弱いユーザーにウォレットを(まだ存在しない場合)手動で追加し、Oracle Database用のWindowsサービスを作成できるようにする必要があります。

管理者管理データベースを変換するには、次の手順を実行します。

1. すべてのサービスとデータベースの現在の構成を確認します(間違いがあったためにリカバリが必要な場合、元の構成がどうであったかを確認できます)。

srvctl config database -db db_unique_name
srvctl config service -db db_unique_name

2. ポリシー管理データベース用のサーバー・プールを作成します(これを実行するには、クラスタ管理者である必要があります)。

srvctl add srvpool -serverpool server_pool -min 0 -max n

前述のコマンドでは、0 (ゼロ)はサーバー・プールで希望するサーバーの最小数で、nは最大数です。

注意:

この手順では、必ずしも新しく作成したサーバー・プールにサーバーを配置するとはかぎりません。たとえば、新しいサーバー・プールがサーバーを割り当てることができる元の空きプールにサーバーがない場合は、変換が完了したときに、srvctl relocate serverコマンドを使用して別のサーバー・プールからサーバーを再配置する必要がある可能性があります。

3. 次のようにOracle Enterprise ManagerまたはSRVCTLを使用して、データベースを停止します。

srvctl stop database -db db_unique_name

4. 新しいサーバー・プールに存在するようにデータベースを変更します。

srvctl modify database -db db_unique_name -serverpool server_pool

5. 次のように、サービス・ユーザーをウォレットに追加します。

crsctl add wallet -type OSUSER -user user_name -passwd

6. 手順1のコマンドを繰り返してデータベースのステータスを確認し、データベースがポリシー管理になったことを確認します。

関連項目:

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

次のように、前述の手順で行った変更を認識させるために、Oracle Enterprise Managerを構成します。

1. Oracle Enterprise Manager Cloud Controlに新しいデータベース・インスタンスを認識させるために、インスタンス名をdb_unique_name#からdb_unique_name_#に変更(シャープ記号(#)の前にアンダースコア(_)を追加)する必要があります。

2. dbs/databaseディレクトリ内のorapwdファイルの名前を変更します(または、orapwdコマンドを実行して、新しいorapwdファイルを作成します)。
デフォルトのorapwdファイルには、orapwdORCL1などのようにインスタンス名が付加されています。前述の手順で変更したインスタンス名に対応するように、ファイル名を変更する必要があります。たとえば、orapwdORCL1をorapwdORCL_1に変更するか、または新しいorapwdファイルを作成する必要があります。

ポリシー管理データベースを管理者管理データベースに直接変換することはできません。その場合は、srvctl remove databaseコマンドおよびsrvctl remove serviceコマンドでポリシー管理構成を削除してから、srvctl add databaseコマンドおよびsrvctl add instanceコマンドで同じデータベースを管理者管理データベースとして登録します。データベースおよびインスタンスの登録後に、srvctl add serviceコマンドを使用して、削除したサービスを元どおりに追加する必要があります。

関連項目:

これらのコマンドの詳細は、「SRVCTLのコマンド・リファレンス」を参照してください

管理者管理データベースのサービスは、引き続きPREFERREDおよびAVAILABLE定義によって定義されます。ポリシー管理データベースの場合、サービスはデータベース・サーバー・プールに対して定義され、uniform(サーバー・プール内のすべてのインスタンスで実行)またはsingleton(サーバー・プール内の単一インスタンスでのみ実行)のいずれかになります。データベースの管理ポリシーを変更した場合、選択したデータベースの管理ポリシーに応じて、UNIFORMかSINGLETON、またはPREFERRED/AVAILABLEのいずれかになるように、データベース・サービスを再作成する必要があります。

関連項目:

サービスの管理の詳細は、「サービスのデプロイメント・オプション」を参照してください

データベース・サーバーのメモリー不足の管理

オープン・セッションまたはランナウェイ・ワークロードが多すぎるため、エンタープライズ・データベース・サーバーが使用可能メモリーをすべて使用することがあります。メモリーが不足すると、トランザクションが失敗することがあります。極端な場合には、サーバーが再起動し、アプリケーションの貴重なリソースが失われることもあります。Memory Guardは、サーバー上のメモリー不足をリアルタイムで検出し、新しいセッションを他のサーバーにリダイレクトして、メモリーが不足しているサーバー上のすべての使用可能メモリーが使用されることを防ぎます。

Oracle Database QoS Managementが有効になっていて、Oracle Clusterwareサーバー・プールを管理している場合、Cluster Health Monitorは、クラスタ・サーバーのメモリー・リソースに関するリアルタイム情報を提供するメトリック・ストリームをMemory Guardに送信します。この情報の内容は次のとおりです。

- 使用可能メモリーの量

- 現在使用されているメモリーの量

ノードのメモリーが不足しているとMemory Guardが判断した場合は、新しい接続が作成されないように、そのノード上のOracle Clusterwareで管理されているデータベース・サービスが停止されます。メモリー不足が緩和されると、そのノードのサービスが自動的に再開し、リスナーはそのサーバーへの新規接続の送信を開始します。メモリー不足は、いくつかの方法で緩和できます(たとえば、既存のセッションの終了やユーザーの介入など)。

新しいセッションを別のサーバーに再ルートすると、メモリーが不足しているサーバー上の既存のワークロードが保護され、サーバーを使用可能な状態に保つことができます。Memory Guardはサーバーのメモリー不足を管理するOracle RACの機能で、Oracle RACデータベースにホストされているアプリケーションのサービス・レベルの管理に新しいリソース保護機能を追加します。

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プラットフォームでの複数のクラスタ・インターコネクトの管理

LinuxおよびUNIXプラットフォームで実行されるOracle RAC環境では、CLUSTER_INTERCONNECTS初期化パラメータを使用して、Oracle Clusterwareがプライベート・ネットワーク用に使用しているものの代替インターコネクトを指定できます。

注意:

CLUSTER_INTERCONNECTS初期化パラメータは、冗長インターコネクトの使用によって提供されている高可用性IP (HAIP)アドレスに設定しないでください。HAIPは自動的に認識されます。

CLUSTER_INTERCONNECTSに複数の値を設定する場合、Oracle Databaseは、インターコネクトに指定するすべてのネットワーク・インタフェースを使用し、表示されているすべてのインターコネクトが動作している場合はロード・バランシングを提供します。このパラメータで複数のインターコネクトを定義する場合、データベースのすべてのインスタンスで同じ値(インターコネクトをリストする順序を含む)を使用する必要があります。

注意:

オペレーティング・システム・レベルでデフォルトのインターコネクト設定を上書きするCLUSTER_INTERCONNECTS初期化パラメータを設定することはお薦めしません。

かわりに、ベスト・プラクティスは、Oracle RACおよびOracle Real Application Clusters One Node 11gリリース2 (11.2)データベース以上向けのOracle Grid Infrastructure 11gリリース2 (11.2)で使用可能な冗長インターコネクトの使用を使用することです。Oracle Database 11gリリース2 (11.2)より前のデータベースの場合、オペレーティング・システムベースのネットワーク・ボンディング・テクノロジを使用して、クラスタ・インターコネクトとして使用するつもりのネットワーク・インタフェース・カード向けの高可用性(およびロード・バランシング)を可能にします。1つのクラスタ内で複数のデータベース・バージョンを使用する場合は、両方の手法を組み合せることができます。冗長インターコネクトの使用では、結合にかかわらず、オペレーティング・システム・レベルで提示されるインタフェースを使用します。結合テクノロジの詳細は、オペレーティング・システムのベンダーに問い合せてください。

関連項目:

冗長インターコネクトの使用の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

CLUSTER_INTERCONNECTSパラメータを設定するためのユース・ケース

CLUSTER_INTERCONNECTS初期化パラメータでは、IPアドレスが必要です。コロン(:)で区切って、複数のIPアドレスを指定できます。Oracle RACネットワーク・トラフィックは、指定されたIPアドレス間で分散されます。

注意:

- ポリシー管理データベースを使用する場合、CLUSTER_INTERCONNECTSパラメータは設定しないことをお薦めします。

- すべてのデータベースとOracle Clusterwareで同じインターコネクト・ネットワークを使用することをお薦めします。

一般に、CLUSTER_INTERCONNECTSパラメータは、次の場合にのみ設定します。

- クラスタで複数のデータベースが実行され、インターコネクト・トラフィックを分離する必要があり、冗長インターコネクトの使用を使用しない場合。

- オペレーティング・システムによって高可用性が実現された単一の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パラメータに指定したインターコネクトへの書込み中にオペレーティング・システム・エラーが発生した場合は、他のインタフェースが使用可能な場合でも、Oracle Databaseによってエラーが戻されます。これは、Oracle Databaseとインターコネクトの間の通信プロトコルが、使用しているプラットフォームに大きく依存する場合があるためです。詳細は、ご使用のOracle Databaseのプラットフォーム固有のマニュアルを参照してください。

関連項目:

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

例

単一のクラスタ・インターコネクトで帯域幅の要件を満たすことができない場合は、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

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

これらの例は、Oracle ClusterwareによるOracle RACデータベースに対する制御を最小化するために使用します(アップグレード中に必要となる可能性があります)。

デフォルトでは、Oracle ClusterwareによってOracle RAC環境のデータベースの再起動が制御されます。たとえば、データベースのアップグレード中など、場合によっては、Oracle ClusterwareのOracle RACデータベースに対する制御レベルを最小限に抑える必要があることがあります。

注意:

サード・パーティのクラスタウェアを使用する場合は、Oracle Clusterwareを使用してOracle RACインスタンスを管理することをお薦めします。インスタンスを手動に設定し、そのインスタンスをサード・パーティのクラスタウェアで起動する場合は、データベース・インスタンスの監視および再起動にサード・パーティのクラスタウェアを使用しないでください。Oracle Clusterwareがこれを行う必要があるためです。

システムの再起動時にOracle ClusterwareによるOracle RACデータベースの再起動を防止する場合、または障害が発生したインスタンスの2回目以降の再起動を回避する場合、制御の程度を定義する管理ポリシーを構成します。管理ポリシーには、AUTOMATIC (デフォルト)とMANUALの2つがあります。管理ポリシーをAUTOMATICに設定すると、データベースは、データベース・ホスト・コンピュータの再起動時に、前回の実行状態(起動または停止)に自動的にリストアされます。MANUALの場合、データベースは、データベース・ホスト・コンピュータの再起動時に、自動的に再起動されることはありません。MANUALに設定しても、Oracle Restartは、実行中のデータベースを監視し、障害発生時にデータベースを再起動します。

SRVCTLコマンドを使用して、次の例に示すとおり、Oracle Clusterwareの管理ポリシーを表示および変更します。

例1: 現行管理ポリシーの表示

次のコマンド構文を使用して、現行の管理ポリシーを表示します(ここで、db_unique_nameは、管理ポリシーを変更するデータベースの名前です)。

srvctl config database -db db_unique_name -all

例2: 現行の管理ポリシーの別の管理ポリシーへの変更

次のSRVCTLコマンド構文を使用して、現行の管理ポリシーをAUTOMATIC、MANUALまたはNORESTARTに変更します。

srvctl modify database -db db_unique_name -policy [AUTOMATIC | MANUAL | NORESTART]

このコマンド構文は、データベース・リソースのリソース属性を設定します。

例3: 新規データベース用の管理ポリシーの指定

srvctl add databaseコマンドを使用して新しいデータベースを追加する場合、次の例のように-policyパラメータを使用して管理ポリシーをAUTOMATIC、MANUALまたはNORESTARTのいずれかに指定できます(ここで、db_unique_nameはデータベース名です)。

srvctl add database -db db_unique_name -policy [AUTOMATIC | MANUAL | NORESTART]
-oraclehome $ORACLE_HOME -dbname DATA

このコマンド構文によって、新しいデータベースがOracle Clusterwareに制御されるようになります。管理ポリシー・オプションを指定しない場合、Oracle Databaseによってデフォルト値automaticが使用されます。管理ポリシーを変更した後、Oracle Clusterwareリソースは、影響を受けたデータベースの新しい値を記録します。

関連トピック

- srvctl config database

- srvctl modify database

- srvctl add database

Oracle Enterprise Managerの高度な管理

Oracle Enterprise Manager Cloud 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 Cloud Controlの使用

- Oracle Enterprise Managerのその他の機能

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

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

Oracle Enterprise ManagerでOracle RACデータベースおよびインスタンス・ターゲットを検出すると、監視および管理を実行できます。

Oracle Enterprise Manager Cloud Controlでは、Oracle Enterprise Managerコンソール・インタフェースを使用してOracle RACデータベースおよびインスタンス・ターゲットを検出できます。

Oracle RACデータベースが存在するクラスタにOracle Enterprise Manager Cloud Controlエージェントをインストールすると、Oracle RACデータベース・ターゲットはインストール時に検出されます。エージェントのインストール後にデータベースが作成される場合またはエージェントのインストール時にデータベースが自動的に検出されない場合は、コンソール・インタフェースを使用してターゲットを検出できます。

ノードおよびインスタンスを検出するには、次のようにOracle Enterprise Manager Cloud Controlを使用します。

1. Oracle Enterprise Managerにログインし、「ターゲット」タブをクリックします。

2. 「データベース」タブをクリックすると、使用可能なターゲットがすべて表示されます。「タイプ」列に、「クラスタ・データベース」というエントリを使用するOracle RACデータベースが表示されます。

3. ターゲット名を選択して「追加」をクリックし、このデータベース・ターゲットを追加します。「データベースターゲットの追加: ホストの指定」ページが表示されるので、このページで、データベース、リスナーおよびOracle ASMを監視ターゲットとして追加できます。

4. 懐中電灯のアイコンをクリックして使用可能なホスト名を表示し、ホストを選択して「続行」をクリックします。「データベースの追加: ソースの指定」ページが表示されます。

5. Oracle Enterprise Managerを使用して非クラスタのデータベースおよびリスナーのみを検出するか、またはすべてのクラスタ・データベース、非クラスタのデータベースおよびクラスタのリスナーを検出するかを指定し、「続行」をクリックします。

6. この手順で、再構成したクラスタ・データベースおよびそのすべてのインスタンスが検出されなかった場合は、「クラスタでターゲットが検出されました」ページでクラスタ・データベースおよび非クラスタ・データベースを手動で構成できます。

Oracle Enterprise Managerのその他の機能

この項では、Oracle Enterprise Manager 12cとともに使用できるOracle Enterprise Managerの機能について説明します。

- Oracle Grid Infrastructure/Oracle RACプロビジョニング・デプロイメント・プロシージャでは、Oracle RAC 12cおよびOracle Grid Infrastructureをプロビジョニングします。また、この手順では、プロファイルと呼ばれる機能があり、入力を記録しておいて、その後に繰り返されるデプロイメントでこの記録を使用できます。

- 新しい手順の動的前提条件では、My Oracle Support(以前のOracleMetaLink)に接続されていれば、Oracle Enterprise ManagerはOracle RACプロビジョニング用の最新の前提条件とツールをダウンロードできます。

- 既存の「ワンクリックでクラスタ・データベース拡張」機能は、現在、Oracle RAC 12cスタックをサポートしています。

- 既存の「Oracle Real Application Clustersの削除/縮小」機能は、Oracle RAC 12cのクラスタで動作が保証されています。

- 既存の「Oracleデータベースのプロビジョニング」手順は、現在、Oracle Database 12cのシングル・インスタンスのプロビジョニングをサポートしています。

- 非クラスタ・データベース用のOracle Grid Infrastructure 12cをプロビジョニングするために、新しいデプロイメント手順(「スタンドアロン・サーバー用の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データベースの管理対象のすべてのターゲットについてブラックアウト(メンテナンス操作によって監視データに偏りが発生したり、不要なアラートが生成されないように、データベース監視を一時停止する期間のこと)を定義し、メンテナンス実行中のアラートの発生を防止できます。ブラックアウトは、クラスタ・データベース全体について定義することも、クラスタ・データベースの特定のインスタンスについて定義することもできます。

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 RAC One Nodeデータベースの作成

- データベースの変換

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

Oracle RAC One Nodeデータベースの作成

他のOracle Databaseと同様、Database Configuration Assistant (DBCA)を使用すると、Oracle RAC One Nodeデータベースを作成できます(手動で作成されたスクリプトも有効な代替手段です)。Oracle RAC One Nodeデータベースは、単一インスタンスOracle Database (たとえば、rconfigを使用)またはOracle RACデータベースからの変換の結果になることもあります。通常、オラクル社提供のツールは、Oracle RAC One NodeデータベースをOracle Clusterwareに登録します。構成が原因で、Oracle RAC One NodeデータベースのOracle Clusterwareへの自動登録は行われなかった可能性があります。この場合は、この項の手順に従って、Oracle RAC One NodeデータベースをOracle Clusterwareに登録してください。

注意:

サーバー制御ユーティリティ(SRVCTL)を使用して、Oracle RAC One Nodeデータベースを管理することをお薦めします。SRVCTLを使用すると、特定の操作(オンライン・データベース再配置など)のみを実行できます。

Oracle RAC One NodeデータベースがOracle Clusterwareに自動的に登録されなかった場合は、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オプションを使用します。

関連項目:

- 使用方法については、「srvctl add database」を参照してください

- Oracle RAC One Nodeデータベースの追加の詳細は、「対話モードでのDBCAによるターゲット・ノードへのデータベース・インスタンスの追加」を参照してください

Oracle RAC One Nodeデータベースの場合、少なくとも1つの動的データベース・サービスを構成する必要があります(デフォルトのデータベース・サービスに加えて、かつ、これと反対に)。管理者管理Oracle RAC One Nodeデータベースを使用する場合は、他のOracle RACデータベースと同様、サービスの登録が実行されます。サービスをポリシー管理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へのデータベースの変換

Oracle RACデータベースをOracle RAC One Nodeデータベースに変換する前に、Oracle RACデータベースのインスタンスが1つのみであることを確認する必要があります。Oracle RACデータベースが管理者管理であり、かつ複数のインスタンスがある場合は、srvctl remove instanceコマンドを使用して、1つを除くすべてのインスタンスを削除する必要があります。Oracle RACデータベースがポリシー管理であり、かつ複数のインスタンスがある場合は、srvctl stop instanceコマンドを使用して、1つを除くすべてのインスタンスを停止する必要があります。

Oracle RACデータベースが管理者管理である場合は、すべてのサービスの構成を変更して、変換後でもOracle RAC One Nodeデータベースであるようなインスタンスに優先インスタンスを設定する必要があります。サービスにPRECONNECT TAFポリシーがある場合は、変換プロセスを開始する前に、そのTAFポリシーをBASICまたはNONEに更新する必要があります。これらのサービスでは、使用可能インスタンスが不要になります。

Oracle RACデータベースがポリシー管理である場合は、すべてのサービスの構成を変更して、Oracle RACデータベースをOracle RAC One Nodeデータベースに変換する前に、すべてのサービスで同じサーバー・プールが使用されるようにしておく必要があります。

次のように、srvctl convert databaseコマンドを使用して、インスタンスが1つのOracle RACデータベースをOracle RAC One Nodeデータベースに変換できます。

srvctl convert database -db db_unique_name -dbtype RACONENODE
[-instance instance_name -timeout timeout]
-w timeout]

関連項目:

- このコマンドの詳細は、「srvctl remove instance」を参照してください

- このコマンドの詳細は、「srvctl stop instance」を参照してください

- このコマンドの詳細は、「srvctl convert database」を参照してください

注意:

Oracle RAC One Nodeに変換するOracle RACデータベースでは、Oracle Managed Filesを使用しているか(自動スレッド割当てを有効にするため)、または2つ以上のREDOスレッドを保持している必要があります。

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

Oracle RAC One Nodeデータベース所有者としてログインして、次のSRVCTLコマンドを入力すると、Oracle RAC One NodeデータベースをOracle RACデータベースに変換できます。

srvctl convert database -db db_unique_name -dbtype RAC

オンライン・データベース再配置を使用してOracle RACに変換するデータベースを再配置している場合、またはオンライン・データベース再配置が失敗した場合は、srvctl convert databaseコマンドを実行する前に、再配置を終了するか、完了させる必要があります。

このコマンドを実行した後に、データベース・サーバー・プールの他に、各データベース・サービスのサーバー・プールを作成する必要があります。このデータベース・サービスが使用するサーバー・プールのSERVER_NAMESの値に、Oracle RAC One NodeからOracle RACノードに変換したノードが設定されている必要があります。CRSCTLユーティリティまたはOracle Enterprise Managerを使用すると、サーバー・プールを作成して構成できます。

管理者管理Oracle RAC One NodeデータベースをOracle RACデータベースに変換すると、シングル・インスタンス・データベースがデータベース・サービスの優先インスタンスになるようにすべてのデータベース・サービスが構成されます。データベースを変換した後は、srvctl add instanceコマンドを実行してインスタンスをデータベースに追加できます。

ポリシー型管理のOracle RAC One NodeデータベースをOracle RACデータベースに変換すると、すべてのデータベース・サービスのカーディナリティがUNIFORMに設定されます。また、このデータベースが現在実行されているサーバー・プールが再利用されることになります。変換では、このデータベースがサーバー・プール内のすべてのノードで実行されるように再構成されます。このコマンドでは、追加のインスタンスは起動されませんが、srvctl start databaseコマンドを実行すると、サーバー・プール内のすべてノードでこのデータベースが起動します。

関連項目:

このコマンドの詳細は、「srvctl convert database」を参照してください

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

オンライン・データベース再配置機能を使用して、サービスの可用性を維持したまま、Oracle RAC One Nodeデータベースを別のノードに再配置できます。データベースの新規ノードへの再配置中に、データベース・セッションを継続できるように、計画的なオンライン・データベース再配置中にのみOracle RAC One Nodeデータベースの第2インスタンスが作成されます。Oracle RAC One Nodeデータベースではオンライン・データベース再配置のみを使用できますが、管理スタイルにかかわらず(管理者管理またはポリシー管理)、Oracle RACデータベースではオンライン・データベース再配置は使用できません。

srvctl relocate databaseコマンドを使用して、再配置されるデータベースの開始およびサービスの移行後、データベースの以前のインスタンスが停止するまでの時間を構成できます。この構成時間は、操作全体にかかる時間の上限ではなく、再配置されるデータベースが以前のインスタンスから新しいインスタンスに接続が移行するのを待機した後、以前のインスタンスが停止するまでの時間を制御するだけです。

オンライン・データベース再配置は、次のように行われます。

1. 新しいデータベース・インスタンスを別の場所で開始します。

2. 再配置するインスタンスにすべてのサービスを移動します。

3. 再配置するインスタンスにすべての接続が移行するまで待機します。

4. 以前のデータベース・インスタンスを停止し、再配置するインスタンスに残りのすべての接続を強制移動します。

オンライン再配置のタイムアウトは、手順3を実行するために構成する時間です。

Oracle RAC One Nodeデータベースが管理者管理の場合、データベース・インスタンスを再配置する先のターゲット・ノードは、再配置を開始するときの空きサーバー・プールの一部である必要があります。空きサーバー・プールに予備のターゲット・ノードがある場合、このノードは、Oracle RAC One Nodeデータベースの候補リストに追加されます。

注意:

- データベースの候補サーバー・リストに現在存在していないターゲット・ノードにデータベース・インスタンスを再配置する場合は、Oracle ASMに格納されている共有パスワード・ファイルを使用しないかぎり、パスワード・ファイル(構成されている場合)をターゲット・ノードにコピーする必要があります。
共有パスワード・ファイルを使用せずにOracle RAC One Nodeデータベースのリモート管理に対してパスワード・ファイルベースの認証を使用する場合、データベースを実行できるノードごとに、SID_prefix_1およびSID_prefix_2という名前の2つのパスワード・ファイルが必要です。パスワード・ファイルを更新するたびに、これらの両方のファイルをすべての候補ノードに再コピーする必要があります。これは、ポリシー管理型と管理者管理型の両方のデータベースに当てはまります。

Oracle Clusterwareを使用してデータベースの起動および停止を行うこと、および他の管理用にデータ・ディクショナリにユーザーを定義することをお薦めします。

- データベース・インスタンスを再配置する前に、データベース・サービス・ユーザーがウォレットに追加されていることを確認する必要があります。crsctl query wallet -type OSUSER -allを実行して、データベース・サービス・ユーザーがウォレットに存在するかどうかを確認します。存在しない場合、crsctl add wallet -type OSUSER -user user_name -passwdを実行して、データベース・サービス・ユーザーをウォレットに追加します。

関連項目:

srvctl relocate databaseコマンドを使用して、Oracle RAC One Nodeデータベースの再配置を実行します。次に例を示します。

srvctl relocate database -d rac1 -n node7

関連項目:

- Oracle ASMでの共有パスワード・ファイルの作成の詳細は、『Oracle Database管理者ガイド』を参照してください。

- このコマンドの詳細は、「srvctl relocate database」を参照してください

5 動的データベース・サービスによるワークロード管理

この章では、Oracle Real Application Clusters(Oracle RAC)のワークロードを管理して、アプリケーションで高可用性および高いスケーラビリティを実現する方法について説明します。この章の内容は次のとおりです。

- Oracleサービスの使用方法

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

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

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

- クライアント・フェイルオーバーを向上させるためのトランザクション・ガード

- アプリケーション・コンティニュイティ: 停止をマスクするための自動リプレイ

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

- Oracle RACのクライアントの有効化

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

- サービスの管理

- グローバル・サービス

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

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

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

Oracleサービスの使用方法

ワークロードまたはアプリケーションのグループを管理するために、特定のアプリケーションまたはアプリケーションの一部の操作に割り当てるサービスを定義できます。また、作業の種類ごとにサービスとしてグループ化することもできます。たとえば、オンライン・ユーザーはあるサービスを使用し、バッチ処理は別のサービスを使用し、レポートはまた別のサービスを使用してデータベースに接続することができます。

1つのサービスを共有するすべてのユーザーで、サービス・レベルの要件を同じにすることをお薦めします。サービスには個別の特性を定義できるため、各サービスはそれぞれ別々の作業単位にできます。サービスの使用時には、多数のオプションを使用できます。これらのオプションを実装する必要はありませんが、それらを使用すると、アプリケーションのパフォーマンスが最適化できます。

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

この項では、次のサービスのデプロイメントについて説明します。

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

- サービスの特性

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

- 制限されたサービス登録

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

サービスによって、位置の透過性がもたらされます。サービス名は複数のデータベース・インスタンスを識別することができ、インスタンスは複数のサービスに属することができます。複数のデータベース機能で、Oracle RACデータベース用のサービスを使用します。

この項には次のトピックが含まれます:

- サービスのOracle Clusterwareリソース

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

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

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

- Oracle StreamsおよびOracle RAC

サービスのOracle Clusterwareリソース

サービスを定義すると、リソース・プロファイルは自動的に作成されます。リソース・ファイルには、Oracle Clusterwareによるサービスの管理方法と、PREFERREDインスタンスが停止した場合にサービスがフェイルオーバーされるインスタンスが定義されています。また、リソース・プロファイルでは、インスタンスおよびデータベースに対するサービスの依存性も定義します。この依存性の情報によって、データベースが停止した場合に、インスタンスおよびサービスが自動的に正しい順序で停止されます。

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

サービスはOracle Resource Managerと統合されており、リソース・マネージャでは、サービスを使用してインスタンスに接続するユーザーが使用するリソースを制限できます。Oracle Resource Managerでは、コンシューマ・グループをサービスにマッピングできるため、そのサービスを使用してインスタンスに接続しているユーザーは、指定されたコンシューマ・グループのメンバーになります。Oracle Resource Managerは、インスタンス・レベルで動作します。

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 RAC環境で構成されている場合、各キュー表には所有するインスタンスがあります。キュー表をホストするインスタンスに障害が発生しても、Oracle RACデータベースの別のインスタンスがキュー表の所有インスタンスになるため、Oracle Streamsは継続して稼働できます。

また、Oracle RACデータベースでは、バッファ・キューごとにサービスが作成されます。インスタンスの起動や停止などのために所有権が切り替わる場合、このサービスは常に、宛先キューの所有者インスタンスで実行され、このキューの所有権に従います。このサービスは、キューからキューへの伝播で使用されます。

関連項目:

詳細は、『Oracle Streams概要および管理』を参照してください。

サービスの特性

データベースに新しいサービスを作成した場合は、サービスごとに自動ワークロード管理の特性を定義する必要があります。サービスの特性には、次のものが含まれます。

- サービス名

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

- サービス管理ポリシー

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

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

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

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

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

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

- TAFによるOCIクライアントのフェイルオーバー

関連項目:

- 詳細は、「SRVCTLを使用したサービスの作成」を参照してください

- SRVCTLを使用してサービスを作成または変更する方法や、様々なオプションの詳細は、「SRVCTLのコマンド・リファレンス」を参照してください

サービス名

各サービスにはサービス名があります。クライアントは、サービス名を使用して1つ以上のインスタンスに接続します。サービス名は、システム全体で一意である必要があります。

サービス・エディション

データベース・オブジェクトのエディションベースの再定義を使用すると、アプリケーションのオブジェクトが使用中であってもそれらのオブジェクトをアップグレードできます。データベース・サービスの作成時にそのエディション属性を設定したり、既存のサービスを変更してエディションを設定できます。サービス・エディションを設定すると、そのサービスを使用する接続は、このエディションを初期セッション・エディションとして使用します。サービスでエディション名が指定されていない場合、初期セッション・エディションはデータベースのデフォルト・エディションです。

次のように、SRVCTLを使用してサービス・エディションを設定できます。

$ srvctl modify service –db hr –s crmsrv –edition e2

サービス管理ポリシー

Oracle Clusterwareを使用してデータベースを管理する場合、-policyパラメータを指定して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で、1つのサービスに複数のロールを指定できます。

注意:

サービス・ロールのみがサービスの自動開始を制御します。手動で開始するSRVCTLを使用することで、ロールが一致しない場合でもサービスは正常に実行されます。

クラスタ内の複数のデータベースが同じサービス名を提供すると、Oracle RACは、該当するすべてのデータベースにわたってそのサービスへの接続を均等に分散します。これはOracle Data Guardのスタンバイ・データベースおよびアクティブ・データベースに役に立ちますが、サービスへのクライアント接続を特定のデータベースに割り当てる必要がある場合、サービス名はクラスタ内で一意である(他のデータベースによって提供されない)必要があります。

関連項目:

データベース・ロールの詳細は、『Oracle Data Guard概要および管理』を参照してください。

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

管理者管理データベースに対してサービスを定義する場合は、SRVCTLに-preferredパラメータを使用して、そのサービスを通常サポートするインスタンスを定義します。このようなインスタンスを、優先インスタンスといいます。サービスの優先インスタンスが失敗した場合に備えて、-availableパラメータを指定してSRVCTLを使用し、サービスをサポートするその他のインスタンスを定義することもできます。このようなインスタンスを、使用可能インスタンスといいます。

優先インスタンスを指定する場合は、サービスが通常実行されるインスタンスの数を指定します。これは、サービスの最大カーディナリティです。Oracle Clusterwareは、サービスを構成したインスタンス数で常にサービスが実行されることを確認しようとします。その後は、インスタンス障害またはサービスの計画的な再配置のために、使用可能インスタンスでサービスが実行される場合があります。

インスタンスが失敗した場合、リストに複数のインスタンスがあると、Oracle Clusterwareによってサービスがどの使用可能インスタンスに再配置されるかは制御できません。ただし、計画済操作時は、サービスを現在提供していない、優先リストまたは使用可能リスト内のインスタンスにサービスを手動で転送できます。

Oracle Databaseでは、使用可能インスタンスに移動されたサービスは、優先インスタンスを再起動しても、優先インスタンスには戻りません。これには、次の理由があります。

- サービスが、指定した数のインスタンスで実行されている。

- 現在のインスタンスでサービスを維持することによって、より高度なサービス可用性が提供される。

- サービスを最初の優先インスタンスに戻さないことで、2回目の機能停止が回避される。

ただし、FANコールアウトを使用して、優先インスタンスへのフェイルバックを簡単に自動化することもできます。

関連項目:

ポリシー管理データベースおよび管理者管理データベースの詳細は、「Oracle RACの管理ツール」を参照してください

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

ポリシー管理データベースのサービスを定義する場合、-serverpoolパラメータを指定したSRVCTLを使用して、データベースがホストされているサーバー・プールにサービスを割り当てます。サービスは、-cardinalityパラメータを使用して、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 for Java、OCIセッション・プール、ODP.NETおよびOracle WebLogic Server Active GridLink for Oracle RACクライアントは、ロード・バランシング・アドバイザリ・イベントを利用するために自動的に統合されます。ロード・バランシング・アドバイザは、サービスに対してインスタンスで提供されている現在のサービス・レベルをクライアントに通知します。ロード・バランシング・アドバイザを有効にするには、サービスを作成または変更するときに、SRVCTLに-rlbgoalパラメータを使用します。

また、そのインスタンスに送るワークロードの推奨量を提示します。最適なサービス品質(単一のトランザクションが完了した効率)または最適なスループット(完了ジョブまたは長時間の問合せが完了した効率)のどちらに基づいてサービスに接続するかは、目標によって決定されます。

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

Oracle Net Servicesでは、接続ロード・バランシングにより、サービスをサポートしているすべてのインスタンスにユーザー接続を分散できます。各サービスに対して、-clbgoalパラメータを指定したSRVCTLを使用して、接続時ロード・バランシングの目標を設定し、リスナーにロード・バランシングを使用させる方法を定義できます。接続は、リスナーにセッション数を使用するように指定するLONG (接続プールやSQL*FORMSなど)、またはリスナーに応答時間やスループットの統計を使用するように指定するSHORTに分類されます。ロード・バランシング・アドバイザが有効な場合、この情報を使用して接続が均等に分散されますが、そうでない場合は、CPU使用率を使用して接続が均等に分散されます。

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

Oracle XAアプリケーションには固有の要件があります。グローバル・トランザクションでOracle RACを使用しやすくするには、サービスに対して、分散トランザクション処理オプション(-dtp)をTRUEに設定してSRVCTLを使用し、分散トランザクション処理のすべての密結合ブランチが同一インスタンス上で実行されるようにします。これは、同じOracle XAブランチを一時停止および再開する場合のみの要件ですが、個別の複数のブランチが同じインスタンスを使用する場合はパフォーマンスが向上する可能性があります。

関連項目:

Oracle RACでの分散トランザクション処理の詳細は、「Oracle RACの分散トランザクション処理」を参照してください

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

Oracle RAC Databaseには、DB_UNIQUE_NAMEが設定されている場合はこれにより識別され、設定されていない場合はDB_NAMEまたはPDB_NAMEで識別されるOracle Databaseサービスが含まれます。このデフォルトのサービスは、Oracle RAC環境のすべてのインスタンスで常に使用可能です(制限モードのインスタンスを除く)。このサービスまたはサービスのプロパティは、変更できません。また、データベースでは、次の2つの内部サービスがサポートされています。

- SYS$BACKGROUND(バックグラウンド・プロセスのみで使用されるサービス)

- SYS$USERS(どのアプリケーション・サービスとも関連付けられていないユーザー・セッションのデフォルト・サービス)

これらのサービスはすべて、内部管理に使用されます。計画済停止やOracle Data Guardへのフェイルオーバーを実行するためにこれらの内部サービスを停止したり無効にすることはできません。これらのサービスをクライアント接続に使用しないでください。

注意:

明示的に管理できるのは、自分が作成するサービスにかぎられます。データベースの機能によって内部サービスが作成される場合、そのサービスはこの章の情報を使用して管理できません。

制限されたサービス登録

セキュリティはすべての企業で高い優先度を持ち、ネットワーク・セキュリティおよびデータベースへのアクセスの制御は、セキュリティ確保全体における不可欠な要素です。この機能により、デフォルトでローカルIPアドレスからのリスナー登録のみが許可され、登録要求がリスナーにより許可される一連のIPアドレスまたはサブネットを構成および動的に更新する機能が提供されます。リスナーへのデータベース・インスタンスの登録は、要求元が有効なノードである場合にのみ成功します。ネットワーク管理者は、有効なノードおよび除外ノードのリストを指定したり、有効なノードの確認を無効にすることができます。有効なノードのリストでは、データベースに登録できるノードやサブネットを明示的にリストします。除外ノードのリストでは、データベースに登録できないノードを明示的にリストします。動的登録を制御することによって、Oracle RACデプロイメントの管理性およびセキュリティが向上します。

登録のための有効なノードの確認(VNCR)はデフォルトで有効になっています。デフォルトの構成では、登録リクエストはクラスタ内のノードからのみ可能です。登録リクエストはプライベート・サブネットにリダイレクトされ、クラスタ内のノードのみがプライベート・サブネットにアクセスできるためです。非SCANリスナーでは、ローカル・ノード上のインスタンスからの登録のみが受け入れられます。registration_invited_nodes_aliasパラメータをlistener.oraファイルで使用するか、次のようにSRVCTLを使用してSCANリスナーを変更することによって、リモート・ノード、または有効なノードのリスト上のSCANリスナーのサブネット外のノードを手動で含める必要があります。

$ srvctl modify scan_listener -invitednodes node_list -invitedsubnets subnet_list

関連項目:

Oracle Database Net Services管理者ガイド

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

Oracle Net Servicesでは、Oracle RAC構成内のインスタンス間でクライアント接続を分散する機能を使用できます。実装可能なロード・バランシングには、クライアント側とサーバー側の2種類のロード・バランシングがあります。クライアント側のロード・バランシングでは、接続要求は各クライアントから独立してリスナーをまたいで分散されます。サーバー側のロード・バランシングの場合、SCANリスナーはサービスの-clbgoalおよび-rlbgoal設定に基づいて、現在サービスを提供している最適なインスタンスに接続要求を送ります。

Oracle RACデータベースのクライアント接続では、両方のタイプの接続ロード・バランシングを使用する必要があります。

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

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

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

- 古いクライアント用のクライアント側の接続構成

関連項目:

両方のタイプのロード・バランシングの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください

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

DBCAを使用してOracle RACデータベースを作成すると、次の処理が自動的に実行されます。

- サーバー側のロード・バランシングの構成および有効化

- サーバー上のtnsnames.oraファイルにおけるクライアント側のロード・バランシング接続定義のサンプルの作成

Oracle Clusterwareデータベース・エージェントの役割は、LISTENER_NETWORKSパラメータの管理です。

注意:

注意: REMOTE_LISTENERパラメータを手動で設定している場合は、このパラメータをscan_name:scan_portに設定します。

FAN、高速接続フェイルオーバーおよびロード・バランシング・アドバイザは、正確な接続時ロード・バランシング構成(サービスに対する接続時ロード・バランシングの目標の設定など)に基づいて処理を実行します。接続時ロード・バランシングでは、LONGまたはSHORTのいずれかの目標を使用できます。これらの目標の特性は次のとおりです。

- SHORT: SHORT接続時ロード・バランシング方式は、ランタイム・ロード・バランシングを使用するアプリケーションに使用します。ロード・バランシング・アドバイザに統合されている接続プールを使用する場合は、CLB_GOALをSHORTに設定します。次の例では、SRVCTLを使用して、サービスoltpappを変更し、接続時ロード・バランシングの目標にSHORTを設定しています。

$ srvctl modify service -db db_unique_name -service oltpapp -clbgoal SHORT

- LONG: LONG接続時ロード・バランシング方式は、ランタイム・ロード・バランシングが必要でない場合に使用します。このことは、バッチ操作の場合に一般的です。LONGは、デフォルトの接続時ロード・バランシングの目標です。次の例では、SRVCTLを使用してサービスbatchconnを変更し、長時間セッション用の接続時ロード・バランシングの目標を定義しています。

$ srvctl modify service -db db_unique_name -service batchconn -clbgoal LONG

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

Oracle Net Servicesを使用すると、CONNECT_TIMEOUT、RETRY_COUNTおよびTRANSPORT_CONNECT_TIMEOUTパラメータをtnsnames.ora接続文字列に追加できます。

たとえば、SCANアドレスをデータベースのリモート・リスナーに使用する場合は次のようになります。

jdbc:oracle:thin:@(DESCRIPTION =(TRANSPORT_CONNECT_TIMEOUT=3)(CONNECT_TIMEOUT=60)(RETRY_COUNT=3)(FAILOVER=ON)(ADDRESS_LIST =(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-SCANVIP.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=GOLD)))Remote_listeners=CLOUD-SCANVIP.example.com:1521

たとえば、データベースのVIPを指すリモート・リスナーを使用する場合は次のようになります。

jdbc:oracle:thin:@(DESCRIPTION =
(TRANSPORT_CONNECT_TIMEOUT=3)
(CONNECT_TIMEOUT=60)(RETRY_COUNT=3)(FAILOVER=ON)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-VIP1)(PORT=1521) )
(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-VIP2)(PORT=1521) )
(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-VIP3)(PORT=1521) ))
(CONNECT_DATA=(SERVICE_NAME=GOLD)))

これらのパラメータの値を表す単位は秒です。前述の例では、Oracle Netは各完全接続が応答を受信するのを60秒待機した後、障害が発生したと想定して、ADDRESS_LISTの次のリストを再試行します。Oracle Netは、アドレス・リストを3回試行すると、クライアントに失敗メッセージを返します。TRANSPORT_CONNECT_TIMEOUTパラメータは、データベース・サーバーへのTCP接続の確立を待機する時間を設定します。

SCANの場合、クライアントに失敗を返す前に、(SCANにより返される) 3つのアドレスすべてがOracle Net Servicesによって試行されます。EZConnectとSCANを併用した場合、この接続のフェイルオーバー機能が使用できます。

この動作は、Oracle Net接続フェイルオーバーと呼ばれます。リスト内の選択されたアドレスからエラーが戻されると、Oracle Net Servicesによってリストの次のアドレスが試行され、接続が成功するか、またはリスト内に試行するアドレスがなくなるまで続けられます。

古いクライアント用のクライアント側の接続構成

クライアント側のロード・バランシングに加えて、Oracle Net Servicesには接続フェイルオーバーが含まれています。リスト内の選択されたアドレスからエラーが戻されると、Oracle Net Servicesによってリストの次のアドレスが試行され、接続が成功するか、またはリスト内に試行するアドレスがなくなるまで続けられます。SCANの場合、クライアントに失敗を返す前に、Oracle Net Servicesによって3つのアドレスすべてが試行されます。EZConnectとSCANを併用した場合、この接続のフェイルオーバー機能が使用できます。

可用性を高めるために、Oracle Netがエラーを戻すまでにリスナーからの応答を待機する時間のタイムアウトを指定できます。このタイムアウト・パラメータを設定する方法は、クライアント・アクセスのタイプによって異なります。Oracle Netは、下位互換性のためにこれらのパラメータを維持します。

この項には次のトピックが含まれます:

- JDBC-Thinクライアント

- OCIクライアント

JDBC-Thinクライアント

次のように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に短縮できます。

OCIクライアント

OCIクライアントには、クライアント側でローカルのsqlnet.oraファイルを作成します。次の行を追加してこのファイルに接続タイムアウトを構成します。

sqlnet.outbound_connect_timeout = 1

OCIクライアントのタイムアウト値の粒度は秒単位です。sqlnet.oraファイルは、このクライアントを使用するすべての接続に適用されます。

注意:

サーバーのsqlnet.oraファイルには接続タイムアウトを構成しないでください。

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

クライアント側のロード・バランシングは、パラメータLOAD_BALANCE=ONを設定して、クライアントの接続定義(tnsnames.oraファイルなど)に定義します。このパラメータをONに設定した場合は、Oracle Databaseによってアドレス・リストから無作為にアドレスが選択されて、そのノードのリスナーに接続されます。これによって、クラスタ内で使用可能なSCANリスナー間で、クライアント接続が均等に分散されます。

接続要求用にSCANを構成した場合、クライアント側ロード・バランシングは、SCANアクセスをサポートするクライアントには関係しません。クライアントがSCANを使用して接続する場合、EZConnectを使用していないかぎり、Oracle NetはSCANに対して定義された3つのIPアドレスの間でクライアント接続要求の負荷を自動的に均等に分散します。

SCANリスナーは、(-clbgoalがSHORTに設定されている場合は)最もロードされていないインスタンスのローカル・リスナーに接続要求をリダイレクトし、要求されたサービスを提供します。接続要求を受信したリスナーは、要求されたサービスを提供するとリスナーが認識しているインスタンスにユーザーを接続します。リスナーがサポートしているサービスを確認するには、lsnrctl servicesコマンドを実行します。

クライアントがSCANを使用して接続する場合、Oracle NetはSCANに対して定義された3つのIPアドレスの間でクライアント接続要求のロード・バランシングを自動的に行います。ただし、EZConnectを使用している場合は行いません。

SCANをサポートしていないクライアントを使用している場合(クライアント・バージョンがOracle Database 11gリリース2 (11.2)よりも前の場合など)、SCANを使用するには、SCAN VIPを含めるようにクライアントtnsnames.oraを変更し、LOAD_BALANCE=ONを設定してVIP間の要求を均等に分散するようにする必要があります。例:

Sales.example.com=(DESCRIPTION=
(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=172.22.67.192)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=172.22.67.193)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=172.22.67.194)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=salesservice.example.com))
))

注意:

データベースがOracle Database 11gリリース2 (11.2)以上で、SCANを使用する場合は、SCAN VIPをREMOTE_LISTENERパラメータに追加して、適切なリスナー・クロス登録を有効にします。

関連項目:

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

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

この項では、FANの詳細を説明します。内容は次のとおりです。

- サービスとFANにおけるアプリケーションの高可用性

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

- 計画外の障害の管理

- 計画停止の管理

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

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

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

関連項目:

FANで使用可能な特定のクライアント環境の詳細は、「Oracle RACのクライアントの有効化」を参照してください

サービスとFANにおけるアプリケーションの高可用性

Oracle Databaseでは、最も高いサービス可用性の保持に焦点を当てています。Oracle RACのサービスは、1つ以上のインスタンス間で負荷を共有しながら、継続的に使用できるように設計されています。Oracle RACの高可用性フレームワークでは、Oracle Clusterwareおよびリソース・プロファイルを使用して、サービスの可用性を維持します。

Oracle RACの高可用性フレームワークは、データベースおよびデータベースのサービスを監視し、FANを使用してイベント通知を送信します。Oracle Clusterwareは、ビジネス・ルールとサービス属性に従って、サービスをリカバリするか、サービスを均等に分散します。

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

FANは、UPまたはDOWNイベントなどのサービス・ステータスの変更を含む、構成およびサービス・レベルの情報を他のプロセスに通知するためにOracle RACが使用する高可用性通知メカニズムです。Oracleクライアント・ドライバおよびOracle接続プールは、FANイベントに応答し、ただちに処理します。FANのUPイベントおよびDOWNイベントは、インスタンス、サービスおよびノードに適用できます。

たとえば、Oracle接続プールでは、FANを使用して、失敗の検出を非常に迅速に受信し、失敗後の接続を均等に分散し、失敗したコンポーネントの修復後に接続を再度均等に分散します。そのため、インスタンスのサービスが起動されると、そのリソースに作業をルーティングするためにFANイベントが即時に使用されます。インスタンスまたはモードのサービスが失敗すると、リカバリするアプリケーションを中断するために、FANイベントが即時に使用されます。

FANの重要性

アプリケーションは、次のような重要な局面で時間を浪費する可能性があります。

- ソケットをクローズしないでノードが失敗した場合のTCP/IPタイムアウトの待機、およびそのIPアドレスが停止している間の後続のすべての接続の待機。

- サービスが停止した場合の接続の試行。

- サービス再開時に接続しない。

- サーバーが停止したときのクライアントでの最後の結果の処理。

- 最適でないノードで作業を実行しようとする。

ソケットをクローズしないでノードが失敗した場合、I/O待機(読取りまたは書込み)でブロックされたすべてのセッションはtcp_keepaliveを待機します。この待機ステータスは、ソケットで接続されているアプリケーションの場合の典型的な状況です。最後の結果を処理するセッションの状況はさらに悪く、次のデータが要求されるまで割り込みを受信しません。FANイベントを使用すると、TCPタイムアウトを待機しているアプリケーション、障害の発生後にクライアントで最後の結果を処理するという時間の浪費、および低速なノード、停止したノードまたは使用不能なノードで作業を実行するという無駄な時間が排除されます。

クラスタの構成が変更されて、クラスタ内で状態の変更が発生した場合、Oracle RACの高可用性フレームワークは、ただちにFANイベントを発行します。アプリケーションは、データベースに対するタイムアウトおよび問題の検出を待たずに、FANイベントを受信して即時に対応できます。FANを使用すると、インフライト・トランザクションがただちに終了し、インスタンスの失敗時にクライアントに通知されます。

また、FANは、ロード・バランシング・アドバイザ・イベントも発行します。アプリケーションでFANのロード・バランシング・アドバイザ・イベントを使用して、現在、クラスタ内で最適なサービス品質を提供しているインスタンスに作業要求を割り当てることができます。

FANイベントは、次の3つの方法で使用できます。

1. Oracle統合クライアントを使用すると、プログラムを変更せずにアプリケーションでFANを使用できます。FANイベント用の統合クライアントには、Oracle JDBC Universal Connection Pool、ODP.NET接続プール、OCIセッション・プール、Oracle WebLogic Server Active Gridlink for Oracle RAC、OCIおよびODP.NETクライアントがあります。これには、アプリケーション・コンティニュイティまたはトランザクション・ガードを使用するアプリケーションが含まれます。FANの高可用性イベントを活用するには、統合OracleクライアントがOracle Database 10gリリース2 (10.2)以上である必要があります。プール・クライアントは、ロード・バランシング・アドバイザFANイベントを活用することもできます。

2. JDBCおよびOracle RAC FANアプリケーション・プログラミング・インタフェース(API)を使用するか、OCIおよびODP.NETとともにコールバックを使用してFANイベントをサブスクライブし、イベントの受信時にイベント処理アクションを実行することによって、アプリケーションはFANをプログラムで使用できます。

3. サーバー側のコールアウトを使用して、データベース層にFANを実装できます。

前述のリストの項目1でリストされている統合クライアントのいずれかを使用すると、DOWNイベントでは、FAN対応クライアントが失敗したインスタンスまたはノードのセッションをそれらが再使用される前に終了するため、アプリケーション停止が最小限になります。未完了のトランザクションは終了され、ただちにアプリケーションのユーザーに通知されます。接続を要求しているアプリケーション・ユーザーは、使用可能インスタンスにのみ割り当てられます。

UPイベントでは、サービスおよびインスタンスが起動されている場合、アプリケーションが追加のハードウェア・リソースまたは追加容量を即時に利用できるように、新しい接続が作成されます。

FANコールアウトは、サーバー側スクリプトであるか、またはFANイベントが生成されると必ず実行される実行可能ファイルです。様々なことを行うためのコールアウトを設計および構築できます。次に例を示します。

- ステータス情報を記録します

- リソースの起動に失敗した場合に、DBAへの通知またはサポート・チケットの発行を行います。

- サービスと同じ場所に配置する必要がある外部依存アプリケーションの自動的な起動

- ノードの障害などによって、ポリシー管理データベースに使用できるインスタンスの数が減少した場合、リソース・プランを変更するか、またはサービスを停止します。

- 必要に応じて、サービスを管理者管理データベースの優先インスタンスに自動的にフェイルバックします。

FANイベントは、Oracle Notification ServiceとOracle Streamsアドバンスト・キューイングを使用して発行され、後者はOracle Databaseの前のリリースとの下位互換性のために続行されます。発行メカニズムは、Oracle RACのインストール時に自動的に構成されます。

Oracle Net Servicesリスナーおよびグローバル・データ・サービス(GDS)は、FANイベントと統合されていることによって、リスナーおよびGDSは、障害が発生したインスタンスによって提供されているサービスを即座に登録解除でき、また、障害が発生したインスタンスに対する誤った接続リクエストの送信を回避できます。

サービスの接続時ロード・バランシングの目標にCLB_GOAL_SHORTを指定している場合、リスナーは、接続時ロードを均等に分散する際に、ロード・バランシング・アドバイザを使用します。ロード・バランシング・アドバイザが使用可能であった場合、リスナーで使用されるメトリックはさらに詳細に制御できます。

計画外の障害の管理

サービスは、管理者管理のOracle RACデータベースの1つ以上のインスタンスに割り当てるか、またはポリシー管理データベースのサーバー・プールに割り当てることができます。Oracle RACで障害が検出されると、Oracle Clusterwareは、障害が発生したコンポーネントを隔離して、依存するコンポーネントをリカバリします。サービスの場合、障害が発生したコンポーネントがインスタンスであった場合、Oracle Clusterwareはサービスのカーディナリティを維持しようとします。サービス定義によりフェイルオーバーが許可され、カーディナリティを維持するためにフェイルオーバーが必要な場合は、フェイルオーバーが発生します。

FANイベントはOracle Databaseアーキテクチャ内の様々なレベルで発生し、前のOCIクライアントとの下位互換性のためにOracle Notification ServiceおよびOracle Streamsアドバンスト・キューイングを使用して発行されます。FANコールアウトは、FANイベントに応答してデータベース・サーバーで実行されるように記述することもできます。

注意:

Oracle RACのコールアウトの実行では、順序は保証されません。コールアウトは非同期で実行され、スケジュールは変動します。

障害ノードのサービスが停止すると、稼働を続けるノードからFANが発行されます。Oracle RAC環境内でサービスを提供するインスタンスの位置および数は、アプリケーションに対して透過的です。再起動およびリカバリは自動的に実行され、データベースのみでなく、リスナーやOracle Automatic Storage Management(Oracle ASM)プロセスなどのサブシステムも再起動されます。FANコールアウトを使用して、障害管理システムに障害を報告して、修復ジョブを起動できます。

計画停止の管理

1つ以上のインスタンスまたはノードを隔離する必要がある修復、アップグレードおよび変更のために、Oracle RACでは、アプリケーション・ユーザーに対するサービスの中断の影響を最小限に抑えて、サービスを再配置、無効化および有効化するインタフェースを使用できます。サービスを再配置する場合は、サービスが一時的に別のインスタンスで実行されるようにする必要があります。サービスを強制的に無効にすると、そのサービスはすべてのデータベース・インスタンスで停止され、使用できなくなります。無効化されたサービスは、自動的に再起動することはありません。サービスが停止または再配置された場合、計画済理由コード(通常はreason=user)でFANが発行されます。操作を完了したら、サービスを通常の操作に戻すか、またはサービスを有効にしてから、再起動することができます。サービスが再起動されると、FANはUPステータス・コードで発行されます。

データベースを手動で停止すると、依存性のために、そのデータベースのすべてのサービスも自動的に停止されます。データベースを手動で再起したときにサービスが自動的に起動するようにする場合は、サービスの管理ポリシーをautomaticに設定する必要があります。サービスではなく、データベースの1つのインスタンスのみを停止する場合は、-fパラメータを指定してsrvctl stop instanceコマンドを使用できます。このコマンドで-fパラメータを使用すると、そのインスタンスで実行されていたデータベース・サービスは、可能な場合は別のインスタンスにフェイルオーバーされます。

関連項目:

「サービス管理ポリシー」

ユーザー介入なしの計画済停止の管理

Oracleソフトウェアのアップグレード、パッチ適用、ハードウェアの置換えなど、様々な理由でデータベース・インスタンスを停止することが必要となる場合があります。この項の手順を使用すると、ユーザーへの影響が最小限になり、要求は中断されません。

計画済停止の場合の推奨される方法は、要求を制御期間にわたってFAN対応Oracle接続プールから排出することです。アプリケーション・コンティニュイティでは、割り当てられた時間内に完了しないこれらの要求に対してサービスを継続して提供します。

高速接続フェイルオーバーが構成されたFAN対応プール(OCIセッション・プール、Universal Connection Pool、Oracle WebLogic Server Active Gridlink for Oracle RAC、ODP.NETなど)を使用すると、FAN計画済DOWNイベントの受信後にリクエスト 境界でセッションを排出できます。リクエストによって発行済作業は完了できるため、リクエストはトランザクションよりもはるかに重要です。

ユーザーの介入なしで計画済停止を管理するには、次の手順を実行します。

1. SRVCTLを使用して、インスタンスからサービスを再配置するか、またはUNIFORMサービスを使用している場合はインスタンス上のサービスを停止します。これらのコマンドで-forceフラグは使用しないでください。接続プールにより、要求境界で接続が自動的に解放されます。

2. FAN計画済DOWNイベントにより、アイドル・セッションが接続プールからただちにクリアされ、次のチェックインで解放されるアクティブ・セッションがマークされます。これらのFANアクションにより、ユーザーの作業を妨げずにセッションがインスタンスから排出されます。
他のインスタンスの既存の接続は使用可能なままで、必要な場合はこれらのインスタンスに新しい接続をオープンできます。

3. どの場合でも、すべてのセッションが接続をプールにチェックインするわけではありません。インスタンスが強制的に停止され、残っているクライアント接続を削除するタイムアウト期間を設定するのが最適です。
アプリケーション・コンティニュイティ、Universal Connection PoolまたはOracle WebLogic Server Active Gridlink for Oracle RACを使用するように構成されたプールの場合、残っているセッションのリカバリを試行して、ユーザーおよびアプリケーションから停止をマスクします。

関連項目:

「アプリケーション・コンティニュイティ: 停止をマスクするための自動リプレイ」

4. アップグレード、パッチまたは修復が完了したら、元のノードでインスタンスとサービスを再起動します。

5. サービスのFAN UPイベントにより、新しいインスタンスが使用可能で、次の要求境界でこのインスタンス上にセッションを作成できることが接続プールに通知されます。

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

この項では、FANイベントでコールアウト・プログラムに配信される情報について説明します。表5-1にFANイベント・タイプ、表5-2にイベント・パラメータの名前/値のペアを示します。次の例に示すとおり、コールアウトを介してFAN情報を受信した場合、イベント・タイプは常に最初のエントリです。

SERVICEMEMBER VERSION=1.0
service=test.company.com database=ractest
instance=ractest11 host=ractest1_host0343_1 status=up reason=FAILURE
timestamp=2012-02-01 22:06:02 timezone=-07:00 db_domain=company.com

前述の例は1つの行として表示されていることに注意してください。

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

イベント・タイプ

注意

DATABASE,
INSTANCE, NODE,
SERVICE,
SERVICEMEMBER,
SRV_PRECONNECT,
SERVICEMETRICS

- DATABASEとINSTANCEタイプは、デフォルト・データベース・サービスをDB_UNIQUE_NAMEとしてリストします。

- NODEイベントを除くすべてのイベントにdb_domainフィールドが含まれています。

- SERVICEMETRICSタイプのイベントは、ロード・バランシング・アドバイザのイベントです。
関連項目: ロード・バランシング・イベントの詳細は、表5-4を参照してください。

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

パラメータ

説明

VERSION

イベント・レコードのバージョン。リリースの変更を識別するために使用されます。

database

サービスをサポートする一意のデータベース名。DB_UNIQUE_NAMEの初期化パラメータ値に該当し、これにより、DB_NAME初期化パラメータの値がデフォルトに設定されます。

instance

サービスをサポートしているインスタンスの名前であり、ORACLE_SIDの値と一致します。

host

サービスをサポートしているノードまたは停止したノードの名前であり、Cluster Synchronization Services(CSS)で認識されるノード名と一致します。

service

サービス名。DBA_SERVICESでリストされているサービスの名前に一致し、適宜修飾されたドメインです。次の例を参照してください。

SERVICEMEMBER VERSION=1.0 service=swingbench
database=orcl instance=orcl_2 host=rwsbj13 status=up
reason=USER card=1 timestamp=2012-05-29 17:26:37
timezone=-07:00 db_domain=

SERVICEMEMBER VERSION=1.0 service=swingbench.example.com
database=orcl instance=orcl1 host=rwsbj09 status=up
reason=USER card=2 timestamp=2012-07-03 17:29:28
timezone=-07:00 db_domain=example.com

SERVICEMEMBER VERSION=1.0 service=swingbench.example.com
database=orcl instance=orcl2 host=rwsbj10 status=up
reason=USER card=1 timestamp=2012-07-03 17:29:18
timezone=-07:00 db_domain=example.com

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の場合、ノードは起動していますが、パブリック・ネットワークが停止しているため、ノードは使用不可です。

- 複数のパブリック・ネットワークがOracle Clusterwareでサポートされています。FANイベントでは、この事実が反映されています。

reason

AUTOSTART、BOOT、DEPENDENCY、FAILURE、MEMBER_LEAVE、PUBLIC_NW_DOWN、USER。

注意:

- DATABASEおよびSERVICEイベント・タイプの場合のREASON=AUTOSTARTは、ノードの起動時に、AUTO_STARTリソース属性がリストアに設定されており、ノードの起動前にリソースがオフラインであったことを示します。

- DATABASEおよびSERVICEイベント・タイプの場合のREASON=BOOTは、ノードの起動時に、リソースがノードの起動前からオンラインであったためリソースが起動したことを示します。

- SRVCTLおよびOracle Enterprise Manager操作の場合、REASON=USERはそのような操作の計画済アクションを作業の排出として記述します。

cardinality

現在アクティブなサービス・メンバーの数。すべてのSERVICEMEMBER UPイベントに含まれます。

次は、SERVICEMEMBER UPイベントの例です。

SERVICEMEMBER VERSION=1.0 service=swingbench.example.com
database=orcl instance=orcl_2 host=mjkbj09 status=up
reason=USER card=1 timestamp=2012-07-12 14:46:46  timezone=-07:00 db_domain=example.com

incarnation

NODEDOWNイベント用の新しいクラスタ・インカネーション。この値は、メンバーがクラスタに参加したり、クラスタから離脱するたびに変更されます。

次に、NODEDOWNイベントの例を示します。

NODE VERSION=1.0 host=stru09 incarn=175615351 status=down
reason=member_leave timestamp=27-Jul-2010 14:49:32  timezone=-07:00

timestamp

Oracle Clusterwareに基づく、イベントが発生した時間。

timezone

GMT +/-hh:mmとして指定され、イベントが発生した、Oracle Clusterwareのタイム・ゾーン。

表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')

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

Oracle RACは、FANを使用して、構成の変更や、サービスで使用可能な各インスタンスが提供している現在のサービス・レベルをアプリケーションに通知します。OCIクライアントまたはODP.NETクライアントを使用してFANイベントを受信している場合は、SRVCTLに-notificationパラメータを使用して、そのクライアントが使用するサービスを有効にして、アラート通知キューにアクセスする必要があります。

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

FANコールアウトは、サーバー側の実行可能ファイルで、高可用性イベントが発生した際に、ただちにOracle RACで実行されます。FANコールアウトを使用すると、クラスタ構成でイベントが発生した場合に、次のようなアクティビティを自動的に実行できます。

- 障害追跡チケットのオープン

- ページャへのメッセージの送信

- 電子メールの送信

- サーバー側のアプリケーションの起動および停止

- 各イベントの発生とともにロギングすることによるアップタイム・ログのメンテナンス

- 優先度の高いサービスがオンラインになった場合の優先度の低いサービスの再配置

FANコールアウトを使用するには、Oracle Clusterwareを実行しているすべてのノードのGrid_home/racg/usrcoディレクトリに実行可能ファイルを配置します。実行可能ファイルは、別のプログラムからオプションの引数でコールされた場合、スタンドアロンで実行可能である必要があります。Grid_home/racg/usrco/callout.shコールアウトの例を次に示します。

#! /bin/bash
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=public_nw_down
timestamp=08-Oct-2012 04:02:14 timezone=-08:00 reported=Fri Oct 8 04:02:14 PDT 2012

表5-3に示すように、FANイベント・レコードの内容は、データベースにログオンしているユーザーの現行のセッションに該当します。また、OCI接続ハンドルと(OCIAttrGet()を使用した)記述子属性を使用すると、ユーザー環境(USERENV)情報も使用できます。この情報を使用すると、FANイベントのデータに該当するセッションでアクションを実行できます。

関連項目:

- コールアウトおよびイベントの詳細は、表5-2を参照してください

- 接続ハンドルと記述子属性の詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

通常、イベントはそれが発生したノード上のユーザー・コールアウトにポストされるだけです。たとえば、node1のデータベースが停止した場合、コールアウトはnode1のみにポストされます。唯一の例外は、ノード停止とVIP停止イベントで、これらのイベントは、発生した場所にかかわらず、すべてのノードにポストされます。

クライアント・フェイルオーバーを向上させるためのトランザクション・ガード

最後の送信がコミットされたこと、これからコミットされること、または実行が完了しなかったことを認識できないと、アプリケーションで問題となります。これは、再送信するユーザーや独自のリプレイを使用するアプリケーションが重複した要求を発行したり、データベースにすでにコミットされた変更内容が繰り返されたり、その他の形式の論理破損が発生する原因となる可能性があります。トランザクション・ガードを使用すると、この問題を解決できます。

この項には次のトピックが含まれます:

- トランザクション・ガードの概要

- トランザクション・ガードの構成チェックリスト

- トランザクション・ガードのサービスの構成

トランザクション・ガードの概要

停止後にアプリケーションをリカバリする際の根本的問題の1つが、クライアントに返送されたコミット・メッセージに継続性がないことです。クライアントとサーバー間に通信の遮断がある場合、クライアントは通信の失敗(リカバリ可能エラーとも呼ばれる)を示すエラー・メッセージを受信します。このエラーでは、送信によってコミット操作が実行されたかどうか、もしくは、プロシージャ・コールが予定されたすべてのコミットおよびセッション状態変更を行って完了まで実行されたか、一部の動作は失敗したか、またはクライアントから切断したまま現在も実行中というさらに悪い状態になっているかということがアプリケーションには知らされません。

トランザクション・ガードは、計画済停止と計画外停止および送信の繰返しの場合に、実行を1回以下にするためにアプリケーションで使用される汎用プロトコルおよびAPIを提供します。アプリケーションでは論理トランザクションID (LTXID)という新しい概念を使用して、停止に続くデータベース・セッション内でオープンになっている最終トランザクションの結果が判断されます。トランザクション・ガードを使用しないと、アプリケーションが停止の後に操作を実行しようとして、トランザクションが重複してコミットされ論理破損が発生する可能性があります。アプリケーション・コンティニュイティはこの機能を使用し、他のアプリケーションは、失敗したセッションの最後の結果を特定するためにこの機能を使用できます。

トランザクション・ガードを使用しないと、トランザクションが開始され、コミットが発行された場合、クライアントに返されるコミット・メッセージに継続性がありません。トランザクションがコミットされたかどうかはクライアントにはわかりません。トランザクションは、非トランザクション状態が不正確な場合、またはそのトランザクションがコミットされている場合は、有効に再送信できません。保障されたコミットや完了情報がないと、再送信により、トランザクションが複数回適用されることになる可能性があります。コミットされているが完了していないトランザクションの処理を続けると、誤った状態にあるデータベース・セッションがアプリケーションで使用される結果になります。

Oracle Database 12cでは、トランザクション・ガードによって、自動的かつ透過的に基準化された方法で冪等性を達成するために、アプリケーションで使用される新たな完全統合ツールが提供されます。トランザクション・ガードでは、論理トランザクションID (LTXID)を使用して、重複したトランザクションの送信を回避します。これは、トランザクションの冪等性と呼ばれます。LTXIDはコミット時に継続され、ロールバックの後に再使用されます。通常の実行中、LTXIDは、各データベース・トランザクションについてクライアントおよびサーバーの両方で自動的にセッションで保持されます。コミット時に、LTXIDはトランザクションのコミットの一環として継続され、次に使用するLTXIDがクライアントに返されます。

次の例では、Application Continuityまたはサード・パーティ製アプリケーションがトランザクション・ガードを使用する方法を示します。

1. クライアントがFAN停止イベントまたはリカバリ可能エラーを受け取ります。

2. FANを使用している場合、FANドライバは自動的に停止セッションを中断します。

3. リカバリ可能エラーである場合、Application Continuityはトランザクション・ガードを使用して、停止セッションの結果を判別します。

a. クライアント・ドライバが提供するAPI (JDBCの場合はgetLTXID、Oracle Call Interfaceの場合はLTXIDを指定したOCI_ATTR_GET、ODP.NETの場合はLogicalTransactionId)を使用して、停止セッションから最終LTXIDを取得します。

b. 新しいセッションを取得します。

c. PL/SQLプロシージャGET_LTXID_OUTCOMEを、失敗したセッションから取得した最終LTXIDとともに呼び出します。

d. このトランザクションの結果がCOMMITTEDおよびCOMPLETEDの場合は、そのトランザクションの結果をアプリケーションに返します。

e. このトランザクションの結果がCOMMITTEDおよびNOT USER_CALL_COMPLETEDの場合は、COMMITTED、およびユーザー・コールが完了していないことを示す警告を返します。

f. トランザクションの結果がCOMMITTEDではない場合は、必要に応じて、最終要求から残されたあらゆる状態をクリーンアップしてから、最終要求を再送信します。

関連項目:

トランザクション・ガードの詳細は、『Oracle Database開発ガイド』を参照してください。

トランザクション・ガードの構成チェックリスト

トランザクション・ガードのサービスを構成する前に、次の構成チェックリストを使用します。

- 次のように、GET_LTXID_OUTCOMEを呼び出すアプリケーション・ユーザーに権限を付与します。

GRANT EXECUTE ON DBMS_APP_CONT to user_name;

- 最適なパフォーマンスを実現するためにトランザクション履歴表を特定および定義します。
トランザクション履歴表(LTXID_HIST)は、Oracle Databaseの作成時またはアップグレード時にデフォルトでSYSAUX表領域に作成されます。最後のパーティションの記憶域を使用して、インスタンスの追加時に新しいパーティションが追加されます。トランザクション履歴表の場所がパフォーマンス上最適でない場合は、別の表領域に移動して、そこでパーティションを作成できます。たとえば、次の文により、FastPaceという名前の表領域にトランザクション履歴表を移動します。

ALTER TABLE LTXID_TRANS move partition LTXID_TRANS_1 tablespace FastPace
storage ( initial 10G next 10G minextents 1 maxextents 121 );

- -commit_outcomeおよび-retention_timeoutサービス・パラメータの値を設定します。

- Oracle RAC、Oracle Data GuardまたはOracle Active Data Guardを使用している場合は、停止を迅速に通知するためにFANを使用することをお薦めします。

トランザクション・ガードのサービスの構成

トランザクション・ガードを使用するようにサービスを構成するには、次のサービス・パラメータを設定します。

- -commit_outcome: -commit_outcomeサービス・パラメータをTRUEに設定します。このサービス・パラメータにより、COMMITが実行されて停止が発生した後に、トランザクションのコミット結果 にアクセスできるかどうかが決定されます。Oracle DatabaseではCOMMITは常に永続的ですが、トランザクション・ガードでは、COMMITの結果が永続的になり、アプリケーションでは、それを使用して、停止の前に実行された最後のトランザクションのステータスを強制適用します。

- -retention: -retentionサービス・パラメータを-commit_outcomeとともに使用します。このサービス・パラメータにより、COMMIT結果が保持される時間(秒数)が決定されます。ほとんどのインストールではデフォルト値を使用することをお薦めします。

次のSRVCTLコマンドにより、salesという名前のポリシー管理サービスをトランザクション・ガードに構成します。

$ srvctl add service -db crm -service sales -serverpool spool_1
-commit_outcome TRUE -retention 86400 -notification TRUE

次のSRVCTLコマンドにより、salesという名前の管理者管理サービスをトランザクション・ガードに構成します。

$ srvctl add service -db crm -service sales -preferred crm_1,crm_2
-available crm_3,crm_4 -commit_outcome TRUE -retention 86400
-notification TRUE

srvctl modify serviceコマンドを使用して、既存のサービスをトランザクション・ガード用に構成するように変更することもできます。

関連項目:

- これらのコマンドの詳細は、「srvctl add service」および「srvctl modify service」を参照してください。

- 「アプリケーション・コンティニュイティ: 停止をマスクするための自動リプレイ」

- トランザクション・ガードおよび冪等性の詳細は、Oracle Database開発ガイドを参照

- Java用のトランザクション・ガードの詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

- トランザクション・ガードを使用するOracle Call Interfaceアプリケーションの開発の詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

注意:

データベース・サービスは、その目的が管理用で、操作できないため、使用しないでください。db_nameまたはdb_unique_nameに設定されているサービス名は使用しないでください。

アプリケーション・コンティニュイティ: 停止をマスクするための自動リプレイ

計画済および計画外の停止に続いてアプリケーション・コンティニュイティは、データベース・セッションを再構築し、データベース・セッションを使用不可にしているリカバリ可能エラーに続く保留中作業を再送信することで、停止をマスキングしようとします。アプリケーション・コンティニュイティは、リカバリ不能なエラーが原因のコール障害後は作業を再送信しません。無効なデータ値の送信は、リプレイに使用できないリカバリ不能エラーの例です。

アプリケーション・コンティニュイティが構成されていると、エンド・ユーザーのリクエスト は最大1回実行され、サービスに指定されたリプレイ・タイムアウト属性を超えていない場合はリプレイが開始されます。リプレイ時は、アプリケーション・コンティニュイティは実行が少し遅れているようにユーザーに見えます。リプレイが成功するとこの機能は、一時的な停止(セッション障害、インスタンスまたはノードの停止、ネットワーク障害など)や計画済停止(修復、構成変更、アプリケーションのパッチ適用など)からアプリケーションをマスキングします。

関連項目:

アプリケーション・コンティニュイティの詳細は、次のドキュメントを参照してください。

- Oracle Database開発ガイド

- 『Oracle Database概要』

- 『Oracle Database JDBC開発者ガイド』

アプリケーション・コンティニュイティを使用するには、アプリケーションが使用するデータベース・サービスの属性を構成し、アプリケーションで許可されている場合は、可変を維持するための権限を付与する必要があります。接続を流用してから返すようにアプリケーションを変更することも必要です。

アプリケーションで統合プールを使用している場合は、要求境界は接続の流用(チェックアウト)および返還(チェックイン)に対応します。アプリケーションが接続を返さない(およびこれらの接続を確保解除するプロパティが公開されていない)場合は、要求境界をアプリケーションに追加する必要があります。要求境界は、統合プールが使用されていない場合も追加する必要があります。

関連項目:

リクエスト境界の詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

アプリケーション・コンティニュイティは、Universal Connection Pool 12c、JDBCタイプ4のドライバ12cおよびOracle WebLogic Server 12.1.2で使用できます。サード・パーティのJavaアプリケーションおよびサード・パーティのJavaプールの場合、Oracle Database 12c JDBCリプレイ・ドライバを使用します。

この項には次のトピックが含まれます:

- Oracle RACでのアプリケーション・コンティニュイティの構成チェックリスト

- アプリケーション・コンティニュイティがアプリケーションで機能する仕組み

- TAFによるOCIクライアントのフェイルオーバー

Oracle RACでのアプリケーション・コンティニュイティの構成チェックリスト

アプリケーション・コンティニュイティをOracle RACデータベースで使用する前に、次の構成チェックリストを使用します:

- サービス構成チェック:

- データベース・サービス(アプリケーション・サービスとも呼ばれます)を使用してデータベースに接続します。デフォルトのデータベース・サービス(DB_NAMEまたはDB_UNIQUE_NAME)、Oracle SIDまたはクライアント接続用のインスタンス名は使用しないでください。

- サービス用の適切な属性を有効化していることを確認します。

関連項目:

「アプリケーション・コンティニュイティおよびトランザクション・ガードのサービスの作成」

- ソフトウェア構成チェック(データベースおよび中間層):

- Oracle Database 12c以上を使用します。

- JDBC Replayデータ・ソースとともに構成されたJDBC Universal Connection Pool (12.1)またはWebLogic Active GridLink (12.1.2以上)を使用するか、JDBC Replayデータ・ソースを独自のJDBC接続プールとともに使用します。

- WebLogic Active GridLinkデータ・ソースまたはOracle JDBC Universal Connection PoolにFANおよびFCFを使用することをお薦めします。

関連項目:

簡易FANの詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

- リソース要件をチェックし、中間層およびデータベース層に十分なCPUおよびメモリーがあることを確認します。

注意:

アプリケーション・コンティニュイティを使用すると、サーバー上では管理目的のために、クライアント上ではJavaガベージ・コレクションのために、CPU消費が少し増える可能性があります。リプレイ・ドライバは要求状態を保持する必要があるため、メモリー使用量の増加も予測されます。CPUおよびメモリーの使用量の個々の増加は、その都度異なります。プラットフォームが現行のIntelおよびSPARCプロセッサをサポートしている場合、データベース・サーバー上のCPUオーバーヘッドは減少することがあります。

- アプリケーションの動作保証を行った後、リプレイを使用するユーザーに、可変を維持するための権限を付与します。

- 接続再試行と、この試行間の遅延を設定する接続文字列を使用します。JDBCを使用した接続プロパティの構成の例については、「一般的なデータベース・クライアント」を参照してください。

- アプリケーション・コード・チェック(アプリケーション開発者に確認):

- アプリケーションからデータベースへの接続の初期化に、オプションのコールバックが使用されるかどうかを判別します。Oracle WebLogic ServerまたはUniversal Connection Poolの使用時は、接続ラベリングが推奨されます。登録されている場合は、実行時およびリプレイでコールバックが実行されます。

- アプリケーションがOracle JDBCの具象クラスを使用するかどうか判別します。その場合にOracle固有APIへのアクセスが必要とされるようなときは、この具象クラスを標準のJDBCまたはOracle JDBCインタフェースと置き換えることを計画します。

関連項目:

これらのインタフェースの詳細は、My Oracle Supportノート1364193.1 (https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1364193.1)を参照してください。

- アプリケーションが可変関数コール(SYSDATE、SYSTIMESTAMP、SYS_GUID)またはOracle順序を使用するかを決定します。その場合は、フェイルオーバー中に元の値を保持するようにアプリケーションを構成するのが適切であるかどうかを判別します。

- アプリケーション内のコード・パスに対してリプレイを明示的に無効にする必要があるかどうかを判別します。

- 各要求に対してアプリケーションがOracle WebLogic ServerプールまたはUniversal Connection Poolから接続を流用してから返している場合、変更は不要です。
アプリケーションがOracleプールを使用し、要求間の接続を返さない場合は、接続をプールに返すように設定するプロパティがあるかどうかを確認します。設定するプロパティがない場合、またはアプリケーション固有の接続プールを使用中の場合は、beginRequestおよびendRequestの境界を追加できます。

関連項目:

- Oracle Database開発ガイド

- 『Oracle Database概要』

- 『Oracle Database JDBC開発者ガイド』

- 「アプリケーション・コンティニュイティおよびトランザクション・ガードのサービスの作成」

この項には次のトピックが含まれます:

- 可変値の管理

- リプレイの無効化

可変値の管理

リプレイで関数の結果を保持するには、関数を呼び出すユーザーにKEEP権限を付与する必要があります。このセキュリティ制限を設定して、ユーザーが所有していないコードの関数結果をリプレイが保存およびリストアできるようにします。

インタフェースの付与または取消し

Oracle日付およびSYS_GUIDの可変を維持するための権限を付与および取り消すには、次の手順を実行します。

GRANT [KEEP DATE_TIME | KEEP SYS_GUID]...[to USER]
REVOKE [KEEP DATE_TIME | KEEP SYS_GUID]...[from USER]

たとえば、次のように、元の日付でOracle E-Business Suiteを使用できます。

GRANT KEEP DATE_TIME, KEEP SYS_GUID to [custom user];
GRANT KEEP DATE_TIME, KEEP SYS_GUID to [apps user];

Oracle順序の可変を維持するための権限の付与

順序の所有者に権限を付与するには、次の手順を実行します。

CREATE SEQUENCE [sequence object] [KEEP|NOKEEP];
ALTER SEQUENCE [sequence object] [KEEP|NOKEEP];

前述のコマンドでは、リプレイのためにsequence.nextvalの元の値を保持したため、キーが一致しました。

順序を使用するその他のユーザーに関して権限の付与および取消しを行うには、次の手順を実行します。

GRANT KEEP SEQUENCES...[to USER] on [sequence object];
REVOKE KEEP SEQUENCES...[from USER] on [sequence object];

たとえば、次のように、元の順序値でOracle E-Business Suiteを使用できます。

GRANT KEEP SEQUENCES to [apps user] on [sequence object];
GRANT KEEP SEQUENCES to [custom user] on [sequence object];

可変に対する権限のルール

- ユーザーのオブジェクトに対してすべてを付与していても、可変は除外されています。可変には明示的な付与が必要です。SYS、AUDSYS、GSMUSER、SYSTEMなど、Oracle Databaseによって提供または作成されているユーザーへの可変の付与はサポートされていません。

- DBAロールには、可変権限が含まれます。

- ユーザーに可変が付与されている場合、(SYS_GUID、SYSDATEおよびSYSTIMESTAMPで)可変関数が呼び出されたときに、オブジェクトは可変アクセスを継承します。

- 順序オブジェクトに対する可変の維持が取り消されると、そのオブジェクトを使用するSQLまたはPL/SQLコマンドは、その順序の可変コレクションまたはアプリケーションを許可しません。

- ランタイムおよびフェイルオーバー間で権限が取り消されると、収集された可変は適用されません。

- ランタイムおよびフェイルオーバー間で権限が付与されると、可変は収集されず、したがって何も適用されません。

リプレイの無効化

一部のアプリケーション・リクエストは、リプレイには適していません。このような設計を使用するアプリケーション・モジュールがある場合は、リプレイAPIを無効化すると要求ベースのリプレイが無効になります。リプレイの無効化をコールバックまたはメインライン・コードに追加できます。リプレイの無効化では、コールバック、または要求への変更が必要です。

注意:

リプレイ時に、自律型トランザクション、外部PL/SQLコールおよびJavaコールアウトはメイン・トランザクションとは異なる副作用の例であり、これらの副作用は、リプレイされないよう指定しないかぎりリプレイされます。メイン・トランザクションとは異なる副作用の例には、外部表への書込み、電子メールの送信、PL/SQLまたはJavaからのセッションの分岐、ファイルの転送、および外部URLへのアクセスなどがあります。このようなアクションの結果、永続的な副作用が残ります。PL/SQLメッセージングの結果、永続的な結果が残される可能性があります。

DBAがALTER SYSTEM KILL SESSIONまたはALTER SYSTEM DISCONNECT SESSION文を使用してセッションを終了または切断できるように、アプリケーション・コンティニュイティを構成した場合、アプリケーション・コンティニュイティはデフォルトでそのセッションをリカバリしようとします。ただし、セッションをリプレイしない場合は、次の例に示すとおり、NOREPLAYキーワードを使用します。

alter system kill session 'sid, serial#, @inst' noreplay;
alter system disconnect session 'sid, serial#, @inst' noreplay

関連項目:

- 副作用の詳細は、『Oracle Database開発ガイド』を参照してください。

- セッションの無効化および切断の詳細は、『Oracle Database開発ガイド』を参照してください。

アプリケーション・コンティニュイティがアプリケーションで機能する仕組み

アプリケーション・コンティニュイティは、リクエスト境界で動作します。リクエスト は、アプリケーションが送信する作業単位です。通常、Universal Connection Pool、Oracle WebLogic Server、DRCPおよびサード・パーティの接続プールの接続を流用して返す間に実行されます。要求は、beginRequest APIとendRequest APIでマークされます。前述の接続プールのいずれかを使用する場合、Oracle DatabaseはデフォルトでこれらのAPIを提供します。

アプリケーション・コンティニュイティはアプリケーションで次のように機能します。

1. -failovertypeパラメータがTRANSACTIONに設定され、-commit_outcomeパラメータがTRUEに設定されるように、新しいデータベース・サービスを作成するか、または既存のデータベース・サービスを変更します。

関連項目:

「アプリケーション・コンティニュイティおよびトランザクション・ガードのサービスの作成」

2. このサービスを使用してアプリケーションがデータベースへの接続をオープンするか、またはこのサービスを使用してOracle接続プールから接続を流用するとき、セッション・ハンドルによって、各トランザクションの論理トランザクションID (LTXID)が転送されます。

3. アプリケーションが要求を送信すると、停止が発生した場合にサーバーとリプレイ・ドライバは協力してリプレイのどの状態を取得するかを判別します。(計画済または計画外の)リカバリ可能エラー が発生した場合、エラー・メッセージがリプレイ・ドライバに戻されます。

4. JDBC-thin (タイプ4)アプリケーションの場合、リプレイ・ドライバはFANメッセージ(停止またはエラー)を受信します。高速接続フェイルオーバー(FCF)は、停止セッションを中断します。リプレイ・ドライバは次を実行します。

a. 後でリプレイ中またはリプレイ後にエラーが発生する場合に備えて、デッド状態の物理セッションを新しいクリーン・セッションに置き換え、FANを再確立します。

b. トランザクション・ガードを使用して進行中のトランザクションがオープンであった場合の結果を確認することにより、リプレイを準備します。

c. 必要に応じて、初期状態に対するラベリング・コールバックまたは再接続コールバック(これらの1つが登録されている場合)を使用してコールバックします。

d. トランザクション状態および非トランザクション状態をリカバリし、クライアント・ドライバによって確認されたデータおよびメッセージが、クライアントが確認して決定した可能性があったものと同じであることを手順ごとに検証し、データベース・セッションを再構築します。

5. Oracle Databaseは、リプレイの開始時およびリプレイの進行中にリプレイを検証します。クライアントが前に決定した可能性がある同じデータ値およびメッセージにクライアント・データを再配置できなかったことが原因で、データベース・セッションが正しく再構築されなかった場合、リプレイ・ドライバはアプリケーションに元のエラーを返します。

関連項目:

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

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

- 「Javaのアプリケーション・コンティニュイティのためのJDBC-Thinクライアントの構成」

- 「トランザクション・ガードを使用するためのOCIクライアントの構成」

TAFによるOCIクライアントのフェイルオーバー

Oracle Net Servicesによってインスタンスへの接続が確立されると、クライアントが接続をクローズするか、インスタンスが停止するか、または障害が発生するまで、接続はオープン状態のまま維持されます。接続に透過的アプリケーション・フェイルオーバー(TAF)を構成すると、インスタンスで障害が発生した場合、Oracle Databaseは障害が発生していないインスタンスでセッションをリプレイします。

TAFでは、フェイルオーバーが完了すると問合せは再開できますが、INSERT、UPDATE、DELETEなどの他のトランザクションの場合、アプリケーションで、失敗したトランザクションをロールバックして再度送信する必要があります。また、フェイルオーバーが発生したら、セッションのすべてのカスタマイズ(ALTER SESSION文)を再度実行する必要があります。ただし、TAFでは、ワークロードが変化しても、通常処理の間は接続が移動されません。

サービスはTAFのデプロイメントを簡素化します。サービスのTAFポリシーを定義でき、このサービスを使用するすべての接続によって、自動的にTAFが有効になります。これには、クライアント側の変更は必要ありません。サービスのTAF設定は、クライアントの接続定義内のTAF設定よりも優先されます。

-failovermethodおよび-failovertypeパラメータを定義して、サービスのすべてのユーザー用のTAFポリシーを定義できます。-failoverretryおよび-failoverdelayパラメータをそれぞれ使用して、失敗したセッションによるサービスへの再接続試行回数、および再接続の試行間での待機時間を設定して、TAFポリシーをさらに詳しく定義できます。

サービスのTAFポリシーを定義するには、次の例に示すようにSRVCTLを使用しますが、ここで、サービス名はtafconn.example.com、データベース名はCRMです。

$ srvctl modify service -db crm -service tafconn.example.com -failovermethod BASIC
-failovertype SELECT -failoverretry 10 -failoverdelay 30

TAFが有効なOCIアプリケーションでは、高速接続フェイルオーバーのためにFAN高可用性イベントを使用します。

関連項目:

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

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

この項では、ロード・バランシング・アドバイザについて説明します。内容は次のとおりです。

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

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

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

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

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

ロード・バランシングは、使用可能なすべてのOracle RACデータベース・インスタンス間で作業を分散します。アプリケーションでは、特定のサービスを提供するインスタンス間をまたがって実行される、接続が永続的な接続プールを使用することをお薦めします。永続接続を使用すると、接続が作成される頻度は低く、長期間存在します。作業は頻繁にシステムに送られ、この接続を利用し、比較的短時間存続します。ロード・バランシング・アドバイザは、受信した作業に対して最適なサービス・クオリティを提供するインスタンスにその作業を転送する方法についてのアドバイスを提供します。これにより、後で作業を再配置する必要性が最小化されます。

ロード・バランシング・アドバイザおよびランタイム接続ロード・バランシングの目標を使用することで、フィードバックはシステムに組み込まれます。作業は、システム全体で最適なサービス時間が実現されるようにルーティングされ、システムの状態変化に透過的に対応します。安定した状態のシステムでは、Oracle RACのすべてのインスタンスでスループットが向上した状態が維持されるようになります。

ロード・バランシング・アドバイザを使用できる標準アーキテクチャには、接続時ロード・バランシング、トランザクション処理モニター、アプリケーション・サーバー、接続コンセントレータ、ハードウェアおよびソフトウェアのロード・バランサ、ジョブ・スケジューラ、バッチ・スケジューラおよびメッセージ・キューイング・システムが含まれます。これらすべてのアプリケーションでは、作業を割り当てることができます。

ロード・バランシング・アドバイザは、リスナー、JDBCユニバーサル接続プール、OCIセッション・プール、Oracle WebLogic Server Active GridLink for Oracle RAC、ODP.NET接続プールなどの主要なOracleクライアントとともにデプロイされます。また、サードパーティ・アプリケーションは、JDBCとOracle RAC FAN APIを使用するか、またはOCIでコールバックを使用して、ロード・バランシング・アドバイザ・イベントをサブスクライブすることもできます。

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

ロード・バランシングを有効にする各サービスにサービス・レベルの目標を定義して、ロード・バランシング・アドバイザを使用するように環境を構成できます。サービス・レベルの目標を構成すると、ロード・バランシング・アドバイザが有効になり、そのサービスのFANロード・バランシング・イベントのパブリッシュが可能になります。

ランタイム接続のロード・バランシングにおけるサービス・レベルの目標値には、次の2つのタイプがあります。

- SERVICE_TIME: 応答時間に基づいて、作業要求をインスタンスに割り当てます。ロード・バランシング・アドバイザのデータは、サービスで完了した作業の経過時間およびサービスに対して使用可能な帯域幅に基づきます。SERVICE_TIMEの使用例としては、需要が変動するインターネット・ショッピングなどのワークロードがあります。次の例は、onlineサービスを使用して、目標を接続のSERVICE_TIMEに設定する方法を示します。

$ srvctl modify service -db db_unique_name -service online
-rlbgoal SERVICE_TIME -clbgoal SHORT

- THROUGHPUT: スループットに基づいて、作業要求をインスタンスに割り当てます。ロード・バランシング・アドバイザのデータは、サービスで完了した作業の処理速度およびサービスに対して使用可能な帯域幅に基づきます。THROUGHPUTの使用例としては、前のジョブが完了してから次のジョブを開始するバッチ処理などのワークロードがあります。次の例は、sjobサービスを使用して、目標を接続のTHROUGHPUTに設定する方法を示します。

$ srvctl modify service -db db_unique_name -service sjob
-rlbgoal THROUGHPUT -clbgoal LONG

ランタイム接続ロード・バランシングの目標をNONEに設定すると、サービスのロード・バランシングが無効になります。データ・ディクショナリのサービスの目標設定は、DBA_SERVICESビュー、V$SERVICESビューおよびV$ACTIVE_SERVICESビューを問い合せて確認できます。また、Oracle Enterprise Managerを使用して、サービスのロード・バランシング設定を確認することもできます。

関連項目:

- サービスの管理およびサービスの目標の追加の詳細は、「サービスの管理」を参照してください

- Oracle Enterprise Managerを使用したサービスの管理の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

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

ロード・バランシング・アドバイザのFANイベントでは、ロード・バランシング・アルゴリズムのメトリックが提供されます。このイベントを使用する最も簡単な方法は、JDBC、Universal Connection Pool (または非推奨の暗黙的な接続キャッシュ)、ODP.NET接続プール、OCIセッション・プール、Oracle WebLogic Server Active GridLink for Oracle RACなどのOracle統合クライアントのランタイム接続ロード・バランシング機能を使用することです。他のクライアント・アプリケーションは、Oracle RAC FAN APIを使用することでFANをプログラムで利用し、FANイベントをサブスクライブしたり、受信時にイベント処理アクションを実行できます。表5-4に、ロード・バランシング・アドバイザのFANイベント・パラメータを示します。

関連項目:

Oracle RAC FAN APIの詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

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

パラメータ

説明

VERSION

イベント・レコードのバージョン。リリースの変更を識別するために使用されます。

EVENT_TYPE

ロード・バランシング・アドバイザ・イベントは、常にSERVICEMETRICSイベント・タイプです。

SERVICE

サービス名。DBA_SERVICESのNAMEの値に該当します。

DATABASE

サービスをサポートしている一意のデータベースを示し、DB_UNIQUE_NAME初期化パラメータの値と一致します。このパラメータのデフォルト値は、初期化パラメータDB_NAMEの値です。

INSTANCE

サービスをサポートしているインスタンスの名前であり、ORACLE_SIDの値と一致します。

PERCENT

そのデータベース・インスタンスに送信する作業要求の割合。

FLAG

サービスの目標を基準としたサービス品質。有効な値は、GOOD、VIOLATING、NO DATAおよびBLOCKEDです。

TIMESTAMP

通知イベントをオーダーする場合に使用するローカル・タイム・ゾーン。

注意:

INSTANCE、PERCENTおよびFLAGイベント・パラメータが、サービスを提供する各インスタンスに生成されます。インスタンス・データの各セットは、中カッコ({})で囲まれます。

ロード・バランシング・アドバイザの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
{ {instance=sales_4 percent=38 flag=GOOD aff=TRUE}{instance=sales_1
percent=62 flag=GOOD aff=TRUE} } timestamp=2012-07-16 07:56:05')

次に、Oracle RAC FAN APIを使用してOracle Notification Serviceから取得された、2つのインスタンス(orcl1およびorcl2)で提供されるlba_servサービスのロード・バランシング・アドバイザ・イベントの例を示します。

Notification Type: database/event/servicemetrics/lba_serv.example.com
VERSION=1.0 database=orcl service=lba_serv.example.com { {instance=orcl2
percent=50 flag=UNKNOWN aff=FALSE}{instance=orcl1 percent=50 flag=UNKNOWN
aff=FALSE} } timestamp=2012-07-06 13:19:12

注意:

SERVICMETRICSイベントは、FANコールアウト・メカニズムを介しては認識されません。

Oracle RACのクライアントの有効化

Oracle RACデータベースへの接続に使用される多くの一般的なクライアント・アプリケーション環境は、FANと統合されています。そのため、FANを使用する最も簡単な方法は、Oracle統合クライアントを使用することです。

次の項では、FANをOracleクライアントと統合する方法と、いくつかの特定のクライアント開発環境でFANイベントを有効にする方法について説明します。

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

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

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

- Javaのアプリケーション・コンティニュイティのためのJDBC-Thinクライアントの構成

- トランザクション・ガード用のJDBC-Thinクライアントの構成

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

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

- トランザクション・ガードを使用するためのOCIクライアントの構成

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

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

- トランザクション・ガードを使用するためのODP.NETクライアントの構成

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

FANの全体的な目的は、アプリケーションのエンドツーエンドの完全自動リカバリ、および実際のトランザクション・パフォーマンスに基づいたロード・バランシングを可能にすることです。アプリケーションは、FAN高可用性(HA)イベントを使用して、失敗を高速に検出し、失敗後の接続プールを均等に分散し、失敗したコンポーネントが修復されると接続を再度分散します。

ロード・バランシング・アドバイス・ヘルプ接続プールを持つFANイベントは、最適なサービスを提供する使用可能なインスタンスに接続を一貫して配信します。FAN HAは、JDBC-thinドライバおよびOCIドライバと統合されています。FAN HAおよびFANロード・バランシングの両方が、JDBC Universal Connection Pool (および非推奨の暗黙的な接続キャッシュ)、OCIセッション・プール、ODP.NET接続プールおよびOracle WebLogic Server Active GridLink for Oracle RACと統合されています。

FANとの統合によって、Oracle統合クライアントはOracle RACクラスタの最新のステータスをより迅速に認識します。これによって、クライアント接続が使用できなくなったインスタンスやサービスを待機したり接続試行することがなくなります。インスタンスが起動すると、Oracle RACでは、最近起動されたインスタンスへの接続を接続プールで作成し、このインスタンスで提供される追加リソースを接続プールで使用できるように、FANを使用して接続プールに通知します。

FANと統合されたOracle クライアント・ドライバでは次のことが適用されます。

- 終了した接続を削除すると同時に、サービスがインスタンスでDOWNとして宣言され、ノードも同時にDOWNとして宣言されます。

- サービスが再起動を繰り返し試行する間クライアントを待機させるかわりに、NOT RESTARTING状態がOracle Databaseで検出されるとすぐにエラーをクライアントにレポートします。

FANと統合されたOracle接続プールでは、次の処理を実行できます。

- サービスの起動時に、Oracle RACのすべてのインスタンス間で接続を均等に分散します。この方法は、接続プールで定義されているセッションを、サービスがサポートされている最初のOracle RACインスタンスに割り当てるよりも有効です。

- ロード・バランシング・アドバイザのイベントを使用して、実行時の作業要求を均等に分散します。

クライアント・ドライバや接続プールとFANを使用する場合、FANイベントをクライアントに配信するようにOracle Notification Serviceを適切に構成する必要があります。また、ロード・バランシングの場合は、接続プールで使用されるサービスを提供するすべてのインスタンスへのデータベース接続のロード・バランシングを構成する必要があります。Oracle Net Servicesでクライアント側とサーバー側のロード・バランシングを構成することをお薦めします。DBCAを使用してデータベースを作成すると、デフォルトで、クライアント側とサーバー側の両方のロード・バランシングが構成されます。

関連項目:

「接続ロード・バランシング」

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

Universal Connection PoolおよびOracle WebLogic Server Active GridLink for Oracle RACで高速接続フェイルオーバー(FCF)を有効化すると、FAN HAおよびロード・バランシング・アドバイザ・イベントを使用できるようになります。Universal Connection PoolでFANを使用する場合、アプリケーションは、JDBC OCIクライアントまたはJDBC ThinクライアントのどちらのJDBC開発環境も使用できます。Java Database Connectivity Oracle Call Interface (JDBC/OCI)ドライバ接続プール機能は、JDBC-thinクライアントの一部です。この機能は、OracleOCIConnectionPoolクラスによって提供されます。

JDBC-thinクライアント用のFCFを有効にするには、最初のgetConnection()リクエストを行う前に、oracle.jdbc.poolパッケージのOracleDataSourceクラスのメソッドsetFastConnectionFailoverEnabled(true)を呼び出します。JDBC-thinクライアント用のFCFを有効にすると、フェイルオーバー・プロパティは接続プール内のすべての接続に適用されます。JDBC-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-thinクライアントの構成の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

JDBC-Thinクライアント用の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の構成

Universal Connection Poolまたは暗黙接続キャッシュ用のFCFを有効にできます。暗黙接続キャッシュは非推奨であるため、Universal Connection PoolをJavaに使用することをお薦めします。Oracle WebLogic Server Active GridLink for Oracle RACを使用することもできます。

この項では、JDBC用のFCFを有効にする方法について説明します。JDBC/OCIクライアントでFCFを有効にしている場合は、Oracle Database 11gリリース2 (11.2)で使用されているOCI クライアント用にFANを有効化する方法(サービスでnotificationをTRUEに設定)は使用せず、クライアントまたはサーバーのいずれにもTAFを構成しないでください。アプリケーション・コンティニュイティおよびトランザクション・ガードを構成することもできます。

FCFを有効にするには、次の手順で説明するように、最初にUniversal Connection Poolを有効にする必要があります。

1. 接続プールを作成し、setFastConnectionFailoverEnabled(true)を設定します。
次の例では、接続プールを作成し、FCFを有効にします。この例を使用する場合、ucp.jarライブラリはアプリケーションのCLASSPATHに含まれる必要があります。

PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
pds.setFastConnectionFailoverEnabled(true);

2. Oracle Notification Serviceリモート・サブスクリプションに使用するポートを特定します。
次の例に示すように、Oracle Clusterwareを実行している各ノードで、次のコマンドを使用してOracle Notification Service構成を表示します。

srvctl config nodeapps -onsonly

このコマンドの出力では、Oracle Notification Service用に構成されているローカル・ポートおよびリモート・ポートがリストされます。

注意:

Oracle Notification Service構成は、Oracle Clusterwareのインストール時に自動的に完了しているはずです。

3. リモート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 ...

4. 接続URLを構成します。
FCFを使用する場合、コネクション・ファクトリの接続URLはサービス名構文を使用する必要があります。サービス名は、接続プールをサービスにマップするために使用されます。次の例では、接続URLの構成を示しています。

pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setURL("jdbc:oracle:thin@//SCAN_name:service_name");...

関連項目:

- JDBCの詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。

- FCFの構成の詳細は、『Oracle Universal Connection Pool for JDBC開発者ガイド』を参照してください。

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

Oracle JDBC Universal Connection PoolおよびOracle WebLogic Server Active GridLink for Oracle RACでは、Oracle RACデータベースによって提供されるロード・バランシング機能が利用されます。実行時接続ロード・バランシングには、Oracle JDBCドライバおよびOracle RACデータベースを使用する必要があります。

ロード・バランシング・アドバイザの情報を利用するために、Universal Connection PoolおよびOracle WebLogic Server Active GridLink for Oracle RACが統合されています。Oracle Database 11g リリース11.1.0.7.0では、JDBCのユニバーサル接続プールが導入されました。そのため、Oracle RACデータベースで使用するためにOracle Database 10g リリース1で導入された既存のJDBC接続プール(暗黙接続キャッシュ)が非推奨になりました。Oracle Database 12cに加えて、Oracle Database 10gまたはOracle Database 11gでもUniversal Connection Poolを使用できます。

実行時接続ロード・バランシングには、FCFが有効であり、適切に構成されていることが必要です。また、Oracle RACロード・バランシング・アドバイザは、接続プールで使用されるサービスごとにサービス・レベルの目標で構成される必要があります。接続時ロード・バランシングの目標は、次の例のとおり、SHORTに設定される必要があります。

srvctl modify service -db db_unique_name -service service_name
-rlbgoal SERVICE_TIME -clbgoal SHORT

関連項目:

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

- Universal Connection Pool用にランタイム接続ロード・バランシングを構成する方法の詳細は、『Oracle Universal Connection Pool for JDBC開発者ガイド』を参照してください。

Javaのアプリケーション・コンティニュイティのためのJDBC-Thinクライアントの構成

リプレイ・データ・ソース(oracle.jdbc.replay.OracleDataSource)は、アプリケーション・コンティニュイティがJavaで必要とするJDBC-thinデータ・ソースです。このデータ・ソースは、新しい物理JDBC接続をUniversal Connection PoolおよびOracle WebLogic Server Active GridLink for Oracle RACデータ・ソースの両方に生成するコネクション・ファクトリとして機能します。JDBCリプレイ・ドライバは、Oracle Database 12cとのクライアント対話中のコールの履歴を、Oracle Databaseと協力して保持します。データベース・サービスの欠落で生じるセッションの停止(計画済または計画外)に続いて、データベースの指示のもとで、JDBCリプレイ・ドライバは、非トランザクションおよびトランザクションのデータベース・セッション状態の再構築を試行し、これによって停止は遅れた実行として示されます。

Javaのアプリケーション・コンティニュイティおよびJDBCリプレイ・ドライバを使用するには、Oracle Database 12cクライアントを使用してOracle Database 12cデータベースに接続する必要があります。Javaのアプリケーション・コンティニュイティは次の構成でサポートされています:

- Oracle JDBCリプレイ・データ・ソースを使用し、Universal Connection PoolまたはOracle WebLogic Server Active GridLink(典型的なサード・パーティ製JDBCベースの接続プール)を使用しないJDBCアプリケーション

- Universal Connection Poolデータ・ソースを使用するJDBCアプリケーション(Universal Connection Poolデータ・ソースを使用するように構成されたスタンドアロンまたはサード・パーティ製のアプリケーション・サーバー)

- Oracle WebLogic Server Active GridLinkのみを使用して、Universal Connection Poolデータ・ソース(典型的なOracle WebLogic Server J2EEケース)を使用しないJDBCアプリケーション

JDBCリプレイ・ドライバを使用するようにJDBC-thinクライアントを構成するには、次の手順を実行します。

1. リプレイ用に認証されているアプリケーションを使用してください。

関連項目:

「Oracle RACでのアプリケーション・コンティニュイティの構成チェックリスト」

2. アプリケーションで使用するサービスがまだ存在しない場合は、SRVCTLを使用してそのサービスを作成します。このサービスで-failovertypeパラメータをTRANSACTIONに設定し、-commit_outcomeパラメータをTRUEに設定します。

関連項目:

サービスの作成の詳細は、「アプリケーション・コンティニュイティおよびトランザクション・ガードのサービスの作成」を参照してください。

3. 次の例に示すとおり、replayDataSourceオブジェクトを使用して接続要素を構成します。

replayDataSource rds = PoolDataSourceFactory.getreplayDataSource();
rds.setConnnectionPoolName("replayExample");
rds.setONSConfiguration("nodes=racnode1:4200,racnode2:4200");
rds.setFastConnectionFailoverEnabled(true);
rds.setConnectionFactoryClassName("oracle.jdbc.replay.OracleDataSource");

Connection conn = replayDataSource.getConnection();

4. データベースへの接続時に、サービスを提供するすべてのインスタンスにアクセス可能なURLを使用します。

関連項目:

- FAN/FCFの構成の詳細は、「JDBC/OCIおよびJDBC-Thinドライバ・クライアント用のFCFの構成」を参照してください

- アプリケーション・コンティニュイティを有効化しないトランザクション・ガードの構成の詳細は、Oracle Database JDBC開発者ガイドを参照

- Oracle Database開発ガイド

- 『Oracle Universal Connection Pool for JDBC開発者ガイド』

トランザクション・ガード用のJDBC-Thinクライアントの構成

トランザクション・ガードは、計画済および計画外の停止の場合に、実行を1回以下にするためにアプリケーションで使用されるプロトコルおよび汎用ツールを提供します。アプリケーションでは論理トランザクションIDを使用して、停止に続くデータベース・セッション内でオープンになっている最終トランザクションの結果が判断されます。トランザクション・ガードを使用しないと、停止の後にエンド・ユーザーまたはアプリケーションが操作を再試行しようとして、トランザクションが重複してコミットされたり、順序が不適切にトランザクションがコミットされることで、論理破損が発生する可能性があります。

関連項目:

- トランザクション・ガードの構成の詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。

- トランザクション・ガードの使用の詳細は、『Oracle Database開発ガイド』を参照してください。

- OCIおよびトランザクション・ガードの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

- 透過的アプリケーション・フェイルオーバーの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

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

OCIクライアントは、Oracle RAC高可用性FANイベントの通知を受信するように登録し、イベント発生時に応答することによって、FCFを有効にできます。FCFを使用すると、OCIアプリケーションでのセッション・フェイルオーバー応答時間が向上し、接続プールおよびセッション・プールから機能していないインスタンスへの接続も削除されます。FCFはOCIアプリケーションで使用でき、このアプリケーションはTAF、OCIドライバ(独自の接続プールを含む)、OCI接続プールおよびOCIセッション・プールも使用します。FANは、高可用性およびロード・バランシング・イベントのためにOracle Notification Serviceでポストされます。

FCFを使用するには、FANが有効なサービスを使用する必要があります。FANは、Oracle Notification Service経由で公開されます。クライアント・アプリケーションには、イベント発生時に使用するコールバックを登録することもできます。これによって、接続障害が検出されるまでの時間が短縮されます。

DOWNイベントの処理中に、OCIでは次の処理が実行されます。

- クライアントで影響を受ける接続が終了し、エラーが戻されます。

- OCI接続プールおよびOCIセッション・プールから接続を削除します。OCIセッション・プールでは、各セッションが接続プールの物理的な接続とマッピングされています。1つの接続に複数のセッションが存在する場合もあります。

- TAFが構成されている場合、接続をフェイルオーバーします。TAFが構成されていない場合、接続先のインスタンスに障害が発生しても、クライアントはエラーを受信するだけです。

アプリケーションでTAFを使用している場合は、SRVCTLまたはOracle Enterprise Managerを使用して、サービスのTAFプロパティを有効にする必要があります。構成済のサービスを使用して、Oracle RACデータベースに接続するようにOCIクライアント・アプリケーションを構成します。

注意:

OCIはUPイベントを管理しません。

関連項目:

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

OCIクライアント用のFCFの構成

OCIアプリケーションは、Oracle RACインスタンスに接続して、HAイベント通知を有効にする必要があります。さらに、これらのアプリケーションは、次の手順を実行してOCIクライアント用のFCFを構成する必要があります。

1. 次の例に示すとおり、FAN、接続時ロード・バランシングおよびランタイム接続ロード・バランシングを有効にするように、OCI接続プールのサービスを構成します。

$ srvctl modify service -db crm -service ociapp.example.com -notification TRUE

2. アプリケーションをスレッド・ライブラリにリンクします。

3. スレッド・ライブラリにリンクした後、アプリケーションは、FANイベントが発生すると常に起動されるコールバックを登録できます。

関連項目:

OCIの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

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

Oracle Database 12cでは、OCIセッション・プールによって、動的に管理される事前作成済のデータベース・セッションのセットをアプリケーションの複数スレッドで使用できます。接続プーリングではプール要素は接続ですが、セッション・プーリングではプール要素はセッションとなります。Oracle Databaseでは、セッション・プール内のセッションを継続的に再利用して、インスタンスへのほぼ永続的なチャネルを形成することによって、アプリケーションでセッションが必要になるたびにセッションを作成してクローズするオーバーヘッドを削減できます。

ランタイム接続ロード・バランシングは、デフォルトでOracle Database 11gリリース11.1以上、Oracle Database 10gリリース10.2以上のサーバーとのクライアント通信で有効になっています。Oracle RAC環境の場合、アプリケーションのセッション要求を均等に分散させるために、セッション・プールは、高速アプリケーション通知(FAN)イベントを介してOracle RACロード・バランシング・アドバイザ脚注1から受信されるサービス・メトリックを使用します。セッション・プールに入ってくる作業要求は、現在のサービス・パフォーマンスを使用して、サービスを提供しているOracle RACのインスタンス全体で分散できます。

OCIクライアントを構成してロード・バランシング・アドバイザのFANイベントを受信する方法

Oracle RAC環境の場合、アプリケーションのセッション要求を均等に分散させるために、セッション・プールは、高速アプリケーション通知(FAN)イベントを介してOracle RACロード・バランシング・アドバイザから受信されるサービス・メトリックを使用します。次の例に示すとおり、アプリケーションがサービス時間に基づいてサービス・メトリックを受信できるようにするには、FAN、ロード・バランシング・アドバイザの目標(-rlbgoalパラメータ)および接続ロード・バランシングの目標(-clbgoalパラメータ)を、セッション・プールで使用されるサービスに構成していることを確認します。

$ srvctl modify service -db crm -service ociapp.example.com -rlbgoal SERVICE_TIME
-clbgoal SHORT -notification TRUE

関連項目:

OCIの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

脚注の説明

脚注1:
実行時接続ロード・バランシングは、基本的には作業リクエストをセッション・プール内で作業の処理に最も適切なセッションにルーティングする操作です。既存のセッション・プールからセッションを選択すると、有効になります。このため、ランタイム接続ロード・バランシングは、きわめて頻度の高いアクティビティです。

トランザクション・ガードを使用するためのOCIクライアントの構成

OCIは、FANメッセージおよびトランザクション・ガードをサポートしています。FANは、ノード、データベース、インスタンス、サービスおよびパブリック・ネットワーク・レベルでの停止をOCIベースのアプリケーションに迅速に通知するように設計されています。障害の通知があると、アプリケーションはトランザクション・ガードを利用して、最後の処理中のトランザクションの結果を確実に判別できます。

トランザクション・ガードによって、ユーザーが不満を抱く不明なエラー、カスタマ・サポート・コールおよび機会損失のコストを削減します。トランザクション・ガードは、既知の結果に対する自社製のソリューションと比べて、より安全でパフォーマンスが良く、オーバーヘッドがより少なくなっています。

関連項目:

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

- 「Oracle RACのクライアントの有効化」

- イベント通知およびユーザー登録コールバックの詳細は、『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。

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

ODP.NETの接続プールでは、ノード、サービスおよびサービス・メンバーが停止したことを示すFAN HA通知をサブスクライブできます。DOWNイベントが発生すると、そのインスタンスに送られる接続プール内のセッションはOracle Databaseによって削除され、ODP.NETは無効になった接続を事前対応的に削除します。無効な接続が削除されたことで、接続合計数がMin Pool Sizeパラメータの値を下回った場合、ODP.NETは、既存のOracle RACインスタンスへの追加の接続を確立します。

Oracle Database 12c以上に接続する場合、ODP.NETは、Advanced Queuingではなく、Oracle Notification Serviceを使用します。

FAN高可用性イベントをサブスクライブすることによって、ODP.NET接続プールの高速接続フェイルオーバーを有効にします。高速接続フェイルオーバーを有効にするには、次の例に示すとおり、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開発者ガイドfor Microsoft Windows』を参照してください。

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

Oracle Database 12c以上に接続する場合、ODP.NETは、Advanced Queuingではなく、Oracle Notification Serviceを使用します。

ODP.NETクライアントまたはアプリケーションを有効化して、FANロード・バランシング・アドバイザのイベントを受信するには、次の手順を実行します。

1. 次の例に示すとおり、SRVCTLを使用してOracle Notification Serviceの通知を有効にし、実行時ロード・バランシングの目標を設定します。

$ srvctl modify service -db crm -service odpapp.example.com
-notification TRUE -clbgoal LONG -rlbgoal SERVICE_TIME

2. Oracle Notification Service (ONS)をFANイベント(実行時ロード・バランシング・アドバイスなど)用に構成します。

3. 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の詳細は、『Oracle Data Provider for .NET開発者ガイドfor Microsoft Windows』を参照してください。NET

- このコマンドの使用の詳細は、「srvctl modify service」を参照してください

トランザクション・ガードを使用するためのODP.NETクライアントの構成

ODP.NETは、FANメッセージおよびトランザクション・ガードをサポートしています。FANは、ノード、データベース、インスタンス、サービスおよびパブリック・ネットワーク・レベルでの停止をODP.NETベースのアプリケーションに迅速に通知するように設計されています。障害の通知があると、アプリケーションはトランザクション・ガードを利用して、最後の処理中のトランザクションの結果を確実に判別できます。

トランザクション・ガードによって、ユーザーが不満を抱く不明なエラー、カスタマ・サポート・コールおよび機会損失のコストを削減します。トランザクション・ガードは、既知の結果に対する自社製のソリューションと比べて、より安全でパフォーマンスが良く、オーバーヘッドがより少なくなっています。

関連項目:

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

- 「サービスの管理」

- 「アプリケーション・コンティニュイティおよびトランザクション・ガードのサービスの作成」

- ODP.NETアプリケーションの詳細は、『Oracle Data Provider for .NET開発者ガイドfor Microsoft Windows』を参照してください。

Oracle RACの分散トランザクション処理

X/Open Distributed Transaction Processing(DTP)アーキテクチャは、複数のアプリケーション・プログラム(AP)が複数の異なるリソース・マネージャ(RM)から提供されるリソースを共有できるようにするための、標準のアーキテクチャまたはインタフェースを定義しています。APとRM間の作業を調整し、グローバル・トランザクションを実現します。

次の項では、Oracle RACがグローバル(XA)・トランザクションおよびDTP処理をサポートする方法について説明します。

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

- XAトランザクションに対するDTPサービスおよびXAアフィニティのメリット

- 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トランザクションは、Oracle RACデータベースにデプロイするための特別なタイプのシングルトン・サービスを必要としません。トランザクション・ブランチが一時停止されたか再開されたかをアプリケーションが判断できない場合は、アプリケーションは、DTPサービスを、または、できればXAアフィニティを引き続き使用する必要があります。

同じXAブランチを一時停止または再開する場合、あるいはブランチにわたってセーブポイントを使用する場合、XAアフィニティ(同じXAトランザクションのすべてのブランチを同じOracle RACインスタンスに配置すること)が要件になります。様々なトランザクションのバランスを取ることができるため、はるかに優れたパフォーマンスももたらされます。XAアフィニティは、Oracle WebLogic Server Active GridLink for Oracle RAC、JDBC Universal Connection PoolおよびOracle Tuxedoで使用できます。

注意:

数多くのトランザクション処理モニターには、XAアフィニティまたはDTPサービスが引き続き必要です。これらを使用するアプリケーションが同じブランチの一時停止および再開を行ったり、セーブポイントを使用するためです。

関連項目:

「XAトランザクションに対するDTPサービスおよびXAアフィニティのメリット」

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サービスおよびXAアフィニティのメリット

Oracle RACの分散トランザクション処理(DTP)を使用してアプリケーションのパフォーマンスを向上させるには、DTPサービスまたはXAアフィニティを利用します。DTPサービスを使用すると、分散トランザクションのすべてのブランチをクラスタ内のシングル・インスタンスに割り当てることができます。クラスタ全体でロード・バランスを実行するには、1つまたは2つの大きいアプリケーション・サーバーを使用するよりも、小さいアプリケーション・サーバーのグループをいくつか用意して、各グループ内でトランザクションを単一または一連のサービスに割り当てる方が効果的です。同じXAブランチを一時停止および再開する場合は、DTPまたはXAアフィニティが必要です。

また、Oracle RACデータベースの複数の接続にわたりロード・バランスを実行するアプリケーション・サーバー層の接続プールでは、XAアフィニティを使用して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 -db crm -service xa_01.example.com -preferred RAC01
-available RAC02,RAC03

ポリシー管理データベースの場合は、使用するサーバー・プールを指定して、サービスのカーディナリティをSINGLETONに設定します。次に例を示します。

$ srvctl add service -db crm -service xa_01.example.com -serverpool dtp_pool
-cardinality SINGLETON

2. サービスのDTPパラメータ(-dtp)をTRUEに設定します(デフォルト値はFALSEです)。Oracle Enterprise ManagerまたはSRVCTLを使用して、単一のサービスのDTPプロパティを変更できます。次の例では、SRVCTLを使用してxa_01.example.comサービスを変更する方法を示しています。

$ srvctl modify service -db crm -service xa_01.example.com -dtp TRUE

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

たとえば、XA_01など、分散トランザクション処理(DTP)サービスを提供するインスタンスに障害が発生した場合、サービスは、他のサービスと同じようにフェイルオーバーされます。セッションが存在するインスタンスは必ず1つのみであるという要件があるため、データベース・セッションの-f (強制停止)オプションが常に適用されます。

サービスが他のインスタンスに移行したら、使用可能なすべてのハードウェアで均等に負荷を再分散させるために、優先インスタンスにサービスを強制的に再配置する必要がある場合があります。GV$ACTIVE_SERVICESビューのデータを使用して、DTPサービスを再配置する必要があるかどうかを判断できます。

注意:

Oracle RAC 11gリリース1 (11.1)から、グローバル・トランザクションとXAアフィニティによってDTPサービスが不要になりました。XAデプロイメントのほとんどは、ロード・バランシングと柔軟性が向上するように、DTP属性ではなくグローバル・トランザクションとXAアフィニティを使用するようになっています。

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

自動ワークロード・リポジトリ(AWR)は、データベースのパフォーマンス統計値を収集、処理および保持します。収集されたデータは、レポートとビューに表示できます。データベースでサービスを使用すると、AWRはサービス・レベルでメトリックを追跡します。

メトリックは、時間、トランザクション、データベース・コールなど、様々な単位に対して測定できます。たとえば、データベース・コール/秒はメトリックです。サーバーによって生成されるアラートは、ユーザー指定のしきい値を超えたり、必要なしきい値に達しない場合、これらのメトリックに基づいて発行されます。その後で、データベースまたはシステム管理者は、次のように応答できます。

- 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パッケージおよびタイプ・リファレンス』を参照してください。

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

サービスを使用することで、より効果的なパフォーマンスのチューニングを行うことができます。サービスによって、ワークロードを認識して測定できるため、リソース使用量および待機時間をアプリケーションの属性として指定できます。すべてのセッションが匿名で共有されている多くのシステムでは、セッションおよびSQLを使用したチューニングのかわりに、サービスおよびSQLを使用したチューニングを実行します。

AWRでは、データベースで実行されているすべてのサービスと作業の応答時間、スループット、リソース使用量および待機イベントの情報など、パフォーマンス統計が保持されます。また、サービスのメトリック、統計、待機イベント、待機クラスおよびSQLレベルのトレースも保持されます。さらに、オプションとして、特定の統計を監視するためのモジュールをアプリケーションで定義して、これらの統計をカスタマイズできます。また、このモジュール内に、重要なビジネス・トランザクションで特定の統計値に応答して実行されるアクションを定義することもできます。

モジュールおよびアクションの監視を有効にするには、DBMS_MONITOR 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');
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE(service_name => 'hot_batch',
module_name =>'posting');

サービス、モジュールおよびアクションの監視が有効化されいてることを確認するには、次の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         erp                    payroll
SERVICE_MODULE         hot_batch              posting

サービスの管理

Oracle Enterprise ManagerおよびSRVCTLユーティリティを使用して、管理サービスを作成および管理できます。次の項では、これらのツールを使用して、サービスに関連するタスクを実行する方法について説明します。

この項には次のトピックが含まれます:

- サービスの管理の概要

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

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

注意:

DBMS_SERVICEパッケージを使用して、サービスとサービス属性を作成または変更することもできますが、このパッケージを使用して行われた設定は、SRVCTLによって上書きされます。DBMS_SERVICEパッケージは、Oracle RACデータベースが使用するサービスで使用したり、Oracle Restartの使用時やOracle Clusterwareによる単一インスタンス・データベースの管理時に使用することはお薦めしません。

サービスの管理の概要

サービスを作成して管理する場合、データベースで実行する作業を管理しやすい単位に分割します。サービスを使用する目的は、データベース・インフラストラクチャを最大限有効に利用することです。ビジネス要件に基づいて、サービスを作成およびデプロイできます。Oracle Databaseは各サービスのパフォーマンスを計測できます。DBMS_MONITORパッケージを使用すると、サービス内のアプリケーション・モジュールおよびモジュールの個別のアクションを両方定義して、これらのアクションのしきい値を監視できるようになり、これによってワークロードを管理して必要に応じて容量を供給することができます。

データベースに新しいサービスを作成した場合は、サービスごとに自動ワークロード管理の特性を定義する必要があります(「サービスの特性」を参照)。

関連項目:

- OracleクラスタでOracle Database QoS Managementを使用している場合、データベース・サービスの構成方法の詳細は、『Oracle Database Quality of Service Managementユーザーズ・ガイド』を参照してください。

- 詳細は、「Oracle RACのクライアントの有効化」を参照してください

サービスの作成に加えて、次の作業を実行できます。

- サービスの削除。作成したサービスは削除できます。ただし、Oracle Databaseで作成されたデフォルトのデータベース・サービスのプロパティは、削除したり、変更することはできません。

- サービスのステータスの確認。サービスは、使用可能インスタンスごとに別々のロールが割り当てられる場合があります。多くのサービスを使用する複雑なデータベースでは、すべてのサービスの詳細を把握しておくことは困難な場合があります。そのため、インスタンスごとまたはサービスごとにステータスの確認が必要になる場合があります。たとえば、特定のインスタンス、または特定のインスタンスを実行するOracleホームに変更を加える前に、このインスタンスのサービスのステータスの確認が必要な場合があります。

- データベースまたはインスタンスのサービスの起動および停止。インスタンスへのクライアント接続に使用するサービスは、事前に起動されている必要があります。たとえば、SRVCTLコマンドsrvctl stop database -d db_unique_nameを実行してデータベースを停止した場合(db_unique_nameは停止するデータベース名)、そのデータベースへのすべてサービスが停止されます。サービス管理ポリシーによっては、データベースの起動時にサービスを手動で再起動する必要がある場合があります。srvctl stop databaseおよびsrvctl stop serviceの両方のコマンドは、接続を強制的に切断する-forceオプションを受け入れます。計画済停止のセッションを排出する場合、-forceオプションは使用しません。

注意:

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で使用可能な機能とは直接関係ありません。また、このパラメータに値を設定した場合、サービスの使用によって得られるメリットが失われてしまう可能性があります。

- サービス・ステータス情報は、SRVCTLから、またはサービス関連データベース・ビュー(dba_servicesなど)から取得する必要があります。

- DISPATCHERS初期化パラメータを使用してサービスを指定する場合は、SERVICE_NAMESパラメータ内のすべてのサービスが無効になり、管理できなくなります。(たとえば、SRVCTLコマンドでサービスを停止すると、サービスに接続しているユーザーは停止されません。)

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

サービスに関連するタスクを開始する際の中心ページは、「クラスタ管理データベース・サービス」ページです。次のように、このページにアクセスします。

1. Oracle Enterprise Managerで、クラスタ・データベースのホームページに移動します。

関連項目:

Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

2. 「可用性」メニューから、「クラスタ管理データベース・サービス」を選択して、「クラスタ管理データベース・サービス」ページを表示します。

3. Oracle RACデータベースおよびホスト・オペレーティング・システムに対する資格証明を入力または確認し、「続行」をクリックして、「クラスタ管理データベース・サービス」ページを表示します。

「クラスタ管理データベース・サービス」ページで、ドリルダウンして次のタスクを実行できます。

- クラスタのサービス・リストの表示

- 現在、各サービスを実行しているインスタンスの表示

- ポリシー管理環境でサービスを提供するサーバー・プールおよびノードの表示

- 各サービスのステータスの表示

- サービスの作成および編集

- サービスの起動および停止

- サービスの有効化および無効化

- サービスのインスタンスレベルのタスクの実行

- サービスの削除

注意:

クラスタ・データベースへアクセスするには、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コマンドの詳細は、「サーバー制御ユーティリティのリファレンス」を参照してください

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

SRVCTLを使用してサービスを作成するには、コマンドラインでsrvctl add serviceコマンドを使用します。

関連項目:

このコマンドの使用方法の詳細は、「srvctl add service」を参照してください

アプリケーション・コンティニュイティおよびトランザクション・ガードのサービスの作成

アプリケーションでアプリケーション・コンティニュイティおよびトランザクション・ガードを使用する場合は、サービスを構成する必要があります。この項では、実装予定の機能に応じてこれらのアプリケーション・サービスを構成する方法について説明します。

アプリケーション・コンティニュイティのサービスの作成

アプリケーション・コンティニュイティのサービスを構成するには、SRVCTLを使用してサービスを作成する場合、-failovertypeパラメータをTRANSACTIONに設定し、-commit_outcomeをTRUEに設定します。また、アプリケーション・コンティニュイティおよびロード・バランシングのその他のサービス・パラメータに値を設定することもできます。

- -replay_init_time: リプレイが開始できる時間を秒単位で指定します。リプレイが開始されるまでに許可する時間に基づいて値を選択することをお薦めします。デフォルト値は300秒です。

- -retention: コミット結果情報がデータベース内に保持される時間(秒)を指定します。デフォルト値は86400 (1日)です。

- -session_state: COMMITが実行され後にそのトランザクションの状態が変更された場合、セッションが失われている場合はトランザクションをリプレイしてその状態を再確立することはできません。アプリケーション・コンティニュイティを構成する場合、アプリケーションは、初期設定後のセッション状態が動的であるか静的であるか、および要求内の過去のCOMMIT操作を継続するのが適切であるかどうかに応じて分類されます。

- 動的: (デフォルト)セッション状態の変更が初期化で完全にカプセル化されていない場合、およびフェイルオーバー時にコールバックで完全に取得できない場合、そのセッションは動的な状態です。要求内の最初のトランザクションがコミットされると、次の要求が開始されるまでフェイルオーバーは内部的に無効化されます。これは、ほとんどすべてのアプリケーションが要求に使用するデフォルト・モードです。

- 静的: (要求での特殊設定) NLS設定やPL/SQLパッケージの状態など、すべてのセッション状態の変更を初期化コールバックで繰り返すことができる場合、そのセッションは静的な状態です。この設定は、セッション状態を変更しないデータベース診断アプリケーションのみに使用されます。コールバックによって再確立できない非トランザクション状態変更がリクエスト内にある場合は、STATICを指定しないでください。どの状態を指定すればよいかがわからない場合は、DYNAMICを使用します。

- -failoverretry: 各接続試行に対する接続試行回数であり、推奨値は30です。

- -failoverdelay: 各接続試行間の遅延(秒単位)であり、推奨値は10です。

- -notification: FANは強く推奨されているため、この値をTRUEに設定して、OCIクライアントとODP.NetクライアントでFANを有効化します。

- -clbgoal: 接続ロード・バランシングの場合、実行時ロード・バランシングの使用時はSHORTを使用します。

- -rlbgoal: ランタイム・ロード・バランシングの場合は、SERVICE_TIMEに設定します。

ポリシー管理されたOracle RACデータベースに対してアプリケーション・コンティニュイティのサービスを作成するには、次のようなコマンドを使用しますが、racdbはOracle RACデータベースの名前を、app2は変更するサービスの名前を、そしてSvrpool1はサービスが提供されるサーバー・プールの名前を表します。

$ srvctl add service -db racdb -service app2 -serverpool Srvpool1
-failovertype TRANSACTION -commit_outcome TRUE -replay_init_time 1800
-retention 86400 -notification TRUE -rlbgoal SERVICE_TIME -clbgoal SHORT
-failoverretry 30 -failoverdelay 10

SRVCTLを使用してアプリケーション・コンティニュイティの既存のサービスを変更するには、次のようなコマンドを使用しますが、racdbは使用しているOracle RACデータベースの名前を、そしてapp1は変更するサービスの名前を表します。

$ srvctl modify service -db racdb -service app1 -clbgoal SHORT
-rlbgoal SERVICE_TIME -failoverretry 30 -failoverdelay 10
-failovertype TRANSACTION -commit_outcome TRUE -replay_init_time 1800
-retention 86400 -notification TRUE

トランザクション・ガードのサービスの作成

トランザクション・ガードは有効にするが、アプリケーション・コンティニュイティは有効にしない場合は、SRVCTLを使用してサービスを作成し、-commit_outcome TRUEのみを設定します。

SRVCTLを使用して、トランザクション・ガードを有効にするように既存のサービスを変更するには、次のようなコマンドを使用しますが、racdbは使用しているOracle RACデータベースの名前を、そしてapp2は変更するサービスの名前を表します。

$ srvctl modify service -db racdb -service app2 -commit_outcome TRUE
-retention 86400 -notification TRUE

前述の例では、-retentionパラメータは、履歴を保持する時間(秒単位)を指定しています。また、–notificationパラメータはTRUEに設定され、FANイベントを有効化しています。

トランザクション・ガードを使用するには、DBAは次のように権限を付与する必要があります。

GRANT EXECUTE ON DBMS_APP_CONT;

関連項目:

アプリケーションでトランザクション・ガードを使用する方法の詳細は、『Oracle Database開発ガイド』を参照してください。

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

アプリケーションがサーバーを使用して接続するために、サービスを起動する必要があります。停止したサービスは、一時的に使用できなくなりますが、引き続き自動再起動およびフェイルオーバーの対象となっています。

サービスを起動または停止するには、コマンドラインで次のSRVCTL構文を入力します。

$ srvctl start service -db db_unique_name [-service service_name_list]
[-instance inst_name] [-startoption start_options]

$ srvctl stop service -db db_unique_name -service service_name_list
[-instance inst_name] [-startoption start_options]

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

サービスを無効化にすると、Oracle Clusterwareは、そのサービスを自動起動、フェイルオーバーまたは再起動の対象とみなさなくなります。アプリケーション・メンテナンスを実行する場合は、そのメンテナンス操作が完了するまでサービスを無効化にすることで、Oracle Clusterwareが誤ってサービスを再起動しないようにできます。再び通常操作でサービスを使用できるようにするには、サービスを有効化します。

サービスを有効化および無効化するには、コマンドラインから次のSRVCTL構文を使用します。

$ srvctl enable service -db db_unique_name -service service_name_list
[-instance inst_name]

$ srvctl disable service -db db_unique_name -service service_name_list
[-instance inst_name]

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

サービスを再配置するには、コマンドラインからsrvctl relocate serviceを実行します。このコマンドを使用するのは、サービスが使用可能インスタンスにフェイルオーバーしたが、そのインスタンスの再起動後に、優先インスタンスにサービスを移動させたい場合です。

次のコマンドを実行すると、crmサービスがインスタンスapps1からインスタンスapps3に再配置されます。

$ srvctl relocate service -db apps -service crm -oldinst apps1 -newinst apps3

次のコマンドを実行すると、ノード構文を使用してcrmサービスがnode1からnode3に再配置されます。

$ srvctl relocate service -db apps -service crm -currentnode node1
-targetnode node3

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

サービスのステータスを取得するには、コマンドラインからsrvctl status serviceコマンドを実行します。たとえば、次のコマンドを実行すると、appsデータベースで実行中のサービスのステータスが戻されます。

$ srvctl status service -db 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 -db apps -service erp

Service name: erp
Service is enabled
Server pool: pool1
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: true
Global: false
Commit Outcome: true
Failover type: TRANSACTION
Failover method: NONE
TAF failover retries: 30
TAF failover delay: 10
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: SERVICE_TIME
TAF policy specification: NONE
Edition:
Pluggable database name:
Maximum lag time: ANY
SQL Translation Profile:
Retention: 86400 seconds
Replay Initiation Time: 1800 seconds
Session State Consistency: STATIC
Preferred instances: apps
Available instances:

関連項目:

SRVCTLを使用して実行可能なその他の管理タスクの詳細は、「サーバー制御ユーティリティのリファレンス」を参照してください

グローバル・サービス

Oracle RACはデータベース・サービスをサポートし、単一クラスタ内のインスタンス間でのサービスレベル・ワークロード管理を有効にします。グローバル・サービスでは、共有サービスを提供する一連のレプリケート・データベースに動的ロード・バランシング、フェイルオーバーおよびサービスの集中管理を提供します。この一連のデータベースには、Oracle Data Guard、Oracle GoldenGateまたはその他のレプリケーション・テクノロジによって相互接続されたOracle RACおよび非クラスタOracle Databaseが含まれる場合があります。

グローバル・サービスを作成および使用する場合は、次のワークロード管理機能を使用できます。

- 優先データベースおよび使用可能なデータベースをグローバル・サービスに指定する機能

- レプリケーション・ラグの処理

- クライアントとサーバー間の地理的アフィニティ

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

- ランタイム・ロード・バランシング

- 内部データベース・サービス・フェイルオーバー

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

- 接続時フェイルオーバー

- アプリケーション・コンティニュイティ

- トランザクション・ガード

- 既存のクライアントとの下位互換性

注意:

SRVCTLを使用してOracle RACデータベース内のグローバル・サービスのインスタンス配置を管理できますが、GDSCTLを使用する場合は他のグローバル・サービス属性のみを管理できます。

関連項目:

グローバル・サービスの構成および使用の詳細は、Oracle Databaseグローバル・データ・サービス概要および管理ガイドを参照してください。

サービスへの接続: 例

次の例では、サービスを作成する方法を示し、次に異なるクライアント・メソッドを使用してこのサービスに接続するいくつかの例を示します。

この例では、ランタイム・ロード・バランシングで、サービスが次のように有効になっています。

- サービス名: HR.example.com

- CRMという名前のデータベース上で実行されています。

- システムは4つのノードで構成されています。

- -rlbgoalパラメータの値としてSERVICE_TIMEを指定します。

- リスナーのSCANアドレスはrws3010104-scan.example.comです。

- リスナー・ポートは1585です。

サービスのカーディナリティは2ですが、必要な場合は、任意のCRMデータベース・インスタンスによって提供できます。サービス構成は、次のとおりです。

- 優先インスタンス: CRM1、CRM2

- 使用可能なインスタンス: CRM3、CRM4

- -clbgoalパラメータの値としてSHORTを指定します。

このサービスを使用するアプリケーションはアプリケーション・コンティニュイティを利用するため、-failovertypeおよび-commit_outcomeを設定する必要があります。デフォルトの保存パラメータを使用しますが、接続試行間に10秒の遅延を設定し、接続取得の失敗まで最大40回の再試行を設定します。

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

次のように、SRVCTLを使用してHRサービスを作成します。

$ srvctl add service –db CRM –service HR.example.com –preferred CRM1,CRM2
–available CRM3,CRM4 –clbgoal SHORT –failovertype TRANSACTION
–commit_outcome TRUE –failoverdelay 10 –failoverretry 40

次のように、HR.example.comサービスを起動します。

$ srvctl start service –db CRM –service HR.example.com

このサービスは、最大2つのインスタンス上で使用できるようになり、CRM1およびCRM2が優先インスタンスです。

JDBCアプリケーションからHRサービスへの接続

この例では、HRサービスに接続するアプリケーションは、JDBC thinドライバでJDBC Universal Connection Poolを使用するJDBCアプリケーションです。

この例では、URLは、データベース指定子にthinスタイルのサービス名形式を指定して構築されます。高速接続フェイルオーバーが有効化され、リモートOracle Notification Serviceが構成され、クラスタ上のOracle Notification Serviceデーモンはポート6200でリスニングします。

//import packages and register the driver
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.ucp.jdbc.PoolDataSourceFactory;
import oracle.ucp.jdbc.PoolDataSource;

PoolDataSource  pds = PoolDataSourceFactory.getPoolDataSource();

//set the connection properties on the data source.
pds.setConnectionPoolName("FCFPool");
pds.setFastConnectionFailoverEnabled(true);
pds.setONSConfiguration("nodes=rws3010104-scan.example.com:6200");
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setURL("jdbc:oracle:thin:@//rws3010104-scan.example.com:1585/HR.example.com");
pds.setUser("HR");
pds.setPassword("hr");

//Override any pool properties.
pds.setInitialPoolSize(5);

//Get a database connection from the datasource.

Connection conn = pds.getConnection();

// do some work

//return connection to pool
conn.close();
conn=null

関連項目:

JDBCにUniversal Connection Poolを使用する方法の詳細は、『Oracle Universal Connection Pool for JDBC開発者ガイド』を参照してください。

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を自動的にリストアすることもできます。

注意:

SQL*Plus ALTER DATABASEコマンドを使用して制御ファイルをバックアップする場合は、すべてのノードによって共有されるデバイスで制御ファイルのバックアップを作成することも必要となります。

これらの機能は、リカバリ・カタログがない場合でも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ログのファイル名は、RMANによって再同期化の実行時にリカバリ・カタログにも記録されます。

あるノードが特定のファイル名でログをファイル・システムに書き込む場合、このアーカイブ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ログの順序番号が欠落している最初の地点まで不完全リカバリを実行する必要があります。このスキームのために特定の構成を使用する必要はありません。ただし、バックアップ処理を複数のノードに分散する最も簡単な方法は、「バックアップおよびリカバリの管理」のバックアップの例に示すとおり、チャネルを構成することです。

注意:

非クラスタの場合は異なるファイル・システムが使用されるため、アーカイブ・ログ・ディレクトリは各ノードで一意である必要があります。たとえば、/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を既存クラスタのノードに拡張するには、「クローニングを使用した同じクラスタのノードへの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 Cloud 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 RACのクローニングに使用する手順について理解してください。

準備フェーズでは、Oracleホームのコピーを作成し、次にそのコピーを使用して1つ以上のノードでクローニング手順を実行します。Oracle Clusterwareもインストールします。

Oracle RACのインストール

ご使用のプラットフォーム用の『Oracle Real Application Clustersインストレーション・ガイド』の詳細な手順に従って、Oracle RACソフトウェアおよびパッチをインストールします。

1. Oracle RACをインストールし、ソフトウェアのみインストール・オプションを選択します。

2. リリースに必要なレベル(12.1.0.nなど)のパッチを適用します。

3. 必要に応じて、1回限りのパッチを適用します。

関連項目:

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

ソース・ホームのバックアップの作成

Oracle RACホームのコピーを作成します。このファイルを使用して、クラスタ内の各ノードにOracle RACホームをコピーします。

バックアップ(tar)ファイルを作成する場合は、ファイルの名前にリリース番号を含めることをお薦めします。次に例を示します。

# cd /opt/oracle/product/12c/db_1
# tar –zcvf /pathname/db1120.tgz .

関連項目:

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

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. ご使用のプラットフォームに固有のOracle RACインストール・ガイドの説明に従い、次のようなOracle RACのインストール前のタスクを実行して新しいクラスタ・ノードを準備します。

- カーネル・パラメータを指定します。

- Oracle Clusterwareがアクティブであることを確認します。

- Oracle ASMがアクティブであり、少なくとも1つのOracle ASMディスク・グループが存在し、マウント済であることを確認します。

2. 次のように、Oracle RACデータベース・ソフトウェアをデプロイします。

a. Oracleホームのクローンをすべてのノードにコピーします。次に例を示します。

[root@node1 root]# mkdir -p /opt/oracle/product/12c/db
[root@node1 root]# cd /opt/oracle/product/12c/db
[root@node1 db]# tar –zxvf /path_name/db1120.tgz

ホームの位置とpath_nameの指定では、ホームの位置を、tarの作成に使用したソース・ホームと同じディレクトリ・パスにすることも、異なるディレクトリ・パスにすることもできます。

b. oracleユーザーまたはoinstallグループ(あるいはその両方)が、ソース・ノードと宛先ノード間で異なる場合は、次のように、Oracle Inventoryファイルの所有権を変更します。

[root@node1]# chown -R oracle:oinstall /opt/oracle/product/12c/db

Oracle RACホームで前述のコマンドを実行すると、Oracleバイナリからsetuidとsetgidの情報が消去されます。

注意:

この手順は、各クラスタ・ノードでclone.plスクリプトおよび$ORACLE_HOME/root.shスクリプトを実行する手順3および4と同時に実行できます。

3. 次のように、主なOracle RACクローニング・タスクを実行するclone.plスクリプトを各ノードで実行します。

a. 表8-2および表8-3に示すように、start.shスクリプトに環境変数とクローニング・パラメータを指定します。clone.plスクリプトでは、渡されるパラメータが厳密に識別されるため、括弧、一重引用符および二重引用符を正確に使用する必要があります。

b. oracleまたはOracle RACソフトウェアを所有するユーザーとしてスクリプトを実行します。

次の表に、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フラグを指定できます。このパラメータは省略可能です。

ORACLE_HOME_USER=Oracle_home_user

Windowsサービス用のOracleホーム・ユーザー。このパラメータはWindowsにのみ適用でき、オプションです。

OSDBA_GROUP=group_name

OSDBA権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータは省略可能です。

OSOPER_GROUP=group_name

OSOPER権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータは省略可能です。

OSASM_GROUP=group_name

OSASM権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータは省略可能です。

OSBACKUPDBA_GROUP=group_name

OSBACKUPDBA権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータは省略可能です。

OSDGDBA_GROUP=group_name

OSDGDBA権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータは省略可能です。

OSKMDBA_GROUP=group_name

OSKMDBA権限が付与されたグループとして使用するオペレーティング・システム・グループを指定します。このパラメータは省略可能です。

-debug

このオプションは、clone.plスクリプトをデバッグ・モードで実行する場合に指定します。

-help

このオプションは、clone.plスクリプトのヘルプを表示する場合に指定します。

関連項目:

プラットフォーム用の前述の表に表示されたオペレーティング・システム・グループの詳細は、『Oracle Real Application Clustersインストレーション・ガイド』を参照してください。

次の例に、clone.plスクリプトをコールするstart.shスクリプトからの抜粋を示します。

ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/12c/db
cd $ORACLE_HOME/clone
THISNODE='host_name'

E01=ORACLE_HOME=/opt/oracle/product/12c/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

次の表に、前の例に太字で示されている環境変数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ベース・ディレクトリの位置。

次の表に、前の例に太字で示されているクローニング・パラメータC01およびC02とその説明を示します。

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

変数

名前

パラメータ

説明

C01

クラスタ・ノード

CLUSTER_NODES

クラスタ内のノードのリストを表示します。

C02

ローカル・ノード

LOCAL_NODE

ローカル・ノードの名前。

次の例に、ユーザーが作成する必要があり、clone.plスクリプトをコールするstart.batスクリプトからの抜粋を示します。

set ORACLE_home=C:\oracle\product\12c\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="CLUSTER_NODES={node1,node2}"
set C02="-O LOCAL_NODE=%THISNODE%"
perl clone.pl %E01% %E02% %E03% %C01% %C02%

4. 注意:

この手順は、LinuxおよびUNIXのインストールに対してのみ実行します。

ノードでclone.plプロシージャが完了した後、すぐにrootオペレーティング・システム・ユーザーとして$ORACLE_HOME/root.shを実行します。

[root@node1 root]# /opt/oracle/product/12c/db/root.sh -silent

各ノードでスクリプトを同時に実行できます。

[root@node2 root]# /opt/oracle/product/12c/db/root.sh -silent

各ノードでスクリプトが完了していることを確認し、次の手順に進みます。

5. 注意:

すべてのノードの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/12c/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を新規クラスタのノードに追加する場合は、「新規クラスタのノードへの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

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 -O "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ホームの名前で、-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 [-cfs -noConfig]

注意:

このコマンドの内容は次のとおりです。

- -cfsおよび-noConfigオプションは、Oracle RACを含む共有Oracle Databaseホームに使用します。

- ORACLE_HOME_NAMEパラメータの値は、クローニングするノードの値である必要があります。

3. 既存ノードで、$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}"

4. それぞれの新規ノードで、$ORACLE_HOMEディレクトリに移動し、次のコマンドを実行します。

./root.sh

5. クローニングしたノードから、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ベース・ディレクトリ、user_nameはクローニングされるOracleホームのOracleホーム・ユーザー(管理者以外のユーザー)の名前、existing_nodeは既存のノードの名前、new_nodeは新規ノードの名前です)。

perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base
ORACLE_HOME_NAME=Oracle_Home_Name ORACLE_HOME_USER=user_name
-O 'CLUSTER_NODES={existing_node,new_node}'
-O LOCAL_NODE=new_node

Oracle RACを含む共有Oracle Databaseホームがある場合は、コマンドに-cfsオプションを追加し、Oracleホームが共有されていることを示します。次に例を示します。

perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base
ORACLE_HOME_NAME=Oracle_Home_Name ORACLE_HOME_USER=user_name
-O 'CLUSTER_NODES={existing_node,new_node}' -O LOCAL_NODE=new_node
[-cfs -noConfig]

注意:

- セキュアなOracleホームをクローニングする場合にのみ、ORACLE_HOME_USERが必須です。

- -cfsおよび-noConfigオプションは、Oracle RACを含む共有Oracle Databaseホームに使用します。

- ORACLE_HOME_NAMEパラメータの値は、クローニングするノードの値である必要があります。ORACLE_HOME_NAMEを取得するには、HKEY_LOCAL_MACHINE\SOFTWARE\oracle\KEY_OraCRs12c_home1の下のORACLE_HOME_NAMEパラメータ・キーを、クローニングするノードのレジストリで検索します。

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インストールを作成する場合は、「新規クラスタのノードへの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ガイド』を参照してください。

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

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

この手順を開始する前に、既存ノードのGrid_homeへのパスが正しいこと、および$ORACLE_HOME環境変数がOracle RACホームに設定されていることを確認します。

関連項目:

クラスタの新規ノードへのOracle Clusterwareホームの拡張の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- ローカル(非共有)のOracleホームを使用している場合は、クラスタの既存のノード(この手順ではnode1)にあるOracle RACデータベース・ホームをターゲット・ノード(この手順ではnode3)に拡張する必要があります。
node1のOracle_home/addnodeディレクトリに移動し、addnode.shスクリプトを実行します。

サイレント・インストールを実行する場合は、次の構文を使用してaddnode.shスクリプトを実行します。

$ ./addnode.sh -silent "CLUSTER_NEW_NODES={node3}"

- Oracle Automatic Storage Management Cluster File System (Oracle ACFS)を使用して共有されている共有Oracleホームを持つ場合は、次の手順を実行し、Oracle Databaseホームをnode3に拡張します。

1. rootとしてGrid_home/binディレクトリから次のコマンドを実行して、新しいノードでOracle ACFSリソースを起動します。

# srvctl start filesystem -device volume_device [-node node_name]

注意:

Oracleホームが格納されているOracle ACFSレジストリ・リソースおよびOracle ACFSファイル・システム・リソースを含むOracle ACFSリソースが、新しく追加されたノードでオンラインであることを確認します。

2. Oracle RACをインストールしたユーザーとして、追加したノードのOracle_home/oui/binディレクトリから次のコマンドを実行し、Oracle RACデータベース・ホームを追加します。

$ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER_NODES={node3}"
LOCAL_NODE="node3" ORACLE_HOME_NAME="home_name" -cfs

3. node1のOracle_home/addnodeディレクトリに移動し、次の構文を使用してOracle RACをインストールしたユーザーとしてaddnode.shスクリプトを実行します。

$ ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}"

注意:

宛先ノードのOracleホームはすでにソフトウェアに完全に移入されているため、-noCopyオプションを使用します。

- Oracle ACFS以外の共有ファイル・システムで共有Oracleホームを持つ場合は、まずターゲット・ノードでOracle RACデータベース・ホームのマウント・ポイントを作成し、Oracle RACデータベース・ホームをマウントおよびアタッチし、次のようにOracle Inventoryを更新します。

1. クラスタ内の既存ノードでsrvctl config database -db db_nameコマンドを実行して、マウント・ポイント情報を取得します。

2. 次のコマンドをrootとしてnode3で実行し、マウント・ポイントを作成します。

# mkdir -p mount_point_path

3. Oracle RACデータベース・ホームをホストするファイル・システムをマウントします。

4. Oracle RACをインストールしたユーザーとして、追加したノードのOracle_home/oui/binディレクトリから次のコマンドを実行し、Oracle RACデータベース・ホームを追加します。

$ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER
_NODES={local_node_name}" LOCAL_NODE="node_name" ORACLE_HOME_NAME="home_name"

5. Oracle RACをインストールしたユーザーとして、次のようにOracle Inventoryを更新します。

$ ./runInstaller -updateNodeList ORACLE_HOME=mount_point_path "CLUSTER_NODES={node_list}"

前述のコマンドで、node_listはOracle RACデータベース・ホームがインストールされたすべてのノード(追加したものも含む)のリストです。

rootとして、node3でOracle_home/root.shスクリプトを実行します。

注意:

ノード追加プロセスの終了後は、OCRをバックアップすることをお薦めします。

これで、次の項のいずれかの手順を使用して、ターゲット・ノードにOracle RACデータベース・インスタンスを追加できます。

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

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

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

ポリシー管理データベースを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データベース・インスタンスを追加する方法について説明します。

これらのツールは、次のタスクをガイドします。

- 各ターゲット・ノードでの新規データベース・インスタンスの作成

- 高可用性コンポーネントの作成および構成

- Oracleホームからのデフォルト以外のリスナー用のOracle Net構成の作成

- 新規インスタンスの起動

- サービス構成ページでサービス情報を入力した場合、サービスの作成および起動

ターゲット・ノードにインスタンスを追加した後で、「動的データベース・サービスによるワークロード管理」の説明に従って、必要なサービス構成手順を実行する必要があります。

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

対話モードでDBCAを使用してターゲット・ノードにデータベース・インスタンスを追加するには、次の手順を実行します。

1. 既存ノードの$ORACLE_HOME環境変数がOracle RACホームに設定されていることを確認します。

2. Oracle_home/binディレクトリから、システム・プロンプトでdbcaを入力してDBCAを起動します。
DBCAの実行中に、CVUの特定のチェックが実行されます。ただし、コマンドラインからCVUを実行して、様々な検証を実行することもできます。

関連項目:

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

DBCAにOracle RAC用の「ようこそ」ページが表示されます。DBCAの各ページで「ヘルプ」をクリックすると、追加情報を参照できます。

3. 「インスタンス管理」を選択して「次へ」をクリックすると、DBCAによって「インスタンス管理」ページが表示されます。

4. 「インスタンスの追加」を選択し、「次へ」をクリックします。DBCAによって「クラスタ・データベースのリスト」ページが表示され、データベースおよび現在のステータス(ACTIVEやINACTIVEなど)が表示されます。

5. 「クラスタ・データベースのリスト」ページで、インスタンスを追加するアクティブなOracle RACデータベースを選択します。「次へ」をクリックすると、DBCAによって選択したOracle RACデータベースの既存のインスタンスの名前を示す「クラスタ・データベース・インスタンスのリスト」ページが表示されます。

6. 新規インスタンスを追加するには、「次へ」をクリックします。DBCAによって「インスタンスの追加」ページが表示されます。

7. 「インスタンスの追加」ページで、DBCAに表示されるインスタンス名が既存のインスタンス名スキームと合致しない場合には、このページの一番上のフィールドにインスタンス名を入力します。

8. 「サマリー」ダイアログ・ボックスに表示された情報を確認し、「OK」をクリックするか、またはインスタンス追加操作を終了する場合は「取消」をクリックします。DBCAがインスタンス追加操作を実行中であることを示す進捗ダイアログ・ボックスが表示されます。

9. DBCAセッションの終了後、次のコマンドを実行して、ターゲット・ノードでの管理権限を確認し、それらの権限に関する詳細情報を取得します(nodelistは、データベース・インスタンスを追加したノードの名前で構成されます)。

cluvfy comp admprv -o db_config -d Oracle_home -n nodelist [-verbose]

10. 「動的データベース・サービスによるワークロード管理」で説明したように、必要なサービス構成手順を実行します。

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

DBCAのサイレント・モードを使用して、Oracle ClusterwareホームおよびOracle Databaseホームを拡張したノードにインスタンスを追加できます。dbcaコマンドを実行する前に、既存ノードでORACLE_HOME環境変数が正しく設定されていることを確認します。表10-1に示す変数に値を指定して、DBCAを実行します。

dbca -silent -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ユーザーのパスワード。

「動的データベース・サービスによるワークロード管理」で説明したように、必要なサービス構成手順を実行します。

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

クラスタ・ノードからOracle RACを削除するには、データベース・インスタンスおよびOracle RACソフトウェアを削除した後で、クラスタからそのノードを削除する必要があります。

注意:

削除するノードにデータベース・インスタンスがない場合は、「Oracle RACの削除」に進みます。

この項では、次の手順を実行して、Oracle RAC環境のクラスタからノードを削除します。

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

- Oracle RACの削除

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

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

データベース・インスタンスの削除手順は、ポリシー管理データベースと管理者管理データベースとで異なります。ポリシー管理データベース・インスタンスを削除すると、データベース・インスタンスが存在するサーバー・プールのサーバーの数が減少します。管理者管理データベース・インスタンスの削除では、DBCAを使用したデータベース・インスタンスの削除が必要です。

ポリシー管理データベースを削除するには、データベース・インスタンスが存在するサーバーを別のサーバー・プールに再配置することで、データベース・インスタンスが存在するサーバー・プールのサーバーの数を減らします。この操作によって、ノードから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を使用して次の操作を実行します。

- サービスが構成されている場合は、サービスを再配置します。

- 各サービスを残りのインスタンスの1つで実行できるように、サービスを変更します。

- 管理者管理データベースから削除されるインスタンスが、何らかのサービスの優先インスタンスまたは使用可能インスタンスではないことを確認します。

関連項目:

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

この項の手順では、対話モードでDBCAを使用してOracle RACデータベースからインスタンスを削除する方法について説明します。

関連項目:

Oracle Enterprise Managerを使用してターゲット・ノードからデータベース・インスタンスを削除する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

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

対話モードでDBCAを使用してインスタンスを削除するには、次の手順を実行します。

1. DBCAを起動します。
削除するインスタンスを保持しているノード以外のノードで、DBCAを起動します。削除するデータベースおよびインスタンスは、この手順の間、実行し続けている必要があります。

2. DBCAの「操作」ページで「インスタンス管理」を選択し、「次へ」をクリックします。DBCAによって「インスタンス管理」ページが表示されます。

3. DBCAの「インスタンス管理」ページで、削除するインスタンスを選択し、「インスタンスの削除」を選択し、「次へ」をクリックします。

4. 「クラスタ・データベースのリスト」ページで、次のように、インスタンスを削除するOracle RACデータベースを選択します。

a. この「クラスタ・データベース・インスタンスのリスト」ページには、DBCAによって選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。インスタンスを削除するクラスタ・データベースを選択します。

b. 「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスの削除を続行します。
DBCAがインスタンスを削除していることを示す進捗ダイアログ・ボックスが表示されます。この操作の中で、DBCAはインスタンスとそのインスタンスのOracle Net構成を削除します。

DBCAを終了する場合は「いいえ」を、別の操作を実行する場合は「はい」をクリックします。「はい」をクリックすると、DBCAによって「操作」ページが表示されます。

5. 既存ノードでSQL*Plusを使用してGV$LOGビューを問い合せ、削除したインスタンスのREDOスレッドが削除されていることを確認します。REDOスレッドが無効になっていない場合は、スレッドを無効にします。次に例を示します。

SQL> ALTER DATABASE DISABLE THREAD 2;

6. 次のコマンドを実行して、OCRからインスタンスが削除されていることを確認します(db_unique_nameはOracle RACデータベースの一意のデータベース名です)。

srvctl config database -d db_unique_name

7. 複数のノードを削除する場合は、この手順を繰り返し、削除するすべてのノードからインスタンスを削除します。

サイレント・モードでの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

注意:

共有Oracle RACホームがある場合、前述のコマンドに-cfsオプションを追加し、クラスタ・ファイル・システムの場所への完全なパスを指定します。

3. Oracle_home\deinstallディレクトリから次のコマンドを実行することによって、削除するノードからOracleホームをアンインストールします(Oracleホームが共有されていない場合のみ)。

deinstall -local

注意:

Oracleホームが共有されている場合、共有ソフトウェアを削除してしまうため、このコマンドは実行できません。そのかわり、次の手順に進みます。

4. クラスタ内の残りのノードのいずれかの$ORACLE_HOME/oui/binディレクトリから次のコマンドを実行して、これらのノードのインベントリを更新します。コマンドには、残りのノード名のカンマ区切りリストおよびローカル・ノードの名前を指定します。

$ ./runInstaller -updateNodeList ORACLE_HOME=Oracle_home_location
"CLUSTER_NODES={remaining_node_list}" LOCAL_NODE=local_node_name

注意:

- すべてのノードに、Oracle Flex Clusterにインストールされたデータベース・ソフトウェアが含まれていないので、remaining_node_listにはインストールされたデータベース・ソフトウェア・ホームを含むノードのみがリストされるはずです。

- 共有Oracle RACホームがある場合、この手順のコマンド例に-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インストールを作成する場合は、「新規クラスタのノードへのOracle RACのクローニング」に示すクローニング手順に従います。

この章の内容は次のとおりです。

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

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

注意:

- ocrconfig -showbackupコマンドを実行してOracle RACの追加または削除を行う前に、Oracle Cluster Registry(OCR)の現行のバックアップがあることを確認してください。

- ノードの追加とノードの削除のすべての手順で、%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\addnodeディレクトリに移動し、次の構文を使用してaddnode.batスクリプトを実行します(ここで、node2は追加するノードの名前です)。

addnode.bat "CLUSTER_NEW_NODES={node2}"

このコマンドをサイレント・モードで実行するには、次の手順を実行します。

addNode.bat -silent "CLUSTER_NEW_NODES={node2}"

使用するOracleホーム・ディレクトリで、Oracle DatabaseソフトウェアをインストールしたときにOracleホーム・ユーザーを指定した場合、OUIではOracleホーム・ユーザーのパスワードが必要になります。OUIは、ユーザーの(OCRに格納されている)ウォレットをチェックし、そこからパスワードを抽出します。ユーザー情報がウォレットに含まれていない場合は、コマンドラインで-promptPasswdフラグを指定しないかぎり、addnode.batスクリプトによってエラーが生成されます。

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 Automatic Storage Management Cluster File System (Oracle ACFS)を使用して共有されている共有Oracleホームを持つ場合は、次の手順を実行し、Oracle Databaseホームをnode2に拡張します。

1. rootとしてGrid_home\binディレクトリから次のコマンドを実行して、新しいノードでOracle ACFSリソースを起動します。

srvctl start filesystem -d volume_device_name [-n node_name]

注意:

Oracleホームが格納されているOracle ACFSレジストリ・リソースおよびOracle ACFSファイル・システム・リソースを含むOracle ACFSリソースが、新しく追加されたノードでオンラインであることを確認します。

2. Oracle RACをインストールしたユーザーとして、追加したノードのOracle_home\oui\binディレクトリから次のコマンドを実行し、Oracle RACデータベース・ホームを追加します。

setup.exe -attachHome ORACLE_HOME="ORACLE_HOME" LOCAL_NODE="node2"
ORACLE_HOME_NAME="home_name" -cfs

3. node1のOracle_home\addnodeディレクトリに移動し、次の構文を使用してOracle RACをインストールしたユーザーとしてaddnode.batスクリプトを実行します。

addnode.bat -noCopy "CLUSTER_NEW_NODES={node2}"

注意:

宛先ノードのOracleホームはすでにソフトウェアに完全に移入されているため、-noCopyオプションを使用します。

Oracle ACFS以外の共有ファイル・システムで共有Oracleホームを持つ場合は、まずターゲット・ノードでOracle RACデータベース・ホームのマウント・ポイントを作成し、Oracle RACデータベース・ホームをマウントおよびアタッチし、次のようにOracle Inventoryを更新します。

1. クラスタ内の既存ノードでsrvctl config database -db db_nameコマンドを実行して、マウント・ポイント情報を取得します。

2. Oracle RACデータベース・ホームをホストするファイル・システムをマウントします。

3. Oracle RACをインストールしたユーザーとして、追加したノードのOracle_home\oui\binディレクトリから次のコマンドを実行し、Oracle RACデータベース・ホームを追加します。

setup.exe -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER
_NODES={local_node_name}" LOCAL_NODE="node_name" ORACLE_HOME_NAME="home_name"

4. Oracle RACをインストールしたユーザーとして、次のようにOracle Inventoryを更新します。

setup.exe -updateNodeList ORACLE_HOME=mount_point_path "CLUSTER_NODES={node_list}"

前述のコマンドで、node_listはOracle RACデータベース・ホームがインストールされたすべてのノード(追加したものも含む)のリストです。

注意:

ノード追加プロセスの終了後は、投票ディスクおよびOracle Cluster Registry(OCR)ファイルをバックアップすることをお薦めします。

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

Oracle Enterprise ManagerまたはDBCAを使用して、Oracle RACデータベース・インスタンスをターゲット・ノードに追加できます。Oracle Enterprise Managerを使用してターゲット・ノードにデータベース・インスタンスを追加する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

この項では、DBCAを使用してOracle RACデータベース・インスタンスを追加する方法について説明します。

これらのツールは、次のタスクをガイドします。

- 各ターゲット・ノードでの新規データベース・インスタンスの作成

- 高可用性コンポーネントの作成および構成

- Oracleホームからのデフォルト以外のリスナー用のOracle Net構成の作成

- 新規インスタンスの起動

- サービス構成ページでサービス情報を入力した場合、サービスの作成および起動

ターゲット・ノードにインスタンスを追加した後で、「動的データベース・サービスによるワークロード管理」の説明に従って、必要なサービス構成手順を実行する必要があります。

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

対話モードでDBCAを使用してターゲット・ノードにデータベース・インスタンスを追加するには、次の手順を実行します。

1. 既存ノードのOracleホーム環境変数が正しく設定されていることを確認します。

2. 既存ノードのOracle_home\binディレクトリから、システム・プロンプトでdbcaを入力してDBCAを起動します。
DBCAの実行中に、CVUの特定のチェックが実行されます。ただし、コマンドラインからCVUを実行して、様々な検証を実行することもできます。

関連項目:

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

3. 「データベース操作」ページで、「インスタンス管理」を選択し、「次へ」をクリックすると、DBCAには「インスタンス管理」ページが表示されます。

4. 「インスタンスの追加」を選択し、「次へ」をクリックします。DBCAによって「クラスタ・データベースのリスト」ページが表示され、データベースおよび現在のステータス(ACTIVEやINACTIVEなど)が表示されます。

5. 「クラスタ・データベースのリスト」ページで、インスタンスを追加するアクティブなOracle RACデータベースを選択します。「次へ」をクリックすると、DBCAによって選択したOracle RACデータベースの既存のインスタンスの名前を示す「クラスタ・データベース・インスタンスのリスト」ページが表示されます。

6. 新規インスタンスを追加するには、「次へ」をクリックします。DBCAによって「インスタンスの追加」ページが表示されます。

7. 「インスタンスの追加」ページで、DBCAに表示されるインスタンス名が既存のインスタンス名スキームと合致しない場合には、このページの一番上のフィールドにインスタンス名を入力します。次に、リストから新しいノード名を選択します。

注意:

「Oracleホーム・ユーザー」オプションとともにOracleホームをインストールした場合、DBCAによって、このページでパスワードが求められます。

8. 「サマリー」ページの情報を確認し、「終了」をクリックしてインスタンス追加操作を開始します。DBCAがインスタンス追加操作を実行中であることを示す進捗ダイアログ・ボックスが表示されます。

OraMTS Service for Microsoft Transaction Serverの作成

Oracle Services for Microsoft Transaction Server (OraMTS)を使用すると、Microsoftアプリケーションで調整されるトランザクション内で、リソース・マネージャとしてOracle Databaseを使用できます。OraMTSは、Microsoft分散トランザクション・コーディネータ(MSDTC)に対するOracle Databaseのプロキシとして機能します。この結果、OraMTSによってクライアント側の接続プールが提供され、Oracleを利用するクライアント・コンポーネントを昇格可能なトランザクションおよび分散トランザクションに使用できるようになります。また、サービス自体がWindowsで実行される場合、OraMTSは、任意のオペレーティング・システム上で実行されているOracle Databaseと連携して動作できます。

Oracle Database 12cより前のリリースでは、OraMTSはソフトウェアのみのインストールの一部として作成されました。Oracle Database 12c以上では、構成ツールを使用してこのサービスを作成する必要があります。

ノードの追加後、またはOracle RACのソフトウェアのみのインストールを実行した後でOraMTSサービスを作成するには、次の手順を実行します。

1. コマンド・ウィンドウを開きます。

2. ディレクトリを%ORACLE_HOME%\binに変更します。

3. OraMTSCtlユーティリティを実行してOraMTSサービスを作成します(ここで、host_nameはサービスが作成されるノードのリストです)。

C:\..bin> oramtsctl.exe -new -host host_name

関連項目:

分散されるトランザクション内で、リソース・マネージャとしてOracle Databaseを使用できるOraMTSの詳細は、『Oracle Services for Microsoft Transaction Server開発者ガイドfor Microsoft Windows』を参照してください。

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

DBCAのサイレント・モードを使用して、Oracle ClusterwareホームおよびOracle Databaseホームを拡張したノードにインスタンスを追加できます。次の構文を使用します。

dbca -silent -addInstance -nodeList node_name -gdbName gdb_name
[-instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password]

関連項目:

前述の構文で使用されている変数の定義については、表10-1を参照してください。

「動的データベース・サービスによるワークロード管理」で説明したように、必要なサービス構成手順を実行します。

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

クラスタ・ノードからOracle RACを削除するには、データベース・インスタンスおよびOracle RACソフトウェアを削除した後で、クラスタからそのノードを削除する必要があります。

注意:

削除するノードにデータベース・インスタンスがない場合は、「Oracle RACの削除」に進みます。

この項では、次の手順を実行して、Oracle RAC環境のクラスタからノードを削除します。

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

- Oracle RACの削除

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

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

インスタンスの削除手順は、ポリシー管理データベースと管理者管理データベースとでは異なります。ポリシー管理データベース・インスタンスを削除すると、データベース・インスタンスが存在するサーバー・プールのサイズが減少します。管理者管理データベース・インスタンスの削除では、DBCAを使用したデータベース・インスタンスの削除が必要です。

ポリシー管理データベースの削除

ポリシー管理データベースを削除するには、データベース・インスタンスが存在するサーバー・プールのサイズを小さくします。この操作によって、ノードからOracle RACソフトウェアを削除しなくても、またはクラスタからノードを削除しなくても、事実上インスタンスは削除されます。

たとえば、クラスタ内の任意のノードで次のコマンドを実行すると、ポリシー管理データベースを削除できます。

srvctl stop instance -db db_unique_name -node node_name
srvctl relocate server -servers "server_name_list" -serverpool Free

最初のコマンドは特定のノードのインスタンスで停止し、2つ目のコマンドはサーバーのリストを現行のサーバー・プールから空きサーバー・プールに移動します。

関連項目:

ノードからのOracle RACソフトウェアの削除方法の詳細は、「Oracle RACの削除」を参照してください

管理者管理データベースからのインスタンスの削除

注意:

Oracle RACデータベースからインスタンスを削除する前に、SRVCTLを使用して次の操作を実行します。

- サービスが構成されている場合は、サービスを再配置します。

- 各サービスを残りのインスタンスの1つで実行できるように、サービスを変更します。

- 管理者管理データベースから削除されるインスタンスが、何らかのサービスの優先インスタンスまたは使用可能インスタンスではないことを確認します。

関連項目:

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

この項の手順では、対話モードでDBCAを使用してOracle RACデータベースからインスタンスを削除する方法について説明します。

関連項目:

Oracle Enterprise Managerを使用してターゲット・ノードからデータベース・インスタンスを削除する方法の詳細は、『Oracle Database 2日でReal Application Clustersガイド』を参照してください。

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

対話モードでDBCAを使用してインスタンスを削除するには、次の手順を実行します。

1. OCRの現行のバックアップがあることを確認します。
ocrconfig -showbackupコマンドを実行して、有効なバックアップがあることを確認します。

2. DBCAを起動します。
削除するインスタンスを保持しているノード以外のノードで、DBCAを起動します。削除するデータベースおよびインスタンスは、この手順の間、起動し、実行し続ける必要があります。

3. DBCAの「操作」ページで「インスタンス管理」を選択して、「次へ」をクリックします。「インスタンス管理」ページが表示されます。

4. 「インスタンス管理」ページで、「インスタンスの削除」を選択して、「次へ」をクリックします。DBCAによって「クラスタ・データベースのリスト」ページが表示されます。

5. インスタンスを削除するOracle RACデータベースを選択します。「次へ」をクリックすると、DBCAによって「クラスタ・データベース・インスタンスのリスト」ページが表示されます。「クラスタ・データベース・インスタンスのリスト」ページには、選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。

6. 「クラスタ・データベースのリスト」ページで、次のように、インスタンスを削除するOracle RACデータベースを選択します。

a. この「クラスタ・データベース・インスタンスのリスト」ページには、DBCAによって選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。インスタンスを削除するクラスタ・データベースを選択します。「終了」をクリックします。

b. 「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスの削除を続行します。

c. 次の「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスおよび関連するOptimal Flexible Architecture(OFA)ディレクトリ構造を削除します。
DBCAがインスタンスを削除していることを示す進捗ダイアログ・ボックスが表示されます。この操作の中で、DBCAはインスタンスとそのインスタンスのOracle Net構成を削除します。

DBCAを終了する場合は「いいえ」を、別の操作を実行する場合は「はい」をクリックします。「はい」をクリックすると、DBCAによって「操作」ページが表示されます。

7. 既存インスタンスからSQL*Plusを使用してV$LOGビューを問い合せ、削除したインスタンスのREDOスレッドが削除されていることを確認します。REDOスレッドが無効になっていない場合は、スレッドを無効にします。次に例を示します。

SQL> ALTER DATABASE DISABLE THREAD 2;

8. 次のコマンドを実行して、OCRからインスタンスが削除されていることを確認します(db_unique_nameはデータベース名です)。

srvctl config database -db db_unique_name

9. 複数のノードを削除する場合は、この手順を繰り返し、削除するすべてのノードからインスタンスを削除します。

サイレント・モードでの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 -listener listener_name -node name_of_node_to_delete
srvctl stop listener -listener listener_name -node 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_home\deinstallディレクトリから次のコマンドを実行することによって、削除するノードからOracleホームをアンインストールします。

deinstall -local

4. クラスタ内の残りのノードのいずれかのOracle_home\oui\binディレクトリから次のコマンドを実行して、これらのノードのインベントリを更新します。コマンドには、残りのノードの名前をカンマ区切りリストで指定します。

setup.exe -updateNodeList ORACLE_HOME=Oracle_home_location
"CLUSTER_NODES={remaining_node_list}"

共有Oracle RACホームがある場合、この手順のコマンド例に-cfsオプションを追加し、クラスタ・ファイル・システムの完全なパスの場所を指定します。

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

インスタンスを削除すると、クラスタからノードを削除するプロセスを開始できます。削除するノードでスクリプトを実行してOracle Clusterwareインストールを削除し、残りのノードでスクリプトを実行してノード・リストを更新し、このプロセスを完了します。

関連項目:

- クラスタからノードを削除する方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

- Oracle ClusterwareおよびOracle ASMの削除の詳細は、『Oracle Grid Infrastructureインストレーション・ガイドfor Microsoft Windows x64 (64-Bit)』を参照してください。

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の自動ワークロード管理機能を使用します。

関連項目:

詳細は、「動的データベース・サービスによるワークロード管理」を参照してください。

- 個別のボリューム・グループに投票ディスクを配置して、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の使用方法の詳細は、「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はインスタンスの起動時にプロセスの数を算出するため、その値を変更するにはインスタンスを再起動する必要があります。

統合へのDatabase Cloudの使用

データベース・クラウドは、Global Data Servicesフレームワークによって、単一の仮想サーバーに統合された一連のデータベースであり、1つ以上のグローバル・サービスを提供すると同時に、高いパフォーマンス、可用性、およびリソースの使用率の最適化を実現します。Global Data Servicesでは、これらの仮想化リソースを最小限の管理オーバーヘッドで管理し、追加のクライアント要求を処理するために迅速にデータベース・クラウドを拡張できます。クラウドを構成するデータベースは、グローバルに分散させることができ、クライアントは、サービス名を指定するのみでデータベース・クラウドに接続でき、クラウドのコンポーネントやトポロジを把握する必要はありません。

データベース・クラウドは、複数のデータベース・プールで構成できます。データベース・プールは、データベース・クラウド内の一連のデータベースであり、一意のグローバル・サービス・セットを提供し、特定の管理ドメインに属しています。クラウド・データベースを複数のプールにパーティション化すると、サービス管理が簡素化され、かつ、各プールを異なる管理者が管理できることによって、セキュリティが向上します。データベース・クラウドは、複数の地理的リージョンにまたがることができます。リージョンは、互いに近くに存在すると考えられるデータベース・クライアントおよびサーバーが含まれる論理的な境界です。通常、1つのリージョンが1つのデータ・センターに対応しますが、データ・センター間のネットワーク待機時間が、これらのデータ・センターにアクセスするアプリケーションの品質保証契約を満たす場合、複数のデータ・センターを同じリージョンに配置できます。

グローバル・サービスによって、ローカルまたはグローバルに分散している、疎結合の異機種データベースを、スケーラブルで可用性の高いプライベート・データベース・クラウドに統合できます。このデータベース・クラウドは、地球上のすべてのクライアントで共有できます。プライベート・データベース・クラウドを使用すると、使用可能なリソースの使用率が最適化され、データベース・サービスのプロビジョニングが簡素化されます。

関連項目:

グローバル・サービスの詳細は、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環境では、パラレル・プロセスをユーザーが接続されているインスタンスでのみ実行するように定義したり、クラスタ内の複数のインスタンス間で実行するように定義することができます。

関連項目:

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

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

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

- 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 Distributed Transaction Processing (DTP)サービスの作成により、密結合分散トランザクションのすべてのブランチを同じインスタンスに割り当てます。

各DTPサービスは、1つのみのOracle RACインスタンスで使用可能な単一のサービスです。分散トランザクション処理のためのデータベース・サーバーへのアクセスは、すべてDTPサービスを経由する必要があります。単一のグローバル分散トランザクションのすべてのブランチが、同じDTPサービスを使用することを確認してください。つまり、TNS名やJDBC URLなどのネットワーク接続記述子には、分散トランザクション処理をサポートするためにDTPサービスを使用する必要があります。

関連項目:

- サービスおよび分散トランザクションの有効化の詳細は、「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では、クエリー・オプティマイザが、プロセッサ数に基づいてパラレル化の適切なデフォルト値を動的に計算します。代替アクセス・パスのコスト評価(表スキャンと索引アクセスなど)では、操作に使用できる並列度が考慮されます。これによってOracle Databaseは、Oracle RAC構成用に最適化された実行計画を選択します。

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

パラレル実行は、複数のプロセスを使用して1つ以上のCPUでSQL文を実行し、また、非クラスタOracle DatabaseとOracle RACデータベースの両方で使用可能です。

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

関連項目:

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

- パラレル実行の詳細は、『Oracle Database概要』を参照してください。

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

この項では、2つのOracle RACセキュリティの考慮事項について説明します。内容は次のとおりです。

- 透過的データ暗号化およびキーストア

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

透過的データ暗号化およびキーストア

Oracle Databaseでは、Oracle RACノードはキーストア(ウォレット)を共有できます。これにより、すべてのノードにわたってキーストアを手動でコピーし同期化する必要がなくなります。共有ファイル・システム上にキーストアを作成することをお薦めします。これにより、すべてのインスタンスが同じ共有キーストアにアクセスできます。

Oracle RACは、次の方法でキーストアを使用します。

1. 任意の1つのOracle RACインスタンスで実行されるキーストアのオープンやクローズなどの任意のキーストア操作は、他のすべてのOracle RACインスタンスに適用されます。つまり、1つのインスタンスでキーストアをオープンおよびクローズすると、すべてのOracle RACインスタンスでキーストアがオープンおよびクローズされます。

2. 共有ファイル・システムを使用する場合は、すべてのOracle RACインスタンスのENCRYPTION_WALLET_LOCATIONパラメータが、必ず同じ共有キーストアの場所を指すようにします。また、セキュリティ管理者は、適切なディレクトリ権限を割り当てることによって、共有キーストアのセキュリティを確保する必要もあります。

注意:

オペレーティング・システムでOracle Automatic Storage Management Cluster File System (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_keystore)))

このファイル・システムは、インスタンスの起動時に自動的にマウントされます。キーストアのオープンとクローズ(およびTDEマスター暗号化鍵の設定またはキー更新およびローテーションを行うコマンド)は、すべてのノード間で同期化されています。

3. ある1つのインスタンスで実行されるmaster key rekeyは、すべてのインスタンスに適用されます。新しいOracle RACノードは、起動されると、現在のキーストアの状態(オープンまたはクローズ)を認識します。

4. マスター・キーを設定または変更している場合は、キーストアのADMINISTER KEY MANAGEMENT SET KEYSTORE OPENまたはCLOSE SQL文は発行しないでください。

キーストア用の共有ストレージが存在しないデプロイメントでは、各Oracle RACノードでローカル・キーストアを保持する必要があります。単一ノードでキーストアを作成およびプロビジョニングした後、次のようにキーストアをコピーして他のすべてのノードで使用可能にする必要があります。

- 暗号化されたキーストアとともに透過的データ暗号化を使用するシステムでは、任意の標準ファイル転送プロトコルを使用できますが、保護されたファイル転送を使用することをお薦めします。

- 自動ログイン・キーストアとともに透過的データ暗号化を使用するシステムでは、保護されたチャネルを介してファイルを転送することをお薦めします。

キーストアが存在している必要があるディレクトリを指定するには、sqlnet.oraファイルでENCRYPTION_WALLET_LOCATIONパラメータを設定します。ADMINISTER KEY MANAGEMENT SET KEY SQL文を使用してサーバー・キーが再設定されるまで、透過的データ暗号化の使用中にキーストアのローカル・コピーを同期化する必要はありません。データベース・インスタンスでADMINISTER KEY MANAGEMENT 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インストレーション・ガイドfor Microsoft Windows x64 (64-Bit)』を参照してください。

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 Cloud 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パフォーマンス・チューニング・ガイド』を参照してください。

- spdoc.txtファイルおよびStatspackユーティリティの詳細は、『Oracle Streams概要および管理』を参照してください。

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の追加、ロード・バランシング、別のラウンドトリップ時間帯または新しいクラスタ・ノードへの処理のオフロード処理によって解決できます。前述のイベントについての待機時間には、セッションが開始し、ブロック要求開始後、ブロックの到着を待機するまでのラウンドトリップ全体が含まれます。

14 シングル・インスタンスOracle DatabaseのOracle RACおよびOracle RAC One Nodeへの変換

この章では、Oracle Databaseのシングル・インスタンス・データベースからOracle Real Application Clusters (Oracle RAC)データベースおよびOracle RAC One Nodeデータベースに変換する方法について説明します。

この付録の手順は、元のシングル・インスタンス・データベースとターゲットのOracle RACデータベースが同じリリースを使用して、同じプラットフォーム上で実行されていることを前提としています。以前のバージョンのOracle RACからOracle RAC 12cにアップグレードする場合は、Oracle Database Upgrade Assistant (DBUA)を使用します。

この章の内容は次のとおりです。

- データベースをOracle RACに変換する場合の管理上の問題点

- DBCAを使用したOracle RACおよびOracle RAC One Nodeへの変換

- rconfigおよびOracle Enterprise Managerを使用して変換するための準備

- rconfigを使用したデータベースのOracle RACへの変換

- ConvertToRAC用のrconfig XML入力ファイルの例

- 変換後の手順

注意:

Oracle RACデータベースでは、クラスタ化されたOracle Automatic Storage Management(Oracle ASM)インスタンスを使用する必要があります。

関連項目:

購入したライセンスに適用される可能性のあるコンプライアンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。

データベースをOracle RACに変換する場合の管理上の問題点

シングル・インスタンスのデータベースをOracle RACに変換する前に、次の管理上の問題点に注意してください。

- シングル・インスタンスのOracle DatabaseからOracle RACに変換する前に、正しい手順でバックアップを行う必要があります。これには、Oracle RACへの変換前に既存のデータベースのバックアップを作成することと、変換直後にOracle RACデータベースのバックアップを作成する準備をすることも含まれます。

- Oracle RAC環境でアーカイブする場合、アーカイブ・ファイル形式にはスレッド番号が必要です。

- メディア・リカバリには、Oracle RACデータベースのすべてのインスタンスのアーカイブ・ログが必要です。この要件のため、ファイルにアーカイブして、クラスタ・ファイル・システムを使用しない場合または共有ファイル・システムを使用するための他の方法を採用しない場合、クラスタ・データベースのインスタンスがあるすべてのノードからアーカイブ・ログにアクセスするなんらかの方法が必要です。

- デフォルトでは、すべてのデータベース・ファイルはOracle Managed Filesに移行されます。この機能によって、表領域の作成が簡単になり、データ・ファイルの場所の一貫性およびOracle Flexible Architecture規則への準拠が確保されるため、データ・ファイル管理での人為的なミスが減少します。

DBCAを使用したOracle RACおよびOracle RAC One Nodeへの変換

Database Configuration Assistant (DBCA)を使用して、シングル・インスタンスのOracle DatabaseをOracle RACまたはOracle RAC One Nodeデータベースに変換できます。DBCAを使用すると、制御ファイル属性が自動的に構成され、UNDO表領域とREDOログが作成されて、クラスタ対応環境用の初期化パラメータ・ファイルのエントリが作成されます。また、DBCAは、Oracle Enterprise Managerまたはサーバー制御ユーティリティ(SRVCTL)を使用して、Oracle Net ServicesとOracle Clusterwareリソースの構成およびOracle RACデータベース管理用の構成を行います。

DBCAを使用してシングル・インスタンスのデータベースをOracle RACまたはOracle RAC One Nodeデータベースに変換する前に、システムが次の条件を満たしていることを確認します。

- システムで、サポートされているハードウェアおよびオペレーティング・システム・ソフトウェアが使用されている。システムが、Oracle RACデータベースをサポートするように適切に構成されている。

- ノードから共有記憶域にアクセスでき、たとえば、Oracle Cluster File SystemまたはOracle ASMが使用可能で、すべてのノードからアクセスできる。Linux on POWER Systemsの場合は、GPFSが使用可能で、すべてのノードからアクセスできる。

- 使用しているアプリケーションが、その特性によりクラスタ・データベース・プロセスで使用不可能になることがない。

ご使用のプラットフォームがクラスタ・ファイル・システムをサポートしている場合は、Oracle RACでそのクラスタ・ファイル・システムを使用できます。Oracle RACに変換して、非共有ファイル・システムを使用することもできます。いずれの場合も、Oracle Universal Installerを使用してOracle Database 12cをインストールし、クラスタで選択された各ノード上の同じ場所にOracleホームおよびインベントリを設定することをお薦めします。

この項には次のトピックが含まれます:

- DBCAを使用したOracle DatabaseのインストールのOracle RACへの変換

- DBCAを使用したクラスタ上のシングル・インスタンスのOracle RAC One Nodeへの変換

- DBCAを使用したクラスタ上のシングル・インスタンスのOracle RACへの変換

関連項目:

Oracle RACおよびOracle RAC One Nodeデータベースの変換の詳細は、「データベースの変換」を参照してください

DBCAを使用したOracle DatabaseのインストールのOracle RACへの変換

クラスタ・コンピュータ以外のコンピュータ上にあるシングル・インスタンスのOracle DatabaseをOracle RACに変換するには、次の項に説明する手順を、その順序で実行します。

- DBCAを使用したシングル・インスタンス・データベースのイメージの作成

- Oracle Clusterwareのインストールの完了

- クラスタの検証

- 事前構成済データベース・イメージのコピー

- Oracle Database 12cソフトウェアおよびOracle RACのインストール

DBCAを使用したシングル・インスタンス・データベースのイメージの作成

次の手順に従い、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成します。

1. $ORACLE_HOMEの下のbinディレクトリに移動して、DBCAを起動します。

2. 「ようこそ」ページで「次へ」をクリックします。

3. 「操作」ページで、「テンプレートの管理」を選択して「次へ」をクリックします。

4. 「テンプレート管理」ページで、「データベース・テンプレートの作成」および「既存のデータベースを使用(データおよび構造)」を選択して「次へ」をクリックします。

5. 「ソース・データベース」ページで、「データベース・インスタンス」リストでデータベース名を選択して「次へ」をクリックします。

6. 「テンプレート・プロパティ」ページで、「名前」フィールドにテンプレート名を入力します。データベース名を使用することをお薦めします。
デフォルトでは、テンプレート・ファイルはディレクトリ$ORACLE_HOME/assistants/dbca/templatesに生成されます。「説明」フィールドにファイルの説明を入力して、「テンプレート・データファイル」フィールドでテンプレート・ファイルの場所を変更できます。

入力が完了したら、「次へ」をクリックします。

7. 「データベース関連ファイルの位置」ページで、現行のディレクトリ構造にデータベースをリストアできるように「ファイル位置を保持」を選択して「終了」をクリックします。

DBCAは、データベース構造ファイル(template_name.dbc)およびデータベースの事前構成済イメージ・ファイル(template_name.dfb)の2つのファイルを生成します。

Oracle Clusterwareのインストールの完了

ご使用のプラットフォーム用のOracle Grid Infrastructureのインストレーション・ガイドの説明に従って、Oracle Clusterwareのインストールを実行します。

クラスタの検証

クラスタ検証ユーティリティ(CVU)を使用して、クラスタの構成を検証します。

関連項目:

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

事前構成済データベース・イメージのコピー

事前構成済データベース・イメージをコピーします。「DBCAを使用したシングル・インスタンス・データベースのイメージの作成」でDBCAを使用して作成したデータベース構造ファイル(*.dbc)およびデータベースの事前構成済イメージ・ファイル(*.dfb)も、DBCAを実行するクラスタのノード上の一時的な場所にコピーします。

Oracle Database 12cソフトウェアおよびOracle RACのインストール

1. Oracle Universal Installerを実行して、Oracle DatabaseおよびOracle RACをインストールします。

2. Oracle Universal Installerのハードウェアのクラスタ・インストールの指定ページでクラスタ・インストール・モードを選択し、Oracle RACデータベースに含めるノードを選択します。

3. Oracle Universal Installerの「データベース構成タイプ」ページで、「拡張」インストール・タイプを選択します。
Oracle Databaseソフトウェアのインストール後、Oracle Universal Installerはインストール後の構成ツール(Net Configuration Assistant (NETCA)、DBCAなど)を実行します。

4. DBCAのテンプレートを選択するページで、「事前構成済データベース・イメージのコピー」で一時的な場所にコピーしたテンプレートを使用します。テンプレートの場所を選択するには、「参照」オプションを使用します。
デプロイするオプションを選択します。Oracle RACデータベース、Oracle RAC One Nodeデータベースまたはシングル・インスタンスOracle Databaseから選択できます。

5. Oracle RACデータベースを作成すると、DBCAによって「パスワード管理」ページが表示され、このページで、SYSDBAとSYSOPERの権限を持つデータベース・ユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。

DBCAを使用したクラスタ上のシングル・インスタンスのOracle RAC One Nodeへの変換

DBCAでシングル・インスタンスOracle DatabaseをOracle RAC One Nodeに変換するには、次の手順を実行します。

1. $ORACLE_HOME/binディレクトリに移動します。

2. 次のように、DBCAを起動します。

$ dbca

3. 「ようこそ」ウィンドウから、Oracle RAC One Nodeデータベースを選択します。

4. 「Oracle Database 12cソフトウェアおよびOracle RACのインストール」で選択したデプロイ用のテンプレートを使用します

DBCAを使用したクラスタ上のシングル・インスタンスのOracle RACへの変換

シングル・インスタンス・データベースがクラスタ・ノード上に存在する場合は、次の3つのシナリオが考えられます。

- シナリオ1: シングル・インスタンス・データベースのOracleホームがクラスタ・ノードにインストールされ、Oracle RACが有効になっている場合。このシナリオでOracle RACへの変換を実行する手順については、「RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合」を参照してください

- シナリオ2: シングル・インスタンス・データベースのOracleホームはクラスタ・ノードにインストールされているものの、このOracleホームのOracle RAC機能が無効になっている場合。この環境でデータベースをOracle RACに変換する方法については、「RAC非対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合」を参照してください。

- シナリオ3: シングル・インスタンス・データベースのOracleホームが、クラスタのローカル・ノードのみにインストールされている場合。これは、Oracle Database 12cをインストールするときに、Oracle Universal Installerの「ハードウェアのクラスタ・インストール・モードの指定」ページで「ローカル・インストール」オプションを選択した場合に発生します。このシナリオでシングル・インスタンス・データベースをOracle RACに変換する手順は、「DBCAを使用したOracle DatabaseインストールのOracle RACへの変換」で説明する手順と同じです。最後の手順の「Oracle Database 12cソフトウェアおよびOracle RACのインストール」で、シングル・インスタンス・データベースが実行されるOracleホームではなく、新しいOracleホームを選択するようにします。

RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合

Oracle RACオプションが有効なOracleホームから実行されているクラスタ・ノードでシングル・インスタンス・データベースを変換するには、次の手順を実行します。

1. 「DBCAを使用したシングル・インスタンス・データベースのイメージの作成」の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成します。手動で変換を行う場合は、シングル・インスタンス・データベースを停止します。

2. ノードをクラスタに追加します。すべてのノードがOracle ClusterwareおよびOracle RACで使用される共有記憶域にアクセスできることを確認します。

関連項目:

クラスタへのノードの追加および接続の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

3. 既存のOracleホームから、このホームを新しいノードに拡張します。

関連項目:

ノードへのOracleホームの拡張の詳細は、「Oracle ClusterwareがインストールされたノードへのOracle RACの追加」を参照してください

4. 新しく追加したノードから、NETCAを使用して追加のノードにリスナーを構成します。既存のノードで使用したポート番号およびプロトコルと同じポート番号およびプロトコルを選択します。NETCAでノード・リスト・ページに既存のノードが表示される場合は、リスナーがすでに構成されているため、ノードを選択しないでください。

5. 次のいずれかの手順でデータベースを変換します。

- DBCAを使用した自動変換の手順

- 手動変換の手順

DBCAを使用した自動変換の手順

「DBCAを使用したシングル・インスタンス・データベースのイメージの作成」の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成する場合は、次の手順を実行して、Oracle RACデータベースへの変換を完了します。

1. 元のノードからDBCAを起動します。クラスタ・データベースの一部として含めるノードの名前を選択します。テンプレートの選択ページで、作成した事前構成済テンプレートを選択します。データベース名を入力し、DBCAのプロンプトに従って残りの項目を入力します。

2. Oracle Databaseデータ・ファイルの共有記憶域の場所を指定します。データ・ファイル用にRAWデバイスを使用する場合は、DBCAを使用できません。かわりに、「手動変換の手順」で説明されている手順を実行します

Oracle RACデータベースを作成すると、DBCAによって「パスワード管理」ページが表示され、このページで、SYSDBAとSYSOPERの権限を持つデータベース・ユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。

手動変換の手順

「DBCAを使用したシングル・インスタンス・データベースのイメージの作成」の説明に従ってDBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成しなかった場合は、次の手順を実行して変換を完了します。

1. 追加した各ノード上にOptimal Flexible Architectureディレクトリ構造を作成します。

2. SQL文のCREATE CONTROLFILEをREUSEキーワード付きで実行して制御ファイルを再作成し、Oracle RAC構成に必要なMAXINSTANCESやMAXLOGFILESなどを指定します。MAXINSTANCESのデフォルト値は、32に指定することをお薦めします。

3. データベース・インスタンスを停止します。

4. シングル・インスタンス・データベースでSPFILEを使用していた場合は、次のSQL文を使用して、SPFILEから一時的なパラメータ・ファイル(PFILE)を作成します。

CREATE PFILE='pfile_name' from spfile='spfile_name'

5. CLUSTER_DATABASEパラメータをTRUEに設定し、sid.parameter=value構文を使用して、INSTANCE_NUMBERパラメータをインスタンスごとに一意の値に設定します。
シングル・インスタンス・データベースのメモリ使用量を最適化していた場合は、システム・グローバル領域(SGA)のサイズを調整して、Oracle RACへの変換時にスワップおよびページングが発生しないようにします。この調整が必要な理由は、Oracle RACでは、グローバル・キャッシュ・サービス(GCS)用に、各バッファに約350バイトずつ必要になるためです。たとえば、バッファが10,000ある場合、Oracle RACは約350×10,000バイトの追加メモリーを必要とします。したがって、DB_CACHE_SIZEパラメータとDB_nK_CACHE_SIZEパラメータをこれに応じて変更し、SGAのサイズを調整します。

6. 手順4で作成したPFILEを使用して、データベース・インスタンスを起動します。

7. シングル・インスタンス・データベースで自動UNDO管理を使用していた場合は、CREATE UNDO TABLESPACE SQL文を使用して、追加インスタンスごとにUNDO表領域を作成します。

8. 2つ以上のREDOログを持つREDOスレッドを追加インスタンスごとに作成します。SQL文のALTER DATABASEを使用して、新しいREDOスレッドを使用可能にします。その後で、データベース・インスタンスを停止します。

9. Oracleパスワード・ファイルを、元のノードまたは作業中のノードから追加ノード(クラスタ・データベースのインスタンスが存在するノード)の対応する位置にコピーします。追加インスタンスごとに、各パスワード・ファイルのORACLE_SID名を適切に置換します。

10. REMOTE_LISTENERパラメータに単一クライアント・アクセス名(SCAN)およびポートを設定します。

11. データベースとインスタンスのネット・サービス・エントリ、インスタンスごとのLOCAL_LISTENERのアドレス・エントリ、およびtnsnames.oraファイルのREMOTE_LISTENERのアドレス・エントリを構成し、tnsnames.oraファイルをすべてのノードにコピーします。

12. PFILEからSPFILEを作成します。

関連項目:

SPFILEへの移行の詳細は、使用しているプラットフォームの『Oracle Real Application Clustersインストレーション・ガイド』を参照してください。

13. 次のエントリを含む$ORACLE_HOME/dbs/initsid.oraファイルを作成します(ここで、spfile_path_nameはSPFILEの完全パス名です)。

spfile='spfile_path_name'

14. ローカル・ノードで、SQL*Plusを使用してcatclust.sqlを実行します。このスクリプトによって、Oracle RACデータベースに必要なディクショナリ・ビューが作成されます。次に例を示します。

SQL> start ?/rdbms/admin/catclust.sql

15. SRVCTLを使用して、Oracle RACまたはOracle RAC One Nodeデータベースの構成とそのインスタンスのノードへのマッピングを追加します。

a. Oracle RACデータベースの構成を追加するには、次のコマンドを使用します。

srvctl add database -d db_name -o Oracle_home -p spfile_path_name
srvctl add instance -d db_name -i inst1_name -n node1_name
srvctl add instance -d db_name -i inst2_name -n node2_name
...

b. Oracle RAC One Nodeデータベースの構成を追加するには、次のコマンドを使用します。

srvctl add database -d db_name -c RACONENODE -o Oracle_home
-p spfile_path_name

16. SRVCTLを使用してOracle RACまたはOracle RAC One Nodeデータベースを起動します。

srvctl start database -d db_name

SRVCTLでデータベースを起動すると、変換処理は完了です。次のSQL文を実行すると、Oracle RACデータベースのすべてのインスタンスのステータスを確認できます。

SQL> SELECT * FROM v$active_instances;

RAC非対応のOracle ホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合

Oracle RACオプションが無効なOracleホームから実行されるクラスタで、シングル・インスタンス・データベースを作成できます。Oracle RAC非対応のクラスタでOracleホームを作成する場合は、Oracle Databaseソフトウェアのインストール時にOracle Universal Installerの「ノードの選択」ページで「ローカル」および非クラスタを選択できます。単一ノードのクラスタ(およびOracle RAC)のインストールを実行して、後でOracle RACオプションを無効にすることもできます。

次の手順に従って、このタイプのシングル・インスタンス・データベースをOracle RACまたはOracle RAC One Nodeデータベースに変換します。

1. 「DBCAを使用したシングル・インスタンス・データベースのイメージの作成」の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成します。手動で変換を行う場合は、シングル・インスタンス・データベースを停止します。

2. ディレクトリを、Oracleホームのrdbmsディレクトリにあるlibサブディレクトリに変更します。

3. 次のコマンドを実行して、oracleバイナリに再度リンクします。

make -f ins_rdbms.mk rac_on
make -f ins_rdbms.mk ioracle

4. 「RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合」の手順2を続行します。

rconfigおよびOracle Enterprise Managerを使用して変換するための準備

rconfigまたはOracle Enterprise Managerを使用すると、シングル・インスタンス・データベースのインストールをOracle RACデータベースに簡単に変換できます。rconfigは、コマンドライン・ユーティリティです。Oracle Enterprise Manager Cloud Controlのデータベース管理オプション(「クラスタ・データベースへの変換」)は、GUIベースの変換ツールです。次の項では、これらの変換ツールを使用する方法について説明します。

- Oracle RACデータベースへの変換の前提条件

- rconfigを使用したOracle RACへの変換時の構成の変更

- rconfigまたはOracle Enterprise Managerを使用したデータベースのOracle RACへの変換

- Oracle Enterprise Managerを使用したデータベースのOracle RACへの変換

注意:

変換を実行する前には、既存のデータベースのバックアップを作成しておきます。大規模な変更を行う前にも、データベースのバックアップを作成してください。

Oracle RACデータベースへの変換の前提条件

シングル・インスタンスのデータベースをOracle RACデータベースに変換する前に、Oracle RACデータベース・ノードを作成する各クラスタ・ノードで次の条件が満たされていることを確認します。

- Oracle Clusterware 12cがインストールおよび構成済で実行されている。

- Oracle RAC 12cソフトウェアがインストールされている。

- Oracleソフトウェアで、Oracle RACオプションが有効になっている。

- Oracle Cluster File SystemまたはOracle ASMのいずれかの共有記憶域がすべてのノードから使用可能でアクセスできる。

- oracleアカウント、またはOracleソフトウェアのインストールに使用されたユーザー・アカウントにユーザー等価関係が存在する。

- Oracle Enterprise Managerを使用する場合は、各ノードのOracle Management Agentが構成され、実行中であり、クラスタおよびホスト情報とともに構成されている。

- 既存のデータベースをバックアップしている。

注意:

Oracle RACデータベースでは、クラスタ化されたOracle ASMインスタンスを使用する必要があります。

rconfigを使用したOracle RACへの変換時の構成の変更

rconfigユーティリティを使用してシングル・インスタンス・データベースをOracle RACに変換すると、次の変更が行われます。

- 変換時に、rconfigによってターゲットのOracle RACデータベースがアーカイブ・ログ・モードに設定され、データベースのアーカイブが有効になります。アーカイブ・ログ領域を使用しない場合は、変換の完了後にアーカイブ・ログを無効にできます。

- 共有記憶域タイプの値として「CFS」と入力し、シングル・インスタンス・データベース記憶域に対してクラスタ・ファイル・システムを使用している場合は、rconfigによって、データベース記憶域に対してOracle Managed Filesが使用されるように環境が変換され、データ・ファイルが共有記憶域の場所の下にあるサブディレクトリに配置されます。

- 変換時に、rconfigによって、データベース・ファイルが指定した共有の場所に移動され、Oracle Managed Filesを使用して構成されます。
変換されたデータベースでOracle Managed Filesを使用しないようにするには、シングル・インスタンス・データベースのファイルを共有ファイル・システムに配置して、rconfigでこれらのファイルが移動されないように指定する必要があります。

rconfigまたはOracle Enterprise Managerを使用したデータベースのOracle RACへの変換

次に、シングル・インスタンスのOracle DatabaseをOracle RACデータベースに変換するシナリオを示します。

- シングル・インスタンスのOracle Database 12cデータベースを、このシングル・インスタンス・データベースと同じOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 12cデータベースに変換します。
このシナリオでは、Oracle RACデータベース・ホームからrconfigユーティリティを実行するか、またはOracle Enterprise Manager Cloud Controlのシングル・インスタンスのデータベース・ターゲットでRACへの変換オプションを使用します。

- Oracle Database 12cより前のリリースのOracle Databaseを使用するシングル・インスタンス・データベースを、このシングル・インスタンス・データベースと同じOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 12cデータベースに変換します。
このシナリオでは、Oracle Universal InstallerおよびDatabase Upgrade Assistant (DBUA)を使用して、シングル・インスタンス・データベースをOracle Database 12cに更新します。その後で、前述のシナリオで説明したようにrconfigまたはOracle Enterprise ManagerのRACへの変換オプションを使用します。

- シングル・インスタンスのOracle Database 12cを、このシングル・インスタンス・データベースとは異なるOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 12cデータベースに変換します。
このシナリオでは、ターゲットのデータベース・ホームでrconfigユーティリティを実行するか、またはOracle Enterprise Manager Cloud Controlのシングル・インスタンスのデータベース・ターゲットでRACへの変換オプションを使用します。プロンプトに従って、ファイル記憶域の場所を指定します。

注意:

ターゲット・データベース・ホームおよびソース・データベース・ホームの両方にOracleホーム・ユーザーを指定する場合、ターゲット・データベース・ホームのOracleホーム・ユーザーと、ソース・データベース・ホームのOracleホーム・ユーザーは同じである必要があります。

- シングル・インスタンス・データベースが実行されているホストがOracle RACデータベースのノードではない環境で、シングル・インスタンスのOracle Database 12cを、異なるOracleホームから実行するOracle RAC 12cデータベースに変換します。
このシナリオでは、シングル・インスタンスのデータベースのクローン・イメージを作成し、そのクローン・イメージをOracle RACデータベースが使用するノードであるホストに移動します。その後で、前述のシナリオで説明したようにrconfigまたはOracle Enterprise ManagerのRACへの変換オプションを使用します。

Oracle Enterprise Managerを使用したデータベースのOracle RACへの変換

Oracle Enterprise Manager Cloud Controlを使用して、シングル・インスタンス・データベースをOracle RACデータベースに変換できます。この機能を使用するには、次の手順を実行します。

関連項目:

既存のOracle Databaseのインストールのアップグレードについては、『Oracle Databaseアップグレード・ガイド』を参照してください。

1. Oracle Enterprise Manager Cloud Controlにログインします。ホーム・ページで、「ターゲット」タブをクリックします。

2. 「ターゲット」ページで、「データベース」タブをクリックし、Oracle RACに変換するデータベースの「名前」列にあるリンクをクリックします。

3. 「データベース・インスタンス」の「ホーム」ページで、「データベースの変更」タブをクリックします。

4. 「管理」ページにある「データベース管理」の「データベースの変更」セクションで、「クラスタ・データベースへの変換」をクリックします。

5. SYSDBA権限を持つデータベース・ユーザーSYSとして、変換するデータベースにログインし、「次へ」をクリックします。

6. 「クラスタ・データベースへの変換: クラスタ資格証明」ページで、oracleユーザーのユーザー名とパスワード、および変換するターゲット・データベースのパスワードを指定します。ターゲット・データベースでOracle ASMを使用している場合は、SYSASMユーザーとパスワードも指定して、「次へ」をクリックします。

7. 「ホスト」ページで、インストールしたOracle RACデータベースのクラスタ・メンバーにするクラスタ内のホスト・ノードを選択します。選択が完了したら、「次へ」をクリックします。

8. 「データベースへの変換: オプション」ページで、既存のリスナーとポート番号を使用するか、またはクラスタに新しいリスナーとポート番号を指定するかどうかを選択します。また、クラスタのクラスタ・データベース・インスタンスの接頭辞も指定します。
情報の入力が終了したら、「次へ」をクリックします。または、情報の入力方法の決定についての情報が必要な場合は、「ヘルプ」をクリックします。

9. 「クラスタ・データベースへの変換: 共有記憶域」ページで、既存の共有記憶域領域を使用するオプションを選択するか、またはデータベース・ファイルを新しい共有記憶域の場所にコピーするオプションを選択します。また、既存の高速リカバリ領域を使用するか、またはOracle Databaseによって管理されたファイルを使用して、リカバリ・ファイルを新しい高速リカバリ領域にコピーするかどうかを決定します。
Oracle ASMを使用する場合、データ・ファイルとリカバリ・ファイルを別の障害グループに配置することをお薦めします。障害グループは、2つのディスク間で共有されているコントローラなどの共有ハードウェアまたは同じスピンドル上にある2つのディスクによって定義されます。2つのディスクで障害が発生したハードウェアを共有しており、両方のディスクが使用できなくなった場合、これらのディスクは同じ障害グループに属しています。Oracle ASMを使用しない場合、データ・ファイルとリカバリ・ファイルを別の場所(別個のOracle ASM障害グループなど)に配置して、ハードウェアの障害によって可用性が低下しないようにすることをお薦めします。

情報の入力が終了したら、「次へ」をクリックします。または、情報の入力方法の決定についての情報が必要な場合は、「ヘルプ」をクリックします。

10. 「クラスタ・データベースへの変換: 確認」ページで、選択したオプションを確認します。変換に進むには、「ジョブの発行」をクリックします。選択したオプションを変更するには、「戻る」をクリックします。変換を取り消す場合は、「取消」をクリックします。

11. 「確認」ページで、「ジョブの表示」をクリックし、変換の状態を確認します。

rconfigを使用したデータベースのOracle RACへの変換

コマンドライン・ユーティリティrconfigを使用すると、ConvertToRAC.xmlファイルで提供する値に応じて、シングル・インスタンス・データベースをOracle RACデータベースに変換することも、Oracle RAC One Nodeデータベースに変換することもできます。この機能を使用するには、次の手順を実行します。

関連項目:

既存のOracle Databaseのインストールのアップグレードについては、『Oracle Databaseアップグレード・ガイド』を参照してください。

1. oracleユーザーで、$ORACLE_HOME/assistants/rconfig/sampleXMLsディレクトリに移動し、viなどのテキスト・エディタを使用してConvertToRAC.xmlファイルを開きます。

2. ConvertToRAC.xmlファイルを確認し、システムに必要なパラメータを変更します。XMLサンプル・ファイルには、ファイルの構成方法を説明するコメントが含まれています。

注意:

変換が正常に完了することを確認するには、変換オプションConvert verify="ONLY"を設定して、テスト変換を実行します。

パラメータの変更が終了したら、filename.xmlという形式の名前を付けてファイルを保存します。選択した名前を記録しておきます。

3. ディレクトリ$ORACLE_HOME/binに移動し、次のコマンドを使用してrconfigを実行します(ここで、input.xmlは手順2で構成したXML入力ファイルの名前です)。

rconfig input.xml

たとえば、convert.xmlというXML入力ファイルを作成した場合は、次のコマンドを使用します。

$ ./rconfig convert.xml

注意:

ConvertToRAC.xmlファイルのConvert verifyオプションには、3つのオプションがあります。

- Convert verify="YES": rconfigは変換を開始する前に、シングル・インスタンスからOracle RACに変換するための前提条件が満たされていることを確認するチェックを行います。

- Convert verify="NO": rconfigは前提条件のチェックを行わずに、変換を開始します。

- Convert verify="ONLY": rconfigは前提条件のチェックのみを行います。前提条件のチェックが完了しても変換は開始されません。

変換の実行に失敗した場合、次の手順を使用してリカバリを実行し、変換を再試行します。

1. DBCAのデータベースの削除オプションを使用して、データベースの削除を試行します。

2. ソース・データベースをリストアします。

3. 変換ログを確認し、rconfigでレポートされた問題で変換の失敗の原因になった可能性があるものを修正します。rconfigのログ・ファイルは、$ORACLE_BASE/cfgtoollogsのrconfigディレクトリの下に作成されます。

4. 変換を再試行します。

ConvertToRAC用のrconfig XML入力ファイルの例

次の2つの例は、rconfigユーティリティ用のConvertToRAC XML入力ファイルです。例14-1のXML入力ファイルは、Oracle ASMを使用したシングル・インスタンス・データベースを、Oracle ASM記憶域でポリシー管理Oracle RACデータベース(サーバー・プールを使用)に変換するものです。例14-2のXML入力ファイルは、Oracle ASMを使用したシングル・インスタンス・データベースを、管理者管理Oracle RACデータベースに変換するものです。

例14-1 ポリシー管理データベースのrconfig ConvertToRAC XMLファイルの例

<?xml version="1.0" encoding="UTF-8"?>
<n:RConfig xmlns:n="http://www.example.com/rconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/rconfig">
<n:ConvertToRAC>
<!-- Verify does a precheck to ensure all pre-requisites are met, before the
conversion is attempted. Allowable values are: YES|NO|ONLY -->
<n:Convert verify="YES">
<!--Specify current OracleHome of non-rac database for SourceDBHome -->
<n:SourceDBHome>/oracle/product/12.1.0/db_1</n:SourceDBHome>
<!--Specify OracleHome where the rac database should be configured. It can be same
as SourceDBHome -->
<n:TargetDBHome>/oracle/product/12.1.0/db_1</n:TargetDBHome>
<!--Specify SID of non-rac database and credential. User with sysdba role is
required to perform conversion -->
<n:SourceDBInfo SID="sales">
<n:Credentials>
<n:User>sys</n:User>
<n:Password>oracle</n:Password>
<n:Role>sysdba</n:Role>
</n:Credentials>
</n:SourceDBInfo>
<!--Specify the list of existing or new server pools which are used by the
Policy Managed Cluster Database. -->
<n:ServerPoolList>
<n:ExistingServerPool name="custom"/>
<n:NewServerPool name="newpool" cardinality="2"/>
</n:ServerPoolList>
<!--Specify RacOneNode along with servicename to convert database to RACOne
Node -->
<!--n:RacOneNode  servicename="salesrac1service"/-->
<!--InstancePrefix is not required for Policy Managed database. If specified, it
will be ignored. Instance names are generated automatically based on db_unique_
name for Policy Managed dababase.-->
<!-- Listener details are no longer needed starting 11.2. Database is registered
with default listener and SCAN listener running from Oracle Grid Infrastructure
home. -->
<!--Specify the type of storage to be used by rac database. Allowable values are
CFS|ASM. The non-rac database should have same storage type. ASM credentials are
no needed for conversion. -->
<n:SharedStorage type="ASM">
<!--Specify Database Area Location to be configured for rac database.If this field
is left empty, current storage will be used for rac database. For CFS, this field
will have directory path. -->
<n:TargetDatabaseArea>+ASMDG</n:TargetDatabaseArea>
<!--Specify Fast Recovery Area to be configured for rac database. If this field is
left empty, current recovery area of non-rac database will be configured for rac
database. If current database is not using recovery Area, the resulting rac
database will not have a recovery area. -->
<n:TargetFlashRecoveryArea>+ASMDG</n:TargetFlashRecoveryArea>
</n:SharedStorage>
</n:Convert>
</n:ConvertToRAC>
</n:RConfig>

例14-2 管理者管理データベースのrconfig ConvertToRAC XMLファイルの例

<?xml version="1.0" encoding="UTF-8"?>
<n:RConfig xmlns:n="http://www.example.com/rconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/rconfig rconfig.xsd">
<n:ConvertToRAC>
<!-- Verify does a precheck to ensure all pre-requisites are met, before the
conversion is attempted. Allowable values are: YES|NO|ONLY -->
<n:Convert verify="YES">
<!--Specify current OracleHome of non-rac database for SourceDBHome -->
<n:SourceDBHome>/oracle/product/12.1.0/db_1</n:SourceDBHome>
<!--Specify OracleHome where the rac database should be configured. It can be same
as SourceDBHome -->
<n:TargetDBHome>/oracle/product/12.1.0/db_1</n:TargetDBHome>
<!--Specify SID of non-rac database and credential. User with sysdba role is
required to perform conversion -->
<n:SourceDBInfo SID="sales">
<n:Credentials>
<n:User>sys</n:User>
<n:Password>oracle</n:Password>
<n:Role>sysdba</n:Role>
</n:Credentials>
</n:SourceDBInfo>
<!--Specify the list of nodes that should have rac instances running for the Admin
Managed Cluster Database. LocalNode should be the first node in this nodelist.
-->
<n:NodeList>
<n:Node name="node1"/>
<n:Node name="node2"/>
</n:NodeList>
<!--Specify RacOneNode along with servicename to convert database to RACOne
Node -->
<!--n:RacOneNode  servicename="salesrac1service"/-->
<!--Instance Prefix tag is optional starting with 11.2. If left empty, it is
derived from db_unique_name.-->
<n:InstancePrefix>sales</n:InstancePrefix>
<!-- Listener details are no longer needed starting 11.2. Database is registered
with default listener and SCAN listener running from Oracle Grid Infrastructure
home. -->
<!--Specify the type of storage to be used by rac database. Allowable values are
CFS|ASM. The non-rac database should have same storage type. ASM credentials
are not needed for conversion. -->
<n:SharedStorage type="ASM">
<!--Specify Database Area Location to be configured for rac database.If this field
is left empty, current storage will be used for rac database. For CFS, this
field will have directory path. -->
<n:TargetDatabaseArea>+ASMDG</n:TargetDatabaseArea>
<!--Specify Fast Recovery Area to be configured for rac database. If this field is
left empty, current recovery area of non-rac database will be configured for rac
database. If current database is not using recovery Area, the resulting rac
database will not have a recovery area. -->
<n:TargetFlashRecoveryArea>+ASMDG</n:TargetFlashRecoveryArea>
</n:SharedStorage>
</n:Convert>
</n:ConvertToRAC>
</n:RConfig>

変換後の手順

変換の終了後は、次で説明されているとおり、Oracle RAC環境に関する次の推奨事項に注意してください。

- ロード・バランシングおよび透過的アプリケーション・フェイルオーバーの使用方法については、「動的データベース・サービスによるワークロード管理」で説明する推奨事項に従ってください

- 『Oracle Database管理者ガイド』の説明に従って、ディクショナリ管理表領域ではなくローカル管理表領域を使用して、競合を軽減し、順序をOracle RACで管理します。

- 自動セグメント領域管理の使用方法については、『Oracle Database管理者ガイド』のガイドラインに従ってください。

Oracle RACでのバッファ・キャッシュおよび共有プールの容量に関する要件は、シングル・インスタンスのOracle Databaseでの要件よりもわずかに大きくなります。このため、バッファ・キャッシュのサイズを約10%、共有プールのサイズを約15%増加する必要があります。

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

サーバー制御ユーティリティ(SRVCTL)を使用して、Oracle Real Application Clusters (Oracle RAC)構成情報を管理します。SRVCTLコマンドを使用すると、データベース、インスタンス、リスナー、SCANリスナー、サービス、グリッド・ネーミング・サービス(GNS)、Oracle ASMなどのいくつかのエンティティの追加、削除、起動、停止、変更、有効化および無効化ができます。

一部のSRVCTL操作では、Oracle Cluster Registry(OCR)に格納されている構成データが変更されます。SRVCTLは、Oracle Clusterwareリソースを起動または停止する要求をOracle Clusterwareプロセス(CRSD)に送信して、他の操作(インスタンスの起動と停止など)も実行します。

注意:

Oracle Database 12cインストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)にあるSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

関連項目:

SRVCTLを使用してOracle RACデータベースを管理する方法の詳細は、「データベース・インスタンスおよびクラスタ・データベースの管理」を参照してください

SRVCTLの使用方法

SRVCTLは、デフォルトでクラスタの各ノードにそれぞれインストールされます。SRVCTLを使用するには、ノードのオペレーティング・システムにログインし、大/小文字が区別される構文(「SRVCTLのコマンド・リファレンス」を参照)を使用して、SRVCTLコマンドとそのパラメータを入力します。

- Oracle Database 12c用に作成またはアップグレードされたOracle RACデータベースでは、Oracle Database 12cに付属のSRVCTLバージョンのみを使用します。SRVCTLのバージョンは、管理対象のオブジェクト(リスナー、Oracle ASMインスタンス、Oracle RACデータベースとそれらのインスタンスおよびサービス)のバージョンと同じである必要があります。これらのバージョンが同じリリースであることを確認するには、管理するデータベースまたはオブジェクトのOracleホームからSRVCTLコマンドを実行します。

- SRVCTLでは、同じオブジェクトに対する複数コマンドの同時実行はサポートされていません。したがって、各データベース、サービスまたは他のオブジェクトに対して、1つずつSRVCTLコマンドを実行します。

- カンマ区切りリストをSRVCTLコマンドの一部として指定する場合、リスト内の項目の間に空白をしないでください。次に例を示します。

srvctl add database -serverpool "serverpool1,serverpool3"

Windows環境でカンマ区切りリストを指定する場合は、リストを二重引用符("")で囲む必要があります。LinuxまたはUNIX環境で、カンマ区切りリストを二重引用符内で囲むことは可能ですが、二重引用符は無視されます。

- SRVCTLコマンドの入力時に、新しい行で入力を続ける場合、オペレーティング・システムの継続文字を使用できます。Linuxでは、バックスラッシュ(\)記号です。

- 出力が生成されないSRVCTLコマンドは、正常なコマンドです。完了(成功)時にすべてのSRVCTLコマンドがメッセージを返すわけではありません。しかし、SRVCTLコマンドが失敗した場合は、常にエラー・メッセージが返されます。

- -evalパラメータは、複数のSRVCTLコマンドで使用できます。このパラメータを使用すると、システムに変更を加えることなく、コマンドの実行をシミュレートできます。SRVCTLによって戻される出力には、特定のコマンドを実行した場合の結果が示されます。たとえば、サーバーを再配置した場合に想定される結果を確認するには、次のようにします。

$ srvctl relocate server –servers "rac1" –eval –serverpool pool2

Database db1
will stop on node rac1
will start on node rac7
Service mySrv1
will stop on node rac1, it will not run on any node
Service myServ2
will stop on node rac1
will start on node rac6
Server rac1
will be moved from pool myPoolX to pool pool2

-evalパラメータは、次のコマンドで使用できます。

- srvctl add database

- srvctl add service

- srvctl add srvpool

- srvctl modify database

- srvctl modify service

- srvctl modify srvpool

- srvctl relocate server

- srvctl relocate service

- srvctl remove srvpool

- srvctl start database

- srvctl start service

- srvctl stop database

- srvctl stop service

単一文字ではなくキーワードとしてのコマンド・パラメータの指定

Oracle Database 12cより前のリリースでは、SRVCTLコマンドライン・インタフェースのパラメータとして単一文字が使用されていました。ただし、この方法では、SRVCTLコマンドで使用できる一意のパラメータの数に制限が発生します。Oracle Database 12cで導入されたSRVCTLコマンド・パラメータは、単一文字ではなく完全な単語になっています(-multicastportや-subdomainなど)。

下位互換性をサポートするために、単一文字パラメータと新しいキーワード・パラメータを組み合せて使用できます。新たに導入されたキーワード・パラメータは、単一文字パラメータと併用可能です。

注意:

Oracle Database 12c以降では、キーワード・パラメータが優先されるために、単一文字パラメータは非推奨になりました(異なる機能の実装に、コマンドに応じて同じ文字を使用することを回避するためです)。

該当する場合は、-helpパラメータの後に-compatibleパラメータを追加することによって、等価の単一文字を取得できます。

SRVCTLコマンド・パラメータへの入力ファイルの指定

コマンド・パラメータは、コマンドラインで直接指定するかわりに、ファイルに指定することもできます。次のような状況では、コマンド・パラメータ入力ファイルを使用すると役立ちます。

- 非常に長いパラメータ値または非常に多数のパラメータを指定してコマンドを実行する場合。

- 特定の特殊文字のシェル処理を省略する場合。

コマンド・パラメータ入力ファイルを指定するには、コマンド・パラメータ・ファイルの場所である値とともに-fileパラメータを使用します。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インスタンスおよびディスク・グループ、サービス、リスナーまたは他のクラスタウェア・リソースを管理できます。

- クラスタ・データベース構成タスク

タスク

コマンド

クラスタ・データベース構成情報の追加、変更および削除

srvctl add database

srvctl modify database

srvctl remove database

クラスタ・データベース構成に対するインスタンスの追加または削除

srvctl add instance

srvctl remove instance

クラスタ・データベース構成に対するサービスの追加または削除

srvctl add service

srvctl remove service

クラスタ・データベース構成内でのインスタンスおよびサービスの移動、およびサービス構成の変更

srvctl relocate database

srvctl relocate service

srvctl modify instance

srvctl modify service

クラスタ・データベース構成内のインスタンスまたはサービスの環境設定および解除

srvctl modify instance

srvctl modify service

クラスタ・データベース構成内のクラスタ・データベース全体の環境設定および解除

srvctl setenv database

srvctl unsetenv database

- 一般クラスタ・データベース管理タスク

タスク

コマンド

クラスタ・データベースの起動および停止

srvctl start database

srvctl start home

クラスタ・データベース・インスタンスの起動および停止

srvctl start instance

srvctl start home

クラスタ・データベース・サービスの起動、停止および再配置

srvctl start service

srvctl stop service

srvctl relocate service

クラスタ・データベース、クラスタ・データベース・インスタンスまたはクラスタ・データベース・サービスのステータスの取得

srvctl status database

srvctl status instance

srvctl status home

srvctl status service

- ノード・レベル・タスク

タスク

コマンド

VIPの管理

srvctl add vip

srvctl config vip

srvctl disable vip

srvctl enable vip

srvctl getenv vip

srvctl modify vip

srvctl relocate vip

srvctl remove vip

srvctl setenv vip

srvctl start vip

srvctl status vip

srvctl stop vip

srvctl unsetenv vip

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

srvctl enable diskgroup

srvctl disable diskgroup

srvctl remove diskgroup

srvctl start diskgroup

srvctl status diskgroup

srvctl stop diskgroup

サーバー・プールの管理

srvctl add srvpool

srvctl config srvpool

srvctl remove srvpool

srvctl modify srvpool

srvctl status srvpool

ノード・アプリケーションの管理

srvctl add nodeapps

srvctl disable nodeapps

srvctl enable nodeapps

srvctl getenv nodeapps

srvctl modify nodeapps

srvctl remove nodeapps

srvctl setenv nodeapps

srvctl unsetenv nodeapps

Oracle ASMインスタンスの管理

srvctl enable asm

srvctl getenv asm

srvctl modify asm

srvctl remove asm

srvctl setenv asm

srvctl start asm

srvctl status asm

srvctl stop asm

srvctl unsetenv asm

高速ホーム・プロビジョニングの管理

srvctl add havip

srvctl config havip

srvctl disable havip

srvctl enable havip

srvctl modify havip

srvctl relocate havip

srvctl remove havip

srvctl start havip

srvctl status havip

srvctl stop havip

仮想IPアドレス(VIP)、リスナー、Oracle Notification Servicesなどのプログラムのグループの起動と停止

srvctl start home

srvctl status home

srvctl stop home

関連項目:

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

SRVCTLヘルプの使用方法

すべてのSRVCTLコマンドに関するヘルプを表示するには、コマンドラインから次のように入力します。

srvctl -help

各SRVCTLコマンドのコマンド構文およびパラメータのリストを表示するには、コマンドラインから次のように入力します。

srvctl command (or verb) object (or noun) -help

SRVCTLで-helpを使用してコマンドのオンライン・ヘルプを要求すると、各パラメータの完全な単語が出力されます。該当する場合は、-helpパラメータの後に-compatibleパラメータを追加することによって、等価の単一文字を取得できます。次に例を示します。

$ srvctl config gns -help -compatible

前述のコマンドを実行すると、srvctl config gnsコマンドの使用方法が出力され、すべてのパラメータが完全な単語として一覧表示され、その後に、該当する場合は等価の単一文字がカッコで囲まれて表示されます。

SRVCTLのバージョン・ナンバーを表示するには、次のように入力します。

$ srvctl -version

SRVCTLの権限とセキュリティ

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はリスナー、インスタンス、ディスク・グループ、ネットワークなど、Oracleから提供されるリソースの管理に使用し、CRSCTLはOracle Clusterwareおよびそのリソースの管理に使用します。

注意:

Oracleが提供するリソース(oraという名前で始まるリソース)は、CRSCTLでは直接操作しないでください。直接操作することはクラスタ構成に悪影響を与える場合があります。

- [Ctrl]キーを押しながら[C]キーを押すと、SRVCTLコマンドの実行をキャンセルできますが、その結果、構成データが破損される場合があります。
この方法ではSRVCTLを中断しないでください。

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

いくつかのSRVCTLコマンドおよびパラメータは、このリリースでは非推奨になりました。

- すべてのSRVCTLコマンドの単一文字パラメータ

- その他のSRVCTLコマンドおよびパラメータ

すべてのSRVCTLコマンドの単一文字パラメータ

単一文字パラメータは、Oracle Database 12cでは非推奨になりました。かわりに各パラメータの完全なキーワードを使用してください。引き続き単一文字パラメータが使用される従来のツールやスクリプトをサポートするために、現在のバージョンのSRVCTLでは、単一文字パラメータと完全なキーワード・パラメータの両方がサポートされています。

この付録のコマンド・リファレンスに、各SRVCTLコマンドのキーワードが示されています。表A-2に、非推奨になった単一文字パラメータを示します。

表A-2 SRVCTLコマンドで非推奨になった単一文字パラメータ

単一文字

詳細名

値

説明

関連コマンド

A

address

{VIP_name |
IP}/netmask/
[if1[|if2...]]

ノード・アプリケーションのVIPアドレス指定

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

a

all

その種のすべてのリソース

srvctl config database

共通

a

diskgroup

diskgroup_list

Oracle ASMディスク・グループのカンマ区切りリスト

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

a

detail

詳細な構成情報の出力

共通

a

available

available_list

使用可能インスタンスのカンマ区切りリスト

サービスおよびサーバー・プールのコマンド

a

abort

失敗したオンライン再配置の強制終了

データベースの再配置

a

viponly

VIP構成の表示

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

B

rlbgoal

{NONE|
SERVICE_TIME|
THROUGHPUT}

サービスのランタイム・ロード・バランシングの目標

サービスおよびサーバー・プールのコマンド

c

currentnode

current_node

サービスの再配置元となるノードの名前

サービスおよびサーバー・プールのコマンド

c

cardinality

{UNIFORM|
SINGLETON}

サービスをサーバー・プール内のすべてのアクティブ・サーバーで実行するか(UNIFORM)、1台のサーバーでのみ実行するか(SINGLETON)

サービスおよびサーバー・プールのコマンド

c

dbtype

type

データベースのタイプ: Oracle RAC One Node、Oracle RACまたはシングル・インスタンス

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

d

dbまたはdatabase

db_unique_name

データベースの一意の名前

共通

d

device

volume_device

ボリューム・デバイスのパス

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

d

domain

GNSから供給されるサブドメインの表示

OC4J、ホーム、CVUおよびGNSのコマンド

e

emport

em_port_number

Oracle Enterprise Managerのローカル・リスニング・ポート

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

e

failovertype

{NONE|SESSION
BASIC|TRANSACTION}

サービスのフェイルオーバー・タイプ

サービスおよびサーバー・プールのコマンド

e

server

server_list

Oracle RAC One Nodeデータベースの候補サーバーのリスト

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

f

force

強制削除

共通

g

diskgroup

diskgroup_name

ディスク・グループ名

ファイル・システム、ディスクグループのコマンド

g

gsdonly

GSD構成の表示

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

g

serverpool

server_pool_name

server_pool_list

サーバー・プール名

データベース・サーバー・プール名のカンマ区切りリスト

サービスおよびサーバー・プールのコマンド

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

h

help

共通

i

importance

number

サーバー・プールの重要度を表す番号

サービスおよびサーバー・プールのコマンド

i

instance

instance_name

instance_list

管理者管理Oracle RAC One Nodeデータベースのインスタンス名の接頭辞

インスタンス名のカンマ区切りリスト

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

I

ip

ip_address

GNSがリスニングするVIPアドレス

OC4J、ホーム、CVUおよびGNSのコマンド

i

oldinst

instance_name

元のインスタンス名

サービスおよびサーバー・プールのコマンド

i

scannumber

scan_ordinal
_number

SCAN用のIPアドレスの序数

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

i

vip

vip_name or
"vip_name_list"

VIP名

ノード・アプリケーション、GNS、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

j

acfspath

acfs_path_list

データベースの依存性を設定するOracle ACFSパスのカンマ区切りリスト

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

j

clbgoal

{SHORT|LONG}

サービスの接続時ロード・バランシングの目標

サービスおよびサーバー・プールのコマンド

k

netnum

network_number

ネットワーク番号

サービスおよびサーバー・プールのコマンド

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

OC4J、ホーム、CVUおよびGNSのコマンド

l

list

GNSのすべてのレコードのリスト

OC4J、ホーム、CVUおよびGNSのコマンド

l

listener

listener_name

リスナーの名前

ASMのコマンド

l

loglevel

log_level

GNSが実行するロギング・レベル(0から6)の指定

OC4J、ホーム、CVUおよびGNSのコマンド

l

min

number

サーバー・プールの最小サイズ

サービスおよびサーバー・プールのコマンド

l

onslocalport

port_number

ローカル・クライアント接続用のOracle Notification Serviceリスニング・ポート

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

l

role

service_role

二重引用符("")で囲んだサーバー・ロールのカンマ区切りリスト(各ロールはPRIMARY、PHYSICAL_STANDBY、LOGICAL_STANDBYまたはSNAPSHOT_STANDBYのいずれか)

サービスおよびサーバー・プールのコマンド

m

domain

domain_name

データベースのドメイン

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

m

failovermethod

{NONE|BASIC}

サービスのフェイルオーバー・メソッド

サービスおよびサーバー・プールのコマンド

m

multicastpost

GNSデーモンがマルチキャスト・リクエストをリスニングしているポート

OC4J、ホーム、CVUおよびGNSのコマンド

m

path

mountpoint_path

マウントポイント・パス

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

n

name

特定のアドレスを使用したGNSによる名前の通知

OC4J、ホーム、CVUおよびGNSのコマンド

n

node

node_name

特定のノードの名前

共通

n

nodes

node_list

ノード名のカンマ区切りリスト

ファイル・システムのコマンド

n

dbname

database_name

データベース名(DB_NAME)、-dbパラメータで指定する一意の名前と異なる場合

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

n

scanname

scan_name

完全修飾SCAN名(ドメインを含む)

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

n

servers

server_list

候補としてのサーバー名のカンマ区切りリスト

サービスおよびサーバー・プールのコマンド

n

targetnode

node_name

サービスの再配置先となるノードの名前

サービスおよびサーバー・プールのコマンド

o

oraclehome

oracle_home

$ORACLE_HOMEパス

データベースのコマンド

p

endpoints

[TCP:]port
_number[/IPC:
key][/NMP:pipe
_name][/TCPS:
s_port][/SDP:
port]

SCANリスナー・エンドポイント

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

p

port

GNSデーモンがDNSサーバーとの通信に使用するポート

OC4J、ホーム、CVUおよびGNSのコマンド

p

rmiport

port_number

OC4J RMIポート番号

OC4J、ホーム、CVUおよびGNSのコマンド

P

tafpolicy

{NONE|BASIC}

TAFポリシーの指定

サービスおよびサーバー・プールのコマンド

p

spfile

spfile_location

サーバー・パラメータ・ファイルのパス

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

q

notification

{TRUE|FALSE}

FANがOCI接続に対して有効かどうか

サービスのコマンド

q

query

GNSへの、名前に属しているレコードの問合せ

OC4J、ホーム、CVUおよびGNSのコマンド

r

preferred

preferred_list

優先インスタンスのカンマ区切りリスト

サービスおよびサーバー・プールのコマンド

r

onsremoteport

port_number

リモート・ホストからの接続用のOracle Notification Serviceリスニング・ポート

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

r

relocate

VIPの再配置

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

r

revert

管理者管理Oracle RAC One Nodeデータベースの候補サーバー・リストからの、失敗したオンライン再配置リクエストのターゲット・ノードの削除

データベースの再配置

r

role

role_type

スタンバイ・データベースのロール: PRIMARY、PHYSICAL_STANDBY、LOGICAL_STANDBYまたはSNAPSHOT_STANDBY

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

s

onsonly

Oracle Notification Serviceデーモン構成の表示

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

s

skip

ポートの確認のスキップ

リスナー、SCANおよびSCANリスナー。

s

statfile

file_name

前に実行したsrvctl stop homeコマンドによって作成されたstate_fileのファイル・パス

OC4J、ホーム、CVUおよびGNSのコマンド

s

status

GNSのステータスの表示

OC4J、ホーム、CVUおよびGNSのコマンド

S

subnet

subnet/net
_mask/[if1[|
if2...]]

ネットワークのネットワーク・アドレス指定

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

s

service

service_name

service_name_list

サービスの名前

サービス名のカンマ区切りリスト

サービスおよびサーバー・プールのコマンド

s

startoption

start_options

データベースの起動オプション(mount、open、read only)

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

t

checkinterval

time_interval

チェック間隔(分)

OC4J、ホーム、CVUおよびGNSのコマンド

t

edition

edition_name

サービスの初期セッション・エディション

サービスおよびサーバー・プールのコマンド

t

envs

"name_list"

環境変数のリスト

共通

t

namevals

"name=
value,..."

環境変数の名前および値

共通

T

nameval

"name=value"

単一環境変数の名前と値

共通

t

update

instance_name

新しいインスタンス名

サービスおよびサーバー・プールのコマンド

t

remoteservers

host_name[:
port_number]
[,host_name[:
port_number]...]

このクラスタの外部にあるOracle Notification Serviceデーモン用のリモート・ホスト名とポート番号のペアのリスト

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

t

stopoption

stop_options

データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDITATEまたはABORT)

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

t

toversion

target_version

ダウングレード先のバージョン

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

u

max

number

サーバー・プールの最大サイズ

サービスおよびサーバー・プールのコマンド

u

nettype

network_type

ネットワーク・サーバー・タイプ(STATIC、DHCPまたはMIXED)

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

u

newinst

サービス構成への新しいインスタンスの追加

サービスのコマンド

u

update

SCAN VIPの数に合わせたSCANリスナーの更新

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

u

user

oracle_user

ファイル・システムのマウントおよびアンマウントが許可されたOracleユーザーまたはその他のユーザー

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

v

verbose

冗長出力

共通

v

volume

volume_name

ボリュームの名前

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

V

versions

共通

w

failoverdelay

number

フェイルオーバーの遅延

サービスおよびサーバー・プールのコマンド

w

nettype

network_type

ネットワーク・サーバー・タイプ(STATIC、DHCPまたはMIXED)

ノード・アプリケーション、VIP、ネットワーク、リスナー、SCAN VIPおよびSCANリスナーのコマンド

w

timeout

timeout

オンライン再配置のタイムアウト(分)

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

x

dtp

{TRUE | FALSE}

分散トランザクション処理を有効化するかどうか

サービスおよびサーバー・プールのコマンド

x

node

node_name

ノード名(このパラメータは非クラスタ・データベースでのみ使用します)

共通

y

noprompt

確認プロンプトの抑止

共通

y

policy

{AUTOMATIC | MANUAL}

リソースの管理ポリシー

データベース、インスタンス、Oracle ASM、ディスク・グループ、ファイル・システム、サービスおよびサーバー・プールのコマンド

z

failoverretry

number

フェイルオーバー再試行回数

サービスおよびサーバー・プールのコマンド

z

rmdepondisk

ディスク・グループへのデータベースの依存性の削除

データベース、インスタンス、Oracle ASM、ディスク・グループおよびファイル・システムのコマンド

その他のSRVCTLコマンドおよびパラメータ

次のコマンド・パラメータは、このリリースでは非推奨になりました。

表A-3 SRVCTLで非推奨になったコマンドおよびパラメータ

コマンド

非推奨のパラメータ

srvctl modify asm

-node node_name

srvctl modify instance

-z

かわりに、-nodeオプションを使用し、その値を""に設定してください。

srvctl modify gns

[-ip ip_address] [-advertise host_name -address address] [-delete host_name -address address] [-createalias name -alias alias] [-deletealias alias]

かわりに、srvctl update gnsコマンドを使用してください。

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

SRVCTLのコマンド、オブジェクト名およびパラメータでは、大/小文字が区別されます。データベース、インスタンス、リスナーおよびサービスの名前は、大/小文字が区別されず、そのまま保持されます。LISTENERとlistenerのように、大/小文字のみが異なるリスナー名は作成できません。SRVCTLでは次のコマンド構文を使用します。

srvctl command object [parameters]

このSRVCTL構文の各要素の意味は次のとおりです。

- commandはstart、stop、removeなどの動詞です

- object (名詞とも呼ばれる)は、SRVCTLがコマンドを実行するターゲットまたはオブジェクト(データベースやインスタンスなど)です。オブジェクトの短縮形も使用できます。

- parametersは、コマンドの追加パラメータを使用できるようにすぐ前のコマンドの組合せの使用範囲を拡大します。たとえば、-instancesパラメータは、優先インスタンス名のカンマ区切りリストが後に続くことを示し、-instanceパラメータでは、名前のリストではなく1つの値のみが許可されます。カンマ区切りリストの項目の間に空白を使用しないでください。

注意:

Windowsでカンマ区切りリストを指定する場合は、リストを二重引用符("")で囲む必要があります。

表A-4 SRVCTLコマンドのサマリー

コマンド

説明

add

ノード・アプリケーション、データベース、データベース・インスタンス、高可用性仮想IP (HAVIP)、リスナー、単一クライアント・アクセス名(SCAN)、サーバー・プール、サービスまたは仮想IP (VIP)の追加。

config

ノード・アプリケーション、データベース、HAVIP、Oracle ASMインスタンスまたはサービスの構成の表示。

srvctl convert database

データベースとOracle Real Application Clusters One Node(Oracle RAC One Node)データベース間での双方向の変換。

disable

データベース、データベース・インスタンスまたはサービスの無効化。

srvctl downgrade database

データベースの手動ダウングレード後のデータベース構成のダウングレード。

enable

データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスの有効化。

srvctl export gns

GNSインスタンスで使用されるデータの、ファイルへのエクスポート(バックアップのため、またはインスタンスを新しいサーバー・クラスタに移行できるように)。

getenv

ノード・アプリケーション、データベース、VIP、リスナーまたはOracle ASMの構成内の環境変数の表示。

srvctl import gns

ファイルからのGNS情報のインポート。

modify

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、HAVIPまたはサービスの構成の変更。

predict

リソース障害の結果の評価。

relocate

Oracle Flex ASMインスタンス、GNS、HAVIP、OC4J、SCAN、Oracle RAC One Nodeデータベース、サーバーおよびVIPのノードから別のノードへの再配置。

remove

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、Oracle ASMインスタンスまたはサービスの削除。

setenv

ノード・アプリケーション、データベース、VIP、リスナーまたはOracle ASMの構成内の環境変数の設定。

start

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、HAVIP、Oracle ASMインスタンスまたはサービスの起動。

status

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、HAVIP、NFSエクスポート、Oracle ASMインスタンスまたはサービスのステータスの表示。

stop

ノード・アプリケーション、データベース、データベース・インスタンス、GNS、HAVIP、Oracle ASMインスタンスまたはサービスの停止。

unsetenv

ノード・アプリケーション、データベース、VIP、リスナーまたはOracle ASMの構成内の環境変数の設定解除。

update

GNSインスタンスの変更。

srvctl upgrade database

実行するソフトウェアのバージョンへの構成のアップグレード。

表A-5に、SRVCTLコマンドのobjectの部分に使用できるキーワードを示します。各オブジェクト・キーワードとして、完全な名前または短縮形のいずれかを使用できます。「目的」列に、オブジェクトとそのオブジェクトに実行できるアクションを記述します。

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

オブジェクト

キーワード

用途

Oracle Automatic Storage Managementインスタンス

asm

Oracle ASMインスタンスに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除。

クラスタ検証ユーティリティ

cvu

CVUリソースに対する追加、変更、構成表示、有効化、無効化、起動、停止、再配置、ステータス取得および削除。

データベース

database

データベースに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得の他、データベース構成情報のアップグレード、ダウングレードおよび削除。

ディスク・グループ

diskgroup

Oracle ASMディスク・グループに対する追加、変更、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

ファイル・システム

filesystem

Oracle Automatic Storage Management Cluster File System (Oracle ACFS)および汎用ファイル・システムのディスク・デバイスに対する追加、変更、構成表示、有効化、無効化、停止、起動、ステータス取得および削除。

グリッド・ネーミング・サービス(GNS)

gns

GNSデーモンに対する追加、変更、構成表示、有効化、無効化、停止、起動、ステータス取得、再配置および削除。

高可用性VIP

havip

高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)に対する追加、変更、構成表示、有効化、無効化、停止、起動、ステータス取得、再配置および削除

ホーム・ディレクトリ(パッチの適用)

home

ホーム・ディレクトリに対する起動、停止、および関連するすべてのクラスタウェア・リソースのステータス取得。

インスタンス

instance

inst

データベース・インスタンスに対する追加、変更、有効化、無効化、起動、停止、ステータス取得および削除。

Oracle ASM IOServer

ioserver

Oracle ASM IOServerに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得、再配置および削除

リスナー

listener

lsnr

リスナーに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

管理データベース

mgmtdb

クラスタ状態モニター(CHM)で使用されるデータベースに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得、再配置および削除

管理リスナー

mgmtlsnr

CHMで使用されるリスナーに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

ネットワーク

network

デフォルト以外のネットワークの追加、変更、構成表示および削除

注意: また、ノード・アプリケーション・オブジェクトと、configおよびmodifyコマンドは、デフォルトのネットワークを管理します。

ノード・アプリケーション

nodeapps

ノード・アプリケーションに対する追加、変更、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

Oracle Grid Foundation OC4Jコンテナ

oc4j

OC4Jインスタンスに対する追加、変更、構成表示、有効化、無効化、起動、停止、再配置、ステータス取得および削除

Oracle Notification Service

ons

Oracle RestartのOracle Notification Serviceインスタンスのみに対する追加、構成、有効化、起動、ステータス取得、停止、無効化および削除

単一クライアント・アクセス名(SCAN)

scan

SCAN VIPに対する追加、構成表示、変更、有効化、無効化、起動、停止、再配置、ステータス取得および削除

SCANリスナー

scan_listener

SCANリスナーに対する追加、構成表示、変更、有効化、無効化、起動、停止、再配置、ステータス取得および削除

サーバー

server

サーバーのステータス取得および別のサーバー・プールへの再配置。

サーバー・プール

serverpool

(srvpool)

サーバー・プールに対する追加、変更、構成表示、ステータス取得および削除

サービス

service

サービスに対する追加、変更、構成表示、有効化、無効化、起動、停止、ステータス取得、再配置および削除

仮想IP

vip

VIPに対する追加、環境変数管理、構成表示、有効化、無効化、起動、停止、ステータス取得および削除

Oracle ACFSボリューム

volume

Oracle ACFSボリュームに対する構成表示、有効化、無効化、起動、停止、ステータス取得および削除

add

srvctl addコマンドは、クラスタ・データベース、指定したインスタンス、指定したサービスまたは指定したノード用に、OCRに対して構成およびOracle Clusterwareアプリケーションを追加します。srvctl add操作を実行するには、LinuxシステムおよびUNIXシステムでは、データベース管理者としてログインし、Oracleアカウント所有者である必要があり、Windowsシステムでは、管理者権限を持つユーザーとしてログオンする必要があります。

インスタンスを追加する場合、-instanceで指定する名前は、ORACLE_SIDパラメータと一致している必要があります。-database db_unique_nameで指定するデータベース名は、DB_UNIQUE_NAME初期化パラメータの設定と一致している必要があります。DB_UNIQUE_NAMEが指定されていない場合は、DB_NAME初期化パラメータ設定と一致させます。DB_UNIQUE_NAMEのデフォルト設定には、DB_NAMEに対する設定が使用されます。また、-domain db_domainで指定するドメイン名は、DB_DOMAIN設定と一致している必要があります。

表A-6 srvctl addコマンドのサマリー

コマンド

説明

srvctl add cvu

Oracle Clusterware構成へのクラスタ検証ユーティリティ・リソースの追加

srvctl add database

データベースおよび構成の追加

srvctl add havip

クラスタへの高可用性VIPの追加。

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 cvu

Oracle Clusterware構成へのクラスタ検証ユーティリティ(CVU)の追加。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add cvuコマンドは、次の構文で使用します。

srvctl add cvu [-checkinterval time_in_minutes]

表A-7 srvctl add cvuのパラメータ

パラメータ

説明

-checkinterval time_in_minutes

デフォルトでは、CVUは6時間に1回実行され、クラスタの健全性を検証します。CVUチェックに指定できる最も短い間隔は10分です。

使用上の注意

- Gridホーム・ユーザーとしてログインしている間にこのコマンドを実行してください。

例

チェック間隔が6時間のCVUを追加するには、次のコマンドを使用します。

$ srvctl add cvu -checkinterval 360

srvctl add database

データベース構成をOracle Clusterwareに追加します。

構文およびパラメータ

srvctl add databaseコマンドは、次の構文で使用します。

srvctl add database -db db_unique_name [-eval]
-oraclehome oracle_home [-node node_name] [-domain domain_name]
[-spfile spfile] [-pwfile password_file_path]
[-dbtype  {RACONENODE | RAC | SINGLE} [-server "server_list"]
[-instance instance_name] [-timeout timeout]]
[-role {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY"]
[-startoption start_options] [-stopoption stop_options] [-dbname db_name]
[-acfspath "acfs_path_list"] [-policy {AUTOMATIC | MANUAL | NORESTART}]
[-serverpool "server_pool_list" [-pqpool "pq_pool_list"]]
[-diskgroup "disk_group_list"] [-verbose]

表A-8 srvctl add databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

注意: このパラメータは、ポリシー管理データベースでのみ使用できます。

-oraclehome oracle_home

Oracle Databaseのホーム・ディレクトリのパス。

-node node_name

非クラスタ(シングル・インスタンス) Oracle Databaseを登録するノード名。

注意: このパラメータは、Oracle Clusterwareでのみ使用でき、-serverpoolパラメータと併用してポリシー管理の非クラスタ・データベースを作成できます。

-domain db_domain

データベースのドメイン

注意: データベースに対してDB_DOMAIN初期化パラメータを設定している場合は、このパラメータを使用する必要があります。

-spfile spfile

データベース・サーバー・パラメータ・ファイルのパス名。

-pwfile password_file_path

パスワード・ファイルの場所へのフル・パスを入力します。

-dbtype {RACONENODE | RAC | SINGLE}

追加するデータベースのタイプ(Oracle RAC One Node、Oracle RACまたは単一のインスタンス)。-node node_nameパラメータを指定しない場合のデフォルトはRACで、-typeパラメータのデフォルトはSINGLEです。

-server server_list

Oracle RAC One Nodeデータベースの候補サーバーのリスト。

注意: このパラメータは、管理者管理Oracle RAC One Nodeデータベースでのみ使用できます。Oracle RAC One Nodeデータベースがポリシー管理である場合、このパラメータは使用できません。

-instance instance_name

Oracle RAC One Nodeデータベースのインスタンス名の接頭辞。このパラメータのデフォルト値は、データベースのグローバルな一意の名前の最初の12文字です。

注意: このパラメータは、管理者管理Oracle RAC One Nodeデータベースでのみ使用できます。Oracle RAC One Nodeデータベースがポリシー管理である場合、このパラメータは使用できません。

-timeout timeout

Oracle RAC One Nodeデータベースのオンライン・データベース再配置タイムアウト(分単位)。デフォルトは30です。

-role {PRIMARY | PHYSICAL_STANDBY |
LOGICAL_STANDBY |
SNAPSHOT_STANDBY}

Oracle Data Guard構成でのデータベースのロール。デフォルトはPRIMARYです。

関連項目: データベース・ロールの詳細は、『Oracle Data Guard概要および管理』を参照してください。

-startoption start_options

データベースの起動オプション(OPEN、MOUNT、NOMOUNTなど)デフォルト値はOPENです。

注意:

- 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

- Oracle Data Guard構成でスイッチオーバーを実行する場合、プライマリ・データベースになるスタンバイ・データベースの-startoptionは、スイッチオーバーの後では常にOPENに設定されます。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-stoption stop_options

データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-dbname db_name

データベースの名前(-dbパラメータで指定する一意の名前と異なる場合)

-acfspath "acfs_path_list"

データベースの依存性が設定された、二重引用符("")で囲まれた単一のOracle ACFSパスまたはOracle ACFSパスのカンマ区切りリスト

このパラメータは、データベースがORACLE_HOMEファイル・システムとは異なるファイル・システムでORACLE_BASEを使用する場合など、ORACLE_HOME以外のOracle ACFSファイル・システムへの依存性を作成する場合に使用します。

-policy {AUTOMATIC | MANUAL | NORESTART}

データベースの管理ポリシー。

- AUTOMATIC(デフォルト): データベースは、データベース・ホスト・コンピュータの再起動時に前回の実行状態(起動または停止)へ自動的に戻ります。

- MANUAL: データベース・ホスト・コンピュータの再起動時にデータベースは自動的には再起動されません。MANUALに設定しても、Oracle Clusterwareは、実行中のデータベースを監視し、障害発生時にデータベースを再起動します。

- NORESTART: MANUAL設定と同様に、データベース・ホスト・コンピュータの再起動時にデータベースは自動的には再起動されません。ただし、NORESTART設定では、障害が発生しても、データベースを再起動することはありません。

-serverpool "server_pool_list"
[-pqpool "pq_pool_list"]]

データベースの配置の制御に使用するサーバー・プール名のカンマ区切りリスト。このパラメータを指定しない場合、デフォルトでGenericサーバー・プールが使用されます。

また、必要に応じて、データベースで使用されるパラレル問合せサーバー・プールの名前のカンマ区切りリストを指定することもできます。

注意:

- このパラメータは、Oracle Clusterwareでのみ使用できます。このパラメータと-nodeパラメータは併用できますが、サーバー・プールはMAX_SIZE=1とし、1台のみのサーバー(-nodeで指定)を構成しておく必要があります。

- サーバー・プールを追加した後、srvctl add serviceコマンドを使用してサービスをサーバー・プールに割り当てることができます。

-diskgroup "disk_group_list"

Oracle ASMディスク・グループのカンマ区切りリスト(データベースでOracle ASM記憶域を使用している場合)

例

次のコマンド例は、ポリシー管理Oracle RACデータベースを追加します。

srvctl add database -db crm -oraclehome /u01/oracle/product/12c/mydb
-domain example.com -spfile +diskgroup1/crm/spfilecrm.ora
-role PHYSICAL_STANDBY -startoption MOUNT -dbtype RAC -dbname crm_psd
-policy MANUAL -serverpool "svrpool1,svrpool2" -diskgroup "dgrp1,dgrp2"

次のコマンド例は、管理者管理データベースを追加します。

srvctl add database -db crm -oraclehome /u01/oracle/product/12c/mydb
-domain example.com

srvctl add havip

高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)をクラスタに追加します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add havipコマンドは、次の構文で使用します。

srvctl add havip -id id -address {host_name | ip_address}
[-netnum network_number] [-description text] [-skip] [-homenode node_name]

表A-9 srvctl add havipのパラメータ

パラメータ

説明

-id havip_name

HAVIPリソースの一意のIDを指定します。

-address {host_name |ip_address}

作成するHAVIP用のホスト名またはIPv4 IPアドレスを指定します。

注意: 非DHCPで非ラウンド・ロビンDNSアドレスを使用して、IPv4 IPアドレスを構成する必要があります。

-netnum network_number

必要に応じて、HAVIPが依存するネットワーク・リソースを指定できます。このパラメータのデフォルト値は1です。

-description text

必要に応じて、HAVIPのテキスト説明を指定できます。

-skip

必要に応じて、このパラメータを指定して、IPアドレスの到達可能性の確認をスキップできます。

-homenode node_name

必要に応じて、優先ノードまたは空の文字列を指定して、ホーム・ノードをクリアできます。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

- HAVIPのアドレスは、作成されたネットワークと同じサブネットである必要があります。

- IPv6アドレスの使用はサポートされていません。

例

次に、このコマンドの例を示します。

# srvctl add havip -id myhavip -address 192.0.2.1 -netnum 2 -description
"My HA VIP" -skip -homenode myNode2

srvctl add instance

クラスタ・データベース構成にインスタンスの構成を追加します。

このコマンドは管理者管理データベースにのみ使用できます。ポリシー管理データベースの場合は、srvctl modify srvpoolコマンドを使用してインスタンスを追加し、データベースで使用するサーバー・プールの最大サイズまたは最小サイズ(あるいはその両方)を増やします。

注意:

- このコマンドによって、CARDINALITYリソース属性の値が増加します。

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを使用しようとすると、コマンドからデータベースをOracle RACに変換する必要があるという内容のエラーが戻されます。

構文およびパラメータ

srvctl add instanceコマンドは、次の構文で使用します。

srvctl add instance -db db_unique_name -instance instance_name
-node node_name [-force]

表A-10 srvctl add instanceのパラメータ

パラメータ

説明

-db db_unique_name

インスタンスを追加するデータベースの一意の名前

-instance instance_name

追加するインスタンスの名前

-node node_name

インスタンスを作成するノードの名前

-force

必要に応じて、一部のリソースが停止されても追加操作を強制できます。

例

次に、このコマンドの例を示します。

$ srvctl add instance -db crm -instance crm01 -node gm01
$ srvctl add instance -db crm -instance crm02 -node gm02
$ srvctl add instance -db crm -instance crm03 -node gm03

srvctl add listener

クラスタ内のすべてのノードにリスナーを追加します。

構文およびパラメータ

srvctl add listenerコマンドは、次の構文モデルの1つで使用します。

Oracle Databaseリスナーを作成します。

srvctl add listener [-listener listener_name] [-netnum network_number]
[-oraclehome Oracle_home] -user user_name [-endpoints "[TCP:]port_list[/IPC:key]
[/NMP:pipe_name][/TCPS:s_port][/SDP:port]"] [-skip]

Oracle ASMリスナーを作成します。

srvctl add listener [-listener listener_name] -asmlistener [-subnet subnet]
[-endpoints "[TCP:]port_list[/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]"]
[-skip]

リーフ・リスナーを作成します。

srvctl add listener [-listener listener_name] -leaflistener [-subnet subnet]
[-endpoints "[TCP:]port_list[/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]"]
[-skip]

SCANリスナーを作成するには、srvctl add scan_listenerコマンドを使用します。管理リスナー(CHMリポジトリ用)を作成するには、srvctl add mgmtlsnrコマンドを使用します。

表A-11 srvctl add listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナー名を指定します。このパラメータは省略可能です。

このパラメータを指定しない場合、リスナーの名前はデフォルトでLISTENER (データベース・リスナー)、LISTENER_ASM (Oracle ASMリスナー)およびLISTENER_LEAF (リーフ・ノード・リスナー)になります。

-netnum network_number

VIPを取得するネットワーク番号(オプション)。指定しなかった場合は、nodeapps VIPが取得されるネットワークと同じデフォルトのネットワークからVIPが取得されます。

注意: Oracle Databaseリスナーを追加する場合は、このパラメータを使用してください。

-oraclehome oracle_home

クラスタ・データベースのOracleホームを指定します。このパラメータを含めなかった場合は、SRVCTLによってデフォルトでGridホームが使用されます。

注意: Oracle Databaseリスナーを追加する場合は、このパラメータを使用してください。

-user user_name

リスナーを実行するユーザーを、より低い権限のユーザーに設定するには、このコマンドを使用します。セキュリティを向上させるためにこのパラメータを使用することをお薦めします。

注意:

- このコマンドを実行し、-userパラメータを使用するには、rootとしてログインする必要があります。

- Oracle Databaseリスナーを追加する場合は、このパラメータを使用します。

- -userパラメータを使用する場合は、次のことを確認します。
このパラメータを使用する前に、ORACLE_BASE内のリスナー・ログ・ディレクトリと、Grid_home/network/admin/user_nameディレクトリの両方を各ノードに配置する必要があります。また、user_nameは、ディレクトリでの読取り、書込みおよび実行の権限を持っている必要があります。

ORACLE_HOME/network/admin/endpoints_listener.oraファイルが存在し、user_nameがこのファイルに対して読取りおよび書込みの権限を持っています。

$ORACLE_BASE/diag/tnslsnr/host_name/lower_case_listener_nameディレクトリが存在し、user_nameがこのディレクトリに対して読取り、書込みおよび実行の権限を持っています。

-endpoints "[TCP:]port_list[/IPC:key]
[/NMP:pipe_name][/TCPS:s_port]
[/SDP:port]

リスナーのプロトコル仕様。port_listはTCPポートまたはリスナー・エンドポイントのカンマ区切りリストです。

Oracle Databaseリスナーに-endpointsパラメータを指定しない場合、SRVCTLは、1521から1540の間で空きポートを探します。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-skip

ポートの確認をスキップすることを示します。

-asmlistener

リスナー・タイプとしてOracle ASMリスナーを指定します。-listenerパラメータを指定しない場合、Oracle ASMリスナーの名前はデフォルトでLISTENER_ASMになります。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-leaflistener

リスナー・タイプとしてリーフ・ノード・リスナーを指定します。-listenerパラメータを指定しない場合、リーフ・ノード・リスナーの名前はデフォルトでLISTENER_LEAFになります。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-subnet subnet

Oracle ASMリスナーまたはリーフ・ノード・リスナーに使用するサブネットを指定します。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

使用上の注意

- -userパラメータを指定する場合、LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次のコマンドは、ポート1341、1342および1345でリスニングするlistener112というリスナーを追加し、クラスタ内の各ノードのOracleホーム・ディレクトリから実行されます。

$ srvctl add listener -listener listener112 -endpoints "1341,1342,1345"
-oraclehome /u01/app/oracle/product/12.1.0/db1

srvctl add mgmtlsnr

管理リスナー・リソース(CHM用)をクラスタに追加します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add mgmtlsnrコマンドは、次の構文で使用します。

srvctl add mgmtlsnr [-endpoints "[TCP:]port_list[/IPC:key][/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]"] [-skip]

表A-12 srvctl add mgmtlsnrのパラメータ

パラメータ

説明

-endpoints "[TCP:]port_list
[/IPC:key][/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]

リスナーのプロトコル仕様。port_listはTCPポートまたはリスナー・エンドポイントのカンマ区切りリストです。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-skip

ポートの確認をスキップすることを示します。

例

次のコマンドでは、ポート1341をリスニングする管理リスナーをクラスタに追加します。

$ srvctl add mgmtlsnr -endpoints "TCP:1341"

srvctl add network

静的ネットワークまたは動的ネットワークを追加します。サーバーが複数のネットワークに接続している場合、このコマンドを使用して、Oracle RAC用の追加のネットワーク・インタフェースを構成でき、これによって複数のパブリック・ネットワーク上にVIPを作成できるようになります。また、LISTENER_NETWORKSデータベース初期化パラメータを使用して、クライアントが適切なネットワークにリダイレクトするように制御できます。

注意:

- このコマンドはOracle Clusterwareでのみ使用可能です。

- DHCP割当てのネットワークがサポートされるのはデフォルトのネットワークのみで、後続のネットワークではサポートされません。

構文およびパラメータ

srvctl add networkコマンドは、次の構文で使用します。

srvctl add network [-netnum net_number] -subnet subnet/netmask[/if1[|if2|...]]
[-nettype {static | dhcp | autoconfig | mixed}]
[-leaf] [-pingtarget "ping_target_list"] [-verbose]

表A-13 srvctl add networkのパラメータ

パラメータ

説明

-netnum net_number

ネットワーク番号を指定します。デフォルトは1です。

-subnet subnet/netmask
[/if1[|if2|...]]

サブネットを定義します。インタフェース名を指定しない場合、ネットワークは指定されたサブネットの任意のインタフェースを使用します。

IPv6の場合、netmaskは接頭辞の長さ(64など)です。

-nettype {static|dhcp|autoconfig|mixed}

ネットワーク・タイプ(static、dhcp、autoconfigまたはmixed)を指定します。

ネットワーク・タイプとしてstaticを指定した場合は、srvctl add vipコマンドを使用して仮想IPアドレスを指定する必要があります。

ネットワーク・タイプとしてdhcpを指定した場合は、VIPエージェントによってDHCPサーバーからIPアドレスが取得されます。

ネットワーク・タイプとしてautoconfigを指定した場合は、VIPエージェントによってネットワークのステートレスIPv6アドレスが生成されます。IPv6ネットワークにのみautoconfigを使用できます。サブネット/ネットマスクの指定がIPv6アドレスに対応していない場合は、SRVCTLによってエラーが戻されます。

ネットワーク・タイプにmixedを指定する場合、VIPリソースは、静的IPアドレスと、IPv4の場合はDHCPサーバーから動的に取得する、またはIPv6の場合はステートレス自動構成を使用して動的に取得するIPアドレスとの両方を使用します。

-leaf

リーフ・ノードでのみ実行され、アプリケーションVIPによって使用されるアプリケーションVIPネットワーク・リソースを作成する場合は、-leafパラメータを指定します。

[-pingtarget "ping_target_list"]

pingするIPアドレスまたはホスト名のカンマ区切りリストを指定します。

-verbose

冗長出力。

使用上の注意

- このコマンドを実行するには、LinuxシステムおよびUNIXシステムではrootでログインし、Windowsでは管理者権限を持つユーザーとしてログインする必要があります。

例

次に、このコマンドの例を示します。

# srvctl add network -netnum 3 -subnet 192.168.3.0/255.255.255.0

srvctl add nodeapps

指定したノードにノード・アプリケーション構成を追加します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add nodeappsコマンドと、次の構文モデルの1つを一緒に使用して、特定のノードとVIP、または特定のサブネットとネットマスクを指定します。

srvctl add nodeapps {-node node_name -address {vip_name | ip_address}/netmask[/if1[|if2|..]] [-skip]}
[-emport em_port] [-onslocalport ons_local_port]
[-onsremoteport ons_remote_port] [-onshostport hostname_port_list]
[-remoteservers hostname_port_list [-verbose]

srvctl add nodeapps -subnet subnet/netmask[/if1[|if2|...]] [-emport em_port]
[-onslocalport ons_local_port] [-onsremoteport ons_remote_port]
[-onshostport hostname_port_list] [-remoteservers hostname_port_list]
[-verbose]

表A-14 srvctl add nodeappsのパラメータ

パラメータ

説明

-node node_name

ノード・アプリケーションを作成するノードの名前。ノード名はオプションであり、ローカル・ノードでコマンドを実行する場合は指定する必要がありません。

-address {vip_name | ip_addr}
/netmask[/if1
[|if2|...]]

指定したノードに従来のVIPノード・アプリケーションを作成します。

注意: このパラメータは、アップグレード構成および新規のDHCP以外の構成で使用する必要があります。

-skip

VIPアドレスの到達可能性の確認をスキップするには、このパラメータを指定します。

-subnet subnet/netmask
[/if1[|if2 |...]]

DHCPサブネットを作成します。インタフェース名を指定しない場合、VIPは指定されたサブネットの任意のインタフェースを使用します。

-emport em_port

Oracle Enterprise Managerがリスニングするローカル・ポート。デフォルト・ポートは2016です。

-onslocalport ons_local_port

そのノードのOracle Notification Serviceデーモンのリスナー・ポート。

この値を指定しない場合、Oracle Notification Serviceデーモンのリスナー・ポートはデフォルトで6100が使用されます。

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-onsremoteport ons_remote_port

リモートOracle Notification Serviceデーモン接続用のポート番号。

ポート番号を指定しない場合、デフォルト値の6200がOracle Notification Serviceリモート・ポートとして使用されます。

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-onshostport host_port_list

Oracle Notification Serviceネットワークには含まれていてもOracle Clusterwareクラスタには含まれていないリモート・ホストのhost[:port]ペアのリスト。

注意: リモート・ホストにportを指定しなかった場合は、ons_remote_portが使用されます。

-remoteservers host_port_list

クラスタに含まれていないサーバーで使用されるOracle Notification Serviceデーモン用のhost[:port]ペアのリスト。

-verbose

冗長出力

使用上の注意

- このコマンドを実行するには、LinuxシステムおよびUNIXシステムではrootでログインし、Windowsでは管理者権限を持つユーザーとしてログインする必要があります。

例

次に、このコマンドの例を示します。

# srvctl add nodeapps -node crmnode1 -address 1.2.3.4/255.255.255.0

srvctl add oc4j

クラスタ内のすべてのノードにOC4Jインスタンスを追加します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add oc4j [-verbose]

このコマンドで使用できるパラメータは、冗長出力を表示する-verboseのみです。

例

次に、このコマンドの例を示します。

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-15 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によって動的ネットワークおよびOracle GNS構成が識別された場合は3つのSCAN VIPリソースを作成します。静的ネットワークの場合、DNSでSCANが解決されるアドレスは、サブネットのアドレス・タイプと一致する必要があります。IPv4ネットワークの場合、SCANはIPv4アドレスに解決される必要があります。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add scanコマンドは、次の構文で使用します。

srvctl add scan -scanname scan_name [-netnum network_number]

表A-16 srvctl add scanのパラメータ

パラメータ

説明

-scanname scan_name

ドメイン名を含む完全修飾されたホスト名。ネットワークが動的な場合、完全修飾されたドメイン名を使用する必要はありませんが、これを使用する場合は、ドメインはGNSサブドメインにする必要があります。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-netnum network_number

SCAN VIPを取得するネットワーク番号(オプション)。このパラメータを指定しない場合、nodeapps VIPの取得元と同じデフォルト・ネットワークからSCAN VIPが取得されます。

例

次に、このコマンドの例を示します。

# srvctl add scan -scanname scan.mycluster.example.com

srvctl add scan_listener

SCANリスナー用のOracle Clusterwareリソースを追加します。作成されるSCANリスナーのリソースの数は、SCAN VIPリソースの数です。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add scan_listenerコマンドは、次の構文で使用します。

srvctl add scan_listener [-listener lsnr_name_prefix] [-skip] [-netnum network_number]
[-enpoints "[TCP:]port_list[/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]"]
[-invitednodes node_list] [-invitedsubnets subnet_list]

表A-17 srvctl add scan_listenerのパラメータ

パラメータ

説明

-listener lsnr_name_prefix

SCANリスナー名の接頭辞。

-skip

このパラメータを使用して、ポートの確認をスキップします。

-netnum network_number

SCAN VIPを取得するネットワーク番号(オプション)。このパラメータを指定しない場合、nodeapps VIPの取得元と同じデフォルト・ネットワークからSCAN VIPが取得されます。

-endpoints "[TCP:]port_list[/IPC:key]
[/NMP:pipe_name][/TCPS:s_port]
[/SDP:port]"

リスナーのプロトコル仕様。port_listはTCPポートまたはリスナー・エンドポイントのカンマ区切りリストです。

このパラメータを指定しない場合、デフォルトのTCPポート1521が使用されます。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-invitednodes node_list

SCANリスナーに登録できるクラスタの外側からホスト名のカンマ区切りリストを指定するには、このパラメータを使用します。

-invitedsubnets subnet_list

SCANリスナーに登録できるクラスタの外側からサブネットのカンマ区切りリストを指定するには、このパラメータを使用します。

例

次に、このコマンドの例を示します。

# srvctl add scan_listener -listener myscanlistener

srvctl add service

データベースにサービスを追加し、それらのサービスをインスタンスに割り当てます。同じノードに1つのクラスタ・データベースの複数のインスタンスがある場合、ノードが管理するすべてのサービスに対して、常に、そのノードの1つのインスタンスのみを使用します。

注意:

srvctl add serviceコマンドは、Oracle RAC One Nodeデータベースの配置パラメータを受け入れません。

構文およびパラメータ

次の構文モデルのいずれかを使用して、srvctl add serviceコマンドを実行しします。

サービスをポリシー管理データベースに追加するには、次の手順を実行します。

srvctl add service -db db_unique_name -service service_name [-eval]
-serverpool server_pool [-cardinality {UNIFORM | SINGLETON}]
[-edition edition_name] [-netnum network_number]
[-role "[PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]"
[-policy {AUTOMATIC | MANUAL}] [-notification {TRUE | FALSE}]
[-clbgoal {SHORT | LONG}] [-failovertype {NONE|SESSION|SELECT|TRANSACTION}]
[-rlbgoal {NONE | SERVICE_TIME | THROUGHPUT}] [-dtp {TRUE | FALSE}]
[-failovermethod {NONE | BASIC}] [-failoverretry failover_retries]
[-failoverdelay failover_delay] [-pdb pluggable_database]
[-sql_translation_profile sql_translation_profile]
[-global {TRUE | FALSE}] [-maxlag max_lag_time] [-commit_outcome {TRUE|FALSE}]
[-retention retention_time] [-replay_init_time replay_initiation_time]
[-session_state {STATIC | DYNAMIC}] [-pqservice pq_service]
[-pqpool pq_pool_list] [-force]

サービスを管理者管理データベースに追加するには、次の手順を実行します。

srvctl add service -database db_unique_name -service service_name [-eval]
-preferred preferred_list -available available_list] [-netnum network_number]
[-tafpolicy {BASIC | NONE | PRECONNECT}] [-edition edition_name]
[-role "[PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]"
[-policy {AUTOMATIC | MANUAL}] [-notification {TRUE | FALSE}]
[-clbgoal {SHORT | LONG}] [-failovertype {NONE|SESSION|SELECT|TRANSACTION}]
[-rlbgoal {NONE | SERVICE_TIME | THROUGHPUT}] [-dtp {TRUE | FALSE}]
[-failovermethod {NONE | BASIC}] [-failoverretry failover_retries]
[-failoverdelay failover_delay] [-pdb pluggable_database]
[-sql_translation_profile sql_translation_profile]
[-global {TRUE | FALSE}] [-maxlag max_lag_time] [-commit_outcome {TRUE|FALSE}]
[-retention retention_time] [-replay_init_time replay_initiation_time]
[-session_state {STATIC|DYNAMIC}] [-pqservice pq_service]
[-pqpool pq_pool_list] [-force] [-verbose]

既存のサービスの優先リストおよび使用可能リストを更新するには、次の手順を実行します。

srvctl add service -db db_unique_name -service service_name
-update {-prefered preferred_list | -available available_list} [-force]
[-verbose]

表A-18に、srvctl add serviceのすべてのパラメータとその説明を示し、Oracle RACデータベースまたは非クラスタ・データベースにサービスを追加するときにそれらのパラメータを使用できるかどうかを示します。

表A-18 srvctl add serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-service service_name

同じサービスを提供する複数のデータベースにわたって接続を拡大しない場合は、service_name.service_domainはクラスタ内で一意である必要があります。サービス名(sales.example.comなど)の一部としてサービス・ドメインを指定しない場合、そのサービス名にDB_DOMAINデータベース属性が追加されます。

注意: -serviceパラメータの値には、4KBの制限があります。したがって、インスタンスに割り当てられたすべてのサービスの名前の長さは、合計で4KBを超えないようにする必要があります。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

注意: このパラメータは、ポリシー管理サービスでのみ使用できます。

-edition edition_name

サービスの初期セッション・エディション。

サービスにエディションを指定すると、そのサービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。ただし、セッション接続で異なるエディションを指定した場合は、そのセッション接続で指定したエディションが初期セッション・エディションとして使用されます。

SRVCTLは、指定されたエディション名を検証しません。接続中、接続ユーザーは指定されたエディションのUSE権限を持っている必要があります。そのエディションが存在しないか、接続ユーザーが指定されたエディションのUSE権限を持たない場合は、エラーが発生します。

-sql_translation_profile
profile_name

Oracle Database以外からOracle Databaseにアプリケーションを移行した後でサービスを追加する場合は、このパラメータを使用して、そのサービスに対するSQL翻訳プロファイルを指定します。

このパラメータは、DBMS_SERVICEサービス属性のSQLトランザクション・プロファイル・パラメータに対応します。

注意:

- SQL翻訳機能を使用するには、事前にすべてのサーバー側アプリケーション・オブジェクトおよびデータをOracle Databaseに移行しておく必要があります。

- srvctl config serviceコマンドを使用して、SQL翻訳プロファイルを表示します。

関連項目: SQL翻訳の詳細は、『Oracle Database移行ガイド』を参照してください。

-preferred preferred_list

管理者管理データベースの場合にサービスを実行する優先インスタンスのリスト。

優先インスタンスのリストは、使用可能なインスタンスのリストと相互に排他である必要があります。

注意: このパラメータは、Oracle RACでのみ、管理者管理データベースに対してのみ使用できます。

-available available_list

管理者管理データベースの場合にサービスをフェイルオーバーする使用可能なインスタンスのリスト。

使用可能なインスタンスのリストは、優先インスタンスのリストと相互に排他である必要があります。

注意: このパラメータは、Oracle RACでのみ、管理者管理データベースに対してのみ使用できます。

-serverpool server_pool

ポリシー管理データベースの場合に使用されるサーバー・プールの名前。

注意: このパラメータは、Oracle RACでのみ、ポリシー管理データベースに対してのみ使用できます。

-cardinality {UNIFORM | SINGLETON}

サービスのカーディナリティ。UNIFORM(サーバー・プールのすべてのインスタンスに提供される)またはSINGLETON(インスタンス1つずつで実行する)。

注意:

- このパラメータは、Oracle RACでのみ、ポリシー管理データベースに対してのみ使用できます。

- ポリシー管理Oracle RAC One Nodeデータベースでは、すべてのサービスがSINGLETONである必要があります。

-netnum network_number

このパラメータを使用して、このサービスが提供されるネットワークを特定します。サービスは、指定したネットワークからのVIPに依存するように構成されます。

注意: このパラメータは、Oracle RACおよびOracle RAC One Nodeデータベース構成でのみ使用できます。

-tafpolicy {BASIC | NONE
| PRECONNECT}

TAFポリシーの指定(管理者管理データベースのみ)。

注意: PRECONNECTは、-preferredパラメータおよび-availableパラメータを指定する場合にのみ使用できます。

-role "[PRIMARY][,PHYSICAL_STANDBY]
[,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]"

サービス・ロール。1つ以上のロールをカンマ区切りリストで指定できます。

このオプションは、指定したサービス・ロールの1つにOracle Data Guardデータベース・ロールが一致した場合に、データベースのオープン時に、サービスが自動的に起動されるように指定する場合に使用します。

手動で開始するSRVCTLの使用は、サービス・ロールに影響を受けません。

注意:
-roleパラメータは、データベースの起動にのみ、Oracle Data Guard Brokerによって使用されます。手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。

関連項目:

- 『Oracle Data Guard Broker』(-roleを指定した場合)

- データベース・ロールの詳細は、『Oracle Data Guard概要および管理』を参照してください。

-policy {AUTOMATIC | MANUAL}

サービス管理ポリシー。

AUTOMATIC(デフォルト)の場合、サービスは、データベースの再起動時(計画された再起動(SRVCTLを使用)または障害発生後の再起動)に自動的に起動されます。ただし、サービス・ロールは自動再起動の対象にもなります(-roleパラメータ)。

MANUALの場合、データベースの計画された再起動(SRVCTLを使用)時にサービスが自動的に再起動されることはありません。MANUALに設定しても、Oracle Clusterwareは、実行中のサービスを監視し、障害が発生すると再起動されます。

注意: CRSCTLを使用してOracle Clusterwareを停止および起動すると、サービスは障害発生時と同様に再起動されます。

-notification {TRUE | FALSE}

OCI接続に対して高速アプリケーション通知(FAN)を有効化します。

-dtp {TRUE | FALSE}

このサービスの分散トランザクション処理を有効化するかどうかを示します。このサービスは、ポリシー管理データベースではsingletonサービス、管理者管理データベースの単一ノードでは優先サービスになります。

注意: このパラメータは、Oracle RACでのみ使用できます。

-clbgoal {SHORT | LONG}

接続ロード・バランシングの目標。ランタイム・ロード・バランシングの場合または統合接続プールを使用する場合、値SHORTをこのパラメータに使用します。サービスのノードごとにセッション数でバランスを取る長時間の接続(バッチ・ジョブなど)の場合は、このパラメータの値としてLONGを使用します。

-rlbgoal {NONE |
SERVICE_TIME | THROUGHPUT}

ランタイム・ロード・バランシングの目標(ロード・バランシング・アドバイザ)。このパラメータをSERVICE_TIMEに設定すると、応答時間によって接続が分散されます。このパラメータをTHROUGHPUTに設定すると、スループットによって接続が分散されます。

-failovertype {NONE | SESSION |
SELECT | TRANSACTION}

フェイルオーバーのタイプ。

Javaに対してアプリケーション・コンティニュイティを有効にする場合、このパラメータをTRANSACTIONに設定します。TAF for OCIを有効化するには、このパラメータをSELECTまたはSESSIONに設定します。

注意: -failovertypeをTRANSACTIONに設定した場合は、-commit_outcomeをTRUEに設定する必要があります。

-failovermethod {NONE | BASIC}

TAFフェイルオーバー・メソッド(下位互換性維持のためのみ)。

フェイルオーバー・タイプ(-failovertype)がNONE以外の値に設定される場合、このパラメータにBASICを選択します。

注意: このパラメータは、Oracle RACでのみ使用できます。

-failoverretry failover_retries

アプリケーション・コンティニュイティおよびTAFの場合は、事象が発生した後に接続を試行する回数が、このパラメータによって決定されます。

-failoverdelay failover_delay

アプリケーション・コンティニュイティおよびTAFの場合は、このパラメータで、フェイルオーバーにおける、各事象の再接続試行間の時間遅延(秒数)を指定します。

-pdb pluggable_database

プラガブル・データベース(PDB)の名前。

注意: PDBプロパティは、サービスを作成または変更するときに指定できます。PDBプロパティによって、指定されたPDBにサービスが関連付けられます。サービスのPDBプロパティを参照するには、ALL_SERVICESデータ・ディクショナリ・ビューを問い合せるか、またはSRVCTLユーティリティを使用している場合はsrvctl config serviceコマンドを実行します。

PDBを指定してサービスを作成または変更するとき、そのPDBが存在するかどうかはSRVCTLによってチェックされません。このコマンドを実行する前に、PDBが存在することを確認してください。

-global {TRUE | FALSE}

グローバル・データ・サービスのサービスかどうかを指定します。

注意: このパラメータは、グローバル・データ・サービスでのみ使用できます。

-maxlag maximum_lag_time

最大レプリケーション遅延時間(秒数)。負でない整数である必要があります。デフォルト値はANYです。

-commit_outcome {TRUE | FALSE}

トランザクション・ガードを有効にします。TRUEに設定すると、リカバリ可能な停止によってトランザクションのセッションが失敗した後、トランザクションのコミットの結果にアクセスできます。

-retention retention_time

-commit_outcomeをTRUEに設定した場合は、データベースにコミット結果を保持する時間(秒数)が、このパラメータによって決定されます。

-replay_init_time
replay_initialization_time

アプリケーション・コンティニュイティの場合、このパラメータは、リクエストの1番目の操作の元の実行時間と、再接続の成功後にリプレイが開始される状態になる時間との違い(秒単位)を指定します。アプリケーション・コンティニュイティは指定した時間が経過するまでリプレイされません。このパラメータは、長い時間が経過した後にシステムがリカバリされたときに、トランザクションが意図せず実行されることを回避するためのものです。デフォルトは5分(300)です。最大の値は24時間(86400)です。-failover_typeパラメータがTRANSACTIONに設定されていない場合、このパラメータは使用できません。

-session_state {STATIC | DYNAMIC}

アプリケーション・コンティニュイティ向けに、このパラメータはトランザクション型ではないセッションの状態がアプリケーションによって変更されるかどうかを指定します。ほとんどのアプリケーションにはDYNAMICの設定をお薦めします。

注意: このパラメータが考慮されるのは、アプリケーション・コンティニュイティ用に-failovertypeがTRANSACTIONに設定されている場合のみです。リクエスト時に非トランザクションが変更される方法を示します。セッション状態の例としては、NLS設定、オプティマイザのプリファレンス、イベントの設定、PL/SQLグローバル変数、一時表、アドバンスト・キュー、LOBおよび結果キャッシュがあります。リクエストの開始後に非トランザクション値が変更された場合、デフォルトのDYNAMICを使用します。ほとんどのアプリケーションでDYNAMICモードを使用する必要があります。不明な場合は、DYNAMICモードを使用してください。

-pqservice pq_service

パラレル問合せサービス名のカンマ区切りリスト。

-pqpool pq_pool_list

パラレル問合せサーバー・プール名のカンマ区切りリスト。

-update {-preferred
new_preferred_instance |
-available
new_available_instance}

サービス構成に、新しい優先インスタンスまたは使用可能インスタンスを追加します。-preferredでは、サービスの優先インスタンスのリストに追加するインスタンスの名前を指定します。-availableでは、サービスの使用可能インスタンスのリストに追加するインスタンスの名前を指定します。

-verbose

冗長出力を表示します。

-force

ネットワークにリスナーが構成されていない場合にも、追加操作を強制します。

例

gl.example.comサービスをmy_racデータベースに追加し、OCI接続に対して高速アプリケーション通知を有効化し、フェイルオーバー・メソッドをBASIC、接続時ロード・バランシングの目標をLONG、フェイルオーバー・タイプをSELECT、フェイルオーバー再試行回数を180回、フェイルオーバー遅延を5秒に設定するには、この例の構文を使用します。

srvctl add service -db my_rac -service gl.example.com -notification TRUE \
-failovermethod BASIC -failovertype SELECT -failoverretry 180 -failoverdelay 5 \
-clbgoal LONG

指定したサービスをデータベースに追加し、優先インスタンスと使用可能インスタンスを持ち、TAFに対応するように設定するには、この例の構文を使用します。

srvctl add service -db crm -service sales -preferred crm01,crm02 -available crm03\
-tafpolicy BASIC

srvctl add srvpool

Oracle Databaseをホストするように構成されているサーバー・プールをクラスタに追加します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add srvpoolコマンドは、次の構文で使用します。

srvctl add srvpool -serverpool server_pool_name [-eval]
[-importance importance] [-min min_size] [-max max_size]
[-servers "node_list" | -category server_category] [-force] [-verbose]

表A-19 srvctl add srvpoolのパラメータ

パラメータ

説明

-serverpool server_pool_name

サーバー・プールの名前。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-importance importance

サーバー・プールの重要度(デフォルト値は0です)。

-min min_size

サーバー・プールの最小サイズ(デフォルト値は0です)。

-max max_size

サーバー・プールの最大サイズ。デフォルト値は-1であり、これは、サイズが無制限であることを意味します。

-servers "node_list"

二重引用符("")で囲まれた候補ノード名のカンマ区切りリスト。サーバー・プールには候補リストのノードのみが含まれますが、候補リストのすべてのノードがサーバー・プールに含まれるとはかぎりません。

注意: Oracle Database 12cでは、-categoryパラメータの値に従って、サーバーがサーバー・プールに割り当てられます。

-category server_category

サーバー・プールに対して使用するサーバー・カテゴリ(""は空のカテゴリ値を表します)。ora.hub.categoryにhub、ora.leaf.categoryにleafを使用できます。または固有のカテゴリを定義できます。デフォルトはora.hub.categoryです。

-force

他のサーバー・プールのリソースを停止する必要がある場合でも、サーバー・プールを追加します。

-verbose

冗長出力を表示します。

使用上の注意

SRVCTLは、サーバー・プールの名前にora.を付加します。

例

次に、このコマンドの例を示します。

$ srvctl add srvpool -serverpool SP1 -importance 1 -min 3 -max 7

srvctl add vip

ノードにVIPを追加します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl add vipコマンドは、次の構文で使用します。

srvctl add vip -node node_name -address {VIP_name|ip}/netmask[/if1[|if2|...]]
-netnum network_number [-skip] [-verbose]

表A-20 srvctl add vipのパラメータ

パラメータ

説明

-node node_name

VIPを追加するノードの名前。

-address {VIP_name|ip}/netmask
[/if1[|if2|...]]

指定したノードに従来のVIPノード・アプリケーションを作成します。

1つのVIP_nameまたはアドレスを、IPv4ネットマスクまたはIPv6接頭辞長とともに指定できます。

-netnum network_number

VIPを取得するネットワーク番号。デフォルトのネットワーク番号は1です。

-skip

VIPアドレスの到達可能性の確認をスキップするには、このパラメータを指定します。

-verbose

冗長出力

注意:

同一ノードの同一ネット番号(サブネットまたはインタフェース・ペア)に複数のVIPを持つことはできません。

例

次に、このコマンドの例を示します。

# srvctl add network -netnum 2 -subnet 192.168.16.0/255.255.255.0
# srvctl add vip -node node7 -address 192.168.16.17/255.255.255.0 -netnum 2

1番目のコマンドはネットワーク番号2を作成し、2番目のコマンドはこのネットワークにVIPを追加します。ネットワーク番号は、他のSRVCTLコマンドの-netnumパラメータの後に指定できます。

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-21 srvctl configのサマリー

コマンド

説明

srvctl config cvu

CVUチェック間の時間間隔の表示

srvctl config database

クラスタ・データベースの構成情報の表示

srvctl config havip

高可用性VIPリソースの構成情報の表示

srvctl config listener

指定したノードでOracle Clusterwareに登録された構成済リスナーのリストの表示

srvctl config network

クラスタのネットワーク構成の表示

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 volume

ボリューム・デバイス・リソースの構成情報の表示

srvctl config cvu

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 [-db db_unique_name] [-all] [-verbose]

表A-22 srvctl config databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

このパラメータを指定しない場合は、すべてのデータベース・リソースの構成が表示されます。

-all

詳細な構成情報の出力。

-verbose

冗長出力を表示します。

例

srvctl config databaseコマンドでは次のような出力が戻されます。

$ srvctl config database -db myDB
Database unique name: myDB
Database name:
Oracle home: /scott_st2/oracle
Oracle user: scott
Spfile:
Password file:
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 havip

特定の高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)またはクラスタ内のすべてのHAVIPリソースの構成情報を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config havipコマンドは、次の構文で使用します。

srvctl config havip [-id havip_name]

表A-23 srvctl config havipのパラメータ

パラメータ

説明

-id havip_name

表示するHAVIPリソースの一意の名前を指定します。このパラメータを指定しない場合、SRVCTLによって、Oracle Clusterwareに知られているすべてのHAVIPの構成情報が表示されます。

例

このコマンドによって、次のような出力が返されます。

$ srvctl config havip -id hrexports

VIP: /mjk-vm3-vip/10.149.237.196/10.149.236.0/255.255.252.0/eth0
Description: HR Exports

srvctl config listener

Oracle Clusterwareに登録されている特定のリスナーの構成情報を表示します。

構文およびパラメータ

srvctl config listenerコマンドは、次の構文で使用します。

srvctl config listener [-listener listener_name | -asmlistener | -leaflistener]
[-all]

表A-24 srvctl config listenerのパラメータ

パラメータ

説明

-listener listener_name |
-asmlistener | -leaflistener

特定のリスナーの名前またはリスナーのタイプ(Oracle ASMまたはリーフ・ノード)。

このパラメータを指定しない場合は、SRVCTLによってデフォルトのデータベース・リスナーの構成が表示されます。

-all

詳細な構成情報の出力。

例

このコマンドでは、次のような出力が表示されます。

Name: LISTENER_LEAF
Subnet: 10.100.200.195
Type: type
Owner: mjkeenan
Home: Grid_home
End points: TCP:1521

srvctl config network

クラスタのネットワーク構成を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config networkコマンドは、次の構文で使用します。

srvctl config network [-netnum network_number]

表A-25 srvctl config networkのパラメータ

パラメータ

説明

-netnum network_number

構成情報を表示するネットワークを指定します。

例

次に、このコマンドの例を示します。

$ srvctl config network -netnum 2

srvctl config nodeapps

クラスタ内の各ノードのVIP構成を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config nodeappsコマンドは、次の構文で使用します。

srvctl config nodeapps [-viponly] [-onsonly]

表A-26 srvctl config nodeappsのパラメータ

パラメータ

説明

-viponly

VIPアドレス構成の表示

-onsonly

Oracle Notification Service構成の表示

例

次に、このコマンドの例を示します。

$ srvctl config nodeapps -viponly -onsonly

srvctl config oc4j

OC4Jインスタンスの構成情報を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

srvctl config oc4j

このコマンドにパラメータはありません。

例

このコマンドによって、次のような出力が返されます。

$ srvctl config oc4j

OC4J is configured to run on port number 23792
OC4J is configured to listen on HTTP port number 8888
OC4J is enabled
OC4J is individually enabled on nodes:
OC4J is individually disabled on nodes:

srvctl config ons

Oracle Notification Serviceデーモンの構成情報を表示します。

注意:

このコマンドはOracle Restartでのみ使用可能です。

srvctl config ons

このコマンドにパラメータはありません。

srvctl config scan

すべてのSCAN VIP(デフォルト)、またはordinal_numberで識別される特定のSCAN VIPの構成情報を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config scanコマンドは、次の構文で使用します。

srvctl config scan [-scannumber ordinal_number]

このコマンドで使用できるパラメータは-scannumber ordinal_numberのみであり、このパラメータには3つのSCAN VIPのいずれかを指定し、値の範囲は1から3となります。

例

このコマンドによって、次のような出力が返されます。

$ srvctl config scan -scannumber 1

SCAN name: mjk12700890090-r, Network: 1
Subnet IPv4: 198.51.100.1/203.0.113.46/eth0, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 198.51.100.195
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes:
SCAN VIP is individually disabled on nodes:

srvctl config scan_listener

すべてのSCANリスナー(デフォルト)、またはordinal_numberで識別される特定のリスナーの構成情報を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config scan_listenerコマンドは、次の構文で使用します。

srvctl config scan_listener [-scannumber ordinal_number]

このコマンドで使用できるパラメータは-scannumber ordinal_numberのみであり、このパラメータには3つのSCAN VIPのいずれかを指定し、値の範囲は1から3となります。

例

このコマンドによって、次のような出力が返されます。

$ srvctl config scan_listener -scannumber 1

SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1529
Registration invited nodes:
Registration invited subnets:
SCAN Listener is enabled.
SCAN Listener is individually enabled on nodes:
SCAN Listener is individually disabled on nodes:

srvctl config service

サービスの構成を表示します。

構文およびパラメータ

srvctl config serviceコマンドは、次の構文で使用します。

srvctl config service -db db_unique_name [-service service_name]
[-verbose]

表A-27 srvctl config serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-service service_name

サービス名。

このパラメータを指定しない場合、データベースに構成されたすべてのサービスの構成情報が表示されます。

-verbose

冗長出力を表示します。

例

このコマンドでは、ポリシー管理データベースに関する次のような情報が表示されます。

$ srvctl config service -db crm -service webapps
Service name: webapps
Service is enabled
Server pool: sales
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 -db crm -service webapps
Service name: webapps
Service is enabled
Server pool: sales
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: crm_1
Available instances:
Edition: "my Edition"

管理者管理Oracle RAC One Nodeデータベースのサービス構成では、1つのインスタンスが優先として表示されます。

注意:

srvctl config serviceコマンドは、srvctl add | modify serviceコマンドを使用して、エディションに指定された文字列値を正確に表示します。エディションを大文字で指定した場合、srvctl config serviceは大文字を表示します。二重引用符("")で囲まれている場合、コマンドは二重引用符を表示します。それ以外の場合、コマンドは空の文字列を表示します。

srvctl config srvpool

クラスタ内の特定のサーバー・プールの構成情報を表示します。この構成情報には、名前、最小サイズ、最大サイズ、重要度、およびサーバー名のリスト(該当する場合)が含まれます。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config srvpoolコマンドは、次の構文で使用します。

srvctl config srvpool [-serverpool pool_name]

このコマンドで使用できるパラメータは、構成情報を表示するサーバー・プールの名前を指定する-serverpool pool_nameのみです。

例

次に、このコマンドの例を示します。

$ srvctl config srvpool -serverpool dbpool

srvctl config vip

ユーザーVIP以外で、クラスタのすべてのネットワークにおけるすべてのVIPを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config vipコマンドは、次の構文で使用します。

srvctl config vip {-node node_name | -vip vip_name}

表A-28 srvctl config vipのパラメータ

パラメータ

説明

-node node_name

ノード名を指定します。コマンドは以下のような出力を返します。

VIP exists: ipv4, ipv6, network number 1, hosting node adc2100252

-vip vip_name

VIP名を指定します。コマンドは以下のような出力を返します。

VIP exists: ipv4, ipv6, network number 1, hosting node adc2100252

例

次に、このコマンドの例を示します。

$ srvctl config vip -node crmnode1

VIP exists: /crmnode1-vip/192.168.2.20/255.255.255.0/eth0

srvctl config volume

特定のボリュームまたはすべてのボリュームの構成を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl config volumeコマンドは、次の構文で使用します。

srvctl config volume [-volume volume_name] [-diskgroup disk_group_name]
[-device volume_device]

表A-29 srvctl config volumeのパラメータ

パラメータ

説明

-volume volume_name

構成を表示するボリュームの名前を指定します。

-diskgroup disk_group_name

構成を表示するボリュームが存在するディスク・グループの名前を指定します。

-device volume_device

構成を表示するボリューム・デバイスへのパスを指定します。

使用上の注意

- どのオプション・パラメータも指定しない場合、SRVCTLによってすべてのボリュームの構成情報が表示されます。

- -volumeパラメータのみを指定した場合は、ディスク・グループに関係なく、その名前を持つすべてのボリュームの構成が表示されます。

- -diskgroupパラメータのみを指定した場合は、指定したディスク・グループに存在するボリュームの構成情報が表示されます。

- -deviceパラメータのみを指定した場合は、そのデバイス指定子に一致するボリュームの構成情報が表示されます。

- -diskgroupパラメータと-deviceパラメータを指定した場合は、指定したディスク・グループに存在するボリューム・デバイスの構成情報が表示されます。

例

srvctl config volumeコマンドでは、次のような情報が表示されます。

$ srvctl config volume -device /dev/asm/volume1-123

Diskgroup Name: DG1
Volume Name   : VOL1
Volume Device : /dev/asm/volume1-123
Volume is enabled.
Volume is enabled on nodes:
Volume is disabled on nodes:

どのパラメータも指定しない場合、SRVCTLによって次のようなすべてのボリュームの構成情報が表示されます。

$ srvctl config volume

Diskgroup name: DG1
Volume name: VOL1
Volume device: /dev/asm/volume1-123
Volume is enabled.
Volume is enabled on nodes:
Volume is disabled on nodes:
Diskgroup name: DG1
Volume name: VOL2
Volume device: /dev/asm/volume2-456
Volume is enabled.
Volume is enabled on nodes:
Volume is disabled on nodes:

srvctl convert database

srvctl convert databaseコマンドは、データベースとOracle RAC One Nodeデータベースの間で双方向の変換を行います。

構文およびパラメータ

次の構文モデルのいずれかを使用して、srvctl convert databaseコマンドを実行します。

srvctl convert database -db db_unique_name -dbtype RACONENODE
[-instance instance_name] [-timeout timeout]

srvctl convert database -db db_unique_name -dbtype RAC [-node node_name]

表A-30 srvctl convert databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

注意: 非クラスタ・データベースを指定すると、このコマンドから、rconfigを使用して非クラスタ・データベースをOracle RACまたはOracle RAC One Nodeに変換するように求めるエラーが戻されます。

-dbtype RACONENODE | RAC

変換するデータベースのタイプ(Oracle RAC One NodeまたはOracle RAC)。

注意: 進行中または失敗したオンライン・データベース再配置がある場合は、先にこのオンライン・データベース再配置を完了または強制終了してから、このコマンドを再実行するように求めるエラーが戻されます。

-instance instance_name

Oracle RAC One Nodeデータベースのインスタンス名の接頭辞。このパラメータのデフォルト値は、データベースのグローバルな一意の名前の最初の12文字です。

注意:

- このパラメータは、Oracle RACデータベースからOracle RAC One Nodeデータベースに変換する場合にのみ使用できます。

- 変換後のインスタンスをオンラインにするには、srvctl stop/start databaseコマンドを使用してデータベースを再起動する必要があります。

-timeout timeout

Oracle RAC One Nodeデータベースのオンライン・データベース再配置タイムアウト(分単位)。デフォルトは30です。

-node node_name

管理者管理Oracle RACデータベースのノード名。デフォルトは、最初の候補です。

注意: ノード名を指定しない場合、またはデータベースが実行されてないノード名を指定した場合、このコマンドから、正しいノードを指定するように求めるエラーが戻されます。

例

次に、このコマンドの例を示します。

$ srvctl convert database -db myDB -dbtype RACONENODE -instance myDB3

disable

指定したオブジェクト(クラスタ・データベース、データベース・インスタンス、Oracle ASMインスタンスまたはサービス)を無効化します。メンテナンス用にオブジェクトを停止する必要がある場合は、srvctl disableコマンドを使用します。無効にされたオブジェクトは、自動的には再起動しません。

disableコマンドを実行すると、オブジェクトは無効化され、Oracle Clusterwareでの自動起動、フェイルオーバーまたは再起動は実行できなくなります。また、先にオブジェクトを再度有効化してからでなければ、無効化されたオブジェクト上でsrvctl startコマンドを実行することはできません。-instance instance_nameまたは-node node_nameを指定すると、指定したインスタンスまたはノードのオブジェクトのみが無効になります。

-instance instance_nameも-node node_nameも指定しない場合は、クラスタのすべてのノードで、指定したオブジェクトがグローバルに無効化され、ノードごとの無効化の設定も破棄されます。グローバルに無効にするオブジェクトは、今後クラスタに追加するノードでも無効になります。

オブジェクトをグローバルに無効化することは、クラスタ内のノードごとにオブジェクトを個別に無効化することとは異なります。たとえば、クラスタ内のいくつかのノードでデータベースを個別に無効化した場合、srvctl start databaseコマンドを実行すると、データベースが有効化されているノードでのみデータベースが起動されます。一方、データベースをグローバルに無効化した場合は、クラスタ全体でデータベースが無効化されているため、srvctl start databaseコマンドは拒否されます。

表A-31 srvctl disableのサマリー

コマンド

説明

srvctl disable cvu

クラスタ検証ユーティリティの無効化

srvctl disable database

クラスタ・データベースの無効化

srvctl disable diskgroup

指定したいくつかのノード上のディスク・グループの無効化

srvctl disable filesystem

Oracle ACFSボリュームの無効化

srvctl disable gns

GNSの無効化

srvctl disable havip

指定したいくつかのノードでのHAVIPリソースの実行の禁止

srvctl disable instance

インスタンスの無効化

srvctl disable listener

リスナーの無効化

srvctl disable mgmtdb

管理データベースの無効化

srvctl disable mgmtlsnr

管理リスナーの無効化

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 volume

ボリュームの無効化

srvctl disable cvu

Oracle Clusterware管理用のクラスタ検証ユーティリティ(CVU)が有効な場合に、これを無効にします。

構文およびパラメータ

srvctl disable cvuコマンドは、次の構文で使用します。

srvctl disable cvu [-node node_name]

CVUを無効にする特定のノードを指定できます。

表A-32 srvctl disable cvuのパラメータ

パラメータ

説明

-node node_name

ノード名

例

次のコマンド例は、クラスタ内のcrmnode1というノードのCVUを無効化します。

$ srvctl disable cvu -node crmnode1

srvctl disable database

データベースを無効化します。データベースがクラスタ・データベースの場合、そのインスタンスも無効化されます。

構文およびパラメータ

srvctl disable databaseコマンドは、次の構文で使用します。

srvctl disable database -db db_unique_name [-node node_name]

表A-33 srvctl disable databaseのパラメータ

パラメータ

説明

-db database_name

データベース名

-node node_name

指定したノードでのデータベースの実行を無効化します。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次に、このコマンドの例を示します。

$ srvctl disable database -db mydb1

srvctl disable diskgroup

指定したいくつかのノード上の特定のディスク・グループを無効化します。

構文およびパラメータ

srvctl disable diskgroupコマンドは、次の構文で使用します。

srvctl disable diskgroup -diskgroup diskgroup_name [-node "node_list"]

表A-34 srvctl disable diskgroupのパラメータ

パラメータ

説明

-diskgroup diskgroup_name

Oracle ASMディスク・グループ名。

-node "node_list"

ディスク・グループを無効化するノード名のカンマ区切りリスト

このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次に、このコマンドの例を示します。

$ srvctl disable diskgroup -diskgroup dgroup1 -node "mynode1,mynode2"

srvctl disable filesystem

特定のOracle Clusterware管理ファイル・システム・ボリュームを無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable filesystemコマンドは、次の構文で使用します。

srvctl disable filesystem -device volume_device

表A-35 srvctl disable filesystemのパラメータ

パラメータ

説明

-device volume_device

無効化するファイル・システム・ボリュームへのパスを指定します。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次に、このコマンドの例を示します。

# srvctl disable filesystem -device /dev/asm/racvol1

srvctl disable gns

特定のノードまたはクラスタ内で使用可能なすべてのノードのGNSを無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable gnsコマンドは、次の構文で使用します。

srvctl disable gns [-node node_name] [-verbose]

表A-36 srvctl disable gnsのパラメータ

パラメータ

説明

-node node_name

クラスタのノードの名前

このパラメータを指定しない場合、SRVCTLによってクラスタ全体のGNSが無効化されます。

-verbose

冗長出力を表示します

例

次のコマンド例は、crm7というノードのGNSを無効化します。

$ srvctl disable gns -node crm7

srvctl disable havip

指定したいくつかのノードでの特定の高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)リソースの実行を禁止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable havipコマンドは、次の構文で使用します。

srvctl disable havip -id havip_name [-node node1,node2,...,noden]

表A-37 srvctl disable havipのパラメータ

パラメータ

説明

-id havip_name

無効化するHAVIPリソースの一意の名前を指定します。

-node node1,node2,...,noden

HAVIPリソースを実行しないノードの名前またはノード名のカンマ区切りリストを指定します。

クラスタ内の1つを除くすべてのノードを指定した場合、HAVIPはフェイルオーバーしません。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次に、このコマンドの例を示します。

$ srvctl disable havip -id myhavip -node myNode1,myNode3

srvctl disable instance

インスタンスを無効化します。このコマンドで無効化するインスタンスが、最後に有効化されたインスタンスである場合は、この操作によってデータベースも無効化されます。

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

構文およびパラメータ

srvctl disable instanceコマンドは、次の構文で使用します。

srvctl disable instance -db db_unique_name -instance instance_name_list

表A-38 srvctl disable instanceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-instance instance_name_list

インスタンス名のカンマ区切りリスト

例

次に、このコマンドの例を示します。

$ srvctl disable instance -db crm -instance "crm1,crm3"

srvctl disable listener

リスナー・リソースを無効化します。

構文およびパラメータ

srvctl disable listenerコマンドは、次の構文で使用します。

srvctl disable listener [-listener listener_name] [-node node_name]

表A-39 srvctl disable listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナー・リソースの名前。このパラメータを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-node node_name

無効化するリスナーが実行中のクラスタ・ノードの名前。

このパラメータは、Oracle Clusterwareでのみ使用できます。

例

node5というノードのlistener_crmというリスナーを無効化するには、次のコマンドを使用します。

$ srvctl disable listener -listener listener_crm -node node5

srvctl disable mgmtdb

指定したノードの管理データベース(CHMリポジトリ)・リソースを無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable mgmtdbコマンドは、次の構文で使用します。

srvctl disable mgmtdb [-node node_name]

表A-40 srvctl disable mgmtdbのパラメータ

パラメータ

説明

-node node_name

無効化する管理データベースが実行されているクラスタ・ノードの名前。

例

次に、このコマンドの例を示します。

$ srvctl disable mgmtdb

srvctl disable mgmtlsnr

指定したノードの管理リスナー・リソース(CHM用)を無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable mgmtlsnrコマンドは、次の構文で使用します。

srvctl disable mgmtlsnr [-node node_name]

表A-41 srvctl disable mgmtlsnrのパラメータ

パラメータ

説明

-node node_name

無効化する管理リスナーが実行されているクラスタ・ノードの名前。

例

次に、このコマンドの例を示します。

$ srvctl disable mgmtlsnr

srvctl disable nodeapps

クラスタ内のすべてのノードのノード・アプリケーションを無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable nodeappsコマンドは、次の構文で使用します。

srvctl disable nodeapps [-gsdonly] [-adminhelper] [-verbose]

表A-42 srvctl disable nodeappsのパラメータ

パラメータ

説明

-gsdonly

GSDの無効化

-adminhelper

Administratorヘルパーのみの無効化

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl disable nodeapps -gsdonly -verbose

srvctl disable oc4j

すべてのノードまたは特定のノードのOC4Jインスタンスを無効化します。

構文およびパラメータ

srvctl disable oc4jコマンドは、次の構文で使用します。

srvctl disable oc4j [-node node_name] [-verbose]

表A-43 srvctl disable oc4jのパラメータ

パラメータ

説明

-node node_name

クラスタのノードの名前

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl disable oc4j -node crm3

srvctl disable ons

Oracle RestartインストールのOracle Notification Serviceデーモンを無効化します。

srvctl disable ons [-verbose]

このコマンドで使用できるパラメータは、冗長出力が表示されることを示す-verboseのみです。

srvctl disable scan

すべてのSCAN VIP(デフォルト)、またはordinal_numberで識別される特定のSCAN VIPを無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable scanコマンドは、次の構文で使用します。

srvctl disable scan [-scannumber ordinal_number]

このコマンドで使用できるパラメータは-scannumber ordinal_numberのみであり、このパラメータには3つのSCAN VIPのいずれかを指定し、値の範囲は1から3となります。

例

次に、このコマンドの例を示します。

$ srvctl disable scan -scannumber 1

srvctl disable scan_listener

すべてのSCANリスナー(デフォルト)、またはordinal_numberで識別される特定のリスナーを無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable scan_listenerコマンドは、次の構文で使用します。

srvctl disable scan_listener [-scannumber ordinal_number]

このコマンドで使用できるパラメータは-scannumber ordinal_numberのみであり、このパラメータには3つのSCANリスナーのいずれかを指定し、値の範囲は1から3となります。

例

次に、このコマンドの例を示します。

$ srvctl disable scan_listener -scannumber 1

srvctl disable service

サービスを無効化します。サービス全体を無効化すると、すべてのインスタンスに適用され、各インスタンスが無効化されます。サービス全体がすでに無効化されている場合、サービス全体に対するsrvctl disable service操作はすべてのインスタンスに適用され、それらを無効化して、エラーのみを戻します。したがって、各インスタンスに対してサービス・インジケータを操作する場合、使用できないサービス操作もあります。

構文およびパラメータ

srvctl disable serviceコマンドは、次の構文で使用します。

srvctl disable service -db db_unique_name -servics "service_name_list"
[-instance instance_name | -node node_name]

-instance instance_nameパラメータも-node node_nameパラメータも指定しない場合、すべてのノードのサービスが無効化されます。

表A-44 srvctl disable serviceのパラメータ

パラメータ

説明

-database db_unique_name

データベースの一意の名前。

-service "service_name_list"

サービス名のカンマ区切りリスト、または単一のサービス名

-instance instance_name

サービスを無効化するインスタンスの名前。

注意:

- このパラメータは、管理者管理データベースに使用します。

- このパラメータは、Oracle ClusterwareおよびOracle RACでのみ使用できます。

-node node_name

サービスを無効化するノードの名前。

注意:

- このパラメータは、ポリシー管理データベースに使用します。

- このパラメータは、Oracle ClusterwareおよびOracle RACでのみ使用できます。

例

次の例は、CRMデータベースの2つのサービスをグローバルに無効化します。

$ srvctl disable service -db crm -service "crm,marketing"

次の例では、CRM1インスタンスで実行中のCRMデータベースのサービスの1つを無効化します。その結果、データベースでは引き続きサービスを使用可能ですが、インスタンスは1つ減ります。

$ srvctl disable service -db crm -service crm -instance crm1

srvctl disable vip

特定のVIPを無効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable vipコマンドは、次の構文で使用します。

srvctl disable vip -vip vip_name [-verbose]

表A-45 srvctl disable vipのパラメータ

パラメータ

説明

-vip vip_name

VIP名

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl disable vip -vip vip1 -verbose

srvctl disable volume

特定のボリュームまたはすべてのボリュームのOracle Clusterware管理を無効化します。

このコマンドは、ボリュームのOracle Clusterwareリソースで動作することによって、そのボリューム・デバイスを停止できます。このコマンドはボリューム・デバイスを停止するのではありません。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl disable volumeコマンドは、次の構文で使用します。

srvctl disable volume {-volume volume_name -diskgroup disk_group_name |
-device volume_device}

表A-46 srvctl disable volumeのパラメータ

パラメータ

説明

-volume volume_name

無効化するボリュームの名前を指定します。このパラメータは必須です。

-diskgroup disk_group_name

無効化するボリュームが存在するディスク・グループの名前を指定します。

-device volume_device

無効化するボリューム・デバイスへのパスを指定します。

使用上の注意

- 無効化する特定のボリュームを指定する必要があります。特定のディスク・グループまたは特定のボリューム・デバイスに存在するボリュームを指定できます。

例

次の例は、DATAというディスク・グループに存在するVOLUME1というボリュームを無効化します。

$ srvctl disable volume -volume VOLUME1 -diskgroup DATA

srvctl downgrade database

srvctl downgrade databaseコマンドは、データベースとそのサービスの構成を現行バージョンから指定した下位バージョンにダウングレードします。

構文およびパラメータ

srvctl downgrade databaseコマンドは、次の構文で使用します。

srvctl downgrade database -db db_unique_name -oraclehome Oracle_home
-targetversion to_version

表A-47 srvctl downgrade databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-oraclehome Oracle_home

ORACLE_HOMEへのパス

-targetversion to_version

ダウングレード先のバージョン

enable

srvctl enableコマンドは、指定したオブジェクトを有効化して、このオブジェクトがOracle Clusterwareで自動起動、フェイルオーバーまたは再起動を実行できるようにします。この機能は、オブジェクトをサポートするOracle Clusterwareアプリケーションが起動されているか停止されているかに関係なく使用できます。デフォルト値はenableです。オブジェクトがすでに有効化されている場合、SRVCTLはオブジェクトが有効化されていることを伝えるメッセージを返します。有効化されたオブジェクトは起動でき、無効化されたオブジェクトは起動できません。

enableコマンドを実行すると、オブジェクトは有効化され、Oracle Clusterwareでの自動起動、フェイルオーバーまたは再起動が実行できるようになります。また、有効化されたオブジェクト上でsrvctl startコマンドを実行することができます。-instance instance_nameまたは-node node_nameを指定すると、指定したインスタンスまたはノードのオブジェクトのみが有効になります。

-instance instance_nameも-node node_nameも指定しない場合は、クラスタのすべてのノードで、指定したオブジェクトがグローバルに有効化され、ノードごとの有効化の設定も破棄されます。グローバルに有効にするオブジェクトは、今後クラスタに追加するノードでも有効になります。

オブジェクトをグローバルに有効化することは、クラスタ内のノードごとにオブジェクトを個別に有効化することとは異なります。たとえば、クラスタ内のいくつかのノードでデータベースを個別に有効化した場合、srvctl start databaseコマンドを実行すると、データベースが有効化されているノードでのみデータベースが起動されます。一方、データベースをグローバルに有効化した場合は、srvctl start databaseコマンドで、実行するように構成されているすべてのノード上のデータベースが起動されます。

表A-48 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 havip

指定したいくつかのノードでのHAVIPリソースの実行の許可

srvctl enable instance

インスタンスの有効化

srvctl enable listener

リスナーの有効化

srvctl enable mgmtdb

Oracle Clusterware管理の対象とする管理データベースの有効化。

srvctl enable mgmtlsnr

Oracle Clusterware管理の対象とする管理リスナーの有効化

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 volume

ボリュームの有効化

srvctl enable asm

Oracle ASMインスタンスを有効化します。

注意:

Oracle Database 12cインストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)にあるSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびパラメータ

srvctl enable asmコマンドは、次の構文で使用します。

srvctl enable asm [-proxy] [-node node_name]

表A-49 srvctl enable asmのパラメータ

パラメータ

説明

-proxy

プロキシOracle ASMインスタンスを無効化するかを指定します。

-node node_name

ノード名

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次に、このコマンドの例を示します。

$ srvctl enable asm -node crmnode1

srvctl enable cvu

Oracle Clusterware管理のクラスタ検証ユーティリティ(CVU)が無効の場合に、これを有効にします。

構文およびパラメータ

srvctl enable cvuコマンドは、次の構文で使用します。

srvctl enable cvu [-node node_name]

CVUを有効にする特定のノードを指定できます。

表A-50 srvctl enable cvuのパラメータ

パラメータ

説明

-node node_name

CVUを有効化するノードの名前

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次のコマンド例は、クラスタ内のcrmnode1というノードのCVUを有効化します。

$ srvctl enable cvu -node crmnode1

srvctl enable database

クラスタ・データベースとそのインスタンスを有効化します。

構文およびパラメータ

srvctl enable databaseコマンドは、次の構文で使用します。

srvctl enable database -db db_unique_name [-node node_name]

表A-51 srvctl enable databaseのパラメータ

パラメータ

説明

-db database_name

データベース名

-node node_name

データベース・リソースを有効にする必要があるノードの名前

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次に、このコマンドの例を示します。

$ srvctl enable database -db mydb1

srvctl enable diskgroup

指定したいくつかのノード上の特定のディスク・グループを有効化します。

構文およびパラメータ

srvctl enable diskgroupコマンドは、次の構文で使用します。

srvctl enable diskgroup -diskgroup diskgroup_name [-node "node_list"]

表A-52 srvctl enable diskgroupのパラメータ

パラメータ

説明

-diskgroup diskgroup_name

Oracle ASMディスク・グループ名

-nodelist node_list

ディスク・グループを有効化するノード名のカンマ区切りリスト

このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次に、このコマンドの例を示します。

$ srvctl enable diskgroup -diskgroup diskgroup1 -node "mynode1,mynode2"

srvctl enable filesystem

Oracle ClusterwareのOracle ACFSボリュームまたは汎用ファイル・システムを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable filesystemコマンドは、次の構文で使用します。

srvctl enable filesystem -device volume_device

表A-53 srvctl enable filesystemのパラメータ

パラメータ

説明

-device volume_device

有効化するボリューム・デバイスへのパスを指定します。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次に、このコマンドの例を示します。

# srvctl enable filesystem -device /dev/asm/racvol1

srvctl enable gns

すべてのノードまたは特定のノードのGNSを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用できます。

構文およびパラメータ

srvctl enable gnsコマンドは、次の構文で使用します。

srvctl enable gns [-node node_name] [-verbose]

表A-54 srvctl enable gnsのパラメータ

パラメータ

説明

-node node_name

GNSを有効化するノードの名前。

このパラメータを指定しない場合、GNSはクラスタのすべてのノードで有効化されます。

-verbose

冗長出力を表示します

例

次に、このコマンドの例を示します。

$ srvctl enable gns

srvctl enable havip

指定したいくつかのノードでの特定の高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)の実行を許可します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable havipコマンドは、次の構文で使用します。

srvctl enable havip -id havip_name [-node node_name]

表A-55 srvctl enable havipのパラメータ

パラメータ

説明

-id havip_name

有効化するHAVIPリソースの一意の名前を指定します。

-node node_name

HAVIPリソースを実行できるようにするノードの名前を指定します。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次に、このコマンドの例を示します。

# srvctl enable havip -id myhavip -node myNode1

srvctl enable instance

Oracle RACデータベースのインスタンスを有効化します。このコマンドを使用してすべてのインスタンスを有効化する場合、データベースも有効化されます。

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

構文およびパラメータ

srvctl enable instanceコマンドは、次の構文で使用します。

srvctl enable instance -db db_unique_name -instance "instance_name_list"

表A-56 srvctl enable instanceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-instance "instance_name_list"

インスタンス名のカンマ区切りリスト。

例

次に、このコマンドの例を示します。

$ srvctl enable instance -db crm -instance "crm1,crm2"

srvctl enable listener

リスナー・リソースを有効化します。

構文およびパラメータ

srvctl enable listenerコマンドは、次の構文で使用します。

srvctl enable listener [-listener listener_name] [-node node_name]

表A-57 srvctl enable listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナー・リソースの名前。このパラメータを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-node node_name

クラスタ・ノードの名前

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

node5というノードのlistener_crmというリスナーを有効化するには、次のコマンドを使用します。

$ srvctl enable listener -listener listener_crm -node node5

srvctl enable mgmtdb

管理データベース(CHMリポジトリ)・リソースを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable mgmtdbコマンドは、次の構文で使用します。

srvctl enable mgmtdb [-node node_name]

表A-58 srvctl enable mgmtdbのパラメータ

パラメータ

説明

-node node_name

クラスタ・ノードの名前

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

node5というノードの管理データベースを有効化するには、次のコマンドを使用します。

$ srvctl enable mgmtdb -node node5

srvctl enable mgmtlsnr

管理データベース・リスナー・リソース(CHM用)を有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable mgmtlsnrコマンドは、次の構文で使用します。

srvctl enable mgmtlsnr [-node node_name]

表A-59 srvctl enable mgmtlsnrのパラメータ

パラメータ

説明

-node node_name

クラスタ・ノードの名前

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

node5というノードの管理リスナーを有効化するには、次のコマンドを使用します。

$ srvctl enable mgmtlsnr -node node5

srvctl enable nodeapps

クラスタ内のすべてのノードのノード・アプリケーションを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable nodeappsコマンドは、次の構文で使用します。

srvctl enable nodeapps [-gsdonly] [-adminhelper] [-verbose]

表A-60 srvctl enable nodeappsのパラメータ

パラメータ

説明

-gsdonly

GSDデーモンのみの有効化

-adminhelper

Administratorヘルパーのみの有効化

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl enable nodeapps -gsdonly -verbose

srvctl enable oc4j

すべてのノードまたは特定のノードのOC4Jインスタンスを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable oc4jコマンドは、次の構文で使用します。

srvctl enable oc4j [-node node_name] [-verbose]

表A-61 srvctl enable oc4jのパラメータ

パラメータ

説明

-node node_name

クラスタのノードの名前

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl enable oc4j -node crm3

srvctl enable ons

Oracle Notification Serviceデーモンを有効化します。

注意:

このコマンドはOracle Restartでのみ使用可能です。

構文およびパラメータ

srvctl enable onsコマンドは、次の構文で使用します。

srvctl enable ons [-verbose]

このコマンドで使用できるパラメータは、冗長出力が表示されることを示す-verboseのみです。

例

次に、このコマンドの例を示します。

$ srvctl enable ons

srvctl enable scan

すべてのSCAN VIP(デフォルト)、またはそのordinal_numberで識別される特定のSCAN VIPを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable scanコマンドは、次の構文で使用します。

srvctl enable scan [-scannumber ordinal_number]

このコマンドで使用できるパラメータは-scannumber ordinal_numberのみであり、このパラメータには3つのSCAN VIPのいずれかを指定し、値の範囲は1から3となります。

例

次に、このコマンドの例を示します。

$ srvctl enable scan -scannumber 1

srvctl enable scan_listener

すべてのSCANリスナー(デフォルト)、またはそのordinal_numberで識別される特定のリスナーを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable scan_listenerコマンドは、次の構文で使用します。

srvctl enable scan_listener [-scannumber ordinal_number]

このコマンドで使用できるパラメータは-scannumber ordinal_numberのみであり、このパラメータには3つのSCANリスナーのいずれかを指定し、値の範囲は1から3となります。

例

次に、このコマンドの例を示します。

$ srvctl enable scan_listener -scannumber 1

srvctl enable service

Oracle Clusterwareのサービスを有効化します。サービス全体の有効化は、各インスタンスでサービスを有効化することによって、すべてのインスタンスに対してサービスを有効化することになります。サービス全体がすでに有効化されている場合、srvctl enable service操作はすべてのインスタンスには適用されないため、インスタンスは有効化されません。この操作は、エラーを戻します。したがって、各インスタンスに対してサービス・インジケータを操作する場合、使用できないサービス操作もあります。

構文およびパラメータ

srvctl enable serviceコマンドは、次の構文で使用します。

srvctl enable service -db db_unique_name -service "service_name_list"
[-instance instance_name | -node node_name]

表A-62 srvctl enable serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-service "service_name_list"

サービス名のカンマ区切りリスト

-instance instance_name

サービスを実行するデータベース・インスタンスの名前

このパラメータは、管理者管理データベースに使用します。

注意: このパラメータは、Oracle ClusterwareおよびOracle RACでのみ使用できます。

-node node_name

サービスを実行するノードの名前

このパラメータは、ポリシー管理データベースに使用します。

注意: このパラメータは、Oracle ClusterwareおよびOracle RACでのみ使用できます。

例

次の例は、サービスをグローバルに有効化します。

$ srvctl enable service -db crm -service crm

次の例は、優先インスタンスを使用するサービスを有効化します。

$srvctl enable service -db crm -service crm -instance crm1

srvctl enable vip

特定のVIPを有効化します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable vipコマンドは、次の構文で使用します。

srvctl enable vip -vip vip_name [-verbose]

表A-63 srvctl enable vipのパラメータ

パラメータ

説明

-vip vip_name

VIP名

-verbose

冗長出力

例

次のコマンドでは、crm1-vipというVIPを有効化します。

$ srvctl enable vip -vip crm1-vip -verbose

srvctl enable volume

特定のボリュームまたはすべてのボリュームのOracle Clusterware管理を有効化します。

このコマンドは、ボリュームのOracle Clusterwareリソースで動作することによって、そのボリューム・デバイスを起動できます。このコマンドは、ボリューム・デバイスを起動せず、SQLコマンドALTER DISKGROUP ENABLE VOLUMEまたはASMCMDコマンドvolenableとは異なります(これらの2つのコマンドはボリューム・デバイスをオンラインにし、実行時状態では、ボリューム・デバイスをアクセス可能にするためです)。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl enable volumeコマンドは、次の構文で使用します。

srvctl enable volume {-volume volume_name -diskgroup disk_group_name |
-device volume_device}

表A-64 srvctl enable volumeのパラメータ

パラメータ

説明

-volume volume_name

有効化するボリュームの名前を指定します。このパラメータは必須です。

-diskgroup disk_group_name

有効化するボリュームが存在するディスク・グループの名前を指定します。

-device volume_device

有効化するボリューム・デバイスへのパスを指定します。

使用上の注意

- 有効化する特定のボリュームを指定する必要があります。特定のディスク・グループまたは特定のボリューム・デバイスに存在するボリュームを指定できます。

例

次の例は、DATAというディスク・グループに存在するVOLUME1というボリュームを有効化します。

$ srvctl enable volume -volume VOLUME1 -diskgroup DATA

srvctl export gns

srvctl export gnsコマンドでは、グリッド・ネーミング・サービス(GNS)・インスタンス・データをファイルにエクスポートし、異なるサーバー・クラスタ間でGNSを移動する場合またはクライアント・クラスタを作成する場合にそのファイルを使用できるようにします。

SRVCTLによって、データはOCRから抽出されます。エクスポートされるデータは次のとおりです。

- ユーザーの許可に使用される資格証明(サーバーがリスニングしているVIPアドレスを含む)

- GNSに保持される名前およびDNSレコード

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl export gnsコマンドは、次の構文で使用します。

srvctl export gns {-instance path_to_file | -clientdata path_to_file}

表A-65 srvctl export gnsのパラメータ

パラメータ

説明

-instance path_to_file

このパラメータを使用して、GNSインスタンス・データが書き込まれるファイルを指定します。

このパラメータは、異なるサーバー・クラスタ間でGNSを移動する場合に使用します。

-clientdata path_to_file

このパラメータを使用して、GNS資格証明データが書き込まれるファイルを指定します。

このパラメータは、クライアント・クラスタを追加して、そのクライアント・クラスタがサーバー・クラスタで名前管理操作を実行するときにアクセスする資格証明ファイルを作成する場合に使用します。

使用上の注意

- このコマンドは、LinuxおよびUNIXプラットフォームではrootユーザーとして実行し、Windowsプラットフォームでは管理者ユーザーとして実行する必要があります。

- このコマンドは、サーバー・クラスタ内のいずれかのノードで実行する必要があります。

- エクスポート中にGNSが実行されている必要はありません。

- プロシージャの実行中は、データをロックして整合性を保ってください。

例

次のコマンドでは、GNS資格証明データをgns.txtというファイルにエクスポートします。

# srvctl export gns -clientdata /temp/gnsdata/gns.txt

getenv

構成ファイルから環境変数の値を取得し表示します。データベース、インスタンス、サービスおよびノード・アプリケーションの環境構成を管理するには、動詞setenv、getenvおよびunsetenvを指定してSRVCTLを使用します。

表A-66 srvctl getenvのサマリー

コマンド

説明

srvctl getenv asm

Oracle ASM環境の値の取得

srvctl getenv database

データベース環境の値の取得

srvctl getenv listener

リスナー環境の値の取得

srvctl getenv mgmtdb

管理データベースの環境変数の取得

srvctl getenv mgmtlsnr

管理リスナー・リソースの環境変数の取得

srvctl getenv nodeapps

ノード・アプリケーション環境の値の取得

srvctl getenv vip

サービス環境の値の取得

srvctl getenv asm

Oracle ASMに関連付けられている環境変数の値を表示します。

構文およびパラメータ

srvctl getenv asmコマンドは、次の構文で使用します。

srvctl getenv asm [-envs "name_list"]

表A-67 srvctl getenv asmのパラメータ

パラメータ

説明

-envs "name_list"

環境変数の名前のカンマ区切りリスト。

このパラメータを指定しない場合、Oracle ASMに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、Oracle ASMで使用されるすべての環境変数の現在の値を表示します。

$ srvctl getenv asm

srvctl getenv database

データベースに関連付けられている環境変数の値を表示します。

構文およびパラメータ

srvctl getenv databaseコマンドは、次の構文で使用します。

srvctl getenv database -db db_unique_name [-envs "name_list"]

表A-68 srvctl getenv databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-envs "name_list"

環境変数の名前のカンマ区切りリスト

このパラメータを指定しない場合、データベースに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、CRMデータベースの環境構成を取得します。

$ srvctl getenv database -db crm

srvctl getenv listener

指定したリスナーの環境変数を取得します。

構文およびパラメータ

srvctl getenv listenerコマンドは、次の構文で使用します。

srvctl getenv listener [-listener listener_name] [-envs "name_list"]

表A-69 srvctl getenv listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナー名

このパラメータを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-envs "name_list"

環境変数の名前のカンマ区切りリスト

このパラメータを指定しない場合、リスナーに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、デフォルト・リストに指定されたすべての環境変数を一覧表示します。

$ srvctl getenv listener

srvctl getenv mgmtdb

管理データベース(CHMリポジトリ)の環境変数を取得します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl getenv mgmtdbコマンドは、次の構文で使用します。

srvctl getenv mgmtdb [-envs "name_list"]

表A-70 srvctl getenv mgmtdbのパラメータ

パラメータ

説明

-envs "name_list"

環境変数の名前のカンマ区切りリスト

このパラメータを指定しない場合、リスナーに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、管理データベースに指定されたすべての環境変数を一覧表示します。

$ srvctl getenv mgmtdb

srvctl getenv mgmtlsnr

管理リスナー・リソース(CHM用)の環境変数を取得します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl getenv mgmtlsnrコマンドは、次の構文で使用します。

srvctl getenv mgmtlsnr [-envs "name_list"]

表A-71 srvctl getenv mgmtlsnrのパラメータ

パラメータ

説明

-envs "name_list"

環境変数の名前のカンマ区切りリスト

このパラメータを指定しない場合、リスナーに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、管理リスナーに指定されたすべての環境変数を一覧表示します。

$ srvctl getenv mgmtlsnr

srvctl getenv nodeapps

ノード・アプリケーション構成の環境変数を取得します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl getenv nodeappsコマンドは、次の構文で使用します。

srvctl getenv nodeapps [-viponly] [-onsonly] [-envs "name_list"]

表A-72 srvctl getenv nodeappsのパラメータ

パラメータ

説明

-viponly

VIPアドレス構成の表示

-onsonly

Oracle Notification Service構成の表示

-envs "name_list"

環境変数の名前のカンマ区切りリスト

このパラメータを指定しない場合、SRVCTLでノード・アプリケーションに関連付けられているすべての環境変数の値が表示されます。

例

次の例は、ノード・アプリケーションのすべての環境変数をリストします。

$ srvctl getenv nodeapps -viponly

srvctl getenv vip

指定したVIPの環境変数を取得します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl getenv vipコマンドは、次の構文で使用します。

srvctl getenv vip -vip vip_name [-envs "name_list"] [-verbose]

表A-73 srvctl getenv vipのパラメータ

パラメータ

説明

-vip vip_name

VIPの名前

-envs "name_list"

環境変数の名前のカンマ区切りリスト

このパラメータを指定しない場合、VIPに関連付けられているすべての環境変数の値が表示されます。

-verbose

冗長出力

例

次の例は、指定されたVIPのすべての環境変数をリストします。

$ srvctl getenv vip -vip node1-vip

srvctl import gns

srvctl import gnsコマンドでは、Syntax and Parametersコマンドの実行時に作成するファイルからデータをインポートします。このコマンドは、GNSを別のサーバー・クラスタに配置する場合に使用します。

GNSデータをインポートすると、SRVCTLによって資格証明が格納され、レコード・データがOCRに配置されます。インポート・プロシージャの実行中に別のGNSインスタンスが実行されていたり、別のインスタンスのデータが見つかった場合は、エラーが発生します。

また、このコマンドを実行すると、実行したクラスタがサーバー・クラスタとなります。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl import gnsコマンドは、次の構文で使用します。

srvctl import gns -instance path_to_file

GNSデータのエクスポート先ファイルの完全修飾ファイル名を指定します。

使用上の注意

- このコマンドは、LinuxおよびUNIXプラットフォームではrootとして実行し、Windowsプラットフォームでは管理者ユーザーとして実行する必要があります。

- GNSデータのエクスポート先ファイルを、そのファイルを作成した場所から、サーバー・クラスタとするクラスタ内のノードに手動でコピーする必要があります。

- このコマンドは、マルチクラスタ・サーバーでのみ実行できます。

例

次のコマンドでは、GNSデータをgns.txtというファイルからインポートします。

# srvctl import gns -instance /temp/gnsdata/gns.txt

modify

Oracle Clusterwareリソースの削除および追加を行わずに、インスタンス構成を変更できます。modifyを使用した場合、他の方法では再入力が必要となるOCR構成の環境が保持されます。構成の記述はOCR構成内で変更され、新規Oracle Clusterwareプロファイルが生成および登録されます。変更は、次回のアプリケーション再起動時に有効になります。

表A-74 srvctl modifyのサマリー

コマンド

説明

srvctl modify asm

Oracle ASMの構成の変更

srvctl modify cvu

クラスタ検証ユーティリティのチェック間隔の変更

srvctl modify database

データベースの構成の変更

srvctl modify filesystem

Oracle ACFSボリュームのマウントおよびアンマウントが許可されたユーザーの変更

srvctl modify gns

GNS構成の変更

srvctl modify havip

高可用性VIPリソースの変更

srvctl modify instance

インスタンスの構成の変更

srvctl modify listener

リスナーの構成の変更

srvctl modify mgmtdb

管理データベースの構成の変更

srvctl modify mgmtlsnr

管理リスナーの構成の変更

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 vip

別のIPアドレス・タイプを使用するためのVIPの変更

srvctl modify asm

Oracle ASMで使用するリスナー、Oracle ASMで使用するディスク・グループ検出文字列、または非クラスタ・データベースまたはクラスタ・データベース用にOracle ASMで使用するSPFILEを変更します。

注意:

Oracle Database 12cインストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)にあるSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびパラメータ

srvctl modify asmコマンドは、次の構文で使用します。

srvctl modify asm [-listener listener_name] [-pwfile password_file_path]
[-count {number_of_instances | ALL}] [-diskstring asm_diskstring]
[-spfile spfile_path_name [-proxy] [-force]]

表A-75 srvctl modify asmのパラメータ

パラメータ

説明

-listener listener_name

Oracle ASMが登録したリスナー名

-pwfile password_file_path

Oracle ASMのパスワード・ファイルの場所へのフルパス。

-count {number_of_instances | ALL}

作成するOracle ASMインスタンスの数を指定したり、すべてのノードにOracle ASMインスタンスを作成するよう指定できます。

-diskstring asm_diskstring

新しいOracle ASMディスク・グループ検出文字列

-spfile spfile_path_name

Oracle ASMで使用される新規SPFILEのパス名

-remote [-count number | ALL}

リモートASMインスタンスを指定します。インスタンスの数を指定することも、ALLを指定してすべてのノードのインスタンスを対象にすることもできます。

-proxy

Oracle ASMプロキシ・インスタンスを指定します

-force

変更の強制

-rim

ASM rimインスタンスを指定します。

使用上の注意

- -listener listener_nameパラメータを指定したsrvctl modify asmコマンドは、Oracle Clusterwareでのみ使用できます。

- -diskstring asm_diskstringパラメータおよび-spfile spfile_path_nameパラメータは、Oracle Restartでのみ使用できます。

関連項目:

Oracle Restartでsrvctl modify asmコマンドを使用する方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

例

Oracle ASMの構成を変更するこのコマンドの例を次に示します。

$ srvctl modify asm -listener lsnr1

srvctl modify cvu

Oracle Clusterware構成でCVUのチェック間隔を変更します。

構文およびパラメータ

srvctl modify cvuコマンドは、次の構文で使用します。

srvctl modify cvu [-checkinterval time_in_minutes]]

表A-76 srvctl modify cvuのパラメータ

パラメータ

説明

-checkinterval time_in_minutes

デフォルトでは、CVUは360分(6時間)に1回実行され、クラスタの健全性を検証します。CVUチェックに指定できる最も短い間隔は10分です。

例

次のコマンド例は、CVUのチェック間隔を4時間に変更します。

$ srvctl modify cvu -checkinterval 240

srvctl modify database

データベースの構成を変更します。

構文およびパラメータ

srvctl modify databaseコマンドは、次の構文で使用します。

srvctl modify database -db db_unique_name [-eval] [-dbname db_name]
[-instance instance_name] [-oraclehome oracle_home] [-user user_name]
[-server server_list] [-timeout timeout] [-domain db_domain]
[-spfile spfile] [-pwfile password_file_path]
[-role {PRIMARY|PHYSICAL_STANDBY|LOGICAL_STANDBY|SNAPSHOT_STANDBY}]
[-startoption start_options] [-stopoption stop_options]
[-policy {AUTOMATIC | MANUAL | NORESTART}]
[-serverpool "server_pool_list" [-node node_name]]
[-pqpool pq_server_pools] [{-diskgroup "diskgroup_list" | -nodiskgroup}]
[-acfspath "acfs_path_list"] [-force]

表A-77 srvctl modify databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-dbname db_name

DB_NAME初期化パラメータで指定されたデータベースの名前(-databaseパラメータで指定されたデータベースの一意の名前と異なる場合)。

-instance instance_name

インスタンス名の接頭辞。このパラメータは、管理者管理Oracle RAC One Nodeデータベースで必要になります。

-oraclehome oracle_home

データベースのOracleホームのパス。

-user user_name

Oracleホーム・ディレクトリを所有するユーザーの名前。

注意: -userパラメータを指定する場合は、権限付きモードでこのコマンドを実行する必要があります。

-server "server_list"

Oracle RAC One Nodeデータベースの候補サーバーのリスト。

注意: このパラメータは、管理者管理Oracle RAC One Nodeデータベースでのみ使用できます。Oracle RAC One Nodeデータベースがポリシー管理である場合、このパラメータは使用できません。

-timeout timeout

Oracle RAC One Nodeデータベースのオンライン・データベース再配置タイムアウト(分単位)。デフォルトは30です。

-domain db_domain

データベースのドメインを指定します。

注意: データベースに初期化パラメータDB_DOMAINが設定されている場合は、このパラメータを指定する必要があります。

-spfile spfile

Oracle ASMディスク・グループのデータベース・サーバー・パラメータ・ファイルの場所へのフルパス。

-pwfile password_file_path

Oracle ASMディスク・グループのパスワード・ファイルの場所へのフルパス。

-role [PRIMARY | PHYSICAL_STANDBY
| LOGICAL_STANDBY
| SNAPSHOT_STANDBY]

Oracle Data Guard構成ロールでのデータベースのロール(PRIMARY、PHYSICAL_STANDBY、LOGICAL_STANDBYまたはSNAPSHOT_STANDBY)。

-startoption start_options

データベースの起動オプション(OPEN、MOUNT、NOMOUNTなど)。

注意:

- 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

- Oracle Data Guard構成でスイッチオーバーを実行する場合、プライマリ・データベースになるスタンバイ・データベースの-startoptionは、スイッチオーバーの後では常にOPENに設定されます。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-stopoption stop_options

データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)。

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-policy [AUTOMATIC
| MANUAL | NORESTART

データベース・リソースの管理ポリシー。

-serverpool "server_pool_list"

ポリシー管理データベースに使用するサーバー・プール名のカンマ区切りリスト。

注意:

- 管理者管理データベースを変更している場合、このパラメータによって、データベースがポリシー管理に変更され、さらに、すべてのデータベースのサービスが指定したサーバー・プール内でUNIFORMサービスとして実行されるように変更されます。管理者管理データベースをポリシー管理データベースに変換するために指定できるサーバー・プールは1つのみです。

- このパラメータは、Oracle ClusterwareおよびOracle RACでのみ使用できます。

-node node_name

指定したサーバー・プールでシングル・インスタンス・データベースを実行するノードの名前。このパラメータは、-serverpoolパラメータを使用する場合にのみ指定できます。

-diskgroup "diskgroup_list"

Oracle ASMディスク・グループのカンマ区切りリスト。

-nodiskgroup

Oracle ASMディスク・グループへのデータベースの依存性を削除します。

-acfspath "acfs_path_list"

データベースの依存性が設定された、二重引用符("")で囲まれた単一のOracle ACFSパスまたはOracle ACFSパスのカンマ区切りリスト

このパラメータは、データベースがORACLE_HOMEファイル・システムとは異なるファイル・システムでORACLE_BASEを使用する場合など、ORACLE_HOME以外のOracle ACFSファイル・システムへの依存性を作成する場合に使用します。

-force

一部のリソースが停止されている場合にも、操作を強制します。

使用上の注意

- srvctl modify databaseコマンドは、管理者管理データベースをポリシー管理データベースに変換できます。管理者管理データベースの実行については、サーバー・リストが提供されている場合は、そのデータベースが実行されているノードがそのリストに含まれている必要があります。インスタンス名の接頭辞は、srvctl add databaseコマンドの実行後に変更することはできません。

- Oracle RAC One Nodeデータベースでは、管理ポリシーをAUTOMATIC (-policyパラメータを使用)から変更できません。実行しようとすると、エラー・メッセージが表示されます。非クラスタ・データベースが実行されるノードを変更する場合に使用する-nodeパラメータについても同様です。

- ポリシー管理Oracle RAC One Nodeデータベースでは、-serverpoolパラメータを使用して、サーバー・プール間でOracle RAC One Nodeデータベースを移動できますが、指定できるサーバー・プールは1つのみです。サーバー・プールのリストを指定すると、エラーが戻されます。

例

次の例は、データベースのロールをロジカル・スタンバイに変更します。

$ srvctl modify database -db crm -role logical_standby

次の例では、Oracle ASMディスク・グループSYSFILES、LOGSおよびOLTPを使用するようにracTestデータベースに指示します。

$ srvctl modify database -db racTest -diskgroup "SYSFILES,LOGS,OLTP"

srvctl modify filesystem

ファイル・システム・リソースの構成を変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify filesystemコマンドは、次の構文で使用します。

srvctl modify filesystem -device volume_device -user user_name
[-path mountpoint_path] [-node node_list | -serverpool
server_pool_list] [-fsoptions options] [-description description]
[-autostart {ALWAYS | NEVER | RESTORE}]

表A-78 srvctl modify filesystemのパラメータ

パラメータ

説明

-device volume_device

変更するファイル・システム・ボリューム・デバイスへのパスを指定します。

-user user_name

ファイル・システムのマウントおよびアンマウントが許可されたユーザーの名前。このパラメータを指定しない場合、SRVCTLでは、デフォルトでコマンドの実行ユーザーになります。

-path mountpoint_path

マウント・ポイントのパスを指定します。

-node node_list |
-serverpool server_pool_list

ファイル・システム・デバイスをマウントするノードまたはサーバー・プールのカンマ区切りリストを指定します。

-fsoptions options

ファイル・システム・マウント・オプションのカンマ区切りリストを指定します。

-description description

ファイル・システムの説明を指定します。

-autostart {ALWAYS | NEVER |
RESTORE}

ファイル・システム・リソースの自動起動ポリシーを指定します。

- ALWAYS: 常にファイル・システム・リソースが自動的に開始されます。

- ALWAYS: ファイル・システム・リソースは自動的に開始されません。

- RESTORE: ファイル・システムは、最後の状態にリストアされます。このオプションがデフォルトです。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

- ファイル・システム・リソースに対してオンライン変更を実行した場合、次にリソースを起動または再起動した後でのみ変更は有効になります。

例

次の例は、RACVOL1ボリュームについて許可されたユーザーをsysadに変更します。

# srvctl modify filesystem -device /dev/asm/racvol1 -user sysad

srvctl modify gns

GNSで使用されるIPアドレス、ドメインまたはその他の構成パラメータを変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify gnsコマンドは、次の構文モデルの1つで使用します。

srvctl modify gns -loglevel log_level

srvctl modify gns [-resolve name] [-verify name]
[-parameter  name:value[,name:value...]] [-vip {vip_name | ip} [-skip]]
[-clientdata file_name] [-verbose]

表A-79 srvctl modify gnsのパラメータ

パラメータ

説明

-loglevel log_level

GNS診断ロギング・レベルを指定します(許容値は1から6です)。

-resolve name

GNSを介して指定した名前を解決

-verify name

指定した名前がGNSによって通知されるかどうかを確認します。

-parameter name:value
[,name:
value...]

1つ以上の構成パラメータの値を設定します。

-vip vip_name | ip

GNSがリスニングするVIP名またはIPアドレスを指定

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-skip

VIPアドレスの到達可能性チェックをスキップ

-clientdata file_name

指定したファイル内に含まれるクライアント・データでGNSクライアント・データを変更

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl modify gns -vip 192.0.2.15

srvctl modify havip

高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)を変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify havipコマンドは、次の構文モデルの1つで使用します。

srvctl modify havip -id havip_name [-address {host_name | ip_address}
[-netnum network_number] [-skip]] [-description text] [-homenode node_name]

表A-80 srvctl modify havipのパラメータ

パラメータ

説明

-id havip_name

変更するHAVIPリソースの一意の名前を指定します。

-address {host_name |
ip_address}

変更するHAVIP用のホスト名またはIPv4 IPアドレスを指定します。

注意: 非DHCPで非ラウンド・ロビンDNSアドレスを使用して、IPv4 IPアドレスを構成する必要があります。

-netnum network_number

必要に応じて、HAVIPが依存するネットワーク・リソースを変更できます。このオプション・パラメータのデフォルト値は1です。

-skip

IPアドレスの到達可能性の確認をスキップするには、このパラメータを指定します。

-description text

HAVIPのテキスト説明を指定します。

-homenode node_name

必要に応じて、優先ノードまたは空の文字列を指定して、ホーム・ノードをクリアできます。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

- IPv6アドレスの使用はサポートされていません。

例

次に、このコマンドの例を示します。

# srvctl modify havip -id myhavip -address 192.168.16.17 -netnum 2

srvctl modify instance

管理者管理データベースでは、データベース・インスタンスの構成を現在のノードから別のノードへ変更します。ポリシー管理データベースでは、指定されたノードでデータベースを実行するときに使用するインスタンス名を定義します。

注意:

- このコマンドは、実行インスタンスの名前変更または再配置には使用できません。

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

構文およびパラメータ

srvctl modify instanceコマンドは、次の構文で使用します。

srvctl modify instance -db db_unique_name -instance instance_name
-node node_name

表A-81 srvctl modify instanceのパラメータ

パラメータ

説明

-database db_unique_name

データベースの一意の名前

-instance instance_name

データベース・インスタンス名

注意: ポリシー管理型データベース・インスタンスを変更する場合は、インスタンス名にアンダースコア(_)を含める必要があります(pmdb1_1など)。

-node node_name

インスタンスを実行するノードの名前。このパラメータの値を""に設定できるのは、ポリシー管理データベースの場合のみです。

例

次の例では、データベース・インスタンスamdb1が、指定されたノードmynodeで実行されるように、管理者管理データベースamdbの構成を変更します。

$ srvctl modify instance -db amdb -instance amdb1 -node mynode

次の例は、mynodeで実行する場合に、ポリシー管理データベースpmdbでインスタンス名pmdb1を使用するようにします。

$ srvctl modify instance -db pmdb -instance pmdb1_1 -node mynode

次の例は、前述の例で確立されたディレクティブを削除します。

$ srvctl modify instance -db pmdb -instance pmdb1_1 -node ""

srvctl modify listener

デフォルト・リスナーか、Oracle RestartまたはOracle Clusterwareに登録されている特定のリスナーについて、リスナーの実行元Oracleホーム・ディレクトリとその所有者であるオペレーティング・システム・ユーザーの名前、リスナー・エンドポイント、またはリスナーがリスニングするパブリック・サブネットを変更します。

リスナーの名前を変更する場合、srvctl remove listenerおよびsrvctl add listenerコマンドを使用します。

構文およびパラメータ

srvctl modify listenerコマンドは、次の構文で使用します。

srvctl modify listener [-listener listener_name] [-oraclehome oracle_home]
[-user user_name] [-netnum network_number]
[-endpoints "[TCP:]port_list[/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]"]

表A-82 srvctl modify listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナーの名前。

このパラメータを指定しない場合、デフォルトの名前であるLISTENERが使用されます。

-oraclehome oracle_home

このパラメータを指定すると、SRVCTLによって指定のOracleホームから実行されるようリスナーが移動されます。

注意: このパラメータを使用する場合は、新しいORACLE_HOME所有者に対応するリソース所有権をSRVCTLが更新できるように、権限を持つユーザーでコマンドが実行される必要があります。

-user user_name

指定されたOracleリスナーを所有するオペレーティング・システム・ユーザーの名前

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-netnum network_number

このパラメータでは、リスナーがリスニングするパブリック・サブネットを変更します。

注意: 常に1つ以上のリスナーをデフォルトのネットワークに持つ必要があります。このパラメータを使用して、デフォルトのネットワークをリスニングする唯一のリスナーのネットワークを変更しないでください。

-endpoints "[TCP:]port_list [/IPC:key][/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]"

リスナーのプロトコル仕様。port_listはポート番号のカンマ区切りリストです。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

例

次の例は、デフォルト・リスナーのTCPポートを変更します。

$ srvctl modify listener -endpoints "TCP:1521,1522"

srvctl modify mgmtdb

管理データベース(CHMリポジトリ)の構成を変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify mgmtdbコマンドは、次の構文で使用します。

srvctl modify mgmtdb [-pwfile password_file_path] [-spfile spfile_path]
[-startoption start_option] [-stopoption stop_option]
[-diskgroup "diskgroup_list"]

表A-83 srvctl modify mgmtdbのパラメータ

パラメータ

説明

-pwfile password_file_path

管理データベースのパスワード・ファイルの場所へのフルパス。

-spfile spfile_path_name

管理データベースで使用される新しいspfileのパス名。

-startoption start_options

管理データベースの起動オプション(OPEN、MOUNT、NOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-stopoption stop_options

管理データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-diskgroup "diskgroup_list"

管理データベースで使用されるOracle ASMディスク・グループのカンマ区切りリスト

例

次の例は、SYSFILES Oracle ASMディスク・グループを使用するように管理データベースに指示します。

$ srvctl modify mgmtdb -diskgroup "SYSFILES"

srvctl modify mgmtlsnr

管理リスナー・リソース(CHM用)の構成を変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify mgmtlsnrコマンドは、次の構文で使用します。

srvctl modify mgmtlsnr [-endpoints "[TCP:]port_list[/IPC:key][/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]"]

表A-84 srvctl modify mgmtlsnrのパラメータ

パラメータ

説明

-endpoints "[TCP:]port_list [/IPC:key][/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]"

管理リスナーのプロトコル仕様。port_listはポート番号のカンマ区切りリストです。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

例

次の例は、管理リスナーのTCPポートを変更します。

$ srvctl modify mgmtlsnr -endpoints "TCP:2521,2522"

srvctl modify network

ネットワークのサブネット、ネットワーク・タイプまたはIPアドレス・タイプを変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

次の構文モデルのいずれかを使用して、srvctl modify networkコマンドを実行します。

srvctl modify network [-netnum network_number] [-subnet subnet/netmask
[/if1[|if2|...]]] [-nettype network_type | -iptype {ipv4 | ipv6 | both]}
[-pingtarget "ping_target_list"] [-verbose]

表A-85 srvctl modify networkのパラメータ

パラメータ

説明

-netnum network_number

ネットワーク番号を指定します。デフォルトは1です。

-subnet subnet/netmask
[/if1[|if2|...]]

パブリック・ネットワークのサブネット番号を指定します。ネットマスクとインタフェースを指定すると、変更対象のネットワークのネットマスクとインタフェースが変更されます。IPv6サブネットを指定する場合は、ネットマスクのかわりに接頭辞の長さ(64など)を入力します。インタフェース名を指定しない場合、VIPは指定されたサブネットの任意のインタフェースを使用します。

-nettypeパラメータを使用してネットワーク・タイプを変更する場合は、-subnetパラメータを使用して既存のIPv4またはIPv6ネットワークを指定する必要があります。また、-subnetパラメータに指定するサブネットおよびネットマスクは、変更するネットワークのサブネットおよびネットマスクを変更しません。

-nettype network_type

ネットワーク・タイプ(static、dhcp、autoconfigまたはmixed)を指定します。

-iptype ip_type

IPアドレスのタイプ(ipv4、ipv6またはboth)。

-pingtarget "ping_target_list"

pingするIPアドレスまたはホスト名のカンマ区切りリストを指定します。

-verbose

冗長出力。

使用上の注意

- このコマンドを実行するには、LinuxシステムおよびUNIXシステムではrootでログインし、Windowsでは管理者権限を持つユーザーとしてログインする必要があります。

- ネットワークのIPアドレス・タイプはIPv4からIPv6に、またはIPv6からIPv4に変更できます。

関連項目:

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

- ネットワーク・タイプとしてstaticを指定した場合は、srvctl add vipコマンドを使用して仮想IPアドレスを指定する必要があります。

- ネットワーク・タイプとしてdhcpを指定した場合は、VIPエージェントによってDHCPサーバーからIPアドレスが取得されます。

- ネットワーク・タイプとしてautoconfigを指定した場合は、VIPエージェントによってネットワークのステートレスIPv6アドレスが生成されます。このパラメータは、IPv6ネットワークに対してのみ使用できます。サブネット/ネットマスクの指定がIPv6アドレスに対応していない場合は、SRVCTLによってエラーが戻されます。

- ネットワークをstaticからmixedに変更する場合は、動的に取得されるアドレスに名前を登録できるように、まずGNSを構成する必要があります。

- ネットワーク・タイプとしてmixedを指定した場合は、VIPリソースで静的IPアドレスとDHCPまたはautoconfigを通じて動的に取得されたIPアドレスの両方が使用されます。

- ネットワーク・タイプとしてmixed_autoconfigを指定した場合は、VIPリソースで静的IP構成が保持され、DHCPサーバーからIPアドレスが取得されるか(IPv4ネットワークを指定した場合)、ステートレスな自動構成IPアドレスが生成されます(IPv6ネットワークを指定した場合)。

例

次の例は、サブネット数、ネットマスクとインタフェース・リストを変更します。

# srvctl modify network -subnet 192.168.2.0/255.255.255.0/eth0

次の例は、2つ目のネットワークをDHCPに変更します。

# srvctl modify network -netnum 2 -nettype dhcp

次の例は、IPv6サブネットおよびネットマスクをデフォルト・ネットワークに追加します。

# srvctl modify network -subnet 2606:b400:400:18c0::/64

次の例は、ネットワークからIPv4構成を削除します。

# srvctl modify network -iptype ipv6

srvctl modify nodeapps

ノード・アプリケーションの構成を変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify nodeappsコマンドと、次の構文モデルの1つを一緒に使用して、特定のノードとVIP、または特定のサブネットとネットマスクを指定します。

srvctl modify nodeapps {[-node node_name -address {vip_name|vip_address}/
netmask[/if1[|if2|...]] [-skip]] [-nettype network_type] [-emport em_port]
[-onslocalport ons_local_port] [-onsremoteport ons_remote_port]
[-remoteservers host:[port][,host:port,...]] [-verbose]
[-clientdata file] [-pingtarget "ping_target_list"]

srvctl modify nodeapps [-subnet subnet/netmask[/if1[|if2|...]]
[-nettype network_type] [-emport em_port]
[-onslocalport ons_local_port] [-onsremoteport ons_remote_port]
[-remoteservers host:[port][,host:port,...]] [-verbose]
[-clientdata file] [-pingtarget "ping_target_list"]

表A-86 srvctl modify nodeappsのパラメータ

パラメータ

説明

-node node_name

変更するノード・アプリケーションが存在するノードの名前。

-address {vip_name|vip_address}/
netmask[/if1[|if2|...]]

ノード・レベル仮想IP名またはアドレス。名前またはIPで指定されたアドレスは、デフォルトびネットワークのサブネット番号に一致する必要があります。

注意: このパラメータは、アップグレード構成および新規のDHCP以外の構成で使用する必要があります。

-skip

VIPアドレスの到達可能性の確認をスキップするには、このパラメータを指定します。

-subnet subnet/netmask
[/if1[|if2|...]]

パブリック・ネットワークのサブネット番号を指定します。指定されたネットマスクおよびインタフェースがある場合、デフォルト・ネットワークのネットマスクおよびインタフェースが変更されます。また、netmaskオプションを指定する場合は、各ネットワークの最初のノードにのみ指定する必要があります。

-nettype network_type

ネットワーク・サーバー・タイプとして、static、dhcp、mixedなどを指定します。

-emport em_port

Oracle Enterprise Managerがリスニングするローカル・ポート。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-onslocalport ons_local_port

ローカル・クライアント接続用にOracle Notification Serviceデーモンがリスニングするポート。

注意:

- ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

- リソースがオンラインの間は、リソースを再起動せずに、ローカル・ポートを変更できます。

-onsremoteport ons_remote_port

リモート・ホストからの接続用にOracle Notification Serviceデーモンがリスニングするポート。

注意:

- ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

- リソースがオンラインの間は、リソースを再起動せずに、リモート・ポートを変更できます。

-remoteservers host:port, [host:port,...]

Oracle Notification Serviceネットワークには含まれていてもクラスタには含まれていないリモート・ホストのhost:portペアのリスト。リモート・ホストのportを指定しなかった場合は、ons_remote_portに指定した値が使用されます。

-clientdata file

インポートするウォレットを含むファイル、またはOracle Notification Service通信を保護するためのSSLに使用されるウォレットを削除する空の文字列を指定します。

-pingtarget "pingtarget_list"

pingするIPまたはホスト名を二重引用符("")で囲んだカンマ区切りリストを指定します。

-verbose

冗長出力。

例

次の例では、アプリケーションVIPに100.200.300.40、ネットワーク・インタフェースeth0のサブネットマスクに255.255.255.0を使用するようにmynode1のnodeappsリソースを変更します。

$ srvctl modify nodeapps -node mynode1 -addr 100.200.300.40/255.255.255.0/eth0

srvctl modify oc4j

OC4JインスタンスのRMIポートを変更します。

構文およびパラメータ

srvctl modify oc4jコマンドは、次の構文で使用します。

srvctl modify oc4j -rmiport port_number [-verbose] [-force]

表A-87 srvctl modify oc4jのパラメータ

パラメータ

説明

-rmiport port_number

OC4Jインスタンスが使用するRMIポート番号

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-verbose

冗長出力

-force

変更を有効にするためにリソースを停止し、再起動します。

例

次に、このコマンドの例を示します。

$ srvctl modify oc4j -rmiport 5385

srvctl modify ons

Oracle Restartに登録されたOracle Notification Serviceデーモンで使用するポートを変更します。

注意:

このコマンドはOracle Restartでのみ使用可能です。

構文およびパラメータ

srvctl modify onsコマンドは、次の構文で使用します。

srvctl modify ons [-onslocalprt ons_local_port] [-onsremoteport ons_remote_port]
[-emport em_port] [-remoteservers host[:port][,host[:port]][...]] [-verbose]

表A-88 srvctl modify onsのパラメータ

パラメータ

説明

-onslocalport ons_local_port

ローカル・クライアント接続用のOracle Notification Serviceデーモンのリスニング・ポート

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-onsremoteport ons_remote_port

リモート・ホストからの接続用のOracle Notification Serviceデーモンのリスニング・ポート

注意: ローカル・ポートとリモート・ポートは、それぞれ一意である必要があります。

-remoteservers host[:port]
[,host[:port]][...]]

Oracle Notification Serviceネットワークには含まれていてもOracle Clusterwareクラスタには含まれていないリモート・ホストのhost:portペアのリスト

注意: リモート・ホストのportを指定しなかった場合はons_remote_portが使用されます。

-verbose

冗長出力の表示

srvctl modify scan

DNSで指定するscan_nameを調べると戻されるIPアドレス数に一致するように、SCAN VIPの数を変更します。このコマンドは、IPアドレスの追加、変更または削除に伴ってDNSが変更され、それに合わせてOracle Clusterwareリソース構成を調整する必要がある場合に使用します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify scanコマンドは、次の構文で使用します。

srvctl modify scan -scanname scan_name

表A-89 srvctl modify scanのパラメータ

パラメータ

説明

-scanname scan_name

変更対象のSCAN VIPに解決されるSCAN名を識別します。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

例

システムに現在scan_name1という名前のSCANが存在し、DNSで単一のIPアドレスに解決されるとします。DNSでSCAN scan_name1を変更して3つのIPアドレスに解決されるようにした場合、次のコマンドを使用して追加のSCAN VIPリソースを作成します。

$ srvctl modify scan -scanname scan_name1

srvctl modify scan_listener

SCAN VIPに一致するようにSCANリスナーを変更するか、SCANリスナー・エンドポイントまたはサービス登録の制限を変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify scan_listenerコマンドは、次の構文で使用します。

srvctl modify scan_listener {-update | -endpoints [TCP:]port[/IPC:key]
[/NMP:pipe_name][/TCPS:s_port][/SDP:port] } [-invitednodes node_list]
[-invitedsubnets subnet_list]

表A-90 srvctl modify scan_listenerのパラメータ

パラメータ

説明

-update

このパラメータを使用して、現行のSCAN VIPの構成に一致するようにSCANリスナーの構成を更新します。このパラメータは、SCAN VIPリソースに一致するように、新規リソースを追加するか、または既存のSCANリスナー・リソースを削除します。

-endpoints [TCP:]port[/IPC:key]
[/NMP:pipe_name]
[/TCPS:s_port][/SDP:port]

このパラメータを使用して、SCANリスナー・エンドポイントを変更します。

注意: この属性はオンライン・リソース属性変更を使用して変更できます。

-invitednodes node_list

SCANリスナーに登録できるクラスタの外側からホスト名のカンマ区切りリストを指定するには、このパラメータを使用します。

-invitedsubnets subnet_list

SCANリスナーに登録できるクラスタの外側からサブネットのカンマ区切りリストを指定するには、このパラメータを使用します。

例

システムに現在scan_name1という名前のSCANが存在し、最近そのDNSエントリを1つではなく3つのIPアドレスに解決されるように変更したとします。srvctl modify scanコマンドを実行して追加のSCAN VIPリソースを作成した後に、次のコマンドを使用して、この2つの追加のSCAN VIPにあわせて2つの追加のSCANリスナーのOracle Clusterwareリソースを作成します。

$ srvctl modify scan_listener -update

srvctl modify service

このコマンドでは、サービスに対して次のようなオンライン変更がサポートされています。

- インスタンス間のサービス・メンバーの移動

- DBMS_SERVICEのサービス属性(フェイルオーバーの遅延、ランタイム・ロード・バランシングの目標など)のオンライン変更

- 新しい優先インスタンスまたは使用可能インスタンスの追加

- サービスの優先インスタンスまたは使用可能インスタンスの削除

警告:

構成変更は必要最小限にすること、およびオンライン・サービス変更の進行中は他のサービス操作を実行しないことをお薦めします。

次のいずれかの形式のsrvctl modify serviceコマンドを指定された構文で使用します。

インスタンス間でのサービスの移動方法

srvctl modify service -db db_unique_name -service service_name
-oldinst old_instance_name -newinst new_instance_name [-force]

注意:

このコマンドの形式はOracle Clusterwareでのみ使用可能です。

表A-91 srvctl modify serviceのパラメータ - サービスの移動

パラメータ

説明

-database db_unique_name

データベースの一意の名前

-service service_name

サービス名

-oldinst old_instance_name

元のインスタンス名

-newinst new_instance_name

新しいインスタンス名

-force

サービス操作の停止または再配置中のすべてのセッションの切断

使用可能インスタンスをサービスの優先インスタンスに変更する方法

srvctl modify service -db db_unique_name -service service_name
-available avail_inst_name -toprefer [-force]

注意:

この形式のコマンドは、Oracle Clusterwareでのみ使用可能で、Oracle RAC One Nodeデータベースの配置パラメータを受け入れません。

表A-92 srvctl modify serviceのパラメータ - 優先インスタンスへの変更

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-service service_name

変更するサービスの名前を指定します。

-available available_inst_name

変更する使用可能インスタンスの名前。

-toprefer

インスタンスのステータスを優先に変更します。

-force

サービス操作の停止中または再配置中にすべてのセッションを切断します。計画操作の場合、FANと統合されたOracle接続プールを使用し、切断を強制しないようにすると、ユーザー・エクスペリエンスが最適になります。FAN計画イベントを使用すると、ユーザーによる介入なしでOracleプールから要求が排出されるようになります。

複数インスタンスの使用可能および優先ステータスを変更する方法

srvctl modify service -db db_unique_name -service service_name
-modifyconfig -preferred "preferred_list" [-available "available_list"]
[-force]

注意:

この形式のコマンドは、Oracle Clusterwareでのみ使用可能で、Oracle RAC One Nodeデータベースの配置パラメータを受け入れません。

表A-93 srvctl modify serviceのパラメータ - 複数インスタンスのステータスの変更

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-service service_name

サービス名

-modifyconfig

このサービスに対して指定されたインスタンスのみの使用(すでにサービスに割り当てられていて指定されていないインスタンスは削除)

-preferred "preferred_instance_list"

優先インスタンスのカンマ区切りリスト

-available "available_instance_list"

使用可能インスタンスのカンマ区切りリスト

-force

サービス操作の停止中または再配置中にすべてのセッションを切断します。

計画操作の場合、FANと統合されたOracle接続プールを使用し、切断を強制しないようにすると、ユーザー・エクスペリエンスが最適になります。FAN計画イベントを使用すると、ユーザーによる介入なしで接続プールから要求が排出されるようになります。

他のサービス属性またはOracle Clusterwareのサービスを変更する方法

srvctl modify service -db db_unique_name -service service_name [-eval]
[-serverpool pool_name] [-cardinality {UNIFORM|SINGLETON}]
[-pqservice pqsvc_name] [-pqpool pq_pool_list]
[-tafpolicy {BASIC|NONE}] [-edition edition_name]
[-role "[PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]"]
[-notification {TRUE|FALSE}]  [-dtp {TRUE|FALSE}]
[-clbgoal {SHORT|LONG}] [-rlbgoal {NONE|SERVICE_TIME|THROUGHPUT}]
[-failovertype {NONE|SESSION|SELECT|TRANSACTION}] [-failovermethod {NONE|BASIC}]
[-failoverretry failover_retries] [-failoverdelay failover_delay]
[-policy {AUTOMATIC | MANUAL}] [-pdb pluggable_database]
[-sql_translation_profile profile_name] [-commit_outcome {TRUE|FALSE}]
[-retention retention_time] [-replay_init_time replay_initiation_time]
[-session_state {STATIC|DYNAMIC}] [-global_override] [-verbose] [-force]

表A-94 srvctl modify serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-service service_name

サービス名

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

注意: このパラメータは、ポリシー管理サービスでのみ使用できます。

-serverpool pool_name

ポリシー管理データベースの場合に使用されるサーバー・プールの名前。

注意: このパラメータは、Oracle RACでのみ、ポリシー管理データベースに対してのみ使用できます。

-cardinality {UNIFORM |
SINGLETON}

サービスのカーディナリティ。UNIFORM(サーバー・プールのすべてのインスタンスに提供される)またはSINGLETON(インスタンス1つずつで実行する)。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-pqservice pqsvc_name

パラレル問合せサービス名のカンマ区切りリスト

-pqpool pq_pool_list

パラレル問合せサーバー・プール名のカンマ区切りリスト

-tafpolicy
{BASIC|NONE}

TAFポリシーの指定(管理者管理データベースのみ)。

-edition edition_name

サービスの初期セッション・エディション。

サービスにエディションを指定すると、そのサービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。ただし、セッション接続で異なるエディションを指定した場合は、そのセッション接続で指定したエディションが初期セッション・エディションとして使用されます。

SRVCTLは、指定されたエディション名を検証しません。接続中、接続ユーザーは指定されたエディションのUSE権限を持っている必要があります。そのエディションが存在しないか、接続ユーザーが指定されたエディションのUSE権限を持たない場合は、エラーが発生します。

-role "[PRIMARY]
[,PHYSICAL_STANDBY]
[,LOGICAL_STANDBY]
[,SNAPSHOT_STANDBY]"

サービスが自動的に開始する必要があるデータベース・モード。1つ以上のロールをカンマ区切りリストで指定できます。

注意:
-roleパラメータは、データベースの起動にのみ、Oracle Data Guard Brokerによって使用されます。手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。

関連項目:

『Oracle Data Guard Broker』(-roleを指定した場合)

-notification {TRUE | FALSE}

OCI接続の場合は、高速アプリケーション通知(FAN)を有効にします。

-dtp {TRUE | FALSE}

このサービスの分散トランザクション処理を有効化するかどうかを示します。これにより、XAアフィニティ用に、一度に1つのみのインスタンスでサービスが提供されるようになります。

-clbgoal {SHORT | LONG}

接続時ロード・バランシングの目標の場合: ランタイム・ロード・バランシングを使用する場合はSHORTに設定し、バッチ・ジョブや以前のSQL*Formsスタイルなどの長時間の接続の場合はLONGに設定します。

-rlbgoal {NONE |
SERVICE_TIME | THROUGHPUT}

ランタイム・ロード・バランシングの目標。応答時間に基づいて接続のバランスを取るには、このパラメータをSERVICE_TIMEに設定します。スループットに基づいて接続のバランスを取るには、このパラメータをTHROUGHPUTに設定します。

-failovertype {NONE |
SESSION | SELECT | TRANSACTION}

フェイルオーバーのタイプ

Javaのアプリケーション・コンティニュイティを有効化するには、このパラメータをTRANSACTIONに設定します。OCIに対して透過的アプリケーション・フェイルオーバー(TAF)を有効化するには、このパラメータをSELECTまたはSESSIONに設定します。

-failovermethod {NONE | BASIC}

TAFフェイルオーバー・メソッド(下位互換性維持のためのみ)。

-failoverretry
failover_retries

アプリケーション・コンティニュイティおよびTAFでの、事象が発生した後に接続を試行する回数。

-failoverdelay
failover_delay

アプリケーション・コンティニュイティおよびTAFでの、フェイルオーバーにおける各事象の再接続試行間の時間遅延(秒数)。

-policy {AUTOMATIC | MANUAL}

サービス管理ポリシー。

-pdb pluggable_database

プラガブル・データベース(PDB)名。

注意: PDBプロパティは、サービスを作成または変更するときに指定できます。PDBプロパティによって、指定されたPDBにサービスが関連付けられます。サービスのPDBプロパティを参照するには、ALL_SERVICESデータ・ディクショナリ・ビューを問い合せるか、またはSRVCTLユーティリティを使用している場合はsrvctl config serviceコマンドを実行します。

PDBを指定してサービスを作成または変更するとき、そのPDBが存在するかどうかはSRVCTLによってチェックされません。このコマンドを実行する前に、PDBが存在することを確認してください。

-sql_translation_profile
profile_name

Oracle Database以外からOracle Databaseにアプリケーションを移行した後でサービスを変更する場合は、このパラメータを使用して、そのサービスに対するSQL翻訳プロファイルを指定します。

SQL翻訳プロファイルをNULL値に設定する場合は、-pフラグの後に空の文字列を入力する必要があります。

注意: SQL翻訳機能を使用するには、事前にすべてのサーバー側アプリケーション・オブジェクトおよびデータをOracle Databaseに移行しておく必要があります。

関連項目: SQL翻訳の詳細は、『Oracle Database移行ガイド』を参照してください。

-commit_outcome {TRUE|FALSE}

トランザクション・ガードを有効化します。TRUEに設定すると、トランザクションのセッションがリカバリ可能な停止により失敗したときに、トランザクションのコミット結果にアクセスできます。

-retention retention_time

トランザクション・ガードを使用する場合(commit_outcomeをTRUEに設定した場合)は、コミット結果をデータベースに保持する時間(秒数)が、このパラメータによって決定されます。

-replay_init_time
replay_init_time

アプリケーション・コンティニュイティの場合、このパラメータには、元のリクエストが実行を開始したときからの時間(秒単位)を指定します。アプリケーション・コンティニュイティは指定した時間が経過するまでリプレイされません。この属性は、長い時間が経過した後でシステムがリカバリしたときにリクエストの意図しないリプレイを回避します。デフォルト値は300 (5分)です。

-session_state
{STATIC|DYNAMIC}

アプリケーション・コンティニュイティ向けに、このパラメータはトランザクション型ではないセッションの状態がアプリケーションによって変更されるかどうかを指定します。ほとんどのアプリケーションにはDYNAMICの値をお薦めします。使用する値が不明な場合またはアプリケーションをカスタマイズできる場合は、DYNAMICを使用します。STATICモードは、データベースに依存しないアプリケーションのリクエストに応じ、リクエスト内部の非トランザクション状態を変更しません。

-global_override
global_override

グローバル・サービス属性を変更するオーバーライド値。

このパラメータは、-role、-policy、-notification、-failovertype、-failovermethod、-failoverdelay、-failoverretryおよび-editionの各パラメータと一緒に使用します。

-verbose

冗長出力を表示します。

-force

変更操作を強制し、必要に応じて一部のノードでサービスを停止します。

使用上の注意

- サービス属性(フェイルオーバーの遅延、ランタイム・ロード・バランシングの目標など)をオンラインで変更した場合、変更が有効になるのは、サービスが次回(再)起動されたときです。

- 新しい優先インスタンスまたは使用可能インスタンスが追加されるようにサービス構成を変更した場合でも、既存サービスの稼働状態に影響はありません。ただし、新しく追加されたインスタンスは、srvctl start serviceコマンドが発行されるまで、自動的にはサービスを提供しません。

- サービスに対して使用可能なインスタンスがあり、優先インスタンスまたは使用可能インスタンスが削除されるようにサービス構成を変更した場合、サービスの稼働状態に予測できない変化が発生することがあります。

- 新しいサービス構成に従って、一部のインスタンスでサービスが停止、削除されます。

- サービスは、サービス構成から削除されるインスタンスで稼働している場合があります。

- そのようなサービスは、新しいサービス構成内の次に使用可能なインスタンスに再配置されます。

前述の状況のため、オンライン・サービスを変更した場合、インスタンスが削除されていなくても、ユーザーは一時的にサービスを利用できないことがあります。または、サービスから削除されるインスタンスで、サービスを一時的に利用できないことがあります。

例

次の例は、あるインスタンスから別のインスタンスにサービス・メンバーを移動します。

$ srvctl modify service -db crm -service crm -oldinst crm1 -newinst crm2

次の例は、使用可能インスタンスを優先インスタンスに変更します。

$ srvctl modify service -db crm -service crm -available crm1 -toprefer

次のコマンドでは、優先インスタンスおよび使用可能インスタンスが交換されます。

$ srvctl modify service -db crm -service crm -modifyconfig -preferred "crm1" \
-available "crm2"

srvctl modify srvpool

クラスタのサーバー・プールを変更します。最小サイズ、最大サイズおよび重要度の数値を増やした場合に、サイズ変更により他のサーバー・プールの最小サイズおよび重要度が相対的に低くなった場合は、このサーバー・プールの新しいサイズが確保されるように、このサーバー・プールへのサーバーの再割当てがCRSデーモンにより試行されます。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify srvpoolコマンドは、次の構文で使用します。

srvctl modify srvpool -serverpool pool_name [-eval] [-importance importance]
[-min min_size] [-max max_size] [-servers "server_list"]
[-category "server_category"] [-verbose] [-force]

表A-95 srvctl modify srvpoolのパラメータ

パラメータ

説明

-serverpool pool_name

変更するサーバー・プールの名前

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-importance importance

サーバー・プールの新しい重要度。

-min min_size

サーバー・プールの新しい最小サイズ。デフォルト値は0です。

-max max_size

サーバー・プールの新しい最大サイズ。-1の値はサーバー・プールの最大サイズをUNLIMITEDに設定します。

-servers "server_list"

候補としてのサーバー名のカンマ区切りリスト。

注意: Oracle Database 12cでは、-categoryパラメータの値に従って、サーバーがサーバー・プールに割り当てられます。

-category "server_category"

サーバー・カテゴリ(または空のカテゴリ値の場合は"")。

-verbose

冗長出力を表示します

-force

ユーティリティがいくつかのリソースを停止しても、操作を強制します。

例

次の例は、サーバー・プールsrvpool1の重要度ランクを0、最小サイズを2、最大サイズを4に変更します。

$ srvctl modify srvpool -serverpool srvpool1 -importance 0 -min 2 -max 4

srvctl modify vip

IPアドレス・タイプを変更しますが、これを使用してIPアドレスのみも変更できます。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl modify vipコマンドは、次の構文で使用します。

srvctl modify vip -node node_name -address {VIP_name|ip}/netmask[/if1[|if2|...]]
[-netnum network_number] [-verbose]

表A-96 srvctl modify vipのパラメータ

パラメータ

説明

-node node_name

VIPを変更するノードの名前。

-address {VIP_name|ip}/netmask
[/if1[|if2|...]]

既存のVIPの構成を変更するには、このパラメータを使用します。VIPにIPv4アドレスがあり、指定するアドレスがIPv6で、IPアドレス・タイプがbothに設定され、ネットワーク・タイプがstaticに設定されている場合、SRVCTLによって、IPv6アドレスがそのリソースの既存のIPv4アドレスに追加されます。

1つのVIP_nameまたはIPアドレスを、IPv4ネットマスクまたはIPv6接頭辞長とともに指定できます。

-netnum network_number

VIPを取得するネットワーク番号(オプション)。

このパラメータを指定しない場合、nodeapps VIPの取得元と同じデフォルト・ネットワークからVIPが取得されます。

-verbose

冗長出力

注意:

同一ノードの同一ネット番号(サブネットまたはインタフェース・ペア)に複数のVIPを持つことはできません。

例

次の例は、IPv4アドレスをVIPに追加します(まだ存在しない場合)。VIPにIPv4アドレスが存在する場合は、新しいネットワーク指定に置き換えられます。

# srvctl modify vip -node node7 -address 192.168.16.17/255.255.255.0 -netnum 2

predict

predictコマンドは、リソースが失敗して同じノードで再起動できないときにどうなるかを予測します。このコマンドは、システムの変更を伴いません。

表A-97 srvctl predictのサマリー

コマンド

説明

srvctl predict asm

Oracle ASM障害の結果の予測

srvctl predict database

データベース障害の結果の予測

srvctl predict diskgroup

ディスク・グループ障害の結果の予測

srvctl predict filesystem

ファイル・システム障害の結果の予測

srvctl predict listener

リスナー障害の結果の予測

srvctl predict network

ネットワーク障害の結果の予測

srvctl predict oc4j

OC4J障害の結果の予測

srvctl predict scan

SCAN障害の結果の予測

srvctl predict scan_listener

SCANリスナー障害の結果の予測

srvctl predict service

サービス障害の結果の予測

srvctl predict vip

VIP障害の結果の予測

srvctl predict asm

ASM障害の結果の予測。

構文およびパラメータ

srvctl predict asmコマンドは、次の構文で使用します。

srvctl predict asm [-node node_name] [-verbose]

表A-98 srvctl predict asmのパラメータ

パラメータ

説明

-node node_name

ノード名

-verbose

冗長出力を表示します

例

次のコマンド例は、Oracle ASM障害の結果を予測します。

$ srvctl predict asm -node crmnode2

srvctl predict database

srvctl predict databaseコマンドは、指定したデータベースで障害が発生した場合の結果を予測します。

構文およびパラメータ

srvctl predict databaseコマンドは、次の構文で使用します。

srvctl predict database -db db_unique_name [-verbose]

表A-99 srvctl predict databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-verbose

冗長出力。

例

次の例は、racdbというデータベースで障害が発生した場合の結果を予測します。

srvctl predict database -db racdb

srvctl predict diskgroup

Oracle ASMディスク・グループ障害の結果を予測します。

構文およびパラメータ

srvctl predict diskgroupコマンドは、次の構文で使用します。

srvctl predict diskgroup -diskgroup diskgroup_name [-verbose]

表A-100 srvctl predict diskgroupのパラメータ

パラメータ

説明

-diskgroup diskgroup_name

障害を評価するOracle ASMディスク・グループの名前

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl predict diskgroup -diskgroup data

srvctl predict filesystem

ファイル・システム障害の結果を予測します。

構文およびパラメータ

srvctl predict filesystemコマンドは、次の構文で使用します。

srvctl predict filesystem -device volume_device_name [-verbose]

表A-101 srvctl predict filesystemのパラメータ

パラメータ

説明

-device volume_device_name

ファイル・システム・ボリューム・デバイスのパス名。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

srvctl predict filesystem -device /dev/asm/volume1-123

srvctl predict listener

リスナー障害の結果を予測します。

構文およびパラメータ

srvctl predict listenerコマンドは、次の構文で使用します。

srvctl predict listener listener_name [-verbose]

表A-102 srvctl predict listenerのパラメータ

パラメータ

説明

-listener listener_name

障害の結果を予測するリスナーの名前を指定します。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl predict listener -listener NODE3_CRMAPP_LISTENER

srvctl predict network

ネットワーク障害の結果を予測します。

構文およびパラメータ

srvctl predict networkコマンドは、次の構文で使用します。

srvctl predict network [-netnum network_number [-verbose]

表A-103 srvctl predict networkのパラメータ

パラメータ

説明

-netnum network_number

障害を評価するネットワークを指定します。デフォルト値は1です。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl predict network -netnum 2

srvctl predict oc4j

Oracle Container for Java (OC4J)障害の結果を予測します。

構文およびパラメータ

srvctl predict oc4jコマンドは、次の構文で使用します。

srvctl predict oc4j [-verbose]

表A-104 srvctl predict oc4jのパラメータ

パラメータ

説明

-verbose

冗長出力を表示します

例

次に、このコマンドの例を示します。

$ srvctl predict oc4j

srvctl predict scan

SCAN障害の結果を予測します。

構文およびパラメータ

srvctl predict scanコマンドは、次の構文で使用します。

srvctl predict scan -scannumber ordinal_number [-verbose]

表A-105 srvctl predict scanのパラメータ

パラメータ

説明

-scannumber ordinal_number

障害をシミュレートするSCAN VIPを識別する序数。このパラメータに指定できる値の範囲は1から3です。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl predict scan -scannumber 1 -verbose

srvctl predict scan_listener

SCANリスナー障害の結果を予測します。

構文およびパラメータ

srvctl predict scan_listenerコマンドは、次の構文で使用します。

srvctl predict scan_listener -scannumber ordinal_number [-verbose]

表A-106 srvctl predict scan_listenerのパラメータ

パラメータ

説明

-scannumber ordinal_number

SCANリスナーを識別する序数。このパラメータに指定できる値の範囲は1から3です。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl predict scan_listener -scannumber 1

srvctl predict service

サービス障害の結果を予測します。

構文およびパラメータ

srvctl predict serviceコマンドは、次の構文で使用します。

srvctl predict service -db db_unique_name -service service_name [-verbose]

表A-107 srvctl predict serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-service "service_name,..."

サービス名のカンマ区切りリスト

-verbose

冗長出力の表示

例

データベースracdbを対象としてcrmというサービスの障害の結果を評価します。

$ srvctl predict service -db racdb -service "crm"

srvctl predict vip

VIP障害の結果を予測します。

構文およびオプション

srvctl predict vipコマンドは、次の構文で使用します。

srvctl predict vip [-vip vip_name] [-verbose]

表A-108 srvctl predict vipのパラメータ

パラメータ

説明

-vip vip_name

障害の結果を評価するVIPの名前を指定します。

-verbose

冗長出力を表示します

例

次に、このコマンドの例を示します。

$ srvctl predict vip -vip racdb1_vip

relocate

relocateコマンドを実行すると、指定したオブジェクトが異なるノードで実行されます。指定するオブジェクトは、すでに実行されている必要があります。

オブジェクトの再配置は、構成を変更するまでの一時的なものです。前述の「modify」コマンドは、構成を永久的に変更します。

表A-109 srvctl relocateのサマリー

コマンド

説明

srvctl relocate asm

Oracle Flex ASMインスタンスをOracle Flex Clusterのノードから別のノードに再配置

srvctl relocate cvu

一時的なクラスタ検証ユーティリティの再配置

srvctl relocate database

異なるノードへのOracle RAC One Nodeデータベースの再配置

srvctl relocate gns

異なるノードへのGNSの再配置

srvctl relocate havip

高可用性VIPリソースの再配置

srvctl relocate mgmtdb

異なるノードへの管理データベースの再配置

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 asm

Oracle Flex ASMインスタンスをOracle Flex Clusterのハブ・ノードから別のハブ・ノードに再配置。

構文およびパラメータ

srvctl relocate asmコマンドは、次の構文で使用します。

srvctl relocate asm -currentnode current_node [-targetnode target_node] [-force]

表A-110 srvctl relocate asmのパラメータ

パラメータ

説明

-currentnode current_node

Oracle Flex ASMインスタンスが現在存在するノードの名前

-targetnode current_node

Oracle Flex ASMインスタンスを再配置する先のノードの名前

-force

Oracle Flex ASMインスタンスの再配置の強制

使用上の注意

実行しているOracle Flex ASMインスタンスが1つのみの場合、このコマンドは使用できません。

例

Oracle Flex ASMインスタンスを現在のノードからhubnode2という名前のノードに再配置するこのコマンドの例を次に示します。

$ srvctl relocate asm -currentnode hubnode1 -targetnode hubnode2

srvctl relocate cvu

クラスタの別のノードにCVUを一時的に再配置します。

構文およびパラメータ

srvctl relocate cvuコマンドは、次の構文で使用します。

srvctl relocate cvu [-node node_name]

表A-111 srvctl relocate cvuのパラメータ

パラメータ

説明

-node node_name

ノード名

例

次のコマンド例は、ローカル・ノードのCVUをcrmnode2というクラスタ・ノードに一時的に再配置します。

$ srvctl relocate cvu -node crmnode2

srvctl relocate database

srvctl relocate databaseコマンドは、ノード間でのOracle RAC One Nodeデータベースの再配置を開始します。このコマンドは、再配置失敗後のクリーンアップも行います。

srvctl relocate databaseコマンドは、Oracle RAC One Nodeデータベースの再配置にのみ使用できます。

構文およびパラメータ

srvctl relocate databaseコマンドは、次の構文モデルの1つで使用します。

srvctl relocate database -db db_unique_name [-node target_node]
[-timeout timeout] [-stopoption NORMAL] [-verbose]

srvctl relocate database -db db_unique_name -abort [-revert] [-verbose]

表A-112 srvctl relocate databaseのパラメータ

パラメータ

説明

-db db_unique_name

再配置するデータベースの一意の名前。

-node target

Oracle RAC One Nodeデータベースを再配置するターゲット・ノード。

注意: 管理者管理Oracle RAC One Nodeデータベースを再配置する場合は、このパラメータを指定する必要があります。

-timeout timeout

Oracle RAC One Nodeデータベースのオンライン・データベース再配置タイムアウト(分単位)。デフォルトは30です。

-stopoption NORMAL

このパラメータを使用し、デフォルトのプライマリ・データベースに対するSHUTDOWN TRANSACTIONAL LOCALまたはスタンバイ・データベースに対するSHUTDOWN IMMEDIATEではなく、SHUTDOWN NORMALを使用して、既存のデータベース・インスタンスを停止します。

-abort

失敗したオンライン・データベース再配置の強制終了。

-revert

管理者管理Oracle RAC One Nodeデータベースの候補サーバー・リストからの、失敗したオンライン再配置リクエストのターゲット・ノードの削除。

-verbose

冗長出力。

使用上の注意

- 再配置する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 -db rac1 -node node7

srvctl relocate gns

現行のホスティング・ノードからクラスタ内の別のノードにGNSを再配置します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl relocate gnsコマンドは、次の構文で使用します。

srvctl relocate gns [-node node_name] [-verbose]

表A-113 srvctl relocate gnsのパラメータ

パラメータ

説明

-node node_name

GNSの移動先のノードの名前

-verbose

冗長出力を表示します。

使用上の注意

- このコマンドを実行するには、LinuxシステムおよびUNIXシステムではrootでログインし、Windowsでは管理者権限を持つユーザーとしてログインする必要があります。

例

次に、このコマンドの例を示します。

# srvctl relocate gns -node node1

srvctl relocate havip

高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)をクラスタ内の別のノードに再配置します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl relocate havipコマンドは、次の構文で使用します。

srvctl relocate havip -id havip_name [-node node_name] [-force]

表A-114 srvctl relocate havipのパラメータ

パラメータ

説明

-id havip_name

再配置するHAVIPリソースの一意の名前を指定します。

-node node_name

HAVIPリソースの再配置先ノードの名前を指定します。

-force

必要に応じて、HAVIPリソースの再配置を強制できます。

例

次に、このコマンドの例を示します。

$ srvctl relocate havip -id myhavip -node node3

srvctl relocate mgmtdb

クラスタのノード間で管理データベース(CHMリポジトリ)・リソースを再配置します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl relocate mgmtdbコマンドは、次の構文で使用します。

srvctl relocate mgmtdb [-node node_name]

管理データベースの再配置先ノードを指定します。

例

次に、このコマンドの例を示します。

$ srvctl relocate mgmtdb -node crsNode2

srvctl relocate oc4j

現行のホスティング・ノードからクラスタ内の別のノードにOC4Jインスタンスを再配置します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl relocate oc4jコマンドは、次の構文で使用します。

srvctl relocate oc4j [-node node_name] [-verbose]

表A-115 srvctl relocate oc4jのパラメータ

パラメータ

説明

-node node_name

OC4Jインスタンスを再配置するノードの名前。

-verbose

冗長出力を表示します

例

次に、このコマンドの例を示します。

$ srvctl relocate oc4j -node crsNode01 -verbose

srvctl relocate scan

現行のホスティング・ノードからクラスタ内の別のノードに特定のSCAN VIPを再配置します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl relocate scanコマンドは、次の構文で使用します。

srvctl relocate scan -scannumber ordinal_number [-node node_name]

表A-116 srvctl relocate scanのパラメータ

パラメータ

説明

-scannumber ordinal_number

再配置するSCAN VIPを識別する序数。このパラメータに指定できる値の範囲は1から3です。

-node node_name

単一ノードの名前。

このパラメータを指定しない場合は、SCAN VIPの再配置先ノードが自動的に選択されます。

例

次に、このコマンドの例を示します。

$ srvctl relocate scan -scannumber 1 -node node1

srvctl relocate scan_listener

現行のホスティング・ノードからクラスタ内の別のノードに特定のSCANリスナーを再配置します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl relocate scan_listenerコマンドは、次の構文で使用します。

srvctl relocate scan_listener -scannumber ordinal_number [-node node_name]

表A-117 srvctl relocate scan_listenerのパラメータ

パラメータ

説明

-scannumber ordinal_number

再配置するSCAN VIPを識別する序数。このパラメータに指定できる値の範囲は1から3です。

-node node_name

単一ノードの名前。

このパラメータを指定しない場合は、SCAN VIPの再配置先ノードが自動的に選択されます。

例

次に、このコマンドの例を示します。

$ srvctl relocate scan_listener -scannumber 3

srvctl relocate server

サーバーをクラスタのサーバー・プールに再配置します。

構文およびパラメータ

srvctl relocate serverコマンドは、次の構文で使用します。

srvctl relocate server -servers "server_name_list" -serverpool pool_name
[-eval] [-force]

表A-118 srvctl relocate serverのパラメータ

パラメータ

説明

-servers "server_name_list"

別のサーバー・プールに再配置する、単一のサーバー名、または二重引用符("")で囲んだ複数のサーバー名のカンマ区切りリスト

-serverpool pool_name

サーバーの移動先のサーバー・プールの名前。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-force

いくつかのリソースを停止することになってもサーバーの再配置を強制する場合は、-forceパラメータを使用します。

例

次に、このコマンドの例を示します。

$ srvctl relocate server -servers "server1, server2" -serverpool sp3

srvctl relocate service

指定した1つのインスタンスから指定した別のインスタンスに指定したサービス名を一時的に再配置します。srvctl relocate serviceコマンドは、同時に1つのソース・インスタンスと1つのターゲット・インスタンスでのみ機能し、1つのソース・インスタンスから1つのターゲット・インスタンスにサービスを再配置します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl relocate serviceコマンドは、次の構文で使用します。

srvctl relocate service -db db_unique_name -service service_name {-oldinst
old_inst_name -newinst new_inst_name | -currentnode source_node -targetnode target_node}
[-pq] [-force [noreplay]] [-eval] [-verbose]

表A-119 srvctl relocate serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-service service_name

サービス名

-oldinst old_instance_name

元のインスタンス名

-newinst new_instance_name

新しいインスタンス名

注意: 管理者管理を使用している場合、-oldinstおよび-newinstパラメータを使用する必要があり、ターゲット・インスタンスはサービスの優先または使用可能リストにある必要があります。

-currentnode source_node

サービスが現在実行中のノードの名前

-targetnode target_node

サービスを再配置する必要があるノードの名前

注意: ポリシー管理を使用している場合、-currentnodeおよび-targetnodeパラメータを使用する必要があります。

-pq

パラレル問合せサービスでアクションを実行

-force

サービス操作の停止または再配置中のすべてのセッションの切断

-noreplay

切断中にセッション・リプレイを無効化

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-verbose

冗長出力

例

データベース・インスタンスcrm1で実行されるcrmサービスの特定のサービス・メンバーをデータベース・インスタンスcrm3に一時的に再配置します。

$ srvctl relocate service -db crm -service crm -oldinst crm1 -newinst crm3

srvctl relocate vip

現行のホスティング・ノードからクラスタ内の別のノードに特定のVIPを再配置します。

構文およびオプション

srvctl relocate vipコマンドは、次の構文で使用します。

srvctl relocate vip -vip vip_name [-node node_name] [-force] [-verbose]

表A-120 srvctl relocate vipのパラメータ

パラメータ

説明

-vip vip_name

再配置するVIPの名前を指定します。

-node node_name

VIPの再配置先ノードの名前を指定します。

-force

このオプションは、VIPの再配置を強制する場合に指定します。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl relocate vip -vip vip1 -node node3

remove

指定したターゲットの構成情報をOracle Clusterwareから削除します。オブジェクトの環境設定も削除されます。このコマンドを使用しても、指定したターゲットが破棄されることはありません。

関連付けられているリソースをOracle ClusterwareまたはOracle Restartの管理から削除するには、動詞removeを使用します。使用する名詞に応じて、データベース、サービス、nodeapps、Oracle ASM、Oracle Notification Serviceおよびリスナーを削除できます。

強制パラメータ(-force)を使用しない場合は、続行を確認するプロンプトがOracle ClusterwareまたはOracle Restartによって表示されます。-forceを使用する場合は、プロンプトは表示されず、エラーが発生しても削除操作が続行されます。Oracle Clusterwareリソースを削除できなかった場合でも、OCR構成は削除されるため、オブジェクトは存在しないように見えますが、Oracle Clusterwareリソースは存在しています。OCRの一貫性が保持されなくなる可能性があるため、強制パラメータ(-force)を使用する場合は、十分な注意が必要です。

動詞removeを使用するには、まずsrvctl removeを指定するノード・アプリケーション、データベース、インスタンスまたはサービスを停止する必要があります。このコマンドを使用する前に、無効化操作を実行することをお薦めしますが、必須ではありません。srvctl removeコマンドは、ターゲット・オブジェクトを停止してから実行する必要があります。「stop」コマンドも参照してください。

表A-121 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 havip

高可用性VIPの削除

srvctl remove instance

管理者が管理するデータベースのインスタンスおよび構成の削除

srvctl remove listener

Oracle ClusterwareまたはOracle Restartからの指定したリスナーの構成の削除

srvctl remove mgmtdb

Oracle Clusterwareからの管理データベースの削除

srvctl remove mgmtlsnr

Oracle Clusterwareからの管理データベース・リスナーの削除

srvctl remove network

クラスタ構成からのネットワークの削除

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 volume

特定のボリュームの削除

srvctl remove asm

Oracle Clusterware管理からのOracle ASMリソースの削除。

注意:

Oracle Database 12cインストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)にあるSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびパラメータ

srvctl remove asmコマンドは、次の構文で使用します。

srvctl remove asm [-proxy] [-force]

表A-122 srvctl remove asmのパラメータ

パラメータ

説明

-proxy

削除するOracle ASMインスタンスがプロキシ・インスタンスであるかを指定します。

-force

Oracle ASMリソースを強制的に削除します(すべての依存性を無視します)。

例

次に、このコマンドの例を示します。

$ srvctl remove asm -force

srvctl remove cvu

Oracle Clusterware構成からCVUを削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove cvuコマンドは、次の構文で使用します。

srvctl remove cvu [-force]

-forceパラメータを使用して、実行中または起動中のCVUリソースを削除します。

例

次のコマンド例は、CVUを削除します。

$ srvctl remove cvu -force

srvctl remove database

データベース構成を削除します。

構文およびパラメータ

srvctl remove databaseコマンドは、次の構文で使用します。

srvctl remove database -db db_unique_name [-force] [-noprompt] [-verbose]

表A-123 srvctl remove databaseのパラメータ

パラメータ

説明

-database db_unique_name

データベースの一意の名前

-force

削除を強制します(依存性を無視します)。

-noprompt

プロンプトを非表示にします

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl remove database -db crm

srvctl remove diskgroup

Oracle ClusterwareまたはOracle Restartから、特定のOracle ASMディスク・グループ・リソースを削除します。

構文およびパラメータ

srvctl remove diskgroupコマンドは、次の構文で使用します。

srvctl remove diskgroup -diskgroup diskgroup_name [-force]

表A-124 srvctl remove diskgroupのパラメータ

パラメータ

説明

-diskgroup diskgroup_name

Oracle ASMディスク・グループ名。

-force

削除を強制します(依存性を無視します)。

例

次に、このコマンドの例を示します。

$ srvctl remove diskgroup -diskgroup DG1 -force

srvctl remove filesystem

クラスタから特定のファイル・システム・リソースを削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove filesystemコマンドは、次の構文で使用します。

srvctl remove filesystem -device volume_device_name [-force]

表A-125 srvctl remove filesystemのパラメータ

パラメータ

説明

-device volume_device

削除するファイル・システム・リソース・デバイスへのパスを指定します。

-force

リソースの依存性を無視し、クラスタからリソースを強制的に削除します。

使用上の注意

- このコマンドは、LinuxおよびUNIXプラットフォームではrootユーザーとして実行し、Windowsプラットフォームでは管理者ユーザーとして実行する必要があります。

例

次に、このコマンドの例を示します。

# srvctl remove filesystem -device /dev/asm/racvol1

srvctl remove gns

クラスタからGNSを削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove gnsコマンドは、次の構文で使用します。

srvctl remove gns [-force] [-verbose]

表A-126 srvctl remove gnsのパラメータ

パラメータ

説明

-force

エラーの発生に関係なく、クラスタからGNSを強制的に削除します。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl remove gns

srvctl remove havip

高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)を削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove havipコマンドは、次の構文で使用します。

srvctl remove havip -id havip_name [-force]

表A-127 srvctl remove havipのパラメータ

パラメータ

説明

-id havip_name

削除するHAVIPリソースの一意の名前を指定します。

-force

すべての依存性を無視して、クラスタからリソースを強制的に削除します。

使用上の注意

- HAVIPリソースを事前に停止してから削除を実行してください。

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次に、このコマンドの例を示します。

# srvctl remove havip -id myhavip

srvctl remove instance

管理者が管理するデータベースのインスタンスの構成を削除します。ポリシー管理のデータベースの構成を削除するには、srvctl modify srvpoolコマンドを使用してサーバー・プールのサイズを縮小する必要があります。

-forceパラメータを使用した場合は、インスタンスで実行されているすべてのサービスが停止されます。インスタンスを削除する前に、削除されるインスタンスが優先インスタンスまたは使用可能インスタンスとして使用されないように再構成することをお薦めします。

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを使用しようとすると、コマンドから、そのデータベースを削除しないかぎり、インスタンスを削除できないことを示すエラーが戻されます。

構文およびパラメータ

srvctl remove instanceコマンドは、次の構文で使用します。

srvctl remove instance -db db_unique_name -instance instance_name
[-noprompt] [-force]

表A-128 srvctl remove instanceのパラメータ

パラメータ

説明

-db db_unique_name

管理者管理データベースの一意の名前。

-instance instance_name

インスタンス名。

-noprompt

プロンプトを非表示にします

-force

このパラメータは、インスタンスが実行中ではないことのチェックをスキップし、実行中であっても削除する場合に指定します。また、インスタンスに実行中のサービスがないことのチェックもスキップし、インスタンスが削除される前にこれらのサービスを停止します。

例

次に、このコマンドの例を示します。

$ srvctl remove instance -db crm -instance crm01

srvctl remove listener

Oracle ClusterwareまたはOracle Restartから特定のリスナーまたはすべてのリスナーの構成を削除します。

構文およびパラメータ

srvctl remove listenerコマンドは、次の構文で使用します。

srvctl remove listener [-listener listener_name | -all] [-force]

表A-129 srvctl remove listenerのパラメータ

パラメータ

説明

-listener listener_name

削除するリスナーの名前。

リスナー名を指定しない場合、リスナー名はデフォルトでLISTENER (データベース・リスナー)、LISTENER_ASM (Oracle ASMリスナー)またはLISTENER_LEAF (リーフ・ノード・リスナー)になります。

-all

すべてのリスナーを削除します。

-force

このパラメータは、このリスナーに依存する他のリソース(データベースなど)があるかどうかのチェックをスキップし、ある場合もリスナーを削除する場合に指定します。

例

次のコマンドは、lsnr01という名前のリスナーの構成を削除します。

$ srvctl remove listener -listener lsnr01

srvctl remove mgmtdb

Oracle Clusterware管理から管理データベース(CHMリポジトリ)を削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove mgmtdbコマンドは、次の構文で使用します。

srvctl remove mgmtdb [-force] [-noprompt] [-verbose]

表A-130 srvctl remove mgmtdbのパラメータ

パラメータ

説明

-force

エラーの発生に関係なく、クラスタから管理データベースを強制的に削除します。

-noprompt

プロンプトを非表示にします

-verbose

冗長出力を表示します。

使用上の注意

- 管理データベースを事前にシャットダウンしてから削除を実行してください。

例

次に、このコマンドの例を示します。

$ srvctl remove mgmtdb -noprompt

srvctl remove mgmtlsnr

このコマンドを使用して、Oracle Clusterwareから管理リスナー・リソース(CHM用)を削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove mgmtlsnrコマンドは、次の構文で使用します。

srvctl remove mgmtlsnr [-force]

すべての依存性を無視し、管理リスナーを強制的に削除するには、-forceパラメータを使用します。

例

次に、このコマンドの例を示します。

srvctl remove mgmtlsnr

srvctl remove network

ネットワーク構成を削除します。このコマンドを実行するには、完全な管理権限が必要です。LinuxシステムおよびUNIXシステムではrootでログインし、Windowsシステムでは管理者権限を持つユーザーとしてログインする必要があります。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove networkコマンドは、次の構文で使用します。

srvctl remove network {-netnum network_number | -all} [-force] [-verbose]

表A-131 srvctl remove networkのパラメータ

パラメータ

説明

-netnum network_number

削除するネットワークを指定します。

-all

すべてのネットワークを削除します

-force

ネットワークの削除を強制します。

-verbose

冗長出力

例

次に、このコマンドの例を示します。

# srvctl remove network -netnum 3

srvctl remove nodeapps

ノード・アプリケーション構成を削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove nodeappsコマンドは、次の構文で使用します。

srvctl remove nodeapps [-force] [-noprompt] [-verbose]

表A-132 srvctl remove nodeappsのパラメータ

パラメータ

説明

-force

強制削除

-noprompt

プロンプトの非表示

-verbose

冗長出力

使用上の注意

このコマンドを実行するには、完全な管理権限が必要です。LinuxシステムおよびUNIXシステムではrootでログインし、Windowsシステムでは管理者権限を持つユーザーとしてログインする必要があります。

例

次に、このコマンドの例を示します。

# srvctl remove nodeapps

srvctl remove oc4j

Oracle Clusterware構成からOC4Jインスタンス構成を削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove oc4jコマンドは、次の構文で使用します。

srvctl remove oc4j [-force] [-verbose]

表A-133 srvctl remove oc4jのパラメータ

パラメータ

説明

-force

強制削除

-verbose

冗長出力

srvctl remove ons

Oracle Grid InfrastructureホームからOracle Notification Serviceを削除します。

注意:

このコマンドはOracle Restartでのみ使用可能です。

構文およびパラメータ

srvctl remove onsコマンドは、次の構文で使用します。

srvctl remove ons [-force] [-verbose]

表A-134 srvctl remove onsのパラメータ

パラメータ

説明

-force

強制削除

-verbose

冗長出力

srvctl remove scan

すべてのSCAN VIPからOracle Clusterwareリソースを削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove scanコマンドは、次の構文で使用します。

srvctl remove scan [-force] [-noprompt]

表A-135 srvctl remove scanのパラメータ

パラメータ

説明

-force

SCAN VIPに依存するSCANリスナーが実行中であっても、それらのSCAN VIPを削除します。

-noprompt

すべてのプロンプトを非表示にします

使用上の注意

-forceオプションを使用すると、実行中のSCAN VIPは依存リソースが削除されるまで停止されないため、手動によるクリーンアップが必要になる場合があります。

例

次に、このコマンドの例を示します。

$ srvctl remove scan -force

srvctl remove scan_listener

すべてのSCANリスナーからOracle Clusterwareリソースを削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove scan_listenerコマンドは、次の構文で使用します。

srvctl remove scan_listener [-force] [-noprompt]

表A-136 srvctl remove scan_listenerのパラメータ

パラメータ

説明

-force

実行中のSCANリスナーを停止せずに削除します。

-noprompt

すべてのプロンプトを非表示にします

例

次に、このコマンドの例を示します。

$ srvctl remove scan_listener -force

srvctl remove service

サービスの構成を削除します。

構文およびパラメータ

srvctl remove serviceコマンドは、次の構文で使用します。

srvctl remove service -db db_unique_name -service service_name
[-instance instance_name] [-global_override]

表A-137 srvctl remove serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-service service_name

サービス名

-instance instance_name

管理者管理データベースのインスタンス名。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-global_override

グローバル・サービスに対して機能するオーバーライド値。このパラメータは、非グローバル・サービスに対しては無視されます。

例

このコマンドは、crmというクラスタ・データベースのすべてのインスタンスからsalesサービスを削除します。

$ srvctl remove service -db crm -service sales

次の例は、crmクラスタ・データベースの特定のインスタンスからsalesサービスを削除します。

$ srvctl remove service -db crm -service sales -instance crm02

srvctl remove srvpool

特定のサーバー・プールを削除します。このサーバー・プールに依存するデータベースまたはサービスが存在する場合は、サーバー・プールの削除操作が正常に実行されるように、まずそれらのリソースがサーバー・プールから削除されます。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove srvpoolコマンドは、次の構文で使用します。

srvctl remove srvpool -serverpool pool_name [-eval] [-verbose]

表A-138 srvctl remove srvpoolのパラメータ

パラメータ

説明

-eval

システムに変更を加えることなく、サーバー・プールを削除した場合の影響を評価します。

-verbose

冗長出力を表示します。

使用上の注意

指定したサーバー・プールを正常に削除できた場合は、サーバー・プールの最小サイズ、最大サイズおよび重要度に応じて、CRSデーモンによりサーバーが他のサーバー・プールに割り当てられます。CRSデーモンにより、これらのサーバーが空きサーバー・プールに戻される場合もあります。

例

次に、このコマンドの例を示します。

$ srvctl remove srvpool -serverpool srvpool1

srvctl remove vip

特定のVIPを削除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl remove vipコマンドは、次の構文で使用します。

srvctl remove vip -vip "vip_name_list" [-force] [-noprompt] [-verbose]

表A-139 srvctl remove vipのパラメータ

パラメータ

説明

-vip "vip_name_list"

二重引用符("")で囲まれたVIP名のカンマ区切りリスト

-force

強制削除

-noprompt

プロンプトの非表示

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl remove vip -vip "vip1,vip2,vip3" -force -noprompt -verbose

srvctl remove volume

特定のボリュームを削除します。

注意:

- このコマンドはOracle Clusterwareでのみ使用可能です。

- ボリュームは、Oracle ASMで作成されます。

関連項目:

ボリュームの作成方法の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

構文およびパラメータ

srvctl remove volumeコマンドは、次の構文モデルの1つで使用します。

srvctl remove volume -volume volume_name -diskgroup disk_group_name [-force]

srvctl remove volume -device volume_device [-force]

表A-140 srvctl remove volumeのパラメータ

パラメータ

説明

-volume volume_name

削除するボリュームの名前を指定します。このパラメータは必須です。

-diskgroup disk_group_name

削除するボリュームが存在するディスク・グループの名前を指定します。

-device volume_device

削除するボリュームが存在するファイル・システム・リソースへのパスを指定します。

-force

実行中でもボリュームを削除します。

使用上の注意

削除する特定のボリュームを指定する必要があります。特定のディスク・グループまたは特定のボリューム・デバイスに存在するボリュームを指定できます。

例

次の例は、DATAというディスク・グループに存在するVOLUME1というボリュームを削除します。

$ srvctl remove volume -volume VOLUME1 -diskgroup DATA

setenv

setenvコマンドは、構成ファイル内の環境の値を設定します。このデータベースまたはデータベース・インスタンスを管理するときに、プロファイルまたはセッションに通常設定する環境変数(言語、TNS_ADMINなど)をOracle Clusterwareに設定するには、setenvを使用します。

unsetenvコマンドは、構成ファイル内の環境の値設定を解除します。

表A-141 srvctl setenvのサマリー

コマンド

説明

srvctl setenv asm

Oracle ASMの環境構成の管理

srvctl setenv database

クラスタ・データベース環境構成の管理

srvctl setenv listener

リスナー環境構成の管理

注意: SCANリスナーの管理にこのコマンドを使用することはできません。

srvctl setenv mgmtdb

管理データベースの環境構成の管理

srvctl setenv mgmtlsnr

管理リスナーの環境構成の管理

srvctl setenv nodeapps

ノード・アプリケーション環境構成の管理

srvctl setenv vip

VIP環境構成の管理

srvctl setenv asm

Oracle ASM環境構成を管理します。

構文およびパラメータ

srvctl setenv asmコマンドは、次の構文モデルの1つで使用します。

srvctl setenv asm -envs "name=val[,name=val][...]"

srvctl setenv asm -env "name=val"

表A-142 srvctl setenv asmのパラメータ

パラメータ

説明

-envs "name=val[,name=val][...]"

環境変数の名前と値のペアのカンマ区切りリスト

-env "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

例

次の例は、Oracle ASMの言語環境構成を設定します。

$ srvctl setenv asm -env "LANG=en"

srvctl setenv database

クラスタ・データベース環境構成を管理します。

構文およびパラメータ

srvctl setenv databaseコマンドは、次の構文モデルの1つで使用します。

srvctl setenv database -db db_unique_name -envs "name=val[,name=val][...]"

srvctl setenv database -db db_unique_name -env "name=val"

表A-143 srvctl setenv databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-envs "name=val,..."

環境変数の名前と値のペアのカンマ区切りリスト

-env "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

例

次の例は、クラスタ・データベースの言語環境構成を設定します。

$ srvctl setenv database -db crm -env LANG=en

srvctl setenv listener

リスナー環境構成を管理します。

構文およびパラメータ

srvctl setenv listenerコマンドは、次の構文モデルの1つで使用します。

srvctl setenv listener [-listener listener_name] -envs "name=val[,name=val][...]"

srvctl setenv listener [-listener listener_name] -env "name=val"

表A-144 srvctl setenv listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナーの名前。

このパラメータを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-envs "name=val"

環境変数の名前と値のペアのカンマ区切りリスト。

-env "name=val"

単一環境変数にカンマや他の特殊文字を含む値に設定可能にする。

例

次の例は、デフォルト・リスナーの言語環境構成を設定します。

$ srvctl setenv listener -env "LANG=en"

srvctl setenv mgmtdb

管理データベース(CHMリポジトリ)の環境構成を管理します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl setenv mgmtdbコマンドは、次の構文モデルの1つで使用します。

srvctl setenv mgmtdb -envs "name=val[,name=val][...]"

srvctl setenv mgmtdb -env "name=val"

表A-145 srvctl setenv mgmtdbのパラメータ

パラメータ

説明

-envs "name=val,..."

環境変数の名前と値のペアのカンマ区切りリスト

-env "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

例

次の例は、管理データベースの言語環境構成を設定します。

$ srvctl setenv mgmtdb -env LANG=en

srvctl setenv mgmtlsnr

管理リスナー・リソース(CHM用)の環境構成を管理します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl setenv mgmtlsnrコマンドは、次の構文モデルの1つで使用します。

srvctl setenv mgmtlsnr -envs "name=val[,name=val][...]"

srvctl setenv mgmtlsnr -env "name=val"

表A-146 srvctl setenv mgmtlsnrのパラメータ

パラメータ

説明

-envs "name=val,..."

環境変数の名前と値のペアのカンマ区切りリスト

-env "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

例

次の例は、管理リスナーの言語環境構成を設定します。

$ srvctl setenv mgmtlsnr -env LANG=en

srvctl setenv nodeapps

ノード・アプリケーション構成の環境変数を設定します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl setenv nodeappsコマンドは、次の構文モデルで使用します。

srvctl setenv nodeapps {-namevals "name=val[,name=val][...]" |
-nameval "name=val"} [-viponly] [-gsdonly] [-onsonly] [-verbose]

表A-147 srvctl setenv nodeappsのパラメータ

パラメータ

説明

-envs "name=val[,name=val] [...]"

環境変数の名前と値のペアのカンマ区切りリスト

-env "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

-viponly

VIP構成のみを変更します。

-gsdonly

GSD構成のみを変更します。

-onsonly

ONSデーモン構成のみを変更します。

-verbose

冗長出力

例

すべてのノード・アプリケーションに環境変数を設定します。

$ srvctl setenv nodeapps -env "CLASSPATH=/usr/local/jdk/jre/rt.jar" -verbose

srvctl setenv vip

クラスタVIP環境構成を管理します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl setenv vipコマンドは、次の構文で使用します。

srvctl setenv vip -vip vip_name {-envs "name=val[,name=val,...]" |
-env "name=val"} [-verbose]

表A-148 srvctl setenv vipのパラメータ

パラメータ

説明

-vip vip_name

VIPの名前

-envs "name=val,..."

環境変数の名前と値のペアのカンマ区切りリスト

-env "name=val"

単一環境変数をカンマや他の特殊文字を含む値に設定可能にする

-verbose

冗長出力

例

次の例は、クラスタVIPの言語環境構成を設定します。

$ srvctl setenv vip -vip crm1-vip -env "LANG=en"

start

データベース、すべてまたは指定のインスタンス、すべてまたは指定のサービス名、またはノード・レベル・アプリケーション用のOracle RestartまたはOracle Clusterwareが有効化された稼働していないアプリケーションを起動します。startコマンド、および接続文字列を使用する他の操作では、接続文字列が指定されていない場合、操作の実行に/ as sysdbaが使用されます。このような操作を実行するには、oracleバイナリ実行可能プログラムの所有者がOSDBAグループのメンバーで、コマンドを実行するユーザーもOSDBAグループに属している必要があります。

表A-149 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 havip

特定のHAVIPリソースの起動

srvctl start home

特定のOracleホームのOracle Clusterware管理リソースおよびOracle Restart管理リソースの起動

srvctl start instance

インスタンスの起動

srvctl start listener

指定したリスナーの起動

srvctl start mgmtdb

管理データベースの起動

srvctl start mgmtlsnr

管理リスナーの起動

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 volume

有効なボリュームの起動

srvctl start asm

Oracle ASMインスタンスを起動します。

注意:

Oracle Database 12cインストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)にあるSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびパラメータ

srvctl start asmコマンドは、次の構文で使用します。

srvctl start asm [-proxy] [-node node_name [-startoption start_options]]

表A-150 srvctl start asmのパラメータ

パラメータ

説明

-proxy

プロキシOracle ASMインスタンスを起動します。

-node node_name

ノード名

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-startoption start_options

起動コマンドのオプション(OPEN、MOUNT、NOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

例

次のコマンド例は、クラスタのシングル・ノードでASMインスタンスを起動します。

$ srvctl start asm -node crmnode1

次の例は、クラスタまたは非クラスタ・データベースのすべてのノードでOracle ASMインスタンスを起動します。

$ srvctl start asm

srvctl start cvu

クラスタの1つのノードでCVUリソースを起動します。ノード名を指定した場合、CVUはそのノードで起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start cvuコマンドは、次の構文で使用します。

srvctl start cvu [-node node_name]

CVUリソースを起動するノードを指定します。

例

次のコマンド例は、クラスタのシングル・ノードでCVUを起動します。

$ srvctl start cvu -node crmnode1

srvctl start database

クラスタ・データベースとその有効化されたインスタンスおよびデータベース・インスタンスが存在するノードのすべてのリスナーを起動します。起動してはいけないリスナーは無効化できます。

構文およびパラメータ

srvctl start databaseコマンドは、次の構文で使用します。

srvctl start database -db db_unique_name [-eval]
[-startoption start_options] [-stopconcurrency number_of_instances] [-node node_name]

表A-151 srvctl start databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-startoption start_options

起動コマンドのオプション(OPEN、MOUNTまたはNOMOUNTなど)

注意:

- このコマンド・パラメータは、すべてのデータベース起動オプションをサポートします。

- 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。
関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

[-startconcurrency number_of_instances]

同時に起動するデータベース・インスタンスの数を指定するか、または空の起動同時実行値の場合は0を指定します。

-node 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 -db crm -startoption "read only"

srvctl start diskgroup

指定したいくつかのノード上の特定のディスク・グループ・リソースを起動します。

構文およびパラメータ

srvctl start diskgroupコマンドは、次の構文で使用します。

srvctl start diskgroup -diskgroup diskgrp_name [-node "node_list"]

表A-152 srvctl start diskgroupのパラメータ

パラメータ

説明

-diskgroup diskgrp_name

Oracle ASMディスク・グループ名

-node "node_list"

ディスク・グループ・リソースを起動するノード名のカンマ区切りリスト

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次に、このコマンドの例を示します。

$ srvctl start diskgroup -diskgroup diskgroup1 -node "mynode1,mynode2"

srvctl start filesystem

ファイル・システム・リソースを起動(マウント)します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start filesystemコマンドは、次の構文で使用します。

srvctl start filesystem -device volume_device [-node node_name]

表A-153 srvctl start filesystemのパラメータ

パラメータ

説明

-device volume_device

起動するファイル・システム・リソース・デバイスのパス。

-node node_name

ファイル・システム・リソースを起動する必要があるノードの名前。

このパラメータを指定しない場合は、クラスタ内で使用可能なすべてのノードでファイル・システム・リソースが起動されます。

使用上の注意

- このコマンドは、LinuxおよびUNIXプラットフォームではrootユーザーとして実行し、Windowsプラットフォームでは管理者ユーザーとして、または構成済ファイル・システム・ユーザーとして実行する必要があります。

関連項目:

ファイル・システム・ユーザーの構成の詳細は、「srvctl add filesystem」を参照してください。

例

クラスタに構成されているすべてのノードでファイル・システムを起動します。

$ srvctl start filesystem -device /dev/asm/data_db1-68

node1でファイル・システムを起動します。

$ srvctl start filesystem -device /dev/asm/data_db1-68 -node node1

srvctl start gns

特定のノードでGNSを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start gnsコマンドは、次の構文で使用します。

srvctl start gns [-loglevel log_level] [-node node_name] [-verbose]

表A-154 srvctl start gnsのパラメータ

パラメータ

説明

-loglevel log_level

GNSが実行するロギング・レベルを指定します。ログのレベルは1(最小のトレース)から6(すべてをトレースし、処理時間が長い)の間で変わります。

-node node_name

GNSを起動するクラスタのノードの名前。

-verbose

冗長出力を表示します

使用上の注意

このコマンドは、サーバー・クラスタでのみ実行できます。このコマンドをクライアント・クラスタで実行しようとすると、エラーが発生します。

例

次のコマンド例は、crmnode1というクラスタ・ノードのGNSを起動します。

$ srvctl start gns -node crmnode1

srvctl start havip

特定のノードの特定の高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)を起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start havipコマンドは、次の構文で使用します。

srvctl start havip -id havip_name [-node node_name]

表A-155 srvctl start havipのパラメータ

パラメータ

説明

-id havip_name

起動するHAVIPリソースの一意の名前を指定します。

-node node_name

必要に応じて、-nodeパラメータを使用して、HAVIPリソースを起動するノードの名前を指定できます。

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次に、このコマンドの例を示します。

# srvctl start havip -id myhavip -node myNode1

srvctl start home

指定したOracleホームのすべてのOracle Restart管理リソースおよびOracle Clusterware管理リソースを起動します。

構文およびパラメータ

srvctl start homeコマンドは、次の構文で使用します。

srvctl start home -oraclehome Oracle_home -statefile state_file -node node_name

表A-156 srvctl start homeのパラメータ

パラメータ

説明

-oraclehome Oracle_home

Oracle RestartまたはOracle Clusterware管理リソースを起動するOracleホームのパス。

-statefile state_file

状態ファイルに書き込むパス名。

-node node_name

Oracleホームが存在するノードの名前。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次に、このコマンドの例を示します。

$ srvctl start home -oraclehome /u01/app/oracle/product/12.1.0/db_1
-statefile ~/state.txt -node node1

srvctl start instance

クラスタ・データベース内のインスタンスおよびデータベース・インスタンスが存在するノードのすべてのリスナーを起動します。起動してはいけないリスナーは無効化できます。

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

構文およびパラメータ

srvctl start instanceコマンドは、次の構文モデルの1つで使用します。

srvctl start instance -db db_unique_name -node node_name
[-instance "instance_name"] [-startoption start_options]

srvctl start instance -db db_unique_name -instance "inst_name_list"
[-startoption start_options]

Windowsでは、インスタンス名のカンマ区切りリストを二重引用符("")で囲む必要があります。

表A-157 srvctl start instanceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-node node_name

単一ノードの名前

注意: このパラメータは、ポリシー管理データベースに使用します。

-instance { "instance_name" | "inst_name_list" }

シングル・インスタンスの名前またはインスタンス名のカンマ区切りリスト

注意: このパラメータは、ポリシー管理データベースに使用します。

-startoption start_options

起動コマンドのオプション(OPEN、MOUNT、NOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

例

次の例は、ポリシー管理データベースのインスタンスを起動します。

$ srvctl start instance -db crm -node node2

次の例は、管理者管理データベースのインスタンスを起動します。

$ srvctl start instance -db crm -instance "crm2,crm3"

srvctl start listener

指定したnode_nameのデフォルト・リスナーを起動するか、Oracle Clusterwareに登録されているすべてのノードまたは特定のノードの指定リスナーを起動します。

構文およびパラメータ

srvctl start listenerコマンドは、次の構文で使用します。

srvctl start listener [-node node_name] [-listener listener_name]

表A-158 srvctl start listenerのパラメータ

パラメータ

説明

-node node_name

リスナーを起動する特定のノード名を指定します。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-listener listener_name

特定のリスナー名を指定します。リスナーの名前を取得するには、srvctl config listenerコマンドを使用します。

このパラメータを指定しない場合、リスナー名はデフォルトでLISTENER (データベース・リスナー)、LISTENER_ASM (Oracle ASMリスナー)またはLISTENER_LEAF (リーフ・ノード・リスナー)になります。

例

次に、このコマンドの例を示します。

$ srvctl start listener -listener LISTENER_LEAF

srvctl start mgmtdb

管理データベース(CHMリポジトリ)・リソースを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start mgmtdbコマンドは、次の構文で使用します。

srvctl start mgmtdb [-startoption start_options] [-node node_name]

表A-159 srvctl start mgmtdbのパラメータ

パラメータ

説明

-startoption start_options

起動コマンドのオプション(OPEN、MOUNT、NOMOUNTなど)

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-node node_name

ノード名

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

例

次のコマンド例は、crmnode1というクラスタ・ノードの管理データベースを起動します。

$ srvctl start mgmtdb -node crmnode1

srvctl start mgmtlsnr

管理リスナー・リソース(CHM用)を起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start mgmtlsnrコマンドは、次の構文で使用します。

srvctl start mgmtlsnr [-node node_name]

管理リスナーを起動するノードを指定します。

例

次の例は、crmnode1というノードの管理リスナーを起動します。

$ srvctl start mgmtlsnr -node crmnode1

srvctl start nodeapps

クラスタの1つのノードまたはすべてのノードでノード・レベル・アプリケーションを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start nodeappsコマンドは、次の構文で使用します。

srvctl start nodeapps [-node node_name] [-gsdonly] [-adminhelper] [-verbose]

表A-160 srvctl start nodeappsのパラメータ

パラメータ

説明

-node node_name

ノード名

このパラメータを指定しない場合は、クラスタ内でアクティブなすべてのノードでnodeappsが起動されます。

-gsdonly

すべてのノード・アプリケーションではなくGSDのみを起動します。

-adminhelper

すべてのノード・アプリケーションではなく、Administratorヘルパーのみを起動します。

-verbose

冗長出力

例

次に、このコマンドの例を示します。

$ srvctl start nodeapps

srvctl start oc4j

OC4Jインスタンスを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start oc4jコマンドは、次の構文で使用します。

srvctl start oc4j [-node node_name] [-verbose]

OC4Jインスタンスを起動する特定のノードを指定します。-verboseを指定して、冗長出力が表示されることを示します。

srvctl start ons

Oracle Notification Serviceデーモンを起動します。

注意:

このコマンドはOracle Restartでのみ使用可能です。

構文およびパラメータ

srvctl start onsコマンドは、次の構文で使用します。

srvctl start ons [-verbose]

このコマンドで使用できるパラメータは、冗長出力が表示されることを示す-verboseのみです。

srvctl start scan

クラスタのすべてのノードまたは特定のノードで、すべてのSCAN VIP(デフォルト)または特定のSCAN VIPを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start scanコマンドは、次の構文で使用します。

srvctl start scan [-scannumber ordinal_number] [-node node_name]

表A-161 srvctl start scanのパラメータ

パラメータ

説明

-scannumber ordinal_number

起動するSCAN VIPを識別する序数。このパラメータに指定できる値の範囲は1から3です。

このパラメータを指定しない場合は、すべてのSCAN VIPが起動されます。

-node node_name

単一ノードの名前。

このパラメータを指定しない場合は、クラスタのすべてのノードでSCAN VIPが起動されます。

例

crm1ノードの序数1で識別されたSCAN VIPを起動するには、次のコマンドを使用します。

$ srvctl start scan -scannumber 1 -node crm1

srvctl start scan_listener

クラスタのすべてのノードまたは特定のノードで、すべてのSCANリスナー(デフォルト)または特定のSCANリスナーを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start scan_listenerコマンドは、次の構文で使用します。

srvctl start scan_listener [-node node_name] [-scannumber ordinal_number]

表A-162 srvctl start scan_listenerのパラメータ

パラメータ

説明

-scannumber ordinal_number

起動するSCANリスナーを識別する序数。このパラメータに指定できる値の範囲は1から3です。

このパラメータを指定しない場合は、すべてのSCANリスナーが起動されます。

-node node_name

単一ノードの名前。

このパラメータを指定しない場合は、クラスタのすべてのノードでSCANリスナーが起動されます。

例

次に、このコマンドの例を示します。

$ srvctl start scan_listener -scannumber 1

srvctl start service

指定したインスタンスで1つまたは複数のサービスを起動します。すでに最大数(優先インスタンスの数)のインスタンスでサービスが稼働している場合に、サービスをそのインスタンスで起動しようとすると、srvctl start serviceコマンドは失敗します。この付録の後半で説明するsrvctl modify serviceコマンドとsrvctl relocate serviceコマンドを使用すると、インスタンスでのサービスの移動またはサービスのステータス変更を実行できます。

注意:
手動でのサービスの起動ではすべて、ユーザーが起動するサービスの名前を指定する必要があります。

関連項目:
『Oracle Data Guard Broker』

構文およびパラメータ

srvctl start serviceコマンドは、次の構文で使用します。

srvctl start service -db db_unique_name [-eval] [-service "services_list"
[-node node_name | -instance instance_name | -serverpool pool_name |
-global_override] [-startoption start_options] [-verbose]

表A-163 srvctl start serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-service "services_list"

サービス名のカンマ区切りリスト。

このパラメータを指定しない場合は、SRVCTLによって指定したデータベースのすべてのサービスが起動されます。

-node node_name

サービスが起動される必要のあるノードの名前。このパラメータは、ポリシー管理データベースに使用します。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-instance instance_name

サービスが起動される必要のあるインスタンスの名前。このパラメータは、管理者管理データベースに使用します。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-serverpool pool_name

サービスを起動するサーバー・プールの名前。このパラメータは、ポリシー管理データベースに使用します。

-global_override

グローバル・サービスに対して機能するオーバーライド値。このパラメータは、グローバル・サービスに対してのみ使用します。非グローバル・サービスに対して指定しても、このパラメータは無視されます。

-startoption start_options

サービスの起動にデータベース・インスタンスの起動が必要な場合に使用される起動オプション。オプションには、OPEN、MOUNTおよびNOMOUNTがあります。

注意: 起動オプションに複数の語を指定する場合(read only、read writeなど)、語をスペースで区切り、二重引用符("")で囲みます。たとえば"read only"とします。

関連項目: 起動オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

-verbose

冗長出力を表示します。

例

次の例は、指定したサービスを起動します。これらのサービスをサポートするインスタンス(サービスがフェイルオーバーに使用可能なインスタンスを含む)が稼働していない場合でも、有効化されていれば、SRVCTLによって起動されます。

$ srvctl start service -db crm -service crm

次の例は、指定したインスタンスで指定したサービスを起動します。

$ srvctl start service -db crm -service crm -instance crm2

srvctl start vip

特定のVIPまたは特定のノード上のVIPを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start vipコマンドは、次の構文で使用します。

srvctl start vip {-node node_name | -vip vip_name } [-verbose]

表A-164 srvctl start vipのパラメータ

パラメータ

説明

-node node_name

ノード名

-vip vip_name

VIP名

-verbose

冗長起動

例

次に、このコマンドの例を示します。

$ srvctl start vip -vip crm1-vip -verbose

srvctl start volume

特定の有効ボリュームを起動します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start volumeコマンドは、次の構文で使用します。

srvctl start volume {-volume volume_name -diskgroup disk_group_name |
-device volume_device} [-node node_list]

表A-165 srvctl start volumeのパラメータ

パラメータ

説明

-volume volume_name

起動するボリュームの名前を指定します。このパラメータは必須です。

-diskgroup disk_group_name

起動するボリュームが存在するディスク・グループの名前を指定します。

-device volume_device

起動するボリューム・デバイスへのパスを指定します。

-node node_list

起動するボリュームが存在するノード名のカンマ区切りリストを指定します。

使用上の注意

srvctl start volumeコマンドでは、ボリューム・サービスは作成されません。ボリュームがすでに存在し、ボリューム・リソースが有効化されている場合は、SRVCTLによってそのボリュームの起動が試行されます。ボリュームが存在していても、リソースが無効化されている場合は、srvctl start volumeによりエラーが戻されます。

例

次の例は、DATAというディスク・グループに存在するVOLUME1というボリュームを起動します。

$ srvctl start volume -volume VOLUME1 -diskgroup DATA

status

指定したデータベース、インスタンス、サービス、ディスク・グループ、リスナー、ノード・アプリケーション、またはOracle Clusterwareに管理される他のリソースの現在の状態を表示します。

statusコマンドで-verboseパラメータを使用すると、INTERNAL_STATEが表示されますが、これは、起動、停止、クリーニングなどのアクションがOracle Clusterwareによって処理中であることを示します。STABLEという内部状態は通常の状態のため、-verboseパラメータを使用しても、何も表示されません。また、-verboseパラメータを使用すると、STATE_DETAILSが表示され、現在の状態になった理由に関してリソースから提供された追加情報が示される場合があります。

表A-166 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 havip

高可用性VIPのステータスの表示

srvctl status home

指定されたOracleホームに関連付けられているリソースのステータスの表示

srvctl status instance

インスタンスのステータスの表示

srvctl status listener

リスナー・リソースのステータスの表示

srvctl status mgmtdb

管理データベースのステータスの表示

srvctl status mgmtlsnr

管理リスナーのステータスの表示

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 volume

ボリュームのステータスの表示

srvctl status asm

Oracle ASMインスタンスのステータスを表示します。

注意:

Oracle Database 12cインストールでOracle ASMを管理するには、クラスタのOracle Grid Infrastructureホーム(Gridホーム)にあるSRVCTLバイナリを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLバイナリを使用してOracle ASMを管理することはできません。

構文およびパラメータ

srvctl status asmコマンドは、次の構文で使用します。

srvctl status asm [-proxy] [-node node_name] [-detail] [-verbose]

表A-167 srvctl status asmのパラメータ

パラメータ

説明

-proxy

Oracle ASMプロキシ・インスタンスのステータスを表示します。

-node node_name

ノード名。このパラメータを指定しない場合、SRVCTLによってすべてのOracle ASMインスタンスのステータスが表示されます。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-detail

詳細なステータス情報の出力。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl status asm -node crmnode1 -detail

srvctl status cvu

クラスタの1つのノードでCVUリソースの現在の状態を表示します。ノード名を指定すると、コマンドはそのノードのCVUステータスを確認します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status cvuコマンドは、次の構文で使用します。

srvctl status cvu [-node node_name]

CVUリソースがローカル・ノード以外で実行されている場合は、必要に応じてそのノードを指定できます。

例

次のコマンド例は、クラスタ内のcrmnode1というノードでCVUのステータスを確認します。

$ srvctl status cvu -node crmnode1

srvctl status database

インスタンスとそのサービスのステータス、およびインスタンスが実行されている場所を表示します。

Oracle RAC One Nodeデータベースでこのコマンドを実行すると、任意のオンライン・データベース再配置のステータス(アクティブ、失敗または非アクティブ)、および再配置のソース・ノードと接続先ノードが出力に示されます。

構文およびパラメータ

srvctl status databaseコマンドは、次の構文で使用します。

srvctl status database -db db_unique_name [-force] [-verbose]

表A-168 srvctl status databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-force

無効化されたアプリケーションを含めます

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl status database -db crm -verbose

srvctl status diskgroup

指定したいくつかのノード上にある特定のディスク・グループのステータスを表示します。

構文およびパラメータ

srvctl status diskgroupコマンドは、次の構文で使用します。

srvctl status diskgroup -diskgroup diskgroup_name [-node "node_list"]
[-detail] [-verbose]

表A-169 srvctl status diskgroupのパラメータ

パラメータ

説明

-diskgroup diskgroup_name

Oracle ASMディスク・グループ名

-node node_list

ディスク・グループのステータスをチェックするノード名のカンマ区切りリスト

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-detail

ディスク・グループの詳細なステータス情報を表示します。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl status diskgroup -diskgroup dgrp1 -node "mynode1,mynode2" -detail

srvctl status filesystem

ファイル・システム・リソースのステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status filesystemコマンドは、次の構文で使用します。

srvctl status filesystem [-device volume_device] [-verbose]

表A-170 srvctl status filesystemのパラメータ

パラメータ

説明

-device volume_device

ステータスを取得するファイル・システム・リソースのパス。このパラメータを指定しない場合、SRVCTLによってすべてのファイル・システムのステータスが表示されます。

-verbose

冗長出力を表示します。

例

このコマンドでは、デバイス名を指定するかどうかに応じて、次のような出力が表示されます。

デバイス名を指定する場合:

$ srvctl status filesystem -device /dev/asm/racvol_1
ACFS file system is not mounted on node1
ACFS file system is not mounted on node2

デバイス名を指定しない場合:

$ srvctl status filesystem
ACFS file system is not running
ACFS file system is running on node1,node3

注意:

前述の例では、ファイル・システムはOracle ACFSです。他のファイル・システムを使用している場合は、EXT3またはEXT4として表示されます。

srvctl status gns

GNSの現在の状態を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status gnsコマンドは、次の構文で使用します。

srvctl status gns [-node node_name] [-verbose]

表A-171 srvctl status gnsのパラメータ

パラメータ

説明

-node node_name

状態を表示する実行中のGNSのノードの指定

-verbose

冗長出力を表示します。

srvctl status havip

クラスタ内のすべての高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)または特定の1つの高可用性VIPのステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status havipコマンドは、次の構文で使用します。

srvctl status havip [-id havip_name]

表A-172 srvctl status havipのパラメータ

パラメータ

説明

-id havip_name

表示するHAVIPリソースの一意の名前を指定します。このパラメータを指定しない場合、SRVCTLによって、Oracle Clusterwareに知られているすべてのHAVIPのステータスが表示されます。

例

このコマンドによって、次のような出力が返されます。

$ srvctl status havip

HAVIP ora.ha1.havip is enabled
HAVIP ora.ha1.havip is not running

srvctl status home

指定したOracleホームのすべてのOracle Restart管理リソースおよびOracle Clusterware管理リソースのステータスを表示します。

構文およびパラメータ

srvctl status homeコマンドは、次の構文で使用します。

srvctl status home -oraclehome Oracle_home -statefile state_file -node node_name

表A-173 srvctl status homeのパラメータ

パラメータ

説明

-oraclehome Oracle_home

Oracle RestartまたはOracle Clusterware管理リソースを起動するOracleホームのパス

-statefile state_file

このコマンドで生成された状態情報を保持するテキスト・ファイルのパス名。

-node node_name

Oracleホームが存在するノードの名前。

注意: このパラメータは、Oracle Clusterwareでは必須ですが、それ以外では使用できません。

例

次に、このコマンドの例を示します。

$ srvctl status home -oraclehome /u01/app/oracle/product/12.1/dbhome_1 -statefile
~/state.txt -node stvm12

前述のコマンドでは次のような出力が戻されます。

Database cdb1 is running on node stvm12

srvctl status instance

インスタンスのステータスを表示します。

注意:

このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

構文およびパラメータ

srvctl status instanceコマンドは、次の構文で使用します。

srvctl status instance -db db_unique_name {-node node_name
| -instance "instance_name_list"} [-force] [-verbose]

表A-174 srvctl status instanceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-node node_name

ノード名

注意: このパラメータは、ポリシー管理データベースに使用します。

-instance "inst_name_list"

インスタンス名のカンマ区切りリスト

注意: このパラメータは、管理者管理データベースに使用します。

-force

無効化されたアプリケーションを含めます

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl status instance -db crm -instance "crm1,crm2" -verbose

srvctl status listener

リスナー・リソースのステータスを表示します。

構文およびパラメータ

srvctl status listenerコマンドは、次の構文で使用します。

srvctl status listener [-listener listener_name] [-node node_name] [-verbose]

表A-175 srvctl status listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナーの名前。

このパラメータを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-node node_name

クラスタ・ノードの名前。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-verbose

冗長出力を表示します。

例

node2というノードのデフォルト・リスナーのステータスを表示するには、次のコマンドを使用します。

$ srvctl status listener -node node2

srvctl status mgmtdb

管理データベース(CHMリポジトリ)・リソースの現在の状態を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status mgmtdbコマンドは、次の構文で使用します。

srvctl status mgmtdb [-verbose]

必要に応じて、冗長出力が表示されるように指定できます。

例

次のコマンド例は、管理データベースのステータスを確認します。

$ srvctl status mgmtdb

srvctl status mgmtlsnr

管理リスナー・リソース(CHM用)のステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status mgmtlsnrコマンドは、次の構文で使用します。

srvctl status mgmtlsnr [-node node_name] [-verbose]

表A-176 srvctl status mgmtlsnrのパラメータ

パラメータ

説明

-node node_name

クラスタ・ノードの名前。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-verbose

冗長出力を表示します。

例

node2というノードの管理リスナーのステータスを表示するには、次のコマンドを使用します。

$ srvctl status mgmtlsnr -node node2

srvctl status nodeapps

ノード・アプリケーションのステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status nodeappsコマンドは、次の構文で使用します。

srvctl status nodeapps [-node node_name]

必要に応じて、ノード・アプリケーションのステータスを表示するノードを指定できます。

srvctl status oc4j

Oracle Database QoS Managementサーバーを実行しているノードを特定します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status oc4jコマンドは、次の構文で使用します。

srvctl status oc4j [-node node_name] [-verbose]

表A-177 srvctl status oc4jのパラメータ

パラメータ

説明

-node node_name

Oracle Database QoS Managementサーバーで使用されるOC4Jインスタンスが実行されているノードを指定します。

-verbose

冗長出力を表示します。

srvctl status ons

Oracle Notification Serviceデーモンの現在の状態を表示します。

注意:

このコマンドはOracle Restartでのみ使用可能です。

構文およびパラメータ

srvctl status onsコマンドは、次の構文で使用します。

srvctl status ons

srvctl status scan

すべてのSCAN VIP(デフォルト)または特定のSCAN VIPのステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status scanコマンドは、次の構文で使用します。

srvctl status scan [-scannumber ordinal_number] [-verbose]

表A-178 srvctl status scanのパラメータ

パラメータ

説明

-scannumber ordinal_number

特定のSCAN VIPを識別する序数の指定。このパラメータに指定できる値の範囲は1から3です。このパラメータを指定しない場合は、クラスタのすべてのSCAN VIPのステータスが表示されます。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl status scan -scannumber 1

srvctl status scan_listener

すべてのSCANリスナー(デフォルト)または特定のリスナーのステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status scan_listenerコマンドは、次の構文で使用します。

srvctl status scan_listener [-scannumber ordinal_number] [-verbose]

表A-179 srvctl status scan_listenerのパラメータ

パラメータ

説明

-scannumber ordinal_number

特定のSCAN VIPを識別する序数の指定。このパラメータに指定できる値の範囲は1から3です。このパラメータを指定しない場合は、クラスタのすべてのSCAN VIPのステータスが表示されます。

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl status scan_listener -scannumber 1

srvctl status server

指定したサーバーの現在の状態を表示します。

構文およびパラメータ

srvctl status serverコマンドは、次の構文で使用します。

srvctl status server -server "server_name_list" [-detail]

表A-180 srvctl status serverのパラメータ

パラメータ

説明

-server "server_name_list"

サーバー名のカンマ区切りリスト。

-detail

詳細なステータス情報の出力。

例

次の例は、指定したサーバーのステータスを表示します。

$ srvctl status server -server "server11" -detail

srvctl status service

サービスのステータスを表示します。

Oracle RAC One Nodeデータベースに関しては、オンライン・データベース再配置が進行中の場合、再配置がアクティブか失敗かに関係なく、srvctl status serviceコマンドはソース・ノードと宛先ノードおよび再配置のステータスを表示します。

構文およびパラメータ

srvctl status serviceコマンドは、次の構文で使用します。

srvctl status service -db db_unique_name [-service "service_name_list"]
[-force] [-verbose]

表A-181 srvctl status serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-services "service_name_list"

サービス名のカンマ区切りリスト。

このパラメータを指定しない場合は、指定したデータベースのすべてのサービスのステータスが表示されます。

-force

無効化されたアプリケーションを含めます

-verbose

冗長出力を表示します。

例

次の例は、クラスタ・データベース全体を対象とした特定のサービスのステータスを表示します。

$ srvctl status service -db crm -service "crm" -verbose

srvctl status srvpool

サーバー・プール名、サーバー・プール内のサーバーの数、そして必要に応じてサーバー・プール内のサーバーの名前を表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status srvpoolコマンドは、次の構文で使用します。

srvctl status srvpool [-serverpool pool_name] [-detail]

表A-182 srvctl status srvpoolのパラメータ

パラメータ

説明

-serverpool pool_name

サーバー・プールの名前

-detail

詳細なステータス情報の出力

使用上の注意

- -detailパラメータを指定しただけで、-serverpoolパラメータで特定のサーバー・プールを指定しなかった場合は、各サーバー・プールに現在割り当てられているサーバーの名前が出力されます。

- -serverpoolパラメータを使用してサーバー・プールを指定した場合は、そのサーバー・プールの名前とその中のサーバーの数(および必要に応じてサーバー名)が出力されます。

例

次に、このコマンドの例を示します。

$ srvctl status srvpool -serverpool srvpool1 -detail

srvctl status vip

特定のVIPまたは特定のノード上のVIPのステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status vipコマンドは、次の構文で使用します。

srvctl status vip {-node node_name | -vip vip_name} [-verbose]

表A-183 srvctl status vipのパラメータ

パラメータ

説明

-node node_name

ノード名

-vip vip_name

VIP名

-verbose

冗長出力を表示します。

例

次に、このコマンドの例を示します。

$ srvctl status vip -vip node1-vip

srvctl status volume

特定のボリュームまたはすべてのボリュームのステータスを表示します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl status volumeコマンドは、次の構文で使用します。

srvctl status volume [-device volume_device] [-volume volume_name]
[-diskgroup disk_group_name] [-node "node_list"]

表A-184 srvctl status volumeのパラメータ

パラメータ

説明

-device volume_device

ステータスを表示するボリューム・デバイスへのパスを指定します。

-volume volume_name

ステータスを表示するボリュームの名前を指定します。

-diskgroup disk_group_name

ステータスを表示するボリュームが存在するディスク・グループの名前を指定します。

-node "node_list"

ステータスを表示するボリュームが存在するノード名のカンマ区切りリストを指定します。

使用上の注意

- どのオプション・パラメータも指定しない場合、SRVCTLによってすべてのボリュームのステータスが表示されます。

- -volumeパラメータのみを指定した場合、指定したボリュームのステータスが表示されます。

- -diskgroupパラメータのみを指定した場合、指定したディスク・グループに存在するボリュームのステータスが表示されます。

- -deviceパラメータのみを指定した場合、指定したボリューム・デバイスのステータスが表示されます。

- -diskgroupパラメータと-deviceパラメータを指定した場合、指定したディスク・グループ内のボリューム・デバイスのステータスが表示されます。

- -nodeパラメータを指定した場合、指定したノードに存在するボリュームのステータスが表示されます。

例

srvctl status volumeコマンドでは、次のような情報が表示されます。

$ srvctl status volume –volume vol1
Volume vol1 of diskgroup diskgrp1 for device volume_device_path1 is enabled
Volume vol1 of diskgroup diskgrp1 for device volume_device_path1 is running

前述の例では、-nodeパラメータを指定していないため、すべてのノードに対してステータス問合せが行われます。

$ srvctl status volume
Volume vol1 of diskgroup diskgrp for device volume_device_path1 is enabled
Volume vol1 of diskgroup diskgrp for device volume_device_path1 is running
Volume vol2 of diskgroup diskgrp for device volume_device_path2 is enabled
Volume vol2 of diskgroup diskgrp for device volume_device_path2 is running

前述の例では、パラメータを指定していないため、SRVCTLによって登録されているすべてのボリュームのステータスが表示されます。

stop

データベース、すべてまたは指定のインスタンス、すべてまたは指定のサービス名、リスナー、またはノード・レベル・アプリケーション・リソース用のOracle Clusterwareアプリケーションを停止します。有効化され、起動中または実行中のOracle Clusterwareアプリケーションのみが停止されます。Oracle Clusterwareの外部で稼働しているオブジェクトは停止されません。

srvctl stopコマンド実行後に、停止状態のままにするオブジェクトを無効化する必要があります。srvctl disableコマンドを参照してください。

注意:

- オブジェクトを無効化せずに停止した場合、別の計画された操作の結果として再起動されることがあります。障害のためにオブジェクトが再起動されることはありません。stopコマンドの実行後に、停止状態にしておくオブジェクトを無効化することをお薦めします。

- 依存アプリケーションおよびオブジェクトの停止に-forceパラメータを使用すると、それらの依存アプリケーションは、オブジェクトが後で再起動される場合やノードに障害が発生した後も再起動されることはありません。データベースが停止した場合は、依存アプリケーション(管理ポリシーがAUTOMATICのサービス以外)を手動で再起動する必要があります。

表A-185 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 havip

特定の高可用性VIP (高可用性NFSエクスポートに使用)の停止

srvctl stop home

指定したOracleホームのリソースの停止

srvctl stop instance

インスタンスの停止

srvctl stop listener

指定したリスナーの停止

srvctl stop mgmtdb

管理データベースの停止

srvctl stop mgmtlsnr

管理リスナーの停止

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 volume

ボリューム・デバイスの停止

srvctl stop asm

Oracle ASMインスタンスを停止します。

構文およびパラメータ

srvctl stop asmコマンドは、次の構文で使用します。

srvctl stop asm [-proxy] [-node node_name]
[-stopoption stop_options] [-force]

注意:

- Oracle Database 12cインストールでOracle ASMを管理するには、クラスタ用Oracle Grid Infrastructureホーム(Gridホーム)でSRVCTLを使用します。Oracle RACまたはOracle Databaseがすでにインストールされている場合、データベース・ホームでSRVCTLを使用してOracle ASMを管理することはできません。

- このコマンドはOracle ASMを停止しないため、Oracle ASMにOCRが格納されているときには使用できません。Oracle ASMを停止するには、Oracle Clusterwareを停止する必要があります。

表A-186 srvctl stop asmパラメータ

パラメータ

説明

-proxy

Oracle ASMプロキシ・インスタンスを停止します。

-node node_name

Oracle ASMインスタンスを停止するノードの名前。

このパラメータを指定しない場合、クラスタ内でアクティブなすべてのノードでOracle ASMインスタンスが停止されます。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-stopoption stop_options

停止コマンドのオプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-force

このパラメータを使用して、Oracle ASMに依存するディスク・グループ、ファイル・システムおよびデータベースを停止します。

例

次に、このコマンドの例を示します。

$ srvctl stop asm -node crmnode1 -stopoption IMMEDIATE

srvctl stop cvu

実行中または起動中のいずれかのステータスのクラスタ検証ユーティリティ(CVU)を停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop cvuコマンドは、次の構文で使用します。

srvctl stop cvu [-force]

このコマンドで使用できるパラメータは、-forceのみです。-forceパラメータを使用すると、CVUが強制的に停止されます。

例

次のコマンド例は、CVUを停止します。

$ srvctl stop cvu

srvctl stop database

データベース、そのインスタンスおよびそのサービスを停止します。後でデータベースを再起動をすると、AUTOMATIC管理ポリシーが設定されたサービスは自動的に起動しますが、MANUAL管理ポリシーが設定されたサービスは手動で起動する必要があります。

構文およびパラメータ

srvctl stop databaseコマンドは、次の構文で使用します。

srvctl stop database -db db_unique_name [-stopoption stop_options]
[[-stopconcurrency number_of_instances] [-eval] [-force] [-verbose]

表A-187 srvctl stop databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前。

-stopoption stop_options

このパラメータを使用して、shutdownコマンドのオプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)を指定します。

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

[-stopconcurrency number_of_instances]

同時に停止するデータベース・インスタンスの数を指定するか、または空の停止同時実行値の場合は0を指定します。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-force

このパラメータを使用すると、データベース、そのインスタンス、そのサービス、およびそれらのサービスに依存するリソースが停止されます。

-verbose

冗長出力を表示します

例

次に、このコマンドの例を示します。

$ srvctl stop database -db crm -stopoption NORMAL

srvctl stop diskgroup

指定したいくつかのノード上の特定のディスク・グループ・リソースを停止するには、このコマンドを使用します。

構文およびパラメータ

srvctl stop diskgroupコマンドは、次の構文で使用します。

srvctl stop diskgroup -diskgroup diskgroup_name [-node "node_list"] [-force]

表A-188 srvctl stop diskgroupのパラメータ

パラメータ

説明

-diskgroup diskgroup_name

Oracle ASMディスク・グループ名

-node "node_list"

ディスク・グループ・リソースを停止するノード名のカンマ区切りリスト

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-force

このパラメータでは、停止するディスク・グループに依存するデータベースは停止されず、かわりに強制ディスマウントが実行されるため、データベースに障害が発生する可能性があります。

例

次に、このコマンドの例を示します。

$ srvctl stop diskgroup -diskgroup diskgroup1 -node "mynode1,mynode2" -force

srvctl stop filesystem

Oracle ACFSファイル・システムまたは汎用ファイル・システムを停止(アンマウント)するには、このコマンドを使用します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop filesystemコマンドは、次の構文で使用します。

srvctl stop filesystem -device volume_device [-node node_name] [-force]

表A-189 srvctl stop filesystemのパラメータ

パラメータ

説明

-device volume_device

停止するファイル・システム・ボリューム・デバイスへのパスを指定します。

-node node_name

ノードの名前。

このパラメータを指定しない場合は、クラスタ内でアクティブなすべてのノードでボリューム・リソースが停止されます。

-force

ファイル・システムを停止し、このファイル・システムに依存するデータベースまたはその他のリソースも停止します。

使用上の注意

- このコマンドは、LinuxおよびUNIXプラットフォームではrootユーザーとして実行し、Windowsプラットフォームでは管理者ユーザーとして、または構成済ファイル・システム・ユーザーとして実行する必要があります。

関連項目:

ファイル・システム・ユーザーの構成の詳細は、「srvctl add filesystem」を参照してください。

例

次に、このコマンドの例を示します。

$ srvctl stop filesystem -device /dev/asm/racvol_1 -force

srvctl stop gns

クラスタ内のGNSを停止するには、このコマンドを使用します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop gnsコマンドは、次の構文で使用します。

srvctl stop gns [-node node_name] [-verbose] [-force]

表A-190 srvctl stop gnsのパラメータ

パラメータ

説明

-node node_name

GNSが実行中のノードの名前

-verbose

冗長出力

-force

強制停止

例

次のコマンド例は、ローカル・ノードのGNSを停止します。

$ srvctl stop gns

srvctl stop havip

特定のノードの高可用性VIP (HAVIP) (高可用性NFSエクスポートに使用)を停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop havipコマンドは、次の構文で使用します。

srvctl stop havip -id havip_name [-node node_name] [-force]

表A-191 srvctl stop havipのパラメータ

パラメータ

説明

-id havip_name

停止するHAVIPリソースの一意の名前を指定します。

-node node_name

必要に応じて、停止するHAVIPリソースが存在するノードの名前を指定できます。

-force

強制停止

使用上の注意

- LinuxおよびUNIXプラットフォームで、rootユーザーとしてこのコマンドを実行する必要があります。

例

次に、このコマンドの例を示します。

# srvctl stop havip -id myhavip -node myNode1

srvctl stop home

指定したOracleホームから実行されるすべてのOracle Restart管理リソースまたはOracle Clusterware管理リソースを停止します。

構文およびパラメータ

srvctl stop homeコマンドは、次の構文で使用します。

srvctl stop home -oraclehome Oracle_home -statefile state_file -node node_name
[-stopoption stop_options] [-force]

表A-192 srvctl stop homeのパラメータ

パラメータ

説明

-oraclehome Oracle_home

Oracle RestartまたはOracle Clusterware管理リソースを起動するOracleホームのパス。

注意: 指定するOracleホームのパスは、SRVCTLを起動するOracleホームと同じバージョンである必要があります。

-statefile state_file

状態ファイルに書き込むパス名。

-node node_name

Oracleホームが存在するノードの名前。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-stopoption stop_options

データベースの停止オプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-force

エラーがレポートされてもリソースを停止します。

例

次に、このコマンドの例を示します。

$ srvctl stop home -oraclehome /u01/app/oracle/product/12.1.0/db_1 -statefile
~/state.txt

srvctl stop instance

-forceパラメータを指定しない場合は、インスタンスを停止し、指定したインスタンスで実行されているすべてのサービスを停止します。-forceを指定すると、インスタンス停止時に、サービスは使用可能インスタンスにフェイルオーバーします。

注意:

- このコマンドはOracle ClusterwareおよびOracle RACでのみ使用可能です。

- Oracle RAC One Nodeデータベースでこのコマンドを実行すると、このコマンドから、かわりにdatabase名詞を使用するように求めるエラーが戻されます。

構文およびパラメータ

srvctl stop instanceコマンドは、次の構文で使用します。

srvctl stop instance -db db_unique_name {-node node_name
| -instance "instance_name_list"} [-stopoption stop_options] [-force]

インスタンス名のカンマ区切りリストを二重引用符("")で囲む必要があります。

表A-193 srvctl stop instanceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-node node_name

単一ノードの名前

注意: このパラメータは、ポリシー管理データベースに使用します。

-instance "inst_name_list"

二重引用符で囲まれたインスタンス名のカンマ区切りリスト

注意: このパラメータは、管理者管理データベースに使用します。

-stopoption stop_options

停止コマンドのオプション(NORMAL、TRANSACTIONAL LOCAL、IMMEDIATE、ABORTなど)

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-force

このパラメータを使用すると、実行中のサービスが別のインスタンスにフェイルオーバーします。

例

次の例は、ポリシー管理データベースのインスタンスを停止します。

$ srvctl stop instance -db crm -node node1

次の例は、管理者管理データベースのインスタンスを停止します。

$ srvctl stop instance -db crm -instance "crm1"

srvctl stop listener

すべてのノードまたは指定したノードのデフォルト・リスナーまたは特定のリスナーを停止します。

このコマンドは、非クラスタ・データベースのリスナーを非クラスタのデータベース・ホームから停止する場合にも使用できます。ただし、非クラスタ・データベース・ホームから実行する場合は、-nodeパラメータは指定できません。

構文およびパラメータ

srvctl stop listenerコマンドは、次の構文で使用します。

srvctl stop listener [-listener listener_name] [-node node_name] [-force]

表A-194 srvctl stop listenerのパラメータ

パラメータ

説明

-listener listener_name

停止するリスナーの名前。

このパラメータを指定しない場合、リスナー名はデフォルトでLISTENER (データベース・リスナー)、LISTENER_ASM (Oracle ASMリスナー)またはLISTENER_LEAF (リーフ・ノード・リスナー)になります。

-node node_name

特定のリスナーを実行する単一ノードの名前。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-force

強制停止

例

次のコマンドは、ノードmynode1のデフォルト・リスナーLISTENERを停止します。

$ srvctl stop listener -node mynode1

srvctl stop mgmtdb

管理データベース(CHMリポジトリ)・リソースを停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop mgmtdbコマンドは、次の構文で使用します。

srvctl stop mgmtdb [-stopoption stop_options] [-force]

表A-195 srvctl stop mgmtdbのパラメータ

パラメータ

説明

-stopoption stop_options

このパラメータを使用して、shutdownコマンドのオプション(NORMAL、TRANSACTIONAL、IMMEDIATE、ABORTなど)を指定します。

関連項目: 停止オプションの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』も参照してください。

-force

データベースとそれに関連付けられているサービスおよび依存リソースをすべて停止します。

例

次に、このコマンドの例を示します。

$ srvctl stop mgmtdb -stopoption NORMAL

srvctl stop mgmtlsnr

すべてのノードまたは指定したノードの管理リスナー・リソース(CHM用)を停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop mgmtlsnrコマンドは、次の構文で使用します。

srvctl stop mgmtlsnr [-node node_name] [-force]

表A-196 srvctl stop mgmtlsnrのパラメータ

パラメータ

説明

-node node_name

管理リスナーが実行される単一ノードの名前。

-force

強制停止

例

次のコマンドは、ノードmynode1の管理リスナーを停止します。

$ srvctl stop mgmtlsnr -node mynode1

srvctl stop nodeapps

クラスタのノードでノード・レベル・アプリケーションを停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop nodeappsコマンドは、次の構文で使用します。

srvctl stop nodeapps [-node node_name] [-gsdonly] [-adminhelper] [-force]
[-relocate] [-verbose]

表A-197 srvctl stop nodeappsのパラメータ

パラメータ

説明

-node node_name

ノード名

このパラメータを指定しない場合は、クラスタ内でアクティブなすべてのノードでノード・アプリケーション(nodeapps)が停止されます。

-gsdonly

すべてのnodeappsではなくGSDのみを停止します。

-adminhelper

すべてのnodeappsではなく、Administratorヘルパーのみを停止します。

-relocate

VIPと場合によっては依存サービスを再配置します。

注意: このパラメータを指定する場合は、-node node_nameパラメータも指定する必要があります。

-force

強制停止

-verbose

冗長出力を表示します

例

次に、このコマンドの例を示します。

$ srvctl stop nodeapps

srvctl stop oc4j

実行中または起動中のOC4Jインスタンスを停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop oc4jコマンドは、次の構文で使用します。

srvctl stop oc4j [-force] [-verbose]

表A-198 srvctl stop oc4jのパラメータ

パラメータ

説明

-force

SCANリスナーの停止を強制します。

-verbose

冗長出力を表示します

例

次に、このコマンドの例を示します。

$ srvctl stop oc4j -force -verbose

srvctl stop ons

Oracle Notification Serviceデーモンを停止します。

注意:

このコマンドはOracle Restartでのみ使用可能です。

構文およびパラメータ

srvctl stop onsコマンドは、次の構文で使用します。

srvctl stop ons [-verbose]

このコマンドで使用できるパラメータは、冗長出力が表示されることを示す-verboseのみです。

例

次に、このコマンドの例を示します。

$ srvctl stop ons -verbose

srvctl stop scan

実行中または起動中のすべてのSCAN VIPをデフォルトで停止するか、ordinal_numberで識別した特定のSCAN VIPを停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop scanコマンドは、次の構文で使用します。

srvctl stop scan [-scannumber ordinal_number] [-force]

表A-199 srvctl stop scanのパラメータ

パラメータ

説明

-scannumber ordinal_number

停止するSCAN VIPを識別する序数。このパラメータに指定できる値の範囲は1から3です。

このパラメータを指定しない場合は、すべてのSCAN VIPが停止されます。

-force

SCAN VIPの停止を強制します。

例

次に、このコマンドの例を示します。

$ srvctl stop scan -scannumber 1

srvctl stop scan_listener

実行中または起動中のすべてのSCANリスナーをデフォルトで停止するか、ordinal_numberで識別される特定のリスナーを停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl start scan_listenerコマンドは、次の構文で使用します。

srvctl stop scan_listener [-scannumber ordinal_number] [-force]

表A-200 srvctl stop scan_listenerのパラメータ

パラメータ

説明

-scannumber ordinal_number

停止するSCANリスナーを識別する序数。このパラメータには値1、2または3を指定できます。

このパラメータを指定しない場合は、すべてのSCANリスナーが停止されます。

-force

SCANリスナーの停止を強制します。

例

次に、このコマンドの例を示します。

$ srvctl stop scan_listener -scannumber 1

srvctl stop service

クラスタ・データベース全体でグローバルに、または指定したインスタンスで、1つ以上のサービスを停止します。

構文およびパラメータ

srvctl stop serviceコマンドは、次の構文で使用します。

srvctl stop service -db db_unique_name [-service "services_list"
[-node node_name | -instance instance_name | -serverpool pool_name |
-global_override]] [-eval] [-force]

サービス名のカンマ区切りリストを二重引用符("")で囲む必要があります。

表A-201 srvctl stop serviceのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-service "service_name_list"

二重引用符("")で囲まれたサービス名のカンマ区切りリスト

サービス名のリストを指定しない場合、SRVCTLはデータベース上のすべてのサービスを停止します。

-node node_name

サービスが停止される必要のあるノードの名前。このパラメータは、ポリシー管理データベースに使用します。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-instance instance_name

サービスが停止される必要のあるインスタンスの名前。このパラメータは、管理者管理データベースに使用します。

注意: このパラメータは、Oracle Clusterwareでのみ使用できます。

-serverpool pool_name

サービスが含まれるサーバー・プールの名前

-global_override

グローバル・サービスに対して機能するオーバーライド値。このパラメータは、サービスがグローバル・サービスでない場合は無視されます。

-eval

このパラメータを使用すると、コマンドがシステムに及ぼす影響を仮定的に評価できます。

-force

SRVCTLによるサービスの強制停止。すべてのセッションがトランザクションを切断され、サービスを使用中のセッションは再接続の後、別のインスタンスに接続する必要があります。

注意: -forceパラメータを指定しない場合、このサービスに接続済のセッションはそのまま残りますが、サービスに新しいセッションを確立することはできません。

例

次の例は、すべてのクラスタ・データベース・インスタンスのサービスを停止します。

$ srvctl stop service -db crm -service "crm"

次の例は、指定したインスタンスでサービスを停止します。

$ srvctl stop service -db crm -service "crm" -instance crm2

srvctl stop vip

特定のノードの特定のVIPまたはすべてのVIP(フェイルオーバーによって再配置されたVIPを含む)を停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop vipコマンドは、次の構文で使用します。

srvctl stop vip {-node node_name | -vip vip_name} [-force] [-relocate] [-verbose]

表A-202 srvctl stop vipのパラメータ

パラメータ

説明

-node node_name

このパラメータを使用すると、フェイルオーバーされたVIPを含め、特定のノード上のすべてのVIPが停止されます。

-vip vip_name

このパラメータを使用すると、特定のVIPが停止されます。

-force

SRVCTLでVIPを強制的に停止します。

-relocate

VIPを再配置します

注意: -nodenode_nameパラメータは、-relocateパラメータと一緒に使用する必要があります。

-verbose

冗長出力

例

フェイルオーバーされたVIPを含め、mynode1のすべてのVIPを停止するには、次のコマンドを使用します。

$ srvctl stop vip -node mynode1 -verbose

srvctl stop volume

実行中の特定のボリュームを停止します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl stop volumeコマンドは、次の構文で使用します。

srvctl stop volume {-volume volume_name -diskgroup disk_group_name |
-device volume_device} [-node "node_list"]

表A-203 srvctl stop volumeのパラメータ

パラメータ

説明

-volume volume_name

停止するボリュームの名前を指定します。

-diskgroup disk_grp_name

停止するボリュームが存在するディスク・グループの名前を指定します。

-device volume_device

停止するボリューム・デバイスへのパスを指定します。

-node "node_list"

停止するボリュームが存在するノード名のカンマ区切りリストを指定します。

使用上の注意

srvctl stop volumeコマンドでは、ボリュームの停止(無効化)は試行されますが、リソースが無効化されたり、Oracle ASMからボリュームが削除されることはありません。

例

次の例は、DATAというディスク・グループに存在するVOLUME1というボリュームを停止します。

$ srvctl stop volume -volume VOLUME1 -diskgroup DATA

unsetenv

unsetenvコマンドは、構成ファイル内の環境の値設定を解除します。これにより、オブジェクトの環境構成をユーザーが管理できます。

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

コマンド

説明

srvctl unsetenv asm

1つ以上のOracle ASM環境変数の値の設定解除

srvctl unsetenv database

1つ以上のクラスタ・データベース環境変数の値の設定解除

srvctl unsetenv listener

1つ以上のリスナー環境変数の値の設定解除。

srvctl unsetenv mgmtdb

管理データベースの値の設定解除。

srvctl unsetenv mgmtlsnr

管理リスナーの値の設定解除。

srvctl unsetenv nodeapps

1つ以上のノード・アプリケーション環境変数の値の設定解除

srvctl unsetenv vip

1つ以上のVIP環境変数の値の設定解除

srvctl unsetenv asm

Oracle ASM環境構成の設定を解除します。

構文およびパラメータ

srvctl unsetenv asmコマンドは、次の構文で使用します。

srvctl unsetenv asm -envs "name_list"

-envsパラメータを使用して、二重引用符("")で囲まれた環境変数名のカンマ区切りリストを指定します。

例

次の例は、Oracle ASM環境変数の環境構成の設定を解除します。

$ srvctl unsetenv asm -envs "CLASSPATH"

srvctl unsetenv database

クラスタ・データベース環境構成の設定を解除します。

構文およびパラメータ

srvctl unsetenv databaseコマンドは、次の構文で使用します。

srvctl unsetenv database -db db_unique_name -envs "name_list"

表A-205 srvctl unsetenv databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-envs "name_list"

二重引用符("")で囲まれた環境変数名のカンマ区切りリスト

例

次の例は、クラスタ・データベース環境変数の環境構成の設定を解除します。

$ srvctl unsetenv database -db crm -envs "CLASSPATH,LANG"

srvctl unsetenv listener

リスナーの環境構成の設定を解除します。

構文およびパラメータ

srvctl unsetenv listenerコマンドは、次の構文で使用します。

srvctl unsetenv listener [-listener listener_name] -envs "name_list"

表A-206 srvctl unsetenv listenerのパラメータ

パラメータ

説明

-listener listener_name

リスナーの名前。

このパラメータを指定しない場合、リスナー名はデフォルトでLISTENERになります。

-envs "name_list"

環境変数の名前のカンマ区切りリスト

例

次の例は、デフォルト・リスナーの環境変数TNS_ADMINの設定を解除します。

$ srvctl unsetenv listener -envs "TNS_ADMIN"

srvctl unsetenv mgmtdb

管理データベース(CHMリポジトリ)の環境構成の設定を解除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl unsetenv mgmtdbコマンドは、次の構文で使用します。

srvctl unsetenv mgmtdb -envs "name_list"

-envsパラメータを使用して、二重引用符("")で囲まれた環境変数名のカンマ区切りリストを指定します。

例

次の例は、管理データベース環境変数の環境構成の設定を解除します。

$ srvctl unsetenv mgmtdb -envs "LANG"

srvctl unsetenv mgmtlsnr

管理リスナー・リソース(CHM用)の環境構成の設定を解除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl unsetenv mgmtlsnrコマンドは、次の構文で使用します。

srvctl unsetenv mgmtlsnr -envs "name_list"

-envsパラメータを使用して、二重引用符("")で囲まれた環境変数名のカンマ区切りリストを指定します。

例

次の例は、管理リスナー環境変数の環境構成の設定を解除します。

$ srvctl unsetenv mgmtlsnr -envs "LANG"

srvctl unsetenv nodeapps

ノード・アプリケーションの環境変数の設定を解除します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl unsetenv nodeappsコマンドは、次の構文で使用します。

srvctl unsetenv nodeapps -envs "name_list" [-viponly] [-gsdonly]
[-onsonly] [-verbose]

表A-207 srvctl unsetenv nodeappsのパラメータ

パラメータ

説明

-envs "name_list"

二重引用符("")で囲まれた環境変数名のカンマ区切りリスト

-viponly

すべてのnodeappsではなくVIP構成のみを変更します。

-gsdonly

すべてのnodeappsではなくGSD構成のみを変更します。

-onsonly

すべてのnodeappsではなくONSデーモン構成のみを変更します。

-verbose

冗長出力を表示します

例

次の例は、すべてのノード・アプリケーションの環境構成の設定を解除します。

$ srvctl unsetenv nodeapps -envs "test_var1,test_var2"

srvctl unsetenv vip

指定したクラスタVIPの環境構成の設定を解除します。

構文およびパラメータ

srvctl unsetenv vipコマンドは、次の構文で使用します。

srvctl unsetenv vip -vip "vip_name_list" -envs "name_list" [-verbose]

表A-208 srvctl unsetenv vipのパラメータ

パラメータ

説明

-vip "vip_name_list"

二重引用符("")で囲まれたVIP名のカンマ区切りリスト

-envs "name_list"

二重引用符("")で囲まれた環境変数名のカンマ区切りリスト

-verbose

冗長出力の表示

例

次の例は、 クラスタVIPのCLASSPATH環境変数の設定を解除します。

$ srvctl unsetenv vip -vip "crm2-vip" -envs "CLASSPATH"

update

srvctl updateコマンドでは、実行中のオブジェクトを指定して、OCRに格納されている新しい構成情報を使用するように要求します。

表A-209 srvctl updateコマンドのサマリー

コマンド

説明

srvctl update database

指定したデータベースの更新 - 新しいリスナー・エンドポイントを使用

srvctl update gns

GNSの構成の更新

srvctl update listener

リスナーの更新 - 新しいエンドポイントをリスニング

srvctl update scan_listener

SCANリスナーの更新 - 新しいエンドポイントをリスニング。

srvctl update database

指定したデータベースを更新して、新しいリスナー・エンドポイントが使用されるようにします。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl update databaseコマンドは、次の構文で使用します。

srvctl update database -db db_unique_name

-dbパラメータを使用して、更新するデータベースの一意の名前を指定します。

srvctl update gns

srvctl update gnsコマンドを使用して、グリッド・ネーミング・サービス(GNS)・インスタンスを変更します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

構文およびパラメータ

srvctl update gnsコマンドは、次の構文モデルの1つで使用します。

srvctl update gns -advertise name -address ip_address [-timetolive time_to_live]
[-verbose]

srvctl update gns -delete name [-address address] [-verbose]

srvctl update gns -alias alias -name name [-timetolive time_to_live] [-verbose]

srvctl update gns -deletealias alias [-verbose]

srvctl update gns -createsrv service -target target -protocol protocol
[-weight weight] [-priority priority] [-port port_number]
[-timetolive time_to_live] [-instance instance_name] [-verbose]

srvctl update gns -deletesrv service_name -target target -protocol protocol
[-verbose]

srvctl update gns -createtxt name -target target [-timetolive time_to_live]
[-namettl name_ttl] [-verbose]

srvctl update gns -deletetxt name -target target [-verbose]

srvctl update gns -createptr name -target target [-timetolive time_to_live]
[-namettl name_ttl] [-verbose]

srvctl update gns -deleteptr name -target target [-verbose]

表A-210 srvctl update gnsのパラメータ

パラメータ

説明

-advertise name

GNSを通じて名前を通知します。

-address ip_address

通知対象の名前に対するIPアドレス

-timetolive time_to_live

必要に応じて、レコードの存続時間(秒数)を指定できます。

-delete name

GNSからの名前通知を解除します。

-alias alias

通知対象の名前の別名を作成します。

-name name

別名に関連付けられている通知対象の名前

-deletalias alias

別名を削除します

-createsrv service

レコードによって表されるサービスを作成します。

-target target

サービスに関連付けられている名前を指定します。

-protocol protocol

サービスへの接続に使用するプロトコルを指定します。

-weight weight

レコードの重みを指定します。

-priority priority

0から65535までの範囲の値を使用して、レコードの優先順位を指定します。

-port port_number

0から65535までの範囲の値を使用して、サービスへの接続に使用するポート番号を指定します。

-instance instance_name

サービスのインスタンス名

-deletesrv service

削除対象のサービス・レコードの名前

-createtxt name

指定した名前を使用して、テキスト(TXT)・レコードを追加します。

-namettl name_ttl

名前の存続時間(秒数で指定)

-deletetxt name

指定した名前のテキスト(TXT)・レコードを削除します。

-createptr name

指定した名前のポインタ(PTR)・レコードを追加します。

-deleteptr name

指定した名前のポインタ(PTR)・レコードを削除します。

使用上の注意

このコマンドを実行するには、LinuxおよびUNIXプラットフォームではrootユーザーとして、Windowsプラットフォームでは管理者ユーザーとしてログインする必要があります。

例

次のコマンドは、GNSを使用して名前を通知します。

# srvctl update gns -advertise myname -address 192.168.1.45

srvctl update listener

新しいエンドポイントをリスニングするようリスナーを更新します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

srvctl update listenerコマンドは、次の構文で使用します。

srvctl update listener

このコマンドには、-helpを除き、その他のパラメータは指定できません。

srvctl update scan_listener

新しいエンドポイントをリスニングするようSCANリスナーを更新します。

注意:

このコマンドはOracle Clusterwareでのみ使用可能です。

srvctl update scan_listenerコマンドは、次の構文で使用します。

srvctl update scan_listener

このコマンドには、-helpを除き、その他のパラメータは指定できません。

srvctl upgrade database

srvctl upgrade databaseコマンドは、このコマンドの実行元であるデータベース・ホームのバージョンに、データベースの構成とそのすべてのサービスをアップグレードします。

構文およびパラメータ

srvctl upgrade databaseコマンドは、次の構文で使用します。

srvctl upgrade database -db db_unique_name -oraclehome Oracle_home

表A-211 srvctl upgrade databaseのパラメータ

パラメータ

説明

-db db_unique_name

データベースの一意の名前

-oraclehome Oracle_home

ORACLE_HOMEへのパス

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

この付録では、トレース・ファイルおよびログ・ファイルを使用して、Oracle Real Application Clusters(Oracle RAC)コンポーネントの問題を診断する方法について説明します。この項には次のトピックが含まれます:

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

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

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

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

- 停止保留問題の解決

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

- プライベートNIC障害が発生した後、データベースの起動が失敗する

注意:

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 Cloud Controlのグラフィカル・ユーザー・インタフェース(GUI)を使用してインターコネクトを確認することをお薦めします。また、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

プライベートNIC障害が発生した後、データベースの起動が失敗する

2ノード・クラスタで、グリッド・プロセス間通信(GIPC)を使用せず、プライベート・ネットワーク・インタフェース・カード(NIC)を1つだけ持つとします。Oracle Grid Infrastructure Management Repository database (mgmtdb)を実行しているノード(たとえばノードA)で、もう1つのノード(ノードB)が削除された後に、NICで障害が発生した場合、プライベート・ネットワークがノードAで再確立されると、ノードBはクラスタに参加するものの、ノードAのデータベース・インスタンスは開始できません。

次の手順に従って、データベース・インスタンスを開始します。

1. 次に示すように、Oracle Clusterwareスタックを2つのノードで停止します。

crsctl stop cluster

2. 次に示すように、Oracle Clusterwareスタックを2つのノードで開始します。

crsctl start cluster

3. 次に示すように、NICで障害が発生したノードAのデータベース・インスタンスを停止します。

srvctl stop instance -db db_unique_name -node A

4. 次のコマンドをノードで別々に実行して、2つのノードでデータベースを開始します。

srvctl start instance -db db_unique_name -node B
srvctl start instance -db db_unique_name -node A

インスタンスがノードBで開始されるまで、データベース・インスタンスはノードAで開始されません。

用語集

自動ワークロード・リポジトリ(AWR)

すべてのOracle Databaseに存在する組込みリポジトリ。Oracle Databaseは、すべての重要な統計およびワークロード情報のスナップショットを定期的に生成し、AWRに格納します。

管理者管理データベース

実行可能なサーバーやデータベース内のどこでサービスが実行可能かを特に定義したデータベースです。

キャッシュ一貫性

任意のキャッシュを介してメモリー位置を読み取っても、別のキャッシュを介してその位置に書き込まれた最新のデータが戻されるように、複数のキャッシュ内のデータを同期化することです。キャッシュ整合性とも呼ばれます。

キャッシュ・フュージョン

ブロックを保持しているインスタンスのメモリー・キャッシュから要求側インスタンスのメモリー・キャッシュにブロックを直接コピーする、Oracle RACのディスク不要のキャッシュ一貫性メカニズム。

カーディナリティ

通常操作中に実行するデータベース・インスタンスの数です。

CDB

マルチテナント・コンテナ・データベース(CDB)とは、0 (ゼロ)、1つまたは数多くのユーザー作成のプラガブル・データベース(PDB)を含むOracle Databaseです。各Oracle Databaseは、CDBまたは非CDBです。

クライアント・クラスタ

サーバー・クラスタで名前を通知するクラスタ。

クラスタ

エンド・ユーザーおよびアプリケーションからは1つのサーバーのように見える、インターコネクトされた複数のコンピュータまたはサーバー。

クラスタ構成ポリシー

システムで定義されている各サーバー・プールに対して、定義が1つのみ含まれるドキュメント。

クラスタ構成ポリシー・セット

クラスタ内に構成されるすべてのサーバー・プール名が定義され、1つ以上の構成ポリシーが含まれるドキュメント。

クラスタ・データベース

Oracle RACデータベースの総称。

クラスタ・ファイル・システム

高パフォーマンスのサービスをクライアントに提供するために連携するサーバーのクラスタによる分散ファイル・システム。クラスタ・ファイル・システム・ソフトウェアはストレージ・クラスタ・コンポーネントへの分散リクエストを処理します。

クラスタ・レディ・サービス・デーモン(CRSD)

高可用性リカバリおよびOCRのメンテナンスのような管理操作を実行する主なOracle Clusterwareのプロセスです。また、アプリケーション・リソースを管理し、rootユーザー(Mac OS Xベースのシステムではadminグループのユーザー)として実行され、障害発生時に自動的に再起動します。

Cluster Synchronization Services(CSS)

クラスタ全体のメンバーシップの共通ビューを提供して、各ノードのメンバーシップの状態を検出および追跡するOracle Clusterwareコンポーネント。CSSはプロセスの状態(特にデータベース・インスタンスの状態)も監視します。バックグラウンド・プロセスであるグローバル・エンキュー・サービス・モニター(LMON)が、クラスタ・データベース環境の状態を監視し、CSSへの登録および登録解除を行います。「OCSSD」も参照してください。

クラスタ時刻同期化サービス

クラスタ内のすべてのノードの内部クロックがすべて同期化されるようにする時刻同期メカニズム。

クラスタ検証ユーティリティ(CVU)

共有ストレージ・デバイス、ネットワーク構成、システム要件、Oracle Clusterware、グループ、ユーザーなど、Oracle RACの様々なコンポーネントを検証するツール。

コミット結果

トランザクションがコミットされた後に、Oracle Databaseからクライアントに送られるメッセージ。これらのメッセージには永続性がありません。

データベース・プール

データベース・クラウド内の一連のデータベースであり、一意のグローバル・サービス・セットを提供し、特定の管理ドメインに属します。クラウド・データベースを複数のプールにパーティション化すると、サービス管理が簡素化され、かつ、各プールを異なる管理者が管理できることによって、セキュリティが向上します。

分散トランザクション処理(DTP)

分散トランザクションの枠組み。外部的に調整されたトランザクションであるXAタイプと、内部的に調整されたトランザクションである分散SQLタイプ(Oracleのデータベース・リンク)の両方が含まれます。

動的ネットワーク

IPv4にDHCPを、またはIPv6にステートレス自動構成(autoconfig)を使用するネットワーク。

イベント・マネージャ(EVM)

Oracle Clusterwareイベントをパブリッシュするバックグラウンド・プロセス。イベントの発生時に、EVMは指定されたコールアウト・ディレクトリをスキャンし、そのディレクトリ内のすべてのスクリプトを実行します。

イベント・マネージャ・デーモン(EVMD)

コールアウトを管理するracgevtプロセスを開始する、LinuxまたはUNIXのイベント・マネージャ・デーモン。

拡張遠距離クラスタ

クラスタの各ノードが、遠く離れた2つの建物に配置(道りの反対側、キャンパスの反対側や街の反対側など)されたクラスタです。可用性の理由から、データを両方のサイトに配置する必要があり、これにより、記憶域をミラー化するための代替を検討する必要があります。

障害グループ

障害グループはディスク・グループのディスクのサブセットです。これらのディスクはハードウェアを共有するため、同時に障害が発生する可能性があります。障害グループは、データのミラー・コピーを格納するために使用されます。

高速アプリケーション通知(FAN)

アプリケーションでは、FANを使用して、迅速な障害の検出、障害発生後の接続プールの分散の均等化、および障害が発生したコンポーネントの修復時の接続プールの分散の再均等化を行うことができます。FAN通知プロセスでは、クラスタ・サーバーが使用不可になるか、またはネットワーク・インタフェースに障害が発生した場合にOracle Databaseが発行するシステム・イベントが使用されます。

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

JDBC、OCIまたはODP.NETを使用するクライアントのようなFAN統合クライアントに、高可用性を提供します。高速接続フェイルオーバーを使用するようにクライアントを構成すると、クライアントは自動的にFANイベントをサブスクライブし、データベースのUPイベントおよびDOWNイベントに対処できます。それに対応して、Oracle Databaseは、要求されたデータベース・サービスを提供するアクティブ・インスタンスにクライアントを接続します。

ファイル・システム

ファイル・システムとは、ディスクへの構造化アクセスを提供するソフトウェア・コンポーネントです。ファイルシステムは、ファイルなどのオブジェクトをアプリケーション・プログラムに提供します。一般に、ファイルへのアクセスは、アプリケーション・プログラムがファイル・アクセスに使用するオペレーティング・システム・コール(Open/CloseやRead/Writeなど)を定義している標準APIで指定されます。ファイル・システムは、通常はオペレーティング・システムのコンポーネントとして提供されますが、独立したソフトウェア・コンポーネントとして提供されることもあります。

ディスク書込みの強制実行

Oracle RACでは、ある特定のデータ・ブロックを変更できるのは一時点で1つのインスタンスのみです。あるインスタンスが必要としているデータ・ブロックが、別のインスタンスによって変更された場合、そのブロックに対して発行されたリクエストのタイプによっては、ディスク書込みの強制実行が必要になります。

General Parallel File System

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はデフォルトでノードにインストールされています。

グリッドのプラグ・アンド・プレイ・デーモン(GPNPD)

このプロセスを使用すると、グリッド・プラグ・アンド・プレイ・プロファイルにアクセスできます。また、クラスタのノード間でプロファイルの更新が調整され、すべてのノードで最新のプロファイルが保持されます。

High Availability Cluster Multi-Processing

IBM AIXベースの高可用性クラスタ・ソフトウェア製品。HACMPは高可用性(HA)とクラスタ・マルチプロセッシング(CMP)の2つの主なコンポーネントで構成されます。

高可用性

冗長コンポーネントを搭載したシステムであり、ハードウェアまたはソフトウェア障害が発生した場合でも一貫性があり中断されないサービスを提供します。ある程度の冗長性を含みます。

インスタンス

Oracle RACデータベースの場合、クラスタ内の各ノードには、通常、データベースを参照する実行中のOracleソフトウェアのインスタンスが1つ存在します。データベースが起動されると、Oracle Databaseによってシステム・グローバル領域(SGA)と呼ばれるメモリー領域が割り当てられ、1つ以上のOracle Databaseプロセスが起動されます。このSGAとOracle Databaseプロセスの組合せはインスタンスと呼ばれます。各インスタンスには、一意のOracleシステム識別子(SID)、インスタンス名、ロールバック・セグメントおよびスレッドIDが割り当てられます。

インスタンス・ケージング

フォアグラウンド・プロセス用にインスタンスが同時に使用できるCPUの数を制限するために初期化パラメータを使用する方法。

インスタンス・メンバーシップ・リカバリ

Oracle RACで、すべてのクラスタ・メンバーが機能しているか、またはアクティブであることを保証するために使用される方法です。インスタンス・メンバーシップ・リカバリによってメンバーシップがポーリングおよび調整されます。制御ファイルでハートビートを示していないメンバー、または定期的なアクティビティ問合せメッセージに応答しないメンバーは、停止しているとみなされます。

インスタンス名

クラスタで共通のサービス名が共有されている場合に、特定のインスタンスを一意に識別するために使用されるインスタンスの名前。インスタンス名は、インスタンス初期化ファイル(initsid.ora)のINSTANCE_NAMEパラメータによって識別されます。Oracleシステム識別子(SID)と同じです。

インスタンス番号

データ・ブロックのエクステントを特定のインスタンスと関連付ける番号。インスタンス番号を使用すると、インスタンスを起動し、そのインスタンスに割り当てられたエクステントが挿入および更新に使用されるようにできます。これによって、そのインスタンスが他のインスタンスに割り当てられた領域を使用していないことを確認できます。

インターコネクト

ノード間の通信リンク。

キーストア

透過的データ暗号化鍵を格納するコンテナです。以前のリリースでは、これはウォレットと呼ばれていました。

論理ボリューム・マネージャ(LVM)

オンラインでのディスク記憶域管理に使用される、LinuxまたはUNIXのサブシステムの総称。

プロセス間通信(IPC)

オペレーティング・システム依存の高速転送コンポーネント。IPCは異なるノード上のインスタンス間でメッセージを転送します。インターコネクトとも呼ばれます。

マスター・ブート・レコード(MBR)

コンピュータの起動時に実行されるプログラム。通常、MBRはローカル・ハード・ディスクの最初のセクターに存在します。パーティション表を調査し、システムの起動に使用するパーティションを決定して、起動プロセスを開始します。その後、MBRプログラムは起動パーティションのブート・セクターに制御を移し、起動プロセスを続行させます。

メモリー不足

サーバー上の使用可能なメモリー量が限られていることを示す状態。

メトリック

累積統計の変更率です。

マルチテナント・コンテナ・データベース

「CDB」を参照してください。

可変

コールされるたびに結果を変更できる非deterministic関数。リプレイ時に関数の結果が変更されると、可変関数によってリプレイは拒否されることがあります。キー値で使用されるsequence.nextvalおよびSYSDATEを検討してください。主キーがこれらの関数コールからの値で構築され、後の外部キーまたは他のバインドで使用される場合は、リプレイで同じ関数結果が返される必要があります。アプリケーション・コンティニュイティでは、付与されたOracle関数コールに対してリプレイ時に可変値置換を提供して、不透明なバインド/変数一貫性を実現します。

ネットワーク接続ストレージ(NAS)

ネットワーク経由でサーバーに接続された記憶域。

ネットワーク・タイム・プロトコル(NTP)

TCP/IPの最上位に構築されたインターネット標準プロトコル。このプロトコルは、ネットワーク内のコンピュータ時計の時刻をミリ秒単位で正確に同期化します。

ネットワーク・インタフェース・カード(NIC)

コンピュータをネットワークに接続するために、コンピュータに挿入するカード。

ノード

ノードは、Oracle RACおよびOracle Clusterwareソフトウェアがインストールされているコンピュータ・システムです。

Object Link Manager

シンボリック・リンクを論理ドライブにマッピングし、それらをOLMのグラフィカル・ユーザー・インタフェースに表示するOracleインタフェース。

OCSSD

クラスタ同期サービス(CSS)・デーモンを管理するLinuxまたはUNIXのプロセスです。クラスタ・ノード・メンバーシップを管理し、oracleユーザーとして実行するプロセスであり、このプロセスが失敗した場合はクラスタが再起動されます。

Oracle Cluster File System

Oracleでは、Linux用のOCFS2およびOracle ASM Cluster File System (Oracle ACFS)という2つのファイル・システムを提供しています。Oracle ACFSは独自のファイル・システムですが、Linux用のOCFS2のソースは、GNUのGeneral Public License (GPL)に基づいて使用できます。2つのファイル・システムに互換性はありません。

Oracle Cluster Registry(OCR)

クラスタ・ノード・リストに関する情報およびインスタンスからノードへのマッピング情報を管理するOracle RAC構成情報のリポジトリ。OCRは、カスタマイズされたアプリケーション用のOracle Clusterwareリソース・プロファイルに関する情報も管理します。

Oracle Clusterware

ノードのメンバーシップ、グループ・サービス、グローバル・リソース管理、高可用性機能などのクラスタ・データベースの処理を管理するOracle提供のクラスタウェア。

Oracle Grid Infrastructure

エンタープライズ・グリッド・アーキテクチャ用のインフラストラクチャを提供するソフトウェア。クラスタの場合は、Oracle ClusterwareとOracle Automatic Storage Management(Oracle ASM)が含まれます。スタンドアロン・サーバーの場合は、Oracle RestartとOracle ASMが含まれます。Oracle Databaseでは、これらのインフラストラクチャ製品が組み合されてOracle Grid Infrastructureホーム(Grid_home)と呼ばれる1つのソフトウェア・インストールになっています。

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 Universal Installer

Oracle Clusterware、Oracleリレーショナル・データベース・ソフトウェアおよびOracle RACソフトウェアをインストールするためのツールです。Oracle Universal Installerを使用してDatabase Configuration Assistant(DBCA)を起動することもできます。

Oracle XA

Oracle Database以外のトランザクション・マネージャでグローバル・トランザクションを調整できるようにする外部インタフェース。

PDB

マルチテナント・コンテナ・データベース(CDB)で、Oracle Netクライアントに非CDBとして表示されるスキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトのポータブル・コレクション。

プラガブル・データベース

「PDB」を参照してください。

ポリシー管理データベース

クラスタ・リソースとして定義したデータベースです。データベースの管理は、データベースがどのサーバーで実行可能か、予想されるワークロードのサポートにデータベースのインスタンスがいくつ必要かといった、リソースの構成方法によって定義されます。

RAWデバイス

ファイル・システムがまだ設定されていないディスク・ドライブ。ディスクの共有が可能であるため、Oracle RACに使用されます。「RAWパーティション」も参照してください。

RAWパーティション

最小限のアクセス・レベルでアクセスされる物理ディスクの部分。拡張パーティションが作成され、論理パーティションがフォーマットされずに拡張パーティションに割り当てられた場合に作成されます。フォーマットが完了したパーティションは、クックド・パーティションと呼ばれます。「RAWデバイス」も参照してください。

リカバリ可能エラー

実行中のアプリケーション・セッション・ロジックとは関係なく、外部システムの障害が原因で発生するエラーのクラス。リカバリ可能なエラーは、フォアグラウンド、ネットワーク、ノード、記憶域、データベースの計画済停止および計画外停止に続いて発生するエラーです。アプリケーションは、最後に発行された操作のステータスを把握しないままの状態で残される可能性があるエラー・コードを受信します。

Recovery Manager (RMAN)

データファイル、制御ファイルおよびアーカイブREDOログ・ファイルをバックアップ、コピー、リストアおよびリカバリできるツール。Oracleサーバーに含まれており、個別にインストールする必要はありません。RMANは、オペレーティング・システム(OS)のプロンプトからコマンドライン・ユーティリティとして実行するか、またはGUIベースのOracle Enterprise ManagerのBackup Managerを使用して実行できます。

リージョン

互いに近くに存在すると考えられるデータベース・クライアントおよびサーバーが含まれる論理的な境界です。

リクエスト

アプリケーションから送信される作業単位。リクエストは通常、単一データベース接続での単一WebリクエストのSQL、PL/SQLおよびその他のデータベース・コールに対応し、一般に接続プールからのデータベース接続のチェックアウトとチェックインのために作成されたコールによって区別されます。

結果キャッシュ

結果キャッシュは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ソフトウェアがインストールされていないコンピュータ・システムです。

サーバー・クラスタ

共有GNSサーバーが実行されているクラスタ。

サーバー・グループ

アプリケーション、データベースまたはその両方をホスティングするグループに論理的に分割されているクラスタ内のノードです。サーバー・グループはその他のサーバー・グループのメンバーになることができます。

サービス・レベル

システムのパフォーマンスの尺度。

サービス

Oracle RACデータベースで定義可能なエンティティ。サービスによって、データベースのワークロードをグループ化し、サービスを提供するために割り当てられた最適なインスタンスに作業をルーティングできます。

セッション状態の一貫性

COMMITが実行された後にそのトランザクションの状態が変更された場合、セッションが失われていると、トランザクションをリプレイしてその状態を再確立することはできません。アプリケーション・コンティニュイティを構成する場合、アプリケーションは、初期設定後のセッション状態が動的であるか静的であるか、および要求内の過去のCOMMIT操作を継続するのが適切であるかどうかに応じて分類されます。

- 動的: (デフォルト)セッション状態の変更が初期化で完全にカプセル化されていない場合、およびフェイルオーバー時にコールバックで完全に取得できない場合、そのセッションは動的な状態です。要求内の最初のトランザクションがコミットされると、次の要求が開始されるまでフェイルオーバーは内部的に無効化されます。これは、ほとんどのアプリケーションが要求に使用するデフォルト・モードです。

- 静的: (要求での特殊設定) NLS設定やPL/SQLパッケージの状態など、すべてのセッション状態の変更を初期化コールバックで繰り返すことができる場合、そのセッションは静的な状態です。この設定は、要求内のセッション状態を変更しないデータベース診断アプリケーションのみに使用されます。コールバックにより再確立できない非トランザクション状態変更が要求内にある場合は、静的モードを設定しないでください。不明な場合は、動的モードを使用します。

Shared Everything

すべてのインスタンスによってすべてのデータへのアクセスが共有されるデータベースのアーキテクチャ。

単一クライアント・アクセス名(SCAN)

Oracle Database 11gのデータベース・クライアントは、SCANを使用してデータベースに接続します。SCANは、パブリック・クライアント接続を処理するクラスタ内の複数のリスナーに対応する、複数のIPアドレスに解決できます。

SINGLETONサービス

一度に1つのインスタンス上のみで実行されるサービス。サービスの分散トランザクション処理(DTP)プロパティを定義することによって、サービスを強制的にSINGLETONサービスにすることができます。

スプリット・ブレイン・シンドローム

複数のインスタンスによってクラスタ・データベースの制御が試行される状態。たとえば、2ノード環境で、一方のインスタンスによって更新の管理が試行され、もう一方のインスタンスによって同時に更新の管理が試行される状態です。

SQL翻訳プロファイル

SQL翻訳プロファイルは、Oracle以外のデータベースのSQL文をOracleに翻訳する方法、およびOracleエラー・コードとANSI SQLSTATESを他のベンダーの等価のものに翻訳する方法を指示する、データベース・スキーマ・オブジェクトです。

システム識別子(SID)

Oracleシステム識別子(SID)は、実行中のOracleソフトウェアの特定のインスタンスを識別します。Oracle RACデータベースの場合、クラスタ内の各ノードにはデータベースを参照するインスタンスが存在します。

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

Oracle RACやOracle RAC Guardなどの高可用性環境を対象としたランタイム・フェイルオーバーで、TAFとは、アプリケーションからサービスへの接続のフェイルオーバーおよび再確立を指します。これにより、クライアント・アプリケーションは接続障害の発生時にデータベースに自動的に再接続でき、実行中だったSELECT文を再開することも可能です。この再接続は、Oracle Call Interfaceライブラリ内から自動的に実行されます。

仮想インターネット・プロトコル(VIP)

特定の単一サーバーまたはネットワーク・インタフェース・カード(NIC)に割り当てられるのではなく、単一サーバー、複数のドメイン名または複数のサーバーに存在している複数のアプリケーションに割り当てられるIPアドレス。

ボリューム・マネージャ

ディスクの断片の集合をボリュームにマップする処理を管理するソフトウェア・コンポーネント。

投票ディスク

ノードのメンバーシップに関する情報を管理するファイル。

索引

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 script 1

A

- 異常インスタンス終了 1

- ACMS

- メモリー・サービスへのアトミック制御ファイル 1

- ACTIVE_INSTANCE_COUNT初期化パラメータ 1

- アクティブ・セッション履歴

- Oracle RAC 1

- トップ・クラスタ・イベント 1

- トップ・リモート・インスタンス 1

- アクティブなセッション 1

- 既存クラスタへのノードの追加 1

- LinuxおよびUNIXでのOracle RACのノードへの追加 1

- WindowsでのOracle RACのノードへの追加 1

- ADDM

- グローバルな監視 1

- 「Automatic Database Diagnostic Monitor」を参照 1

- Oracle Real Application ClustersのADDMモード 1

- 管理

- サービス 1

- SRVCTLを使用したサービス 1

- インスタンスの管理

- Server Management 1

- Oracle Enterprise Managerジョブの管理 1

- サービスの管理

- Oracle Enterprise Manager 1

- SRVCTL 1

- 管理ツール

- 概要および概念 1

- 管理者管理データベース 1 , 2

- 管理者管理データベース・インスタンス

- 追加 1

- 管理者管理データベース

- サービスのAVAILABLEインスタンス 1

- ポリシー管理への変換 1

- サービスのPREFERREDインスタンス 1

- ADRCI

- ADRコマンドライン・インタプリタ 1

- アドバンスト・キューイング

- FAN 1

- Oracle Enterprise Managerのアドバイザ・セントラル 1

- 集計

- インスタンスごと 1

- サービスごと 1

- 待機ごと 1

- アラートの管理

- Oracle Enterprise Manager 1

- アラートのブラックアウト

- Oracle Enterprise Manager 1

- アラート・ログ

- 管理 1

- ALTER SYSTEM ARCHIVE LOG CURRENT文 1

- ALTER SYSTEM ARCHIVE LOG文

- INSTANCEオプション 1

- ALTER SYSTEM CHECKPOINT文

- グローバル対ローカル 1

- インスタンスの指定 1

- ALTER SYSTEM KILL SESSION文

- 特定のインスタンスのセッションの終了 1

- ALTER SYSTEM QUIESCE RESTRICTED文

- 非クラスタ・データベースの静止 1

- ALTER SYSTEM文

- CHECKPOINT句 1

- ALTER SYSTEM SWITCH LOGFILE文 1

- アプリケーション・コンティニュイティ

- サービス属性の構成 1

- 概要 1

- リクエスト 1

- アプリケーション

- 単一データベースへの複数のアプリケーションの統合 1

- 高可用性 1

- スケーラビリティ 1

- Oracle RACインスタンスにまたがったXAトランザクション 1

- 事前作成済のデータベース・セッションの使用 1

- ARCHIVE_LAG_TARGET初期化パラメータ 1

- アーカイブREDOログ・ファイル

- パラレルで適用 1

- ファイル・フォーマットおよび接続先 1

- ログ順序番号 1

- ARCHIVE LOGコマンド

- SQL*Plus 1

- アーカイブ・ログ

- 宛先, クラスタ・データベースへの変換 1

- アーカイバ・プロセス

- 監視 1

- アーカイブ・モード

- 変更 1

- ASHレポート 1

- asm

- SRVCTLオブジェクト名 1

- ASM_PREFERRED_READ_FAILURE_GROUPS初期化パラメータ 1 , 2

- メモリー・サービスへのアトミック制御ファイル(ACMS) 1

- Automatic Database Diagnostic Monitor 1 , 2 , 3

- Automatic Database Diagnostic Monitor(ADDM)

- AWRデータの分析 1

- DBMS_ADDM PL/SQLパッケージ 1

- DBMS_ADVISOR PL/SQLパッケージ 1

- グローバルADDMモード 1

- ローカルADDMモード 1

- Automatic Database Diagnostic Monitoring(ADDM) 1

- 自動診断リポジトリ(ADR)

- ADRCIコマンドライン・インタプリタ 1

- 自動ロード・バランシング

- 複数のインスタンス用のRecovery Managerチャネルの構成 1

- AUTOMATIC管理ポリシー 1

- 自動パフォーマンス診断(AWR)

- パフォーマンス統計の監視 1

- 自動セグメント領域管理(ASSM)

- Oracle RACでの表領域の使用 1

- 自動UNDO管理

- Oracle RACでの表領域の使用 1

- 自動ワークロード管理

- 概念 1 , 2

- 手動によるリバランス 1

- 自動ワークロード・リポジトリ 1 , 2 , 4 , 5

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

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

- スナップショット 1

- AVAILABLEインスタンス

- サービス 1

- 「平均アクティブ・セッション」グラフ

- パフォーマンス監視 1

- AWR

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

B

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

- Oracle RAC 1

- SMON 1 , 2

- バックグラウンド・スレッド・トレース・ファイル 1

- バックアップ

- クラスタ・データベースへの変換 1

- サーバー・パラメータ・ファイル 1

- 帯域幅

- インターコネクト 1

- ベスト・プラクティス

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

- ブラックアウト

- 定義 1

- ブロック・モード変換

- 統計 1

- ブロック

- インスタンスとの対応付け 1

- バッファ・キャッシュ

- インスタンス・リカバリ 1

- バッファ・サイズ

- プロセス間通信(IPC)

- Oracle RAC用に調整 1

C

- キャッシュ一貫性 1

- キャッシュ・フュージョン

- E-Commerceアプリケーション 1

- 概要 1

- キャッシュ・フュージョンのパフォーマンス 1

- キャッシュ・フュージョンによる転送 1

- コールアウト

- 実行方法 1

- 容量

- 増加 1

- カーディナリティ 1

- catclustdb.sqlスクリプト 1

- CDB 1

- すべてのサービスの構成の変更 1

- チャネル

- Oracle RACインスタンスごとに1つのRMANチャネルの構成 1

- クロスチェックまたはリストア操作中の構成 1

- RMAN用の構成 1

- グラフ

- グローバル・キャッシュ・ブロックのアクセス待機時間 1

- グラフ

- 平均アクティブ・セッション 1

- クラスタ・ホストのロード平均 1

- データベース・スループット 1

- インターコネクトの確認 1

- クライアント

- アプリケーション環境およびFAN 1

- SCANを使用したクライアント接続 1

- クライアント・ドライバ

- FAN 1

- クライアント

- FANイベントの統合 1

- JDBC/OCI 1

- JDBC-thinドライバ 1

- クライアント側

- ロード・バランシング 1

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

- clone.pl 1

- clone.plスクリプト

- クローニング・パラメータ 1

- 環境変数 1

- クローニング

- デプロイメント・フェーズ 1

- ログ・ファイル 1

- clone.plスクリプトに渡されるパラメータ 1

- 準備フェーズ 1

- $ORACLE_HOME/root.shスクリプトの実行 1

- ログ・ファイルのクローニング 1

- クラスタ

- 定義 1

- CLUSTER_DATABASE_INSTANCE初期化パラメータ 1

- CLUSTER_DATABASE_INSTANCES初期化パラメータ 1

- CLUSTER_DATABASE初期化パラメータ 1, 2

- CLUSTER_INTERCONNECTS

- パラメータ 1

- CLUSTER_INTERCONNECTS初期化パラメータ 1 , 2

- クラスタ管理者 1

- クラスタ・キャッシュ一貫性 1

- クラスタ構成ポリシー 1

- クラスタ構成ポリシー・セット 1

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

- 「トップ・アクティビティ」ドリルダウン・メニュー 1

- クラスタ・データベース

- DBCAを使用した作成 1

- クラスタ化されたOracle ASM

- 非クラスタのOracle ASMの変換 1

- クラスタ・ファイル・システム

- アーカイブ・パラメータの設定 1

- アーカイブの使用例 1

- リストア 1

- Oracle RACの記憶域 1

- 「クラスタ・ホストのロード平均」ページ

- クラスタ・データベースのパフォーマンス 1

- クラスタ・ノード名

- clone.plスクリプト 1

- クラスタ

- 複数のデータベースの統合 1

- ポリシー管理 1

- クラスタ検証ユーティリティ

- 概要および概念 1

- クラスタウェア管理ソリューション 1

- コールド・バックアップ 1

- SRVCTLとカンマ区切りリスト 1

- コマンドライン・インタプリタ

- ADRコマンドライン・インタプリタ(ADRCI) 1

- コミットされたデータ

- インスタンス障害 1

- 通信プロトコル

- 設定の検証 1

- 互換性

- Oracle RACおよびOracle Databaseソフトウェア 1

- COMPATIBLE初期化パラメータ 1

- チャネルの構成

- リストアまたはクロスチェック操作中 1

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

- CONNECTコマンド

- SQL*Plus 1

- 接続

- インスタンス 1

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

- 概要 1

- long方式 1

- short方式 1

- 接続プール

- FAN 1

- CONNECT SYS

- 例 1

- 一貫性のあるブロック 1

- CONTROL_FILES初期化パラメータ 1

- 変換

- シングル・インスタンスからOracle RACへ 1

- シングル・インスタンスからOracle Real Application Clustersへ 1

- rconfigの使用 1

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

- インスタンスが1つのOracle RACデータベースからOracle RAC One Nodeへの変換 1

- クラスタ・データベースへの変換

- シングル・インスタンスからOracle Real Application Clustersへ 1

- 変換後 1

- シングル・インスタンス・データベースからOracle RACへ 1

- Oracle RACデータベースへの変換

- 非クラスタ・システムから 1

- データ・ブロックの破損 1

- CREATE PFILE

- FROM MEMORY句 1

- CREATE PFILE句 1

- CREATE SPFILE

- FROM MEMORY句 1

- 作成

- サーバー・パラメータ・ファイル 1

- サービス 1

- SPFILEバックアップ 1

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

- RMANバックアップ 1

- クロスチェック操作

- チャネルの構成 1

- CRSリソース

- 管理 1

- 現行ブロック 1

- CVU

- 「クラスタ検証ユーティリティ」を参照

D

- データベース

- サービス

- SINGLETON 1

- UNIFORM 1

- SRVCTLオブジェクト名 1

- データベース・クラウド 1

- Database Configuration Assistant(DBCA)

- 対話モードでのインスタンスの追加および削除

- Windows 1

- サイレント・モードでのインスタンスの追加および削除

- Windows 1

- 対話モードでのインスタンスの追加

- LinuxおよびUNIX 1

- サイレント・モードでのインスタンスの追加

- LinuxおよびUNIX 1

- Oracle RACインスタンスのクローニング 1

- Oracle Real Application Clustersでのビューの作成 1

- 「データベース記憶域」ページ 1 , 2

- 対話モードでのインスタンスの削除

- LinuxおよびUNIX 1

- Windows 1

- サイレント・モードでのインスタンスの削除

- LinuxおよびUNIX 1

- Windows 1

- 「インスタンス管理」ページ 1 , 2

- 「クラスタ・データベースのリスト」ページ 1 , 2

- catclustdb.sqlスクリプトの実行 1

- 「ようこそ」ページ 1

- データベース・デプロイメント

- 管理者管理 1 , 2

- ポリシー管理 1 , 2

- データベース・インスタンス

- 管理者管理

- 削除 1 , 2

- 接続 1

- データベース・プール 1

- データベース・リソース 1

- データベース・リソース・マネージャ 1

- データベース・ロール 1

- データベース

- 管理者管理 1

- クラスタへの複数のデータベースの統合 1

- 再起動の制御 1

- 作成

- Oracle RAC One Node 1

- Oracle RAC One Node

- サービス 1

- ポリシー管理 1 , 2

- スケーラビリティ 1

- データベース・セッション

- 事前作成済 1

- 「データベース記憶域」ページ 1 , 2

- 「データベース・スループット」ページ

- パフォーマンス監視 1

- データ・ディクショナリ

- ビューの問合せ 1

- データ・リカバリ・アドバイザ 1

- データ・セキュリティ

- キーストア 1

- データ・ウェアハウス

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

- データ・ウェアハウス・システム 1

- DB_BLOCK_SIZE初期化パラメータ 1

- DB_DOMAIN初期化パラメータ 1

- DB_FILES初期化パラメータ 1

- DB_NAME初期化パラメータ 1 , 2

- DB_RECOVERY_FILE_DEST_SIZE初期化パラメータ 1

- DB_RECOVERY_FILE_DEST初期化パラメータ 1 , 2

- DB_UNIQUE_NAME初期化パラメータ 1

- DDL文 1

- デフォルトのデータベース・サービス 1 , 2 , 3

- 並列度 1

- 管理者管理データベースのインスタンスの削除 1 , 2

- 依存性

- サービス 1

- デプロイ

- Oracle Real Application Clusters環境 1 , 2

- 設計

- Oracle Real Application Clusters環境 1 , 2

- Oracle RACの問題の診断 1

- ADRを使用した問題の診断 1

- ディスク・グループ

- SRVCTLオブジェクト名 1

- DISPATCHERS初期化パラメータ

- サービスの指定 1

- 分散トランザクション処理(DTP) 1

- 「DTP」を参照

- 分散トランザクション

- クラスタのシングル・インスタンスへの割当て 1

- Oracle RACのサービス 1

- インスタンスにまたがるXAトランザクション 1

- DML_LOCKS初期化パラメータ 1

- DTP

- サービス

- 再配置 1

- Oracle RACの使用 1

- XAアフィニティ 1

- XAトランザクション 1

- DTPサービス 1

- 動的データベース・サービス

- 説明 1

- 動的データベース・サービス

- 概要 1

- 動的パフォーマンス・ビュー

- 作成 1

- GV$ 1

- V$ 1

- 動的リソース割当て

- 概要 1

E

- E-Commerce

- Oracle RAC内のアプリケーション 1

- エディション

- サービス属性 1

- ENCRYPTION_WALLET_LOCATIONパラメータ 1

- Enterprise Manager

- 概要 1

- 環境変数

- clone.plスクリプトに渡される 1

- SRVCTLを使用した設定 1

- エラー

- リカバリ可能 1

- ブロック転送の評価 1

- イベント通知

- 有効化 1

- 拡張遠距離クラスタ

- Oracle ASM優先ミラー読取り 1

- 拡張遠距離クラスタ

- 優先読取りミラー・ディスクの構成 1

- Oracle Databaseホームの拡張

- 共有ストレージ

- ネットワーク接続ストレージ 1 , 2

- Oracle ACFS 1 , 2

- 外部トランザクション・マネージャ

- OraMTS 1

F

- 障害

- インスタンス 1

- 複数ノード 1

- ノード 1

- 障害グループ 1

- FAN

- 「高速アプリケーション通知(FAN)」を参照

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

- 高可用性イベント 1

- コールアウト

- 定義 1

- 使用方法 1

- イベント

- JDBCの有効化 1

- JDBC-thinクライアントの有効化 1

- OCIの有効化 1

- ODP.NETの有効化 1

- ODP.NETクライアントの有効化 1

- HAイベント 1

- イベントの発行方法 1

- 概要 1

- 概要 1

- パラメータおよび該当するデータベース署名 1

- 使用 1

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

- JDBC-thinクライアントの有効化 1

- ThinクライアントおよびThickクライアントでの有効化 1

- 概要 1

- 高速リカバリ

- Oracleによって管理されたファイル 1

- 障害診断 1

- FCF

- 「高速接続フェイルオーバー(FCF)」を参照

- ファイル

- アーカイブREDOログ・ファイル 1

- REDOログ 1

- ファイル・システム

- SRVCTLオブジェクト名 1

- FROM MEMORY句

- CREATE PFILEまたはCREATE SPFILE 1

G

- GC_SERVER_PROCESSES初期化パラメータ

- LMSnプロセス数の指定 1

- GCS_SERVER_PROCESSES初期化パラメータ 1

- GCSプロトコル 1

- 汎用サーバー・プール 1

- GES

- 「グローバル・キャッシュおよびエンキュー・サービス(GES)」を参照

- GLOBAL_TXN_PROCESSES初期化パラメータ 1

- グローバル・キャッシュおよびエンキュー・サービス(GES) 1

- 「グローバル・キャッシュ・ブロックのアクセス待機時間」 グラフ

- パフォーマンス監視 1

- グローバル・キャッシュ・サービス(GCS) 1 , 2

- グローバル・キャッシュ・サービス・プロセス(LMS) 1

- グローバル・キャッシュ・サービス・プロセス(LMSn)

- 数の削減 1

- 数の指定 1

- グローバル・キャッシュ・サービス統計 1 , 2

- GLOBAL句

- チェックポイントの強制 1

- Global Data Servicesリスナー

- クラスタに追加するコマンド 1

- グローバル・エンキュー・サービス(GES) 1

- グローバル・エンキュー・サービス・デーモン(LMD) 1

- グローバル・エンキュー・サービス・モニター(LMON) 1

- グローバル・エンキュー・サービス統計 1

- グローバル・パフォーマンス・データ

- ADDMの使用 1

- グローバル・リソース・ディレクトリ(GRD) 1

- グローバル・サービス属性

- GDSCTL 1

- グローバル・サービス 1 , 2

- グローバル・トランザクション・プロセス(GTX0-j) 1

- ゴール

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

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

- グリッド・ネーミング・サービス(GNS)

- SRVCTLオブジェクト名 1

- GTX0-j

- グローバル・トランザクション・プロセス 1

- GV$ 1

- GV$SESSION 1

- GV$ビュー 1

H

- ハッシュ・パーティション化

- Oracle RACの使用 1

- havip

- SRVCTLオブジェクト名 1

- 高可用性

- ベスト・プラクティス 1

- Oracle RACデータベース 1

- 高可用性フレームワーク

- 概要 1

- ホーム

- SRVCTLオブジェクト名 1

- HOSTコマンド

- SQL*Plus 1

I

- 冪等性 1

- アイドル状態の待機クラス 1

- IM列ストア

- 「インメモリー列ストア」を参照

- 索引

- 順序ベース 1

- 初期化パラメータ

- CLUSTER_INTERCONNECTS

- 使用する際の推奨事項 1

- クラスタ・データベースの問題 1

- すべてのインスタンスに同じ値を設定 1

- RECOVERY_PARALLELISM 1

- インスタンスの設定 1

- Oracle RACに固有 1

- すべてのインスタンスで同一 1

- すべてのインスタンスで一意 1

- インメモリー列ストア

- 概要 1

- INST_ID列 1

- インストール

- 概要 1

- インストール

- 複数の同時クラスタの実行 1

- インスタンス

- SRVCTLオブジェクト名 1

- INSTANCE_NAME初期化パラメータ 1

- INSTANCE_NUMBER初期化パラメータ 1

- INSTANCE_TYPE初期化パラメータ 1

- インスタンスの検出

- Oracle Enterprise Manager Cloud Control 1

- インスタンス・エンキュー・プロセス(LCK0) 1

- 「インスタンス管理」ページ 1 , 2

- INSTANCE NAME初期化パラメータ 1

- INSTANCEオプション 1

- インスタンス・リカバリ 1

- インスタンス

- サービス・パフォーマンスのための集計 1

- Oracle RACのクローニング 1

- SQL*Plusコマンドの効果 1

- 障害 1

- 初期化パラメータの設定 1

- Oracle RACでの最大数 1

- メモリー構造 1

- パラレル・プロセス 1

- プライベート・インターコネクトの使用 1

- リカバリ 1 , 2

- リカバリ, 異常終了 1

- リカバリ, 複数障害 1

- サーバー管理 1

- 停止 1

- 起動と停止 1

- セッションの終了 1

- 検証 1

- 実行の検証 1

- インスタンス障害

- リカバリ 1

- Statspackのかわり 1

- インターコネクト

- パフォーマンス 1

- Oracle RACアーキテクチャ 1

- 定義 1

- Oracle Real Application Clustersのプロトコル 1

- 設定の検証 1

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

- 待機時間 1

- インターコネクト・ブロック転送率 1

- インターコネクト

- プライベート・ネットワークの代替 1

- プライベート 1

- インターコネクト設定

- 検証 1

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

- Oracle Enterprise Managerによるクラスタウェアの監視 1

- Oracle Clusterwareの監視 1

- プロセス間通信(IPC)

- バッファ・サイズ

- 調整 1

- ioserver

- SRVCTLオブジェクト名 1

- IPCプロトコル 1 , 2

J

- Javaベースのツールとユーティリティ

- CVU 1

- DBCA 1

- DBUA 1

- トレース・ツールの有効化 1

- GSD 1

- NETCA 1

- SRVCTL 1

- Java Database Connectivity(JDBC)クライアント

- Oracle Notification Serviceの使用法 1

- JDBC

- 高速アプリケーション通知イベントの有効化 1

- JDBC/OCI 1

- JDBC-thinクライアント

- 高速接続フェイルオーバー(FCF)の有効化 1

- JDBC-thinドライバ 1

- ジョブの管理

- Oracle Enterprise Manager 1

K

- キーストア

- データ・セキュリティ 1

- KILL SESSION句

- ALTER SYSTEM文 1

L

- LCK0

- インスタンス・エンキュー・プロセス 1

- レベルのしきい値

- サービス 1

- LICENSE_MAX_USERS初期化パラメータ 1

- リスナー

- SRVCTLオブジェクト名 1

- リスナー

- ノードに追加するコマンド 1

- 削除するコマンド 1

- Oracle Net 1

- 「クラスタ・データベースのリスト」ページ 1 , 2

- LMD

- グローバル・エンキュー・サービス・デーモン 1

- LMON グローバル・エンキュー・サービス・モニター 1

- LMS

- グローバル・キャッシュ・サービス・プロセス 1

- LMSnプロセス

- 数の削減 1

- LMSプロセス

- 数の削減 1

- ロード・バランシング

- OCIランタイム接続 1

- サーバー側 1

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

- FANイベント 1

- 使用のための環境の構成 1

- デプロイメント 1

- 説明 1

- イベントおよびFAN 1

- 概要 1

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

- LOCAL_NODEパラメータ

- clone.plスクリプト 1

- ローカル・アーカイブの使用例

- RMAN 1

- Local Area Network(LAN) 1

- LOCAL句

- チェックポイントの強制 1

- ローカル・ファイル・システム

- アーカイブ・パラメータの設定 1

- リストア 1

- ローカル・インスタンス

- 停止 1

- 起動 1

- ローカル管理表領域 1

- ローカル・ノード名

- clone.plスクリプト 1

- LOG_ARCHIVE_FORMAT初期化パラメータ 1

- LOG_ARCHIVE_FORMATパラメータ 1

- ログ・ファイル

- トレース 1

- 論理トランザクションID 1

- 論理トランザクションID (LTXID) 1

- ログ順序番号 1

- LXTID 1

M

- 管理データベース

- SRVCTLオブジェクト名 1

- 管理リスナー

- SRVCTLオブジェクト名 1

- 大規模デプロイメント

- クローニング 1 , 2

- メディア障害

- リカバリ 1

- メモリー・ガード 1

- メモリー構造

- Oracle RAC 1

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

- 移行

- アプリケーション 1

- シングル・インスタンスから 1

- 欠落ファイル 1

- ミッション・クリティカルなシステム

- Oracle RACの考慮事項 1

- 変更データ

- インスタンス・リカバリ 1

- 監視

- アーカイバ・プロセス 1

- 概要および概念 1

- グローバル・キャッシュ・ブロックのアクセスのパフォーマンス 1

- ホストのロード平均の監視 1

- Oracle RACデータベースのすべての非実行インスタンスのマウント 1

- 複数のクラスタ・インターコネクト 1

- クラスタ内の複数のデータベース 1

- 複数インスタンス

- 単一のSQL*Plusセッションからの開始 1

- 1つのノードからの開始 1

- 複数ノード障害 1

- 複数のパブリック・ネットワーク 1

- 多重REDOログ・ファイル 1

- マルチテナント・コンテナ・データベース

- 「CDB」を参照

- 可変

- 権限のルール 1

N

- ネット・サービス名 1

- ネットワーク

- サービス登録の制限 1 , 2

- SRVCTLオブジェクト名 1

- Network Attached Storage(NAS) 1

- ネットワーク・リソース 1

- ノード

- 障害およびVIPアドレス 1

- ノード・アフィニティの認識 1

- nodeapps

- SRVCTLオブジェクト名 1

- ノードの検出

- Oracle Enterprise Manager Cloud Control 1

- ノード削除 1

- ノード

- アフィニティの認識 1

- 障害 1

- 仮想IPアドレス 1

- ノードVIP 1

- 非クラスタ・データベース

- 静止 1

- 非クラスタのOracle ASM

- クラスタ化されたOracle ASMへの変換 1

O

- オブジェクトの作成および削除 1

- オブジェクト

- 生成およびパフォーマンスへの影響 1

- SRVCTLのオブジェクト名および短縮形 1

- OC4J

- SRVCTLオブジェクト名 1

- OCI

- ランタイム接続ロード・バランシング 1

- セッション・プーリング 1

- セッション・プール

- 最適化 1

- ランタイム接続ロード・バランシング 1

- サービス・メトリック 1

- OCRDUMPユーティリティ 1

- ODP.NET

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

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

- OLTP環境 1

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

- 再配置機能 1

- オンライン・リカバリ 1

- オンライン・トランザクション処理(OLTP)

- Oracle RAC内のアプリケーション 1

- ons

- SRVCTLオブジェクト名 1

- ONS

- 「Oracle Notification Service」を参照

- 最適実行計画 1

- Oracle ACFS 1

- Oracle ASM

- 「Oracle Automatic Storage Management(Oracle ASM)」を参照 1

- Oracle Automatic Storage Management(Oracle ASM)

- アーカイブの使用例 1

- 非クラスタのOracle ASMからクラスタ化されたOracle ASMへの変換 1

- インストール 1

- インスタンス

- SRVCTLを使用した管理 1

- Oracle ASM優先読取り障害グループ 1

- 優先読取りミラー・ディスク 1

- 優先読取りディスク 1

- SRVCTLオブジェクト名 1

- 記憶域ソリューション 1

- Oracle Call Interface

- 「OCI」を参照

- Oracle Cluster Registry(OCR) 1 , 2

- Oracle Clusterware

- クローニング 1

- データベースの再起動の制御 1

- 制御ポリシー

- AUTOMATIC 1

- MANUAL 1

- 表示および変更のためのSRVCTLの使用 1

- 説明 1

- 概要 1

- 概要および概念 1

- Oracleプロセスの管理 1

- Oracle Database

- セッション・アクティビティ 1

- Oracle Database Upgrade Assistant 1

- Oracle Enterprise Manager

- ノードへのデータベース・インスタンスの追加

- LinuxおよびUNIX 1

- Windows 1

- アラートの管理 1

- アラートのブラックアウト 1

- Automatic Database Diagnostic Monitoring(ADDM) 1

- 「平均アクティブ・セッション」グラフ 1

- クラスタ・データベース・ホーム・ページの表示 1

- 「クラスタ・データベース」ページ 1

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

- Oracle RACデータベースのパフォーマンス統計 1

- データベース管理での変更を認識させるための構成 1

- 「データベース・スループット」グラフ 1

- ノードからのデータベース・インスタンスの削除 1 , 2

- 「グローバル・キャッシュ・ブロックのアクセス待機時間」 グラフ 1

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

- ジョブの管理 1

- 使用可能ノードのロード値の監視 1

- 概要および概念 1

- 「トップ・アクティビティ」ドリルダウン・メニュー 1

- 「インターコネクト」ページを使用したOracle Clusterwareの監視 1

- Oracle RACを管理するための使用 1

- サービスを管理するための使用 1

- サーバー・パラメータ・ファイルをバックアップするための使用 1

- シングル・インスタンスのデータベースのOracle Real Application Clustersヘの変換 1

- DTPサービスを作成するための使用 1

- Oracle Clusterwareを監視するための使用 1

- Oracle RACを監視するための使用 1

- Oracle RAC環境を監視するための使用 1

- SPFILEをリストアするための使用 1

- 自動ワークロード・リポジトリのアクションをスケジュールするための使用 1

- 高速リカバリ領域を設定するための使用 1

- データベースを起動または停止するための使用 1

- RMANでの使用 1

- Oracle Enterprise Manager Cloud Control

- インスタンスの検出 1

- ノードの検出 1

- Oracle Grid Infrastructure 1

- Oracleホーム

- 定義 1

- Oracle Interface Configuration(OIFCFG) 1

- Oracle Managed Files 1

- Oracle Maximum Availability Architecture(MAA) 1

- Oracle Multitenant 1

- Oracle Net

- リスナー 1

- Oracle Net接続フェイルオーバー 1

- Oracle Net Services

- ロード・バランシング 1

- サービス 1

- Oracle Notification Service

- SRVCTLオブジェクト名 1

- FANでの使用 1

- Oracle Notification Services

- API 1

- Oracleプロセス

- Oracle Clusterwareでの管理 1

- Oracle RAC

- 管理者管理データベースのインスタンスの追加 1 , 2

- ポリシー管理データベースのインスタンスの追加 1 , 2

- LinuxおよびUNIXでのクラスタのノードへの追加 1

- Windowsでのクラスタのノードへの追加 1

- E-Commerce 1

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

- ACMS 1

- GTX0-j 1

- LCK0 1

- LMD 1

- LMON 1

- LMS 1

- RMSn 1

- RSMN 1

- クローニングのメリット 1

- クローニング

- バイナリのサイズ 1

- データベースの変換元 1

- データベースの変換先 1

- 非クラスタ・システムからの変換 1

- シングル・インスタンスからOracle RAC One Nodeへの変換 1

- Oracle RACホームのコピー 1

- データベース

- シングル・インスタンスOracle Databaseからの変換 1

- 静止 1

- クローンのデプロイ 1

- パフォーマンスの問題の診断 1

- 問題の診断 1

- 管理の概要 1

- Windowsでの削除 1

- LinuxおよびUNIXからのソフトウェアの削除 1

- セキュリティに関する考慮事項 1

- インスタンスの停止 1

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

- 記憶域オプション

- IBM GPFS 1

- ネットワーク・ファイル・システム(NFS) 1

- Oracle Automatic Storage Management(Oracle ASM) 1

- Oracle Automatic Storage Management Cluster File System (Oracle ACFS) 1

- Oracle OCFS2 1

- ボリューム・マネージャ 1

- 高速リカバリ領域の使用 1

- Oracle RAC One Node

- データベースの変換元 1

- データベースの変換先 1

- Oracle RACへの変換 1

- データベースの作成 1

- データベース

- サービス 1

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

- 別のノードへの再配置 1

- Oracle Real Application Clusters

- 「Oracle RAC」を参照

- Oracle Real Application Clusters One Node

- 「Oracle RAC One Node」を参照

- Oracle Resource Manager

- サービス 1

- Oracleサービス

- 使用 1

- Microsoftトランザクション・サーバー用のOracleサービス

- OraMTSサービスの作成 1

- Oracle Streams 1

- Oracle Streamsのアドバンスト・キューイング

- FAN 1

- Oracle Universal Installer

- データベース・インストール 1

- Oracle Real Application Clustersのインストール 1

- Oracle XA 1

- oradebug ipcコマンド 1

- OraMTS

- 外部トランザクション・マネージャ 1

- orapwdファイル 1

- 停止

- 計画 1

- 計画外 1

P

- PARALLEL_EXECUTION_MESSAGE_SIZE初期化パラメータ 1

- PARALLEL_FORCE_LOCAL初期化パラメータ 1

- パラレル実行 1

- パラレル化

- Oracle RAC 1

- パラレル問合せの最適化 1

- パラレル・プロセス 1

- パラレル・リカバリ

- 無効化 1

- パラメータ・ファイル

- 概要 1

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

- パラメータ

- DB_RECOVERY_FILE_DEST 1

- すべてのインスタンスで同一 1

- すべてのインスタンスで一意 1

- パスワード・ファイルベースの認証 1

- PDB

- 管理 1

- パフォーマンス

- サービスごとの集計 1

- 包括的なグローバル・データ 1

- 待機イベント、サービスおよびインスタンス単位でのアクティビティの監視 1

- データベース・スループットの監視 1

- グローバル・キャッシュ・ブロックのアクセスの監視 1

- データベースで発生する可能性のある問題の監視 1

- 影響する主な要素 1

- インスタンスごとのサービス集計 1

- 待機ごとのサービス集計 1

- ADDMの使用 1

- パフォーマンス評価

- 概要および概念 1

- パフォーマンス統計 1

- PFILE

- Oracle RACでの使用 1

- フェーズ

- クローニングのデプロイメント 1

- クローニングの準備 1

- プラガブル・データベース

- 「PDB」を参照

- PMONバックグラウンド・プロセス 1

- ポリシー管理クラスタ 1

- ポリシー管理データベース 1 , 2

- ポリシー管理データベース・インスタンス

- 追加 1

- ポリシー管理データベース

- LinuxおよびUNIXでの削除 1

- Windowsでの削除 1

- デプロイ 1

- 管理 1

- ポリシー・セット 1

- PREFERREDインスタンス

- サービス 1

- 優先読取りディスク

- Oracle RAC拡張遠距離クラスタでのOracle ASM 1

- プライベート・クラウド 1

- プライベート・インターコネクト

- 使用の確認 1

- プライベート・ネットワーク

- 代替インターコネクト 1

- プライベート・ネットワークIPアドレス 1

- プロセス

- Oracle Clusterwareでの管理 1

- パラレル 1

- パブリック・インタフェースおよびプライベート・インタフェース

- Oracle Enterprise Managerに表示 1

- パブリック・ネットワーク

- 定義 1

Q

- 問合せオプティマイザ

- デフォルト・コスト・モデル 1

- キュー表 1

- データベースの静止

- Oracle Real Application Clusters 1

- データベースの静止 1

- 静止

- 非クラスタ・データベース 1

R

- rconfig 1

- リバランス

- ワークロード 1

- リカバリ可能エラー 1

- RECOVERコマンド

- SQL*Plus 1

- リカバリ

- SHUTDOWN ABORT後 1

- 複数ノード障害 1

- 単一ノード障害 1

- インスタンス 1

- メディア障害 1

- オンライン 1

- パラレル 1

- RECOVERY_PARALLELISMパラメータ 1

- REDOログ・ファイル

- インスタンス・リカバリ 1

- ログ順序番号 1

- 使用 1

- REDOログ・グループ 1

- REDOログ

- フォーマットおよび接続先の指定 1

- REDOスレッド 1

- 競合の低減 1

- リージョン 1

- REMOTE_LOGIN_PASSWORDFILE初期化パラメータ 1

- リモートOracle Notification Serviceサブスクリプション 1

- リモート・スレーブ・モニター(RSMN) 1

- レプリケート・データベース

- グローバル・サービス 1

- リソースの競合 1

- リソース・マネージャ 1

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

- サービスの作成 1

- リソース

- 解放 1

- セッションが保持するリソース 1

- リストア機能の使用例

- RMAN 1

- リストア・スキーム

- クラスタ・ファイル・システム 1

- ローカル・ファイル・システム 1

- RESULT_CACHE_MAX_SIZE初期化パラメータ 1 , 2

- 結果キャッシュ

- 無効化 1

- 有効化 1

- RMAN

- CONFIGUREコマンド 1

- チャネルの構成 1

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

- インスタンスごとに1つのチャネルの構成 1

- スナップショット制御ファイルの場所の構成 1

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

- ローカル・アーカイブの使用例 1

- リストア機能の使用例 1

- SPFILEバックアップを作成するための使用 1

- RMSn

- Oracle RAC管理プロセス 1

- ロールバック

- インスタンス・リカバリ 1

- root.shスクリプト

- $ORACLE_HOME 1

- RSMN

- リモート・スレーブ・モニター 1

- ランタイム接続ロード・バランシング

- 定義 1

- OCIセッション・プール 1

- 概要 1

- ランタイム接続ロード・バランシング 1

S

- スケーラビリティ

- Oracle RAC 1

- scan

- SRVCTLオブジェクト名 1

- SCAN 1

- scan_listener

- SRVCTLオブジェクト名 1

- SCANリスナー

- サービス登録の制限 1 , 2

- スクリプト

- $ORACLE_HOME/root.sh 1

- セキュリティ

- キーストア 1

- 順序ベースの索引 1

- 順序

- ログ順序番号 1

- サーバー

- SRVCTLオブジェクト名 1

- サーバー制御ユーティリティ

- SRVCTLを参照 1

- サーバー管理

- インスタンスの管理 1

- サーバー・パラメータ・ファイル

- バックアップ 1

- サーバー・パラメータ・ファイル

- 作成 1

- サーバー・プール

- SRVCTLオブジェクト名 1

- サーバー・プール

- ポリシー管理用に作成 1

- Generic 1

- XML変換ファイル 1

- サーバー

- 別のサーバー・プールからの再配置 1

- スケーラビリティ 1

- サービス

- SRVCTLオブジェクト名 1

- SERVICE_NAMES初期化パラメータ

- サービスの設定 1 , 2

- サービス・レベル契約 1

- サービス・レベルの目標

- Oracle RACの定義 1

- サービス・レベル 1

- サービス・メトリック

- OCIランタイム接続ロード・バランシング 1

- ランタイム接続ロード・バランシング 1

- サービス

- インスタンスごとに集計されたアクティビティ・レベル 1

- サービスごとに集計されたアクティビティ・レベル 1

- 待機ごとに集計されたアクティビティ・レベル 1

- 管理 1

- Oracle Enterprise Managerを使用した管理 1

- SRVCTLを使用した管理 1 , 2

- 属性

- エディション 1

- 基本概念 1

- 自動ワークロード管理の特性の構成 1

- デフォルト 1

- 依存性 1

- イベント通知の有効化 1

- グローバル 1

- 概要 1

- レベルのしきい値 1

- 管理ポリシー

- 自動 1

- 手動 1

- AWRで監視されたパフォーマンス 1

- リスナーへの登録の制限 1 , 2

- SERVICE_NAMESパラメータ 1 , 2

- サービスの指定 1

- 使用 1

- 管理者管理データベース用のサービス 1

- SERVICE TIME

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

- セッション

- 特定のインスタンスでの終了 1

- インスタンスの設定 1 , 2

- Shared Everything 1

- 共有サーバー構成 1

- SHOW INSTANCEコマンド

- SQL*Plus 1

- SHOW PARAMETERコマンド

- SQL*Plus 1

- SHOW PARAMETERSコマンド 1

- SHOW SGAコマンド

- SQL*Plus 1

- SHUTDOWN ABORT 1 , 2

- SHUTDOWNコマンド

- ABORTオプション 1

- SQL*Plus 1

- SHUTDOWN IMMEDIATE 1

- SHUTDOWN TRANSACTIONAL 1

- 停止

- インスタンス 1

- インスタンスの停止

- 異常終了 1

- インスタンスの停止 1

- sidalrt.logファイル 1

- 単一クライアント・アクセス名

- 「SCAN」を参照

- 単一クライアント・アクセス名(SCAN)

- SRVCTLオブジェクト名 1

- シングル・インスタンスのデータベース

- Oracle RACデータベースへの変換

- 管理上の問題点 1

- シングル・インスタンスのデータベース

- 変換 1

- Oracle RACデータベースへの変換 1

- 単一のシステム・イメージ 1

- SMONプロセス

- インスタンス・リカバリ 1 , 2

- SHUTDOWN ABORT後のリカバリ 1

- スナップショット制御ファイル

- 場所の構成 1

- データ・ウェアハウス・システムのスピードアップ 1

- SPFILE

- バックアップ 1

- バックアップ

- 作成 1

- パラメータ設定の変更 1

- 破損 1

- デフォルト名 1

- 場所 1

- 命名規則 1

- リカバリ 1

- Oracle Enterprise Managerを使用したリストア 1

- RMANを使用したリストア 1

- 値の設定 1

- SPFILE初期化パラメータ 1 , 2

- SQL*Plus

- コマンド

- CONNECT 1

- インスタンスへの効果 1

- SQL文

- パラレル実行 1

- インスタンス固有 1

- SRVCTL

- addの使用方法の説明 1

- Oracle ASMインスタンスの管理 1

- サービスの管理 1

- クラスタ・データベース構成タスク 1

- クラスタ・データベース・タスク 1

- コマンド・フィードバック 1

- コマンド

- add cvu 1 , 2

- add database 1

- add havip 1

- add instance 1

- add listener 1

- add mgmtlsnr 1

- add network 1

- add nodeapps 1

- add ons 1

- add scan 1

- add scan_listener 1

- add service 1

- add srvpool 1

- add vip 1

- config cvu 1

- config database 1

- config havip 1

- config listener 1

- config network 1

- config nodeapps 1

- config oc4j 1

- config ons 1

- config scan 1

- config scan_listener 1

- config service 1

- config srvpool 1

- config vip 1

- config volume 1

- convert database 1

- disable cvu 1

- disable database 1

- disable diskgroup 1

- disable filesystem 1

- disable gns 1

- disable havip 1

- disable instance 1

- disable listener 1

- disable mgmtdb 1

- disable mgmtlsnr 1

- disable nodeapps 1

- disable oc4j 1

- disable ons 1

- disable scan 1

- disable scan_listener 1

- disable service 1

- disable vip 1

- disable volume 1

- downgrade database 1

- enable asm 1

- enable cvu 1

- enable database 1

- enable diskgroup 1

- enable filesystem 1

- enable gns 1

- enable havip 1

- enable instance 1

- enable listener 1

- enable mgmtdb 1

- enable mgmtlsnr 1

- enable nodeapps 1

- enable oc4j 1

- enable ons 1

- enable scan 1

- enable scan_listener 1

- enable service 1

- enable vip 1

- enable volume 1

- -eval parameter 1

- export gns 1

- getenv asm 1

- getenv database 1

- getenv listener 1

- getenv mgmtdb 1

- getenv mgmtlsnr 1

- getenv nodeapps 1 , 2

- help 1

- import gns 1

- modify asm 1

- modify cvu 1

- modify database 1

- modify filesystem 1

- modify gns 1

- modify havip 1

- modify instance 1

- modify listener 1

- modify mgmtdb 1

- modify mgmtlsnr 1

- modify network 1

- modify nodeapps 1

- modify oc4j 1

- modify ons 1

- modify scan 1

- modify scan_listener 1

- modify service 1

- modify srvpool 1

- modify vip 1

- predict asm 1

- predict database 1

- predict diskgroup 1

- predict filesystem 1

- predict listener 1

- predict network 1

- predict oc4j 1

- predict scan 1

- predict scan_listener 1

- predict service 1

- predict vip 1

- relocate asm 1

- relocate cvu 1

- relocate database 1

- relocate gns 1

- relocate havip 1

- relocate mgmtdb 1

- relocate oc4j 1

- relocate scan 1

- relocate scan_listener 1

- relocate server 1

- relocate service 1

- relocate vip 1

- remove asm 1

- remove database 1

- remove diskgroup 1

- remove filesystem 1

- remove gns 1

- remove havip 1

- remove instance 1

- remove listener 1

- remove mgmtdb 1

- remove mgmtlsnr 1

- remove network 1

- remove nodeapps 1

- remove oc4j 1

- remove ons 1

- remove scan 1

- remove scan_listener 1

- remove service 1

- remove srvpool 1

- remove vip 1

- remove volume 1

- setenv asm 1

- setenv database 1 , 2

- setenv listener 1

- setenv mgmtdb 1

- setenv mgmtlsnr 1

- setenv nodeapps 1

- srvctl setenv 1

- start asm 1

- start cvu 1

- start database 1 , 2

- start diskgroup 1

- start filesystem 1

- start gns 1

- start havip 1

- start instance 1 , 2

- start listener 1

- start mgmtdb 1 , 2

- start nodeapps 1

- start oc4j 1

- start ons 1

- start scan 1

- start scan_listener 1

- start service 1

- start vip 1

- start volume 1

- status asm 1

- status cvu 1

- status database 1

- status diskgroup 1

- status filesystem 1

- status gns 1

- status havip 1

- status home 1

- status instance 1

- status listener 1

- status mgmtdb 1

- status mgmtlsnr 1

- status nodeapps 1

- status oc4j 1

- status ons 1

- status scan 1

- status scan_listener 1

- status server 1

- status service 1

- status srvpool 1

- status vip 1

- status volume 1

- stop asm 1

- stop cvu 1

- stop database 1 , 2 , 3

- stop diskgroup 1

- stop filesystem 1

- stop gns 1

- stop havip 1

- stop home 1

- stop instance 1 , 2

- stop listener 1

- stop mgmtlsnr 1

- stop nodeapps 1

- stop oc4j 1

- stop ons 1

- stop scan 1

- stop scan_listener 1

- stop service 1

- stop vip 1

- stop volume 1

- unsetenv asm 1

- unsetenv database 1 , 2

- unsetenv listener 1

- unsetenv mgmtdb 1

- unsetenv mgmtlsnr 1

- unsetenv nodeapps 1

- update database 1

- update gns 1

- update listener 1

- update scan_listener 1

- upgrade database 1

- コマンド構文 1

- 同時コマンド 1

- configの使用方法の説明 1

- 非推奨のコマンドおよびオプション 1

- SRVCTLとCRSCTLの違い 1

- disableの使用方法の説明 1

- enableの使用方法の説明 1

- イベント通知の有効化 1

- getenvの使用方法の説明 1

- modifyの使用方法の説明 1

- ノード・レベル・タスク 1

- オブジェクト名

- データベース 1

- ディスク・グループ 1

- ファイル・システム 1

- グリッド・ネーミング・サービス(GNS) 1

- havip 1

- ホーム 1

- インスタンス 1

- ioserver 1

- リスナー 1

- mgmtdb 1

- mgmtlsnr 1

- ネットワーク 1

- ノード・アプリケーション(nodeapps) 1

- oc4j 1

- Oracle Automatic Storage Management(Oracle ASM) 1

- Oracle Notification Service 1

- scan 1

- scan_listener 1

- サーバー 1

- サーバー・プール(srvpool) 1

- サービス 1

- vip 1

- ボリューム 1

- オブジェクト名 1

- 概要 1

- 概要および概念 1

- predictの使用方法の説明 1

- relocateの使用方法の説明 1

- removeの使用方法の説明 1

- setenvの使用方法の説明 1

- コマンドライン・エントリの継続指定 1

- ファイル内でのコマンド・パラメータの指定 1

- startの使用方法の説明 1

- statusの使用方法の説明 1

- stopの使用方法の説明 1

- クラスタ・データベースの停止および起動 1

- アクティブなコマンドの停止 1

- unsetenvの使用方法の説明 1

- カンマ区切りリストの使用 1

- SRVM_TRACE環境変数 1

- Standard Edition

- Oracle ASMのインストール 1

- 管理者管理データベースの起動 1

- ポリシー管理データベースの起動 1

- STARTUPコマンド

- SQL*Plus 1

- 統計

- 内容 1

- Statspack

- 使用方法 1

- データベース・インスタンスの停止 1

- 記憶域

- クラスタ・ファイル・システム 1

- Oracle Automatic Storage Management(Oracle ASM) 1

- サブネット

- 仮想IPアドレスの構成 1

- サブネット 1

- SYSASM権限 1

- SYSAUX表領域

- ノード追加時のサイズの増加 1

- ノード削除時のサイズの減少 1

- SYSDBA 1

- Oracle ASMインスタンスへのSYSDBA接続 1

- SYSOPER 1

- システム変更 1

- システム・グローバル領域(SGA)

- サイズ要件 1

T

- 表領域

- Oracle RACでの自動セグメント領域管理(ASSM) 1

- Oracle RACでの自動UNDO管理 1

- ローカル管理 1

- Oracle RACでの使用 1

- TCP/IP 1

- TCPネットワーク・ポート

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

- 特定のインスタンスのセッションの終了 1

- THREAD初期化パラメータ 1

- スレッド

- 複数のアプリケーション 1

- 定期的な統計 1

- tnsnames.oraファイル 1

- 「トップ・アクティビティ」ドリルダウン・メニュー

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

- トップ・クラスタ・イベント 1

- トップ・クラスタ・イベント, ASHレポート 1

- トップ・リモート・インスタンス 1

- トップ・リモート・インスタンス, ASHレポート 1

- TRACE_ENABLED初期化パラメータ 1

- トレース・ファイル

- 管理 1

- sidalrt.log 1

- バックグラウンド・プロセス用トレース・ファイル 1

- トレース

- Javaベースのツールとユーティリティの有効化 1

- SRVM_TRACE環境変数 1

- ログ・ファイルへの書込み 1

- トランザクションTAF 1

- トランザクション・フェイルオーバー 1

- トランザクション・ガード

- JDBC-thinクライアントの構成 1 , 2

- OCIクライアントの構成 1

- サービス属性の構成 1

- サービスの構成 1

- 概要 1

- トランザクション履歴表 1

- トランザクション履歴表 1

- トランザクションの冪等性 1

- トランザクション

- 分散SQL 1

- DTP/XA 1

- インスタンス障害 1

- ロールバック 1 , 2

- リカバリ待機 1

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

- サービス 1

- 透過的データ暗号化

- ENCRYPTION_WALLET_LOCATIONパラメータの指定 1

- 暗号化されたキーストアおよび不明瞭にされたキーストア 1

- チューニング

- 概要 1

- ADDMの使用 1

U

- UNDO_MANAGEMENT初期化パラメータ 1

- UNDO_RETENTION初期化パラメータ 1

- UNDO_TABLESPACEパラメータ 1

- UNDO表領域 1

- アップグレード

- 管理ポリシーの変更 1

- User Datagram Protocol (UDP) 1

- ユーザー・プロセス・トレース・ファイル 1

V

- V$ 1

- V$CLUSTER_INTERCONNECTS 1 , 2

- V$CONFIGURED_INTERCONNECTS 1

- V$ビュー 1

- 有効なノードの確認 1 , 2

- ベンダーのクラスタウェア 1

- 検証

- データ・ファイル, オンライン・ファイル 1

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

- バージョン

- Oracle RACおよびOracle Databaseソフトウェアの互換性 1

- ビュー

- Oracle Real Application Clusters用の作成 1

- 動的パフォーマンス

- パフォーマンス監視, 1

- GV$ 1

- パフォーマンス監視, 1

- GV$SESSION 1

- インスタンス固有

- V$ビュー 1

- VIP

- SRVCTLオブジェクト名 1

- VIP

- ノード 1

- 仮想インターネット・プロトコル(VIP)・アドレス 1

- 仮想IPアドレス

- 要件 1

- VNCR

- 「有効なノードの確認」を参照

- ボリューム

- SRVCTLオブジェクト名 1

W

- 待機イベント

- サービス・パフォーマンスのための集計 1

- ブロック関連 1

- 競合関連 1

- ロード関連 1

- メッセージ関連 1

- 「ようこそ」ページ 1

- Windowsファイアウォール 1

- ワークロード管理

- 「自動ワークロード管理」を参照

- ワークロード

- サービス 1

- 「自動ワークロード管理」も参照 1

X

- XAアフィニティ 1

- XAトランザクション

- Oracle RACインスタンスにまたがる 1

- XAトランザクション 1

Oracleの法律上の注意点

コピーライト

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

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

保証免責

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

制限付権利について

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

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 Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

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およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

Pre-General Availability (一般提供前)版のドキュメントについて

このドキュメントがPre-General Availability (一般提供前)版の場合:

このドキュメントはPre-General Availability (一般提供前)版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のPre-General Availability (一般提供前)版のドキュメントについて

このドキュメントが非公開のPre-General Availability (一般提供前)版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のPre-General Availability Trial Agreement (Pre-GAトライアル契約)のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle Partner Network Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティ

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

Oracle Supportへのアクセス

サポートをご契約のお客様には、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)を参照してください。