oracle 11G AWR不自动清理
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,理论上AWR数据应当根据保留时间,自动清理,但是实际上,经常碰到这样的:col segment_name for a32;set linesize 500;set pagesize 500;with
千家信息网最后更新 2025年11月07日oracle 11G AWR不自动清理
理论上AWR数据应当根据保留时间,自动清理,但是实际上,经常碰到这样的:
col segment_name for a32;set linesize 500;set pagesize 500;with t1 as (select round(sum(bytes)/1024/1024) MB,segment_name from dba_segments where owner='SYS' group by segment_nameorder by 1 desc )select * from t1 where rownum<16;然后WRH$开头的几个表占十几个G的情况,也就是AWR数据并没有完全被清理掉,检查策略一切正常:
SQL> select INSTANCE_NUMBER, min(SAMPLE_TIME), max(SAMPLE_TIME) from WRH$_ACTIVE_SESSION_HISTORY group by INSTANCE_NUMBER; 2 INSTANCE_NUMBER MIN(SAMPLE_TIME) MAX(SAMPLE_TIME)--------------- ------------------------- -------------------------------------------------- 1 25-MAY-16 08.14.48.613 PM 28-MAR-18 08.56.02.944 AMSQL> select snap_interval,retention from dba_hist_wr_control;SNAP_INTERVAL RETENTION------------------------------------ ---------------------------------------------------------------------------+00000 01:00:00.0 +00008 00:00:00.0select min(snap_id),max(snap_id) ,dbid from sys.WRH$_EVENT_HISTOGRAM group by dbid;MOS查一下BUG号14084247,从 11.2.0.3之后几乎都有这个问题,并且打了14084247 之后,貌似也不能解决,MOS又发一篇文章,手动清理,DOCID387914.1,步骤如下:
1检查分区情况
SELECT owner, segment_name, partition_name, segment_type, bytes/1024/1024/1024 Size_GBFROM dba_segmentsWHERE segment_name='WRH$_ACTIVE_SESSION_HISTORY';2 修改隐含参数:alter session set "_swrf_test_action" = 72;
3 再次检查分区情况
4 统计各个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; /5 删除不需要的数据
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
low_snap_id IN NUMBER,
high_snap_id IN NUMBER
dbid IN NUMBER DEFAULT NULL);
6 运行 @?/rdbms/admin/awrinfo.sql再次检查下
7 最后建议重启一下MMON刷新:
alter system set "_swrf_mmon_flush"=false; alter system set "_swrf_mmon_flush"=true;
检查
情况
数据
再次
最大
最小
也就是
参数
实际
实际上
建议
开头
手动
时间
步骤
理论
策略
篇文章
问题
统计
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
关闭华为手机提示连接不到服务器
青岛售后备件管理软件开发
java二维数据库表结构设计
服务器账户安全管理
经营管理软件开发
虹口区本地网络技术采购信息
csol为什么总是服务器中断
长沙的软件开发园
网络安全30号令
正版空岛生存服务器
斯坦福大学的数据库课程
服务器数据库怎么备份到磁盘
软件开发免费服务
店铺如何建立数据库
浙江迅的网络技术有限公司
戴尔r720服务器配置
钉钉软件开发工资
大专计算机网络技术学什么
数据库sql安全性实验报告
合肥互联网科技有限公司
网络安全与信息安全原则
sql数据库报表
网贷是网络安全
嗯我要服务器的图片
湖南多功能软件开发参考价格
手机网络技术计算公式
微软服务器的材料制造
科技型网站服务器
上海信息软件开发产品介绍
网络安全策略的技术