加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 查找表空间上的可用空间

发布时间:2020-12-12 14:20:07 所属栏目:百科 来源:网络整理
导读:我们的应用程序失败了几次,因为“ORA-01536:空间配额超过表空间”,我们希望能够通过定期检查表空间上的可用空间来防止这种情况,并在其低于某个级别时发出警报。 有什么方法可以找出一个表空间中剩余多少可用空间? 经过一些研究(我不是一个DBA),我尝试
我们的应用程序失败了几次,因为“ORA-01536:空间配额超过表空间”,我们希望能够通过定期检查表空间上的可用空间来防止这种情况,并在其低于某个级别时发出警报。

有什么方法可以找出一个表空间中剩余多少可用空间?

经过一些研究(我不是一个DBA),我尝试以下:

select max_bytes-bytes from user_ts_quotas;

select sum(nvl(bytes,0)) from user_free_space;

但这些查询返回完全不同的结果。

我使用这个查询
column "Tablespace" format a13
column "Used MB"    format 99,999,999
column "Free MB"    format 99,999
column "Total MB"   format 99,999
select
   fs.tablespace_name                          "Tablespace",(df.totalspace - fs.freespace)              "Used MB",fs.freespace                                "Free MB",df.totalspace                               "Total MB",round(100 * (fs.freespace / df.totalspace)) "Pct. Free"
from
   (select
      tablespace_name,round(sum(bytes) / 1048576) TotalSpace
   from
      dba_data_files
   group by
      tablespace_name
   ) df,(select
      tablespace_name,round(sum(bytes) / 1048576) FreeSpace
   from
      dba_free_space
   group by
      tablespace_name
   ) fs
where
   df.tablespace_name = fs.tablespace_name;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读