Oracle查询表空间使用情况

Oracle查询表空间使用情况

可用根据DBA_DATA_FILES 和 DBA_FREE_SPACE两个视图来查询

  • DBA_FREE_SPACE :字段BYTES,表示该表空间 `已用空间`

  • DBA_DATA_FILES :字段BYTES, 表示该表空间 `当前可使用的总空间`

  • DBA_DATA_FILES :字段MAXBYTES, 表示该表空间 `当前可扩展到的最大空间`

```sql

SELECT TOTAL.TABLESPACE_NAME AS 表空间名,

ROUND(TOTAL.MB - FREE.MB, 2) || ' MB' AS 当前已用空间,

ROUND(FREE.MB, 2) || ' MB' AS 当前可用空间,

ROUND(TOTAL.MB, 2) || ' MB' AS 当前可用的总空间,

ROUND((1 - FREE.MB / TOTAL.MB) * 100, 2) || '%' AS 当前使用百分比,

ROUND(TOTAL.MAX_MB, 2) || ' MB' AS 可扩展到的最大空间,

DECODE(TOTAL.MAX_MB, 0, 0, ROUND(TOTAL.MAX_MB - TOTAL.MB, 2)) ||

' MB' AS 剩余可扩展的空间,

DECODE(TOTAL.MAX_MB,

0,

0,

ROUND((1 - TOTAL.MB / TOTAL.MAX_MB) * 100, 2)) || '%' AS 剩余可扩展的百分比,

ROUND(TOTAL.MAX_MB - FREE.MB, 2) || ' MB' AS 剩余可用的最大空间

FROM (SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 AS MB

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) FREE,

(SELECT TABLESPACE_NAME,

SUM(BYTES) / 1024 / 1024 AS MB,

SUM(MAXBYTES) / 1024 / 1024 AS MAX_MB

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME) TOTAL

WHERE FREE.TABLESPACE_NAME = TOTAL.TABLESPACE_NAME

ORDER BY TOTAL.TABLESPACE_NAME

```

相关推荐
空灵之海5 小时前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
阿啄debugIT3 天前
装饰(Decorator)模式可以在不修改对象外观和功能的情况下添加或者删除对象功能
软件工程·1024程序员节
lzb_kkk1 个月前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家
Yangy_Jiaojiao1 个月前
三维手眼标定
1024程序员节
guozhetao2 个月前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk2 个月前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk3 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk3 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment4 个月前
List介绍
1024程序员节
开利网络4 个月前
产业互联网+三融战略:重构企业增长密码
大数据·运维·服务器·人工智能·重构·1024程序员节