查询oracle用户表空间&文件大小及使用情况sql语句

用于查询Oracle用户表空间大小及使用情况:

SELECT a.table_name 表空间用户名,
       a.total 总数,
       NVL(b.used, 0) used ,
       NVL((b.used / a.total) * 100,0) 利用率
  FROM (SELECT TABLESPACE_NAME table_name, SUM(bytes) / (1024 * 1024) total
          FROM sys.Dba_Data_Files
         GROUP BY TABLESPACE_NAME) a,
       (SELECT TABLESPACE_NAME table_name, bytes / (1024 * 1024) used FROM sys.SM$TS_USED) b
 WHERE a.table_name = b.table_name(+)

 

如下查询表空间对应数据文件大小SQL:

SELECT SUBSTR(a.file#, 1, 2) "#",
       SUBSTR(a.name, 1, 30) "name",
       a.status,
       a.bytes,
       b.phyrds,
       b.phywrts
  FROM v$datafile a, v$filestat b
 WHERE a.file# = b.file#

查看用户表空间配额–BYTES字段表示用户已经使用的空间;MAX BYTES如果为-1表示没有限制,其他值表示限制配额:

SELECT * FROM Dba_Ts_Quotas ORDER BY tablespace_name, username

 

posted @ 2022-06-08 11:34  iRyz  阅读(1728)  评论(0)    收藏  举报