您现在的位置是:首页 >其他 >oracle 11g SYSAUX使用率高问题网站首页其他
oracle 11g SYSAUX使用率高问题
因为业务系统的原因,目前维护的环境中还有很多11g的系统,每月都会遇到几次SYSAUX表空间满的问题,周末就写下可能遇到的各种情况
mos查看文档:
WRH$_ACTIVE_SESSION_HISTORY Does Not Get Purged Based Upon the Retention Policy (Doc ID 387914.1)
Troubleshooting Issues with SYSAUX Space Usage (Doc ID 1399365.1)
计算当前优化器统计信息和AWR快照表占用sysaux的空间
SQL> @?/rdbms/admin/awrinfo.sql
检查优化器统计信息直方图表中的信息的有效天数
select systimestamp - min(savtime) from sys.wri$_optstat_histgrm_history;
purge统计信息(修改有效天数)
exec dbms_stats.purge_stats(sysdate - 1);
一、若SYSAUX使用率已经接近100%,影响到业务的使用了,2个办法
1、SYSAUX表空间新增数据文件,首先恢复业务使用
2、直接使用以下truncate sql,首先恢复业务使用
truncate table WRH$_ACTIVE_SESSION_HISTORY;
truncate table WRH$_EVENT_HISTOGRAM;
truncate table WRH$_LATCH;
truncate table WRH$_SQLSTAT;
select count(*) from WRH$_ACTIVE_SESSION_HISTORY;
二、如使用率在80%或者更低时,建议每月执行如下sql
alter session set "_swrf_test_action" = 72;
##手动执行一个快照:
Exec dbms_workload_repository.create_snapshot;
修改统计信息的保持时间,默认为31天,这里修改为7天,过期的统计信息会自动被删除
select dbms_stats.get_stats_history_retention from dual;
exec dbms_stats.alter_stats_history_retention(7);
select dbms_stats.get_stats_history_retention from dual;
修改AWR快照的保存时间为7天(7*24*30),每小时收集一次
exec dbms_workload_repository.modify_baseline_window_size(2);
exec dbms_workload_repository.modify_snapshot_settings ( interval => 30, retention => 10080, topnsql => 100);
删除故障处理如下
begin dbms_workload_repository.modify_snapshot_settings ( interval => 60, retention => 10080, topnsql => 100);
2 end;
3 /
begin dbms_workload_repository.modify_snapshot_settings ( interval => 60, retention => 10080, topnsql => 100);
*
ERROR at line 1:
ORA-13541: system moving window baseline size (691200) greater than retention
(604800)
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 174
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 222
ORA-06512: at line 1
直接执行
exec dbms_workload_repository.modify_baseline_window_size(5);
exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*30);