Oracle 查询表空间大小


 

/*
--查看表空间物理文件名、表空间名称、总大小M 、已使用大小M 、剩余大小M 、是否自动增城、利用率
--正式环境数据库,表空间自动增长到最大空间(最大空间根据实际情况设置)
--未达最大空间,利用率达100%会自动增加表空间
--如果存放表空间的磁盘满了,表空间没增长到最大空间,表空间不能继续增长,应及时清理磁盘空间
--如果磁盘空间足够,表空间不是自动增长,当利用率达90%以上,应及时清理表空间
*/
select
  b.file_name file_name,  --物理文件名
  b.tablespace_name tab_name,  --表空间名称
  b.bytes/   1024  / 1024   tab_space_M,  --总大小M
  (b.bytes-   sum  ( nvl   (a.bytes,  0 )))/   1024  / 1024   used_space_M,  --已使用大小M
     sum  ( nvl   (a.bytes,  0 ))/   1024  / 1024   freespace_M,  --剩余表空间大小M
    b.autoextensible,  --是否自动增长
    substr ((b.bytes-   sum  ( nvl   (a.bytes,  0 )))/(b.bytes)*   100  , 1   ,  5 ) use_ratio  --利用率
from  dba_free_space a,dba_data_files b
where  a.file_id=b.file_id  and  b.tablespace_name  like   'FGMAIN%'
group   by  b.tablespace_name,b.file_name,b.bytes,b.autoextensible
order   by  used_space_M  desc


nvl 是 Oracle PL/SQL中的一个函数。

格式为:NVL( string1, replace_with)

功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。

注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。

例如:nvl (a.bytes, 0) 如果a.bytes为空,则nvl返回0;反则返回a.bytes值;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值