Oracle SYSAUX表空间使用率过高怎么办
1、维护需求
日常巡检发现工单数据库中SYSAUX表空间使用率达到95%

对于SYSAUX表空间而言,如果占用过大,那么一般情况下是由于AWR信息或对象统计信息没有及时清理引起的
2、通过SQL语句查询SYSAUX表空间占用
1 | SQL> SELECT OCCUPANT_NAME "Item" ,SPACE_USAGE_KBYTES / 1048576 "Space Used (GB)" ,SCHEMA_NAME "Schema" ,MOVE_PROCEDURE "Move Procedure" FROM V$SYSAUX_OCCUPANTS WHERE SPACE_USAGE_KBYTES > 1048576 ORDER BY "Space Used (GB)" DESC ;
|

如果OCCUPANT_NAME列为SM/AWR(Server Manageability - Automatic Workload Repository),那么表示AWR信息占用过大;如果该列为SM/OPTSTAT(Server Manageability - Optimizer Statistics History),那么表示优化器统计信息占用过大。如上截图,是AWR信息过大。
3、直接查询出是哪些表分区占用SYSAUX表空间较高
1 2 3 4 5 6 | SQL> select distinct 'truncate table ' ||segment_name|| ';' ,s.bytes/1024/1024
from dba_segments s
where s.segment_name like 'WRH$%'
and segment_type in ( 'TABLE PARTITION' , 'TABLE' )
and s.bytes/1024/1024>100
order by s.bytes/1024/1024/1024 desc ;
|

4、然后直接truncate这些表

5、再次查看SYSAUX表空间使用量
