技术小站

Oracle查看表空间使用情况

以MB为单位

col TABLESPACE_NAME for a20
SELECT D.TABLESPACE_NAME,SPACE "Total(M)", SPACE-NVL(FREE_SPACE,0) "USED(M)",
ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED(%)",FREE_SPACE "FREE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,SPACE "Total(M)",
USED_SPACE "USED(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED(%)",
NVL(FREE_SPACE,0) "FREE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,
ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);


以GB为单位

col TABLESPACE_NAME for a20
SELECT D.TABLESPACE_NAME,SPACE "Total(G)", SPACE-NVL(FREE_SPACE,0) "USED(G)",
ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED(%)",FREE_SPACE "FREE(G)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024*1024),3) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024*1024),3) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,SPACE "Total(M)",
USED_SPACE "USED(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,3) "USED(%)",
NVL(FREE_SPACE,0) "FREE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024*1024),3) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024*1024),3) USED_SPACE,
ROUND(SUM(BYTES_FREE)/(1024*1024*1024),3) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);


以GB为单位,。中文显示,如果有乱码使用上面语句。

col 表空间名称 for a20
SELECT D.TABLESPACE_NAME "表空间名称",SPACE "总大小(G)", SPACE-NVL(FREE_SPACE,0) "已使用(G)",
ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "已使用率(%)",FREE_SPACE "剩余(G)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024*1024),3) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024*1024),3) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,SPACE "Total(M)",
USED_SPACE "USED(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,3) "USED(%)",
NVL(FREE_SPACE,0) "FREE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024*1024),3) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024*1024),3) USED_SPACE,
ROUND(SUM(BYTES_FREE)/(1024*1024*1024),3) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);


原创文章请注明转载自技术小站本文地址:http://www.i5i6.net/post/57.html,标题:Oracle查看表空间使用情况

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

【我来说两句】
分享到:

精彩推荐:

相关文章:

redhat 6.5 安装oracle 11gR2 完全手册 图文教程  (2017-9-11 15:20:9)

AIX 设置Oracle数据的自动启动与关闭脚本  (2015-7-20 20:10:14)

Linux 下 oracle 启动与停止脚本  (2015-7-16 10:6:42)

windows 下 oracle启动脚本  (2015-7-16 9:49:56)

Oracel 一些常用语句  (2015-7-16 9:20:44)

把sqlplus下执行语句及结果保持到一个文件  (2015-7-10 11:12:34)

Oracel EXP、IMP 命令详解  (2015-7-9 16:48:39)

解决oracle 10G 在Linux下安装时中文乱码问题  (2015-7-3 11:18:49)

Oracle 10G数据库安装手记 for Linux  (2015-7-3 11:4:55)

linux下创建裸设备及Oracle表空间  (2015-6-29 18:14:31)

评论 0