从awr中发现了一条sql,来自于Oracle Enterprise Manager.Metric Engine,主要是查看审计信息,sql如下
SELECT TO_CHAR(current_timestamp AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD') AS curr_timestamp, COUNT(username) AS failed_count
FROM sys.dba_audit_session WHERE returncode != 0 AND TO_CHAR(timestamp, 'YYYY-MM-DD HH24:MI:SS') >= TO_CHAR(current_timestamp - TO_DSINTERVAL('0 0:30:00'), 'YYYY-MM-DD HH24:MI:SS')
这条sql消耗了大量的cpu time,Elapsed Time,这条sql主要是查询审计信息,因审计开起较久,所以表中记录较多,此sql又不能利用索引来降低资源的利用,
所以可以利用清除aud$基表来减少此sql的资源消耗
如下 :
create table aud$_20120608 tablespace TS_AUDIT as select * from aud$;
--备份aud$
--然后清空原表
truncate table aud$
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26390465/viewspace-1795429/,如需转载,请注明出处,否则将追究法律责任。