oracle中怎么查看一个用户所占的空间。用pl/sql能看嘛?还有怎么看表空间还剩多少

如题所述

查看一个用户所占的空间
用该用户登录
select
sum(bytes)/1024/1024 MB
from user_extents u

查看表空间还剩多少,用这个,还能看每个文件情况
select
b.file_id  文件ID,
  b.tablespace_name  表空间,
  b.file_name     物理文件名,
  b.bytes       总字节数,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
  from dba_free_space a,dba_data_files b
  where a.file_id=b.file_id
  group by b.tablespace_name,b.file_name,b.file_id,b.bytes
  order by b.tablespace_name
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-20
select b.tablespace_name   表空间,
round(b.bytes / 1024 / 1024 / 1024, 2)          总空间GB,
round((b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 / 1024, 2) 已使用GB,
round(sum(nvl(a.bytes, 0)) / 1024 / 1024 / 1024, 2)          剩余GB,
round(sum(nvl(a.bytes, 0)) / (b.bytes) * 100, 2)   "剩余%"
from dba_free_space a, dba_data_files b
where a.file_id = b.file_id
and a.tablespace_name = 'DZQD_DATA_01'
group by b.tablespace_name, b.file_name, b.file_id, b.bytes
order by b.tablespace_name
相似回答