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

```

相关推荐
学传打活14 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活19 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng1681 个月前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心1 个月前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055271 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055271 个月前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝1 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 个月前
Java图像处理实战指南
人工智能·1024程序员节
u0103055271 个月前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节