オラクルには、実行されたアクションを、OSの監査証跡、もしくはSYSTEM表領域のデータディクショナリ内にある監査用テーブルSYS.AUD$に書き込む機能がある。
データベースを監査可能な状態にするには、パラメータ・ファイル内のAUDIT_TRAIL初期化パラメータを変更して再起動する必要がある(これが設定されていない場合、監査ステータスは変更できるが実際の監査証跡の作成は行われない)。
SYS.AUD$表を利用する場合には、SYSとしてCATAUDIT.SQLスクリプトを実行し、以下の監査ビューを作成する。
監査の記録を消去する場合には、SYSとしてCATNOAUD.SQLスクリプトを実行し、上の監査ビューを削除する。
また、監査証跡表はサイズが限られている(デフォルトは99エクステント×10KB)ので、定期的にデータを保存(EXPORTするか、他の表に移すか)して、TRUNCATEで表をクリアする必要がある。
AUDIT/NOAUDIT文の発行によって監査オプションを設定する。設定されたオプションは、その後にログオンしたセッションについて適用される。
監査オプションの設定状況にはかかわりなく、「インスタンスの起動・停止」「管理者権限でのデータベースへの接続」は監査履歴に残される(OS証跡が使用できない場合にはトレースファイルと同じディレクトリにあるファイルに保存)。また、値の変化は監査できないため、それが必要な場合にはデータベース・トリガを利用して個々に保存を行う。
以下に示す情報は、意味がある場合には常に監査証跡レコードに保存される。
監査オプションは、次の3つのレベルで定義できる。
監査を有効にするコマンドは以下のとおり。
AUDIT [文 or 権限] (BY [ユーザ]) (WHENEVER SUCCCESSFUL | WHENEVER NOT SUCCCESSFUL) (BY SESSION | BY ACCESS)
BY SESSIONオプションを指定すると操作はセッションごとに記録され、BY ACCESSオプションを指定するとアクセスごとに記録される。
監査を無効にするコマンドは以下のとおり。
NOAUDIT [文 or 権限] (BY [ユーザ])
文監査・権限監査は、AUDIT ANYシステム権限を持つもののみが有効・無効を設定できる。
監査を有効にするコマンドは以下のとおり。
AUDIT [オプション] ON [オブジェクト] (WHENEVER SUCCCESSFUL | WHENEVER NOT SUCCCESSFUL) (BY SESSION | BY ACCESS)
監査を無効にするコマンドは以下のとおり。
NOAUDIT [オプション] ON [オブジェクト] (BY [ユーザ])
オブジェクト監査は、オブジェクトの所有者、もしくはAUDIT ANYシステム権限を持つもののみが有効・無効を設定できる。
監査証跡ビューは以下のような情報を返す。