プライマリ・コンテンツに移動
Oracle® Real Application Clusters管理およびデプロイメント・ガイド
12cリリース1 (12.1)
B71323-07
目次へ移動
目次
索引へ移動
索引

前
次

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

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停止イベントで、これらのイベントは、発生した場所にかかわらず、すべてのノードにポストされます。