Oracle查看表空间使用率SQL脚本_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2213 | 回复: 0   主题: Oracle查看表空间使用率SQL脚本        下一篇 
white
注册用户
等级:少校
经验:1327
发帖:305
精华:0
注册:2011-7-21
状态:离线
发送短消息息给white 加好友    发送短消息息给white 发消息
发表于: IP:您无权察看 2015-8-13 14:50:06 | [全部帖] [楼主帖] 楼主

set linesize 400;

setpagesize 200;

col"USED_RATE(%)"format a20;

col"USED_SPACE(M)"format a20;

col"SUM_SPACE(M)"format a20;

col"FREE_SPACE(M)"format a20;

SELECT

D.TABLESPACE_NAME,

SPACE   'M'AS"SUM_SPACE(M)",

BLOCKS AS"SUM_BLOCKS",

SPACE -NVL(FREE_SPACE, 0)  'M'AS"USED_SPACE(M)",

ROUND((1 -NVL(FREE_SPACE, 0)/ SPACE)* 100, 2)  '%'AS"USED_RATE(%)",

FREE_SPACE   'M'AS"FREE_SPACE(M)"

FROM(

SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024 * 1024), 2)AS SPACE,SUM(BLOCKS)AS BLOCKS

FROM DBA_DATA_FILES

GROUPBY TABLESPACE_NAME

) D

INNER JOIN (

SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024 * 1024), 2)AS FREE_SPACE

FROM DBA_FREE_SPACE

GROUPBY TABLESPACE_NAME

) F ON D.TABLESPACE_NAME = F.TABLESPACE_NAME

UNIONALL

SELECT

D.TABLESPACE_NAME,

SPACE   'M'AS"SUM_SPACE(M)",

BLOCKS AS SUM_BLOCKS,

USED_SPACE   'M'AS"USED_SPACE(M)",

ROUND(NVL(USED_SPACE, 0)/ SPACE * 100, 2)  '%'AS"USED_RATE(%)",

NVL(FREE_SPACE, 0)  'M'AS"FREE_SPACE(M)"

FROM(

SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024 * 1024), 2)AS SPACE,SUM(BLOCKS)AS BLOCKS

FROM DBA_TEMP_FILES

GROUPBY TABLESPACE_NAME

) D

INNER JOIN (

SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024 * 1024), 2)AS USED_SPACE,

ROUND(SUM(BYTES_FREE)/(1024 * 1024), 2)AS FREE_SPACE

FROM V$TEMP_SPACE_HEADER

GROUPBY TABLESPACE_NAME

) F ON D.TABLESPACE_NAME = F.TABLESPACE_NAME

ORDERBY 1;

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论