Oracle ソフトウェアログは alert_log_file 拡張プロパティーによって識別されたファイルに警告を記録します。サーバー障害モニターは、このファイルをスキャンし、アクションが定義されている警告に対してアクションを実行します。
アクションが事前設定されている警告ログは、表 2 に一覧表示されています。事前設定アクションを変更するため、またはサーバー障害モニターが応答する新しい警告を定義するために、警告ログに対する応答を変更します。
警告ログに対する応答を変更するには、カスタムアクションファイルにエントリを作成します。キーワードは次のように設定します。
ERROR_TYPE は、SCAN_LOG に設定します。
ERROR は、Oracle が Oracle 警告ログファイルに記録した、エラーメッセージの文字列を識別する、引用正規表現に設定します。
ACTION は、必要とするアクションに設定します。
サーバー障害モニターは、カスタムアクションファイルのエントリをエントリが生じた順序で処理します。記録された警告と一致する最初のエントリのみが処理されます。後続の一致しているエントリは無視されます。複数の記録された警告に対してアクションを指定するために正規表現を使用している場合、より一般的なエントリの前に、より特殊なエントリが発生するようにします。一般エントリのあとに発生する特殊なエントリが無視されることがあります。
たとえば、カスタムアクションファイルは正規表現 ORA-65 および ORA-6 によって識別されるエラーに対して異なるアクションを定義することがあります。正規表現 ORA-65 を含むエントリが無視されないようにするため、このエントリが正規表現 ORA-6 を含むエントリの前に発生することを確認します。
次の例は、ログされた警告に対する応答を変更するためのカスタムアクションファイルのエントリを示しています。
{ ERROR_TYPE=SCAN_LOG; ERROR="ORA-00600: internal error"; ACTION=RESTART; }
この例は、内部エラーに関する警告ログに対する事前設定アクションをオーバーライドするカスタムアクションファイルのエントリを示しています。このエントリは、次の動作を指定しています。
テキスト ORA-00600: internal error を含む警告ログに対して、サーバー障害モニターが実行するアクションは再起動です。
このエントリは、データベースおよびサーバー障害モニター間の接続状態に関わらず、エラーが検出されたときに適用されます。
データベースおよびサーバー障害モニター間の接続状態は、エラーが検出されたあとも変更されないまま維持される必要があります。
このエラーが検出されたとき、追加のメッセージはリソースのログファイルには出力されません。