ITPub博客

首页 > 数据库 > Oracle > dba_free_space查询速度慢问题解决

dba_free_space查询速度慢问题解决

原创 Oracle 作者:djb1008 时间:2012-08-22 09:21:27 0 删除 编辑

查询dba_free_space视图速度很慢的问题解决

在一次数据库巡检过程中,想查询当前库各个表空间的剩余空间情况,执行下面的SQL语句,很长时间没有结果出来(几个小时)
SQL>select tablespace_name,sum(bytes/1024/1024) from dba_free_space group by tablespace_name;

[@more@]


在网上搜索了一下,有文章提到可能是回收站的对象太多导致的.
于是检查回收站的情况,果然是这个原因,检查的结果如下:
SQL>select count(1) from dba_recyclebin;
561000
鉴于当前库是一个数据仓库类型的数据库,所以手工关闭了垃圾回收站选项(OLTP数据库千万不要关闭这个选项).
SQL>alter system set recyclebin=off scope=both;
查询回收站里面的对象,大都是临时使用的表,如下:
SQL>select owner,object_name,original_name from dba_recyclebin;
OWNER OBJECT_NAME ORIGINAL_NAME
DNLGL BIN$wls0S5rbCcngQAB/AQAqTw==$0 C$_0POWER_TRANSFORMER_PWSC
DNLGL BIN$wls0JCBoxbngQAB/AQAqTQ==$0 C$_0OUTER_CUSTOMER
......
咨询了开发厂商后,确定回收站中对象无用后,手工清除.
SQL>purge dba_recyclebin;

清除回收站用了很长的时间,需要耐心的等待啊.
清除完回收站后,再次执行查询表空间的剩余空间,很快就有结果输出了.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/32980/viewspace-1059237/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-07-27

  • 博文量
    175
  • 访问量
    778862