适用于:
Oracle Server - Enterprise Edition - Version: 8.1.7.4 to 11.2.0.1 - Release: 8.1.7 to 11.2
Information in this document applies to any platform.
Checked for relevance on 11-Sep-2010
目的:
这个文件的作用是解释怎样从审计跟踪表SYS.AUD$中清除、截断或删除行。从oracle10gR2开始,在这里有可能会用到包。
运用范围:
这个文件旨在为了数据库DBA或者oracle支持分析。
How to Truncate, Delete, or Purge Rows from the Audit Trail Table SYS.AUD$
A) 为了从审计跟踪表中删除行,要有一个适当的权限。你必须使用用户SYS,或者其他拥有DELETE ANY TABLE系统权限的用户,或者被SYS赋予了这个对象权限的用户。
B) 从审计跟踪表中清除审计记录
-- DELETE FROM sys.aud$;
To delete rows from the audit trail related to a particular audited table:
-- DELETE FROM sys.aud$ WHERE obj$name='';
C)如果审计跟踪信息必须归档,则可以在删除之前复制相关的行到其他表中。
-- CREATE TABLE
AS SELECT * from sys.aud$ WHERE 1=2;
-- INSERT INTO
SELECT FROM sys.aud$
-- EXPort the to an OS file, but do not export SYS.AUD$
directly.
D)降低审计跟踪的大小。
1.如果保存当前的审计跟踪信息,将其复制到其他的表当中,并且将其表导出。
2.SQL> connect / as sysdba
SQL> TRUNCATE TABLE sys.aud$;
Truncate uses the DROP STORAGE clause which keeps 'minextents' extents,
thus only 1 extent.
3.从第一步重新装载归档的审计跟踪记录。