发现问题
某一业务系统数据库,sysaux表空间大小到达24GB+
查询sysaux表空间中对象的大小,超过1GB的列出,发现ASH相关的表过大。
SEGMENT_NAME OWNER SEGMENT_TYPE MB
—————————— ——————– —————— ——
WRH$_ACTIVE_SESSION_HISTORY SYS TABLE PARTITION 7151
WRH$_EVENT_HISTOGRAM_PK SYS INDEX PARTITION 1856
WRH$_EVENT_HISTOGRAM SYS TABLE PARTITION 1777
WRH$_LATCH SYS TABLE PARTITION 1657
WRH$_SQLSTAT SYS TABLE PARTITION 1344
查看快照在数据库中的保存时长
可以看到,AWR设定的保存时间为8天,WRH$_ACTIVE_SESSION_HISTORY确保存了2140天的数据,需清算。
查看AWR快照未清算缘由
WRH$_ACTIVE_SESSION_HISTORY由于分区失败,致使所有数据均在同一个表空间,所以删除过期快照失败。
问题缘由分析:
Oracle根据保存策略决定需要清除哪些行。在大型AWR表的情况下使用了一种特殊的机制,我们将快照数据存储在分区中。从这些表中清除数据的一种方法是删除只包括超过保存条件的行的分区。在夜间清除任务中,只有当分区中的所有数据都已过期时,我们才会删除该分区。如果该分区最少包括一行,根据保存策略,该行不应被删除,那末该分区将不会被删除,因此该表将包括旧数据。
如果没有产生分区拆分(不管出于何种缘由),那末我们终究可能会遇到这样的情况:我们一定要等待最新的条目过期,然后才能删除它们所在的分区。这可能意味着,一些较旧的条目可以在有效期过后显著保存。其结果是数据未按预期清除。
处理方法:
根据MOS:WRH$_ACTIVE_SESSION_HISTORY Does Not Get Purged Based Upon the Retention Policy (Doc ID 387914.1)处理步骤
1.Check the partition details for the offending table before the split:
SELECT owner,
segment_name,
partition_name,
segment_type,
bytes/1024/1024/1024 Size_GB
FROM dba_segments
WHERE segment_name=’WRH$_ACTIVE_SESSION_HISTORY’;
2.Split the partitions so that there is more chance of the smaller partition being purged:
alter session set “_swrf_test_action” = 72;
NOTE: This command will split partitions for ALL partitioned AWR objects. It also initiates a single split; it does not need to be disabled and will need to be repeated if multiple splits are required.
3.Check the partition details for the offending table after the split:
SELECT owner,
segment_name,
partition_name,
segment_type,
bytes/1024/1024/1024 Size_GB
FROM dba_segments
WHERE segment_name=’WRH$_ACTIVE_SESSION_HISTORY’;
以上步骤履行完成后,再truncate原来的分区,只保存新分区,释放空间
ALTER TABLE WRH$_ACTIVE_SESSION_HISTORY TRUNCATE PARTITION WRH$_ACTIVE_xxxxx;
检查索引会不会正常
select index_name,partition_name,status from dba_ind_partitions where index_name=’WRH$_ACTIVE_SESSION_HISTORY_PK’;
总结
到此这篇关于Oracle sysaux表空间异常增长解决的文章就介绍到这了,更多相关Oracle sysaux表空间异常增长内容请搜索之前的文章或继续浏览下面的相关文章希望大家以后多多支持!
文章来源:丸子建站
文章标题:Oracle 空间管理:sysaux表空间异常增长的完善解决方法
https://www.wanzijz.com/view/64361.html