您的位置:首页 > 数据库 > Oracle

Oracle 查询表空间大小

2015-02-15 15:48 239 查看
/*
[align=left]--查看表空间物理文件名、表空间名称、总大小M 、已使用大小M 、剩余大小M 、是否自动增城、利用率[/align]
[align=left]--正式环境数据库,表空间自动增长到最大空间(最大空间根据实际情况设置)[/align]
--未达最大空间,利用率达100%会自动增加表空间

--如果存放表空间的磁盘满了,表空间没增长到最大空间,表空间不能继续增长,应及时清理磁盘空间

--如果磁盘空间足够,表空间不是自动增长,当利用率达90%以上,应及时清理表空间

[align=left]*/[/align]
[align=left]select[/align]
[align=left]  b.file_name file_name, --物理文件名[/align]
[align=left]  b.tablespace_name tab_name, --表空间名称[/align]
[align=left]  b.bytes/ 1024 /1024 tab_space_M, --总大小M[/align]
[align=left]  (b.bytes- sum (nvl (a.bytes, 0)))/ 1024 /1024 used_space_M, --已使用大小M[/align]
[align=left] sum (nvl (a.bytes, 0))/ 1024 /1024 freespace_M, --剩余表空间大小M[/align]
[align=left] b.autoextensible, --是否自动增长[/align]
   substr((b.bytes- sum (nvl (a.bytes, 0)))/(b.bytes)* 100 ,1 , 5)
use_ratio --利用率
[align=left]from dba_free_space a,dba_data_files b[/align]
[align=left]where a.file_id=b.file_id and b.tablespace_name like 'FGMAIN%'[/align]
[align=left]group by b.tablespace_name,b.file_name,b.bytes,b.autoextensible[/align]
[align=left]order by used_space_M desc[/align]

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值;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: