Oracle 監査機能:
Oracle11g では監査機能が導入されましたが、この機能は多くの操作に対して監査ファイル .aud を生成し、時間の経過とともにこれらのファイルの多くが存在します.デフォルトでは、リソースを節約し、I/O 操作を減らすために、システム監査機能はオフになってい
ます.
監査機能オフ
1. 監査機能が有効になっているかどうかを確認する
SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB
注: VALUE 値は DB であり、表面的な監査機能が有効になっています
audit_trail=DB は、オラクルがデータベース内の AUD$ というテーブルに各監査証跡を記録することを意味します。
audit_trail=os、オラクルは簡単に取得できるように各監査証跡を os ファイル システムに記録します。
2.オラクルの監査機能をオフにする
SQL> alter system set audit_trail=FALSE scope=spfile;
System altered.
3.データベースを再起動します
SQL> shutdown immediate;
SQL> startup;
4. 監査がオフになっていることを確認する
SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string FALSE
注: VALUE の値は FALSE であり、表面的な監査機能はオフになっています
Oracle 監査ログのクリーンアップ
1. 監査ログ ディレクトリを入力します。
cd $ORACLE_BASE/admin/$ORACLE_SID/adump
2. 3 か月以上前の監査ファイルを削除します。
find ./ -type f -name "*.aud" -mtime +91|xargs rm -f
3. すべての監査ファイルを一度にクリアする
find ./ -type f -name "*.aud"|xargs rm-f
強制監査の異常な機能
次の操作は、$ORACLE_BASE/admin/$ORACLE_SID/adump ディレクトリの .aud ファイルに記録されます。
- sysdba または sysoper 権限でデータベースにログインします。
- 起動
- シャットダウン
したがって、DB 機能が有効になっている場合、監査ログは AUD$ テーブルとオペレーティング システムの aud ファイルに同時に記録されます。
NONE に設定しても、オペレーティング システムの aud ファイルに記録する方法はありません。
データベース テーブルは sys.aud$ です。
オペレーティング・システムのディレクトリは次のとおりです: $ORACLE_BASE/admin/instance name/adump
>show parameter audit で確認できます
だから、私の友達:
DB の場合は、定期的に aud$ テーブルをクリアすることを忘れないでください
SQL>truncate table sys.aud$;
DB 機能を使用したくない場合は、オフに設定できます。
SQL>alter system set audit_trail=none scope=spfile;
データベースを再起動する必要があることに注意してください
SQL>shutdown immediate;
SQL>startup;
NONE の場合は、aud ファイルをクリアするか、crontab スケジュール タスクを設定して aud ファイルを定期的にクリアすることを忘れないでください。