删除AWR导入的SNAP SHOT时快照没有被彻底删除
尝试删除AWR导入的SNAPSHOT发现快照并没有被彻底删除。
在10.2.0.3环境下执行的DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE过程 Oracle很快就返回了结果感觉似乎Oracle并没有真正进行删除 因为这部分快照的导入用了将近一个小时
SQL> select * from v$version;
BANNER
Oracle Database10gEnterpriseEdition Release10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL> select min(snap_id) , max(snap_id)
2 from dba_hist_snapshot
3 where dbid = 3944144691 ;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
45189 47802
SQL> exec dbms_workload_repository.drop_snapshot_range(45189, 47802, 3944144691)
PL/SQL procedure successfully completed.
SQL> select * from dba_hist_snapshot where dbid = 3944144691 ;no rows selected
如果检查数据字典可以发现 Oracle仅仅修改了对应SNAPSHOT的状态而并没有删除快照
SQL> select dbid, status, count(*)
2 from wrm$_snapshot
3 group by dbid, status;
DBID STATUS COUNT(*)
---------- ---------- ----------
3812548755 0 89
96312462 0 50
3944144691 2 2614
查询metalink发现是Oracle的bug Bug 8622802描述了这个问题确认影响的版本包括10.2.0.3、 10.2.0.4。 Oracle在版本12、 11.2.0.2以及10.2.0.5中修正了这个问题。
URL http://www.bianceng.cn/database/Oracle/201410/45645.htm
测试发现11.2中同样存在这个问题
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database11gEnterprise Edition Release11.2.0. 1.0 - 64bit Production
PL/SQL Release 11.2.0. 1.0 - Production
CORE 11.2.0. 1.0 Production
TNS for Linux: Version 11.2.0. 1.0 - Production
NLSRTL Version 11.2.0. 1.0 - Production
SQL> select min(snap_id) , max(snap_id)
2 from dba_hist_snapshot
3 where dbid = 3944144691 ;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
45189 47802
SQL> exec dbms_workload_repository.drop_snapshot_range(45189, 47802, 3944144691)
PL/SQL过程已成功完成。
SQL> select dbid, status, count(*)
2 from wrm$_snapshot
3 group by dbid, status;
DBID STATUS COUNT(*)
---------- ---------- ----------
4284478783 0 197
3944144691 2 2614
对于这个错误导致的一个比较严重的影响就是占用空间没有释放如果和当前例子一样打算删除指定数据库的所有快照可以使用下面的过程
SQL> select dbid, status, count(*)
2 from wrm$_snapshot
3 group by dbid, status;
DBID STATUS COUNT(*)
---------- ---------- ----------
3812548755 0 94
96312462 0 50
3944144691 2 2614
SQL> exec dbms_swrf_internal.unregister_database(3944144691)
PL/SQL procedure successfully completed.
SQL> select dbid, status, count(*)
2 from wrm$_snapshot
3 group by dbid, status;
DBID STATUS COUNT(*)
---------- ---------- ----------
3812548755 0 94
96312462 0 50
无忧云怎么样?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。一、无忧云官网点击此处进入无忧云官方网站二...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
萤光云怎么样?萤光云是一家国人云厂商,总部位于福建福州。其成立于2002年,主打高防云服务器产品,主要提供福州、北京、上海BGP和香港CN2节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。目前萤光云推出北京云服务器优惠活动,机房为北京BGP机房,购买北京云服务器可享受6.5折优惠+51元代金券(折扣和代金券可叠加使用)。活动期间还支持申请免费试用,需提交工单开通免费试用体验...