Oracle 表空间的剩余空间

本文提供了一种查询Oracle数据库中各表空间总容量、已使用容量、剩余容量及百分比的方法,通过SQL语句结合NVL函数处理空值,帮助数据库管理员有效监控和管理表空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select tbs 表空间名,
sum(totalM) 总共大小M,
sum(usedM) 已使用空间M,
sum(remainedM) 剩余空间M,
sum(usedM)/sum(totalM)*100 已使用百分比,
sum(remainedM)/sum(totalM)*100 剩余百分比
from (
    select b.FILE_ID ID,
    b.TABLESPACE_NAME tbs,
    b.FILE_NAME name,
    b.BYTES/1024/1024 totalM,
    (b.BYTES - sum(nvl(a.BYTES,0)))/1024/1024  usedM,
    sum(nvl(a.BYTES,0))/1024/1024   remainedM,
    sum(nvl(a.BYTES,0))/(b.BYTES)*100  剩余百分比,
    (100 - sum(nvl(a.BYTES,0))/(b.BYTES)*100) 已使用百分比    
    from dba_free_space a,dba_data_files b
    where a.FILE_ID=b.FILE_ID    ----也可以指定查询某一个表空间 a.tablespace_name ='my_001'
    group by b.TABLESPACE_NAME,b.FILE_NAME,b.FILE_ID,b.BYTES
    order by b.TABLESPACE_NAME
   )
group by tbs

 

NVL函数的格式如下:NVL(expr1,expr2)

含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值