当前位置:首页 > 站长知识 > 数据库 > 正文内容

Oracle SYSAUX表空间使用率过高怎么办

2024-11-30数据库45

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表空间使用量


在线制作 ICO 图标