查询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