サーバー障害モニターが無視するエラーによって複数のセッションに影響が出る場合は、サービスの損失を防止するアクションをサーバー障害モニターで実行します。
たとえば、Oracle エラー 4031 にはアクションが事前設定されていません。このエラーは、unable to allocate num-bytes bytes of shared memory というエラーです。ただし、この Oracle エラーは、共有大域領域 (SGA) がメモリー不足である、ひどく断片化されている、またはその両方の状況に陥っていることを意味します。このエラーの影響を受けるセッションが 1 つだけであれば、無視しても問題ありません。しかし、このエラーが複数のセッションに影響を与える場合は、サーバー障害モニターによるデータベースの再起動を考慮してください。
次に、DBMS エラーへの対応を再起動に変更するカスタムアクションファイルのエントリの例を示します。
{ ERROR_TYPE=DBMS_ERROR; ERROR=4031; ACTION=restart; CONNECTION_STATE=*; NEW_STATE=*; MESSAGE="Insufficient memory in shared pool."; }
この例は、DBMS エラー 4031 の事前設定アクションを変更するカスタムアクションファイルのエントリです。このエントリで指定される処理は、次のとおりです。
DBMS エラー 4031 への対応としてサーバー障害モニターが実行するアクションは、再起動です。
このエントリは、エラー検出時のデータベースとサーバー障害モニター間の接続状態に関係なく適用されます。
データベースとサーバー障害モニター間の接続状態は、エラー検出後も維持されます。
このエラーが検出されると、次のメッセージがリソースのログファイルに出力されます。
Insufficient memory in shared pool. |