事件:SYSAUX表空间项目存储比重较大
#检查占用空间最大的前20对象
SQL> select * from (select owner,segment_name,partition_name,bytes/1024/1024 from dba_segments where tablespace_name='SYSAUX' order by 4 desc) where rownum <=20;
#检查策略
SQL> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- ----------
3560543255 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT
SQL> show parameter statistics;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_use_pending_statistics boolean FALSE
statistics_level string TYPICAL
timed_os_statistics integer 0
timed_statistics boolean TRUE
SQL> select dbms_stats.get_stats_history_retention from dual;
GET_STATS_HISTORY_RETENTION
---------------------------
15
#策略检查一切正常,修改统计信息保留10天
SQL> exec dbms_stats.alter_stats_history_retention(10);
PL/SQL procedure successfully completed.
SQL> exec dbms_stats.purge_stats(systimestamp -11);
PL/SQL procedure successfully completed.
SQL> select dbms_stats.get_stats_history_retention from dual;
GET_STATS_HISTORY_RETENTION
---------------------------
10
#创建新的分区
alter session set "_swrf_test_action" = 72;
#检查分区
SQL> select table_name,partition_name,high_value from dba_tab_partitions where table_name='WRH$_SYSSTAT';
TABLE_NAME PARTITION_NAME HIGH_VALUE
--------------- ------------------------------ --------------------------------------------------------------------------------
WRH$_SYSSTAT WRH$_SYSSTAT_MXDB_MXSN MAXVALUE, MAXVALUE
WRH$_SYSSTAT WRH$_SYSSTA_3560543255_1322 3560543255, 30532
WRH$_SYSSTAT WRH$_SYSSTA_3560543255_30532 3560543255, MAXVALUE
#检查快照ID
SQL> select min(snap_id),max(snap_id) from dba_hist_snapshot;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
30530 30531
SQL> select min(snap_id),max(snap_id) from wrh$_active_session_history;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
30530 30531
SQL> select max(SNAP_ID),min(SNAP_ID) from WRH$_PARAMETER;
MAX(SNAP_ID) MIN(SNAP_ID)
------------ ------------
30531 1322
SQL> select max(SNAP_ID),min(SNAP_ID) from WRH$_SQLSTAT;
MAX(SNAP_ID) MIN(SNAP_ID)
------------ ------------
30531 1322
--检查awr占用情况,发现过期快照无法自动清理Bug 14084247 - ORA-1555 or ORA-12571 Failed AWR purge can lead to continued SYSAUX space use (文档 ID 14084247.8)
@?/rdbms/admin/awrinfo.sql
#统计各个WRH表的最大,最小snap_id
set serveroutput on
declare
CURSOR cur_part IS
SELECT partition_name from dba_tab_partitions
WHERE table_name = 'WRH$_ACTIVE_SESSION_HISTORY';
query1 varchar2(200);
query2 varchar2(200);
TYPE partrec IS RECORD (snapid number, dbid number);
TYPE partlist IS TABLE OF partrec;
Outlist partlist;
begin
dbms_output.put_line('PARTITION NAME SNAP_ID DBID');
dbms_output.put_line('--------------------------- ------- ----------');
for part in cur_part loop
query1 := 'select min(snap_id), dbid from sys.WRH$_ACTIVE_SESSION_HISTORY partition ('||part.partition_name||') group by dbid';
execute immediate query1 bulk collect into OutList;
if OutList.count > 0 then
for i in OutList.first..OutList.last loop
dbms_output.put_line(part.partition_name||' Min '||OutList(i).snapid||' '||OutList(i).dbid);
end loop;
end if;
query2 := 'select max(snap_id), dbid from sys.WRH$_ACTIVE_SESSION_HISTORY partition ('||part.partition_name||') group by dbid';
execute immediate query2 bulk collect into OutList;
if OutList.count > 0 then
for i in OutList.first..OutList.last loop
dbms_output.put_line(part.partition_name||' Max '||OutList(i).snapid||' '||OutList(i).dbid);
dbms_output.put_line('---');
end loop;
end if;
end loop;
end;
/
PARTITION NAME SNAP_ID DBID
--------------------------- ------- ----------
WRH$_ACTIVE_3560543255_1322 Min 30530 3560543255
WRH$_ACTIVE_3560543255_1322 Max 30531 3560543255
---
WRH$_ACTIVE_3560543255_30532 Min 30532 3560543255
WRH$_ACTIVE_3560543255_30532 Max 30548 3560543255
---
PL/SQL procedure successfully completed.
#再次清理历史分区的快照
SQL> begin
dbms_workload_repository.drop_snapshot_range(
low_snap_id =>30530,
high_snap_id =>30531,
dbid =>3560543255);
end;
/
PL/SQL procedure successfully completed.
#重启一下MMON刷新:
SQL> alter system set "_swrf_mmon_flush"=false;
System altered.
SQL> alter system set "_swrf_mmon_flush"=true;
System altered.
#过半小时左右,再次检查过期快照已清理完毕
SQL> select * from (select owner,segment_name,partition_name,bytes/1024/1024 from dba_segments where tablespace_name='SYSAUX' order by 4 desc) where rownum <=20;
SQL> select max(SNAP_ID),min(SNAP_ID) from WRH$_PARAMETER;
MAX(SNAP_ID) MIN(SNAP_ID)
------------ ------------
30549 30532
SQL> select max(SNAP_ID),min(SNAP_ID) from WRH$_SQLSTAT;
MAX(SNAP_ID) MIN(SNAP_ID)
------------ ------------
30549 30532
SQL> select min(snap_id),max(snap_id) from dba_hist_snapshot;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
30532 30549
SQL> select min(snap_id),max(snap_id) from wrh$_active_session_history;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
30532 30549
#检查分区已清理
SQL> select table_name,partition_name,high_value from dba_tab_partitions where table_name='WRH$_SYSSTAT';
TABLE_NAME PARTITION_NAME HIGH_VALUE
--------------- ------------------------------ --------------------------------------------------------------------------------
WRH$_SYSSTAT WRH$_SYSSTAT_MXDB_MXSN MAXVALUE, MAXVALUE
WRH$_SYSSTAT WRH$_SYSSTA_3560543255_30532 3560543255, MAXVALUE
#检查表空间使用率
注释:
1.关于_swrf_test_action参数,由于此参数属于隐含参数,没有明确的文档介绍此参数,只能确认此参数的部分的取值的作用,比如:
_swrf_test_action = 72;------------>强制分割AWR分区,以用于删除原有分区
_swrf_test_action = 82;------------->手工重新设置最后一次的AWR清理时间,从而触发MMON进程再次运行
_swrf_test_action=53;------------->手工刷新dba_feature_usage_statistics信息
--------------------------------
_swrf_test_action = 28;------------->启用MMON的trace
_swrf_test_action = 10; ------------->启用快照刷新 trace
----------------------------------
_swrf_test_action = 11; ------------->关闭快照刷新 trace
_swrf_test_action = 29;------------->关闭MMON的trace
--------------------------------
2.
dba_hist_snapshot,
wrh$_active_session_history,
WRH$_PARAMETER,
WRH$_SQLSTAT:
dba_hist_snapsho视图:记录的是AWR快照的信息
wrh$_active_session_history表记录的是基于v$active_session_history的信息创建的表
WRH$_PARAMETER表记录的是基于v$parameter的信息创建的表
WRH$_SQLSTAT表记录的是v$sql和v$sqltext信息创建的表
通过分析以上视图和表的DDL语句,他们之间并没有关联,他们都有snap_id列,如果其中任何一个表中的信息清理失败,都会造成snap_id不一致。
Oracle 11.2.0.4 awr过期快照无法自动清理
来源:这里教程网
时间:2026-03-03 12:16:51
作者:
编辑推荐:
- word删除空白页面的方法图解步骤03-03
- Oracle 11.2.0.4 awr过期快照无法自动清理03-03
- word中如何删除空白页的两种方法03-03
- word中添加目录的方法步骤03-03
- word中拖动图片的两种方法03-03
- word编辑数学公式的两种方法03-03
- word制作组织结构图的两种方法03-03
- word中怎么画横线03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle 11.2.0.4 awr过期快照无法自动清理
Oracle 11.2.0.4 awr过期快照无法自动清理
26-03-03 - word中如何删除空白页的两种方法
word中如何删除空白页的两种方法
26-03-03 - Library cache结构与Library cache lock、Library cache pin等待事件
- Oracle12.2c统一审计(unified auditing)六问
Oracle12.2c统一审计(unified auditing)六问
26-03-03 - [20181128]toad连接数据库的问题.txt
[20181128]toad连接数据库的问题.txt
26-03-03 - 案发现场:被注入的软件及 ORA-600 16703 灾难的恢复
案发现场:被注入的软件及 ORA-600 16703 灾难的恢复
26-03-03 - rac上的sequence
rac上的sequence
26-03-03 - 应用改字符集小记
应用改字符集小记
26-03-03 - 变与不变: Undo构造一致性读的例外情况
变与不变: Undo构造一致性读的例外情况
26-03-03 - 删除UNDO表空间并处理ORA-01548问题
删除UNDO表空间并处理ORA-01548问题
26-03-03
