oracle中怎么查看一个用户所占的空间。用pl/sql能看嘛?还有怎么看表空间还剩多少
2个回答
展开全部
查看一个用户所占的空间
用该用户登录
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
用该用户登录
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
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询