前端之家收集整理的这篇文章主要介绍了
oracle – 查找表空间上的可用空间,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们的应用程序失败了几次,因为“ORA-01536:空间配额超过表空间”,我们希望能够通过定期检查表空间上的可用空间来防止这种情况,并在其低于某个级别时发出警报。
有什么方法可以找出一个表空间中剩余多少可用空间?
经过一些研究(我不是一个DBA),我尝试以下:
select max_bytes-bytes from user_ts_quotas;
select sum(nvl(bytes,0)) from user_free_space;
但这些查询返回完全不同的结果。
@H_
403_10@
我使用这个
查询
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;