SYSAUX作为SYSTEM的辅助表空间,主要存放数据库性能的数据。比如,存放AWR的快照,审计信息,表统计信息以及与EM相关的内容。
随着使用的时间增长,sysaux的表空间也会不断的增大,这时,就需要考虑适当的方法来压缩sysaux表空间。
首先,我们可以通过如下查询语句查询sysaux的使用率情况

如图:

我们通过如下语句查询SYSAUX表空间中都有哪些内容和所占空间大小

如图:

从查询结果可以看出,AWR快照已经占用了3个多G的空间, 数据库关闭了审计audit_trail,所以审计表aud$不占空间
修改统计信息的保持时间,默认为31天,这里修改为7天,过期的统计信息会自动被删除
select dbms_stats.get_stats_history_retention from dual;查看AWR保存信息的时间,发现默认为31天。
SQL> exec dbms_stats.alter_stats_history_retention(7); 修改AWR保存快照为7天
修改AWR快照的保存时间为7天(7*24*60),每小时收集一次,也可以通过EM界面查看和修改
SQL> exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval=>60,retention => 7*24*60 );
也可以通过如下语句查询并删除已存在的AWR快照信息

查询当前SM/OPTSTAT的统计信息的保存时间
SQL> select dbms_stats.get_stats_history_retention from dual;
修改SM/OPTSTAT的统计信息的保存时间为10天
SQL> exec dbms_stats.alter_stats_history_retention(10);
再删除7天前的统计数据
SQL> exec dbms_stats.purge_stats(sysdate-7);




