Oracle Grid Infrastructureの役割
RACを構成するコンポーネントとして、Oracle Databaseのソフトウェアをインストールする前にOracle Grid Infrastructure(GI)のソフトウェアをインストールします。GIをインストールすると、インストーラが自動的にクラスタの構成を行い、各ノードの監視を開始します。続いてOracle Databaseのソフトウェアをインストールし、Database Configuration Assistant(DBCA)ユーティリティでデータベースを作成すると、RACデータベースを構成するOracleインスタンスがGIに登録され、監視対象となります(図1)。
Oracleインスタンスの起動もしくは停止があると、GIはRACを構成する他のOracleインスタンスにこの増減を通知し、それをトリガーとしてクラスタの再構成が開始されます。
各コンポーネントの障害からのリカバリについて見ていきましょう。
Oracleサーバー・プロセス障害
OracleクライアントはOracleリスナー・プロセスに接続リクエストを発行し、Oracleサーバー・プロセスを生成してOracleインスタンスに接続されます。専用サーバー・プロセスと呼ばれる構成では、1本のセッションにつき専用の1つのOracleサーバー・プロセスが生成されます。Oracleサーバー・プロセスがSQLの実行主体です。
Oracleサーバー・プロセスに障害が発生すると、Oracleインスタンスによって検出され、自動的にそのOracleサーバー・プロセスが実行していた未完了トランザクションがロールバックされます。Oracleクライアントにはエラーが返り、アプリケーションがそのエラーを処理します。Oracleサーバー・プロセス障害の場合、他のセッションはエラーとなるような影響を受けずにトランザクションを継続できます(図2)。