OracleAWR删除历史快照说明
一。 AWR概述
之前整理过一篇AWR的说明的文档
Oracle AWR Automatic Workload Repository 说明http://blog.csdn.net/tianlesoftware/article/details/4682300
从Oracle 10g开始 Oracle推出一个工具 AWR Automatic WorkloadRepository 并建议用AWR代替9i的Statspack.
AWR实质上是一个Oracle的内置工具它采集与性能相关的统计数据并从那些统计数据中导出性能量度 以跟踪潜在的问题。
AWR的快照由一个MMON的后台进程及其从进程自动地每小时采集一次。为了节省空间在Oracle 10g中快照会保留7天 11g的快照保留8天超过的会自动删除快照频率和保留时间都可以由用户修改。
AWR使用几个表来存储采集的统计数据所有的表都存储在新的名称为SYSAUX的特定表空间中的SYS模式下并且以WRM$_*和WRH$_*的格式命名
1 WRM$_*类表存储元数据信息如检查的数据库和采集的快照
2 WRH$_*类保存实际采集的统计数据。
H代表"历史数据 historical "而M代表"元数据 metadata ".
在这些表上构建了几种带前缀DBA_HIST_的视图这些视图可以用来编写您自己的性能诊断工具。视图的名称直接与表相关例如视图
DBA_HIST_SYSMETRIC_SUMMARY是在WRH$_SYSMETRIC_SUMMARY表上构建的。
二。 AWR快照的删除
2. 1为什么要删除AWR快照
默认情况下对于数据库自身产生的AWR报告会保留7天或8天。
SQL> select dbid, retention fromdba_hist_wr_control;
DBID RETENTION
---------------------------------------------------------------------
879543530 +00008 00:00:00.0
这个是我11g的库显示为8天如果是Oracle 10g,则会保留7天。
AWR快照也可以从其他的数据库中导入我们这里看一下
SQL> select dbid, retention fromdba_hist_wr_control;
DBID RETENTION
----------
877621333 +40150 00:00:00.0
879543530 +00008 00:00:00.0
如果是从其他库导入的快照在10g以后会保存110年40150/365 这部分数据不会永久删除。
--AWR导出脚本
SQL> @?/rdbms/admin/awrextr. sql
--AWR导入脚本
SQL> @?/rdbms/admin/awrload. sql
另一个很重要的原因就是有时候自动快照不能自动收集而手工创建快照又可以成功对于这种问题的解决方法就是把之前的快照清空掉。
2.2删除AWR快照数据
2.2. 1使用dbms_workload_repository包来删除
2.2. 1. 1删除本机的AWR快照
SQL> select dbid, retention fromdba_hist_wr_control;
DBID RETENTION
---------- --------------------
879543530 +00008 00:00:00.0
SQL> selectminsnap_id maxsnap_id from dba_hist_snapshot wheredbid = 879543530;
MIN SNAP_ID MAX SNAP_ID
------------------------
161 176
SQL> execdbms_workload_repository.drop_snapshot_range 161, 176,
879543530
PL/SQL proceduresuccessfully completed.
SQL> select *from dba_hist_snapshot where dbid = 879543530;no rows selected
2.2. 1.2删除其他实例的快照
SQL> select dbid, retention fromdba_hist_wr_control;
DBID RETENTION
----------
---------------------------------------------------------------------
877621333 +40150 00:00:00.0
879543530 +00008 00:00:00.0
SQL> select minsnap_id maxsnap_idfrom dba_hist_snapshot wheredbid = 877621333;
MIN SNAP_ID MAX SNAP_ID
------------ ------------
160 192
SQL> execdbms_workload_repository.drop_snapshot_range 160, 170,
877621333
PL/SQL procedure successfully completed.
SQL> select min snap_id max snap_id from dba_hist_snapshotwhere dbid =877621333;
MIN SNAP_ID MAX SNAP_ID
------------ ------------
171 192
SQL>
删除成功。
2.2.2使用dbms_swrf_internal包来删除
2.2.2. 1删除其他数据库导入的AWR
SQL> select dbid, retention fromdba_hist_wr_control;
DBID RETENTION
---------------------------------------------------------------------
877621333 +40150 00:00:00.0
879543530 +00008 00:00:00.0
SQL> select minsnap_id maxsnap_idfrom dba_hist_snapshot wheredbid = 877621333;
MIN SNAP_ID MAX SNAP_ID
160 192
SQL> exec dbms_swrf_internal.unregister_database 877621333
PL/SQL procedure successfully completed.
SQL> select minsnap_id maxsnap_idfrom dba_hist_snapshot wheredbid = 877621333;
MIN SNAP_ID MAX SNAP_ID
------------ ------------
SQL> select dbid, retention fromdba_hist_wr_control;
DBID RETENTION
---------------------------------------------------------------------
----------
879543530 +00008 00:00:00.0
SQL>dbms_swrf_internal.unregister_database会把所有的快照直接干掉与我们上节中的删除是不同的效果。
2.2.2.2删除本机的AWR
我们之前把快照清空了所以没有结果
SQL> select * from dba_hist_snapshotwhere dbid = 879543530;no rows selected
SQL> executedbms_workload_repository.create_snapshot
PL/SQL procedure successfully completed.
SQL> executedbms_workload_repository.create_snapshot
PL/SQL procedure successfully completed.
SQL> executedbms_workload_repository.create_snapshot
PL/SQL procedure successfully completed.
SQL> executedbms_workload_repository.create_snapshot
PL/SQL procedure successfully completed.
--现在又有快照了
SQL> select minsnap_id maxsnap_idfrom dba_hist_snapshot wheredbid = 879543530;
MIN SNAP_ID MAX SNAP_ID
------------ ------------
177 180
--删除快照
SQL> exec dbms_swrf_internal.unregister_database 879543530
BEGINdbms_swrf_internal.unregister_database 879543530 END;
*
ERROR at line 1:
ORA-13521: Unregister operation on localDatabase id 879543530 notallowed
ORA-06512: at"SYS.DBMS_SWRF_INTERNAL", l ine 99
ORA-06512: at line 1
这里直接提示 dbms_swrf_internal.unregister_database不能对本地的数据库使用。所以如果本地的数据库就只能使用dbms_workload_repository包了。
2.2.3小结dbms_workload_repository:
可以删除本地和其他数据库的快照可以选择不同的快照来进行删除。dbms_swrf_internal:
只能对其他数据库的快照来进行操作会把整个快照unregister掉。 d
PS;本文档由北大青鸟广安门收集自互联网仅作分享之用。
阿里云(aliyun)在这个月又推出了一个金秋上云季活动,到9月30日前,每天两场秒杀活动,包括轻量应用服务器、云服务器、云数据库、短信包、存储包、CDN流量包等等产品,其中Aliyun轻量云服务器最低60元/年起,还可以99元续费3次!活动针对新用户和没有购买过他们的产品的老用户均可参与,每人限购1件。关于阿里云不用多说了,国内首屈一指的云服务器商家,无论建站还是学习都是相当靠谱的。活动地址:h...
一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...
Dynadot 是一家非常靠谱的域名注册商家,老唐也从来不会掩饰对其的喜爱,目前我个人大部分域名都在 Dynadot,还有一小部分在 NameCheap 和腾讯云。本文分享一下 Dynadot 最新域名优惠码,包括 .COM,.NET 等主流后缀的优惠码,以及一些新顶级后缀的优惠。对于域名优惠,NameCheap 的新后缀促销比较多,而 Dynadot 则是对于主流后缀的促销比较多,所以可以各取所...