統合監査の証跡削除

毎回忘れるのでメモ。

セキュリティ・ガイド
AUDIT_ADMINロールを付与されているユーザーは、監査証跡の管理、監査証跡のアーカイブおよび監査証跡レコードの削除を実行できます。

以下のように監査証跡が溜まっている状態。

SQL> select count(*) from unified_audit_trail where event_timestamp < to_timestamp('2024/11/01','YYYY/MM/DD');

  COUNT(*)
----------
    134300

どこまで削除するか(どこまでアーカイブ済みか)を設定。

SQL> BEGIN
  2    DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(
  3     AUDIT_TRAIL_TYPE     =>  DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
  4     LAST_ARCHIVE_TIME    =>  TO_TIMESTAMP('2024-11-01 01:00:00.00','YYYY-MM-DD HH:MI:SS.FF'));
  5  END;
  6  /

PL/SQLプロシージャが正常に完了しました。

アーカイブ済みの監査証跡を削除。

SQL> BEGIN
  2    DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(
  3     AUDIT_TRAIL_TYPE           =>  DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
  4     USE_LAST_ARCH_TIMESTAMP    =>  TRUE
  5     );
  6  END;
  7  /

PL/SQLプロシージャが正常に完了しました。

削除されたことを確認。

SQL> select count(*) from unified_audit_trail where event_timestamp < to_timestamp('2024/11/01','YYYY/MM/DD');

  COUNT(*)
----------
         0

コメント