我们的应用程序失败了几次,因为“ORA-01536:空间配额超过表空间”,我们希望能够通过定期检查表空间上的可用空间来防止这种情况,并在其低于某个级别时发出警报。
有什么方法可以找出一个表空间中剩余多少可用空间?
经过一些研究(我不是一个DBA),我尝试以下:
select max_bytes-bytes from user_ts_quotas; select sum(nvl(bytes,0)) from user_free_space;
但这些查询返回完全不同的结果。
我使用这个查询
原文链接:https://www.f2er.com/oracle/207248.htmlcolumn "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;