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

```

相关推荐
小坏讲微服务9 小时前
MaxWell中基本使用原理 完整使用 (第一章)
大数据·数据库·hadoop·sqoop·1024程序员节·maxwell
liu****1 天前
18.HTTP协议(一)
linux·网络·网络协议·http·udp·1024程序员节
洛_尘1 天前
JAVA EE初阶 6: 网络编程套接字
网络·1024程序员节
2301_800256111 天前
关系数据库小测练习笔记(1)
1024程序员节
金融小师妹2 天前
基于多源政策信号解析与量化因子的“12月降息预期降温”重构及黄金敏感性分析
人工智能·深度学习·1024程序员节
GIS数据转换器2 天前
基于GIS的智慧旅游调度指挥平台
运维·人工智能·物联网·无人机·旅游·1024程序员节
南方的狮子先生3 天前
【C++】C++文件读写
java·开发语言·数据结构·c++·算法·1024程序员节
Neil今天也要学习3 天前
永磁同步电机无速度算法--基于三阶LESO的反电动势观测器
算法·1024程序员节
开开心心_Every3 天前
专业视频修复软件,简单操作效果好
学习·elasticsearch·pdf·excel·音视频·memcache·1024程序员节
liu****4 天前
16.udp_socket(三)
linux·开发语言·数据结构·c++·1024程序员节