在11.2中,Oracle对于AUDIT记录的清除工作进行了增强。
这一篇介绍将AUDIT记录迁移出SYSTEM表空间。
从Oracle提供了AUDIT功能以来,存在两种AUDIT记录的存储方式,操作系统存储或数据库存储,如果采用数据库存储,那么AUDIT记录被存放在SYSTEM表空间的AUD$系统表中。但是如果系统使用审计功能很频繁,就会产生大量的审计信息,从而给SYSTEM表空间带来压力。
从11.2开始,Oracle终于可以将AUDIT记录迁移到SYSTEM以外的表空间了:
SQL> SELECT OWNER, TABLE_NAME, TABLESPACE_NAME
2 FROM DBA_TABLES
3 WHERE TABLE_NAME = 'AUD$'
4 AND WNER = 'SYS';
OWNER TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
SYS AUD$ SYSTEM
SQL> BEGIN
2 DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(
3 AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
4 AUDIT_TRAIL_LOCATION_VALUE => 'YANGTK');
5 END;
6 /
PL/SQL 过程已成功完成。
SQL> SELECT OWNER, TABLE_NAME, TABLESPACE_NAME
2 FROM DBA_TABLES
3 WHERE TABLE_NAME = 'AUD$'
4 AND WNER = 'SYS';
OWNER TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
SYS AUD$ YANGTK
这样就可以避免大量的审计记录将系统表空间占满。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-627790/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-627790/