12c dbms_audit_mgmt - new twists
Oracle 12.1.0.2 EE
Oracle Linux 6
For quite some time now, in my 11.2 databases I've been running the following shell script on a daily basis (a lot of housekeeping and reporting cosmetics removed for this post):
sqlplus -s /nolog << EOF >>$logfileconn / as sysdbaBEGINDBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, TRUNC(SYSTIMESTAMP)-$retprd);DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD, TRUNC(SYSTIMESTAMP)-$retprd);DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS, TRUNC(SYSTIMESTAMP)-$retprd);DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(DBMS_AUDIT_MGMT.AUDIT_TRAIL_XML, TRUNC(SYSTIMESTAMP)-$retprd);END;/--prompt Current record count:col audit_recs for 999,999,999select count(*) audit_recs, min(timestamp) oldest, max(timestamp) newestfrom dba_audit_trail;--select audit_trail, to_char(last_archive_ts at local,'dd-Mon-yyyy hh24:mi:ss') LOCAL_TIMEfrom dba_audit_mgmt_last_arch_ts;BEGIN DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL, TRUE);END;/--prompt Current record count:col audit_recs for 999,999,999select count(*) audit_recs, min(timestamp) oldest, max(timestamp) newestfrom dba_audit_trail;EOF
1