I am having a problem to archive and then delete portions of the fga_log$ table.
Here's what a script basically does
insert into fga_log_archive
select
...
from
sys.fga_log$;
begin
sys.dbms_audit_mgmt.set_last_archive_timestamp(
audit_trail_type => sys.dbms_audit_mgmt.audit_trail_fga_std,
last_archive_time => systimestamp
);
sys.dbms_audit_mgmt.clean_audit_trail(
audit_trail_type => sys.dbms_audit_mgmt.audit_trail_fga_std,
use_last_arch_timestamp => true
);
end;
/
The documentation for dbms_audit_mgmt.clean_audit_trail says:
This procedure deletes audit trail records. The
CLEAN_AUDIT_TRAILprocedure is usually called after theSET_LAST_ARCHIVE_TIMESTAMPProcedure has been used to set the last archived timestamp for the audit records.
So, I have expected the records that were archived with the insert statement to be deleted
from the fga_log$ table by the clean_audit_trail call. That's not the case however. Am I missing something?
Edit
The audit configuration parameters as selected with
select
substrb(parameter_name ,1,25) name,
substrb(parameter_value,1,20) value,
substrb(audit_trail ,1,20) trail
from
dba_audit_mgmt_config_params
;
is
NAME VALUE TRAIL
------------------------- -------------------- --------------------
DB AUDIT TABLESPACE SYSAUX STANDARD AUDIT TRAIL
DB AUDIT TABLESPACE AUDIT_LOG_TABLESPACE FGA AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 OS AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 XML AUDIT TRAIL
AUDIT FILE MAX AGE 5 OS AUDIT TRAIL
AUDIT FILE MAX AGE 5 XML AUDIT TRAIL
DB AUDIT CLEAN BATCH SIZE 10000 STANDARD AUDIT TRAIL
DB AUDIT CLEAN BATCH SIZE 10000 FGA AUDIT TRAIL
OS FILE CLEAN BATCH SIZE 1000 OS AUDIT TRAIL
OS FILE CLEAN BATCH SIZE 1000 XML AUDIT TRAIL
DEFAULT CLEAN UP INTERVAL 999 FGA AUDIT TRAIL
Edit II
select * from v$version returns
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
is_cleanup_initializedreturns true for that audit type? (I have no idea if that's even required or not.) – Mat Jan 21 at 8:57sys.dbms_audit_mgmt.is_cleanup_initialized(sys.dbms_audit_mgmt.audit_trail_fga_std)returns true. – René Nyffenegger Jan 21 at 10:19