重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: [12C以上版本]SYSAUX 表空间暴增的原因 [打印本页]

作者: Inkcup    时间: 2025-7-24 15:18
标题: [12C以上版本]SYSAUX 表空间暴增的原因
本帖最后由 Inkcup 于 2025-10-9 11:57 编辑

12c 版本以上的 Oracle 中 SYSAUX 表空间暴增,通常是由于 AWR 信息未及时清理、优化器统计信息顾问任务运行频繁以及 Heat Map 特性数据积累等原因导致的,以下是具体介绍:

-----------------------------------AWR 信息未及时清理

:SYSAUX 表空间用于存储自动工作量仓库(AWR)的数据。如果 AWR 的保留时间设置过长,或者快照生成频率过高,随着时间推移,AWR 快照数据会不断积累,导致 SYSAUX 表空间占用不断增大。在 Oracle 10g 中,AWR 默认保留 7 天,在 Oracle 11g 中默认保留 8 天,若未根据实际情况调整,可能会出现空间问题。

-----------------------------------优化器统计信息顾问任务频繁运行
:Oracle 12.2 版本引入了优化器统计信息顾问(optimizer statistics advisor),其对应的任务 AUTO_STATS_ADVISOR_TASK 每天会在维护窗口期间自动运行。该任务运行后会产生大量结果数据并存储在 WRI$_ADV_OBJECTS 表中,如果任务频繁运行或者相关数据未及时清理,会消耗大量 SYSAUX 表空间。

-----------------------------------Heat Map 特性数据积累
:Heat Map 是 Oracle 12c 的新特性,它存储在行和段级别系统生成的数据使用统计信息,用于自动化压缩和移动数据以优化存储和性能。如果数据库中的对象数量较多,或者数据变更频繁,Heat Map 相关数据会不断增加,进而导致 SYSAUX 表空间占用增大。

-----------------------------------其他组件数据增长
:SYSAUX 还存储着企业管理器(OEM)、日志 Miner、数据泵等多种组件的数据。如果这些组件的使用频率较高,或者相关配置不合理,例如 OEM 监控大量数据库对象产生大量监控数据,也可能导致 SYSAUX 表空间暴增。

-----------------------处理方法:
系统自带了两个脚本可以分析这个表空间中到底被谁使用了:
分析sysaux表空间大小情况的脚本
$ORACLE_HOME/rdbms/admin/utlsyxsz.sql

分析sysaux表空间增长情况的脚本
$ORACLE_HOME/rdbms/admin/awrinfo.sql

如果是AWR的信息,可以截断,
select distinct 'truncate table ' || segment_name || ';',
s.bytes/1024/1024 MB
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 desc;

如果是 AUTO_STATS_ADVISOR_TASK ,可以设置规则,过滤掉他。







欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2