oracle SYSAUX表空间使用率过高处理

1维护需求

日常巡检发现工单数据库中SYSAUX表空间使用率达到95%
oracle SYSAUX表空间使用率过高处理_第1张图片

对于SYSAUX表空间而言,如果占用过大,那么一般情况下是由于AWR信息或对象统计信息没有及时清理引起的

2.1 通过SQL语句查询SYSAUX表空间占用

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信息过大。

2.2直接查询出是哪些表分区占用SYSAUX表空间较高

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;

oracle SYSAUX表空间使用率过高处理_第2张图片

2.3然后直接truncate这些表

oracle SYSAUX表空间使用率过高处理_第3张图片

2.4再次查看SYSAUX表空间使用量

在这里插入图片描述

你可能感兴趣的:(oracle)