BEGINDBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(
AUDIT_TRAIL_TYPE=>DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
LAST_ARCHIVE_TIME=> ‘11-MAY-2020 06:30:00.00‘,
RAC_INSTANCE_NUMBER=> 1,
CONTAINER=>DBMS_AUDIT_MGMT.CONTAINER_CURRENT);END;/参数说明:
AUDIT_TRAIL_TYPE指定审核跟踪类型。DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED将其设置为统一审核跟踪。
DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD用于传统的标准审计跟踪表AUD$。(此设置不适用于只读数据库。)
DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD用于传统的细粒度审核跟踪表FGA_LOG$。(此设置不适用于只读数据库。)
DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS用于带有.aud扩展名的传统操作系统审核跟踪文件。(此设置不适用于Windows事件日志条目。)
DBMS_AUDIT_MGMT.AUDIT_TRAIL_XML 用于XML传统操作系统审核跟踪文件。
LAST_ARCHIVE_TIME指定时间戳YYYY-MM-DD HH:MI:SS.FFUTC格式(协调世界时)AUDIT_TRAIL_UNIFIED,AUDIT_TRAIL_AUD_STD以及AUDIT_TRAIL_FGA_STD,并在当地时区AUDIT_TRAIL_OS和AUDIT_TRAIL_XML。
注意: 时间好像是12小时制 ,上午‘12-OCT-2019 12:00:00.00 AM‘ 即24小时至的00:00:00下午‘12-OCT-2019 12:59:59.00 PM‘ 即24小时至的23:59:59例:
12小时制当天0晨SELECT To_date(To_char(Trunc(SYSDATE), ‘yyyy/mm/dd hh12:mi:ss‘), ‘yyyy/mm/dd hh12:mi:ss‘) FROMdual ;
24小时制当天0晨SELECT To_date(To_char(Trunc(SYSDATE), ‘yyyy/mm/dd hh24:mi:ss‘), ‘yyyy/mm/dd hh24:mi:ss‘) FROMdual ;
RAC_INSTANCE_NUMBER指定Oracle RAC安装的实例号。此设置与单实例数据库无关。
如果指定DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD或DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD审计跟踪类型,则可以省略该RAC_INSTANCE_NUMBER参数。
这是因为,即使对于Oracle RAC安装,也只有一个AUD$或一个FGA_LOG$表。默认值为NULL。
您可以通过SHOW PARAMETER INSTANCE_NUMBER在SQL*Plus中发出命令来找到当前实例的实例号。
CONTAINER将时间戳应用于多租户环境。DBMS_AUDIT_MGMT.CONTAINER_CURRENT指定当前的PDB;DBMS_AUDIT_MGMT.CONTAINER_ALL适用于多租户环境中的所有PDB。
请注意,您可以从CDBK 设置CONTAINER到DBMS_MGMT.CONTAINER_ALL ,或 在PDB中设置 DBMS_MGMT.CONTAINER_CURRENT 。select to_char(last_archive_ts, ‘yyyy/mm/dd hh24:mi:ss.ff6 TZR TZD‘) time fromdba_audit_mgmt_last_arch_ts;--------------------------------------------------------------------------------
2019/10/12 06:30:00.000000 +00:00删除归档时间戳记 :BEGINDBMS_AUDIT_MGMT.CLEAR_LAST_ARCHIVE_TIMESTAMP(
AUDIT_TRAIL_TYPE=>DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
CONTAINER=>DBMS_AUDIT_MGMT.CONTAINER_CURRENT);END;/通常,设置时间戳后,可以使用DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL PL/SQL过程删除在时间戳日期之前创建的审核记录。
#统计删之用前有多少行,对是清理后是否 为0select count(*) from UNIFIED_AUDIT_TRAIL where EVENT_TIMESTAMP < TO_TIMESTAMP(‘12-OCT-2019 01:00:00‘,‘DD-MON-RRRR HH24:MI:SS‘) ;
#执行了几次清理操作select count(*) from UNIFIED_AUDIT_TRAIL where OBJECT_NAME=‘DBMS_AUDIT_MGMT‘ and SQL_TEXT LIKE ‘%DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL%‘;