Oracle查询表空间使用情况

Oracle查询表空间使用情况的方法未必人人知道,下面就为您详细介绍Oracle查询表空间使用情况的方法,供您参考学习之用。

Oracle查询表空间使用情况–查询表空间使用情况

  1. SELECT UPPER(F.TABLESPACE_NAME) "表空间名",  
  2. D.TOT_GROOTTE_MB "表空间大小(M)",  
  3. D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",  
  4. TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",  
  5. F.TOTAL_BYTES "空闲空间(M)",  
  6. F.MAX_BYTES "最大块(M)"  
  7. FROM (SELECT TABLESPACE_NAME,  
  8. ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,  
  9. ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES  
  10. FROM SYS.DBA_FREE_SPACE  
  11. GROUP BY TABLESPACE_NAME) F,  
  12. (SELECT DD.TABLESPACE_NAME,  
  13. ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB  
  14. FROM SYS.DBA_DATA_FILES DD  
  15. GROUP BY DD.TABLESPACE_NAME) D  
  16. WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME  
  17. ORDER BY 1  

–查询表空间的free space

  1. select tablespace_name,  
  2. count(*) as extends,  
  3. round(sum(bytes) / 1024 / 1024, 2) as MB,  
  4. sum(blocks) as blocks  
  5. from dba_free_space  
  6. group by tablespace_name;  

–查询表空间的总容量

  1. select tablespace_name, sum(bytes) / 1024 / 1024 as MB  
  2. from dba_data_files  
  3. group by tablespace_name;  

–查询表空间使用率

  1. select total.tablespace_name,  
  2. round(total.MB, 2) as Total_MB,  
  3. round(total.MB - free.MB, 2) as Used_MB,  
  4. round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct  
  5. from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB  
  6. from dba_free_space  
  7. group by tablespace_name) free,  
  8. (select tablespace_name, sum(bytes) / 1024 / 1024 as MB  
  9. from dba_data_files  
  10. group by tablespace_name) total  
  11. where free.tablespace_name = total.tablespace_name;  

 

 

 

 

【编辑推荐】

Oracle创建视图的语法

oracle创建表空间的语句写法

oracle重建索引的实现

全面解析Oracle文件系统

ACLE系统表和数据字典视图

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/271651.html<

(0)
管理的头像管理
上一篇2025-05-08 09:25
下一篇 2025-05-08 09:26

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注