Oracle数据库查询表空间使用情况、扩容表空间命令脚本(dba、ETL必备)
文章目录
前言
数据库中用户存储数据的存储大小(表结构+表中的数据),如果表空间不足会出现数据库连接失败、监听服务挂掉的情况,这时应查询表空间的使用情况并找到解决方法,以下说明解决方案。
提示:以下是本篇文章正文内容,下面案例可供参考
一、查看数据库每个表空间的大小
SELECT SEGMENT_NAME 表名称,SUM(BYTES)/1024/1024 占用空间 FROM USER_EXTENTS GROUP BY SEGMENT_NAME
效果截图
二、查看数据库剩余表空间大小
SELECT TABLESPACE_NAME 表空间,SUM(BLOCKS*8192/1000000) 剩余空间M FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;
效果截图
三、检查系统中所有表空间总体空间
SELECT B.NAME 表空间名称,SUM(A.BYTES/1000000)总空间 FROM V$DATAFILE A,V$TABLESPACE B WHERE A.TS#=B.TS# GROUP BY B.NAME;
效果截图
四、查询oracle表空间使用情况(重点)用的最多
1、方式一
SELECT B.FILE_ID 文件ID,B.TABLESPACE_NAME 表空间,B.FILE_NAME 物理文件名,B.BYTES 总字节数,(B.BYTES-SUM(NVL(A.BYTES,0))) 已使用,SUM(NVL(A.BYTES,0)) 剩余,SUM(NVL(A.BYTES,0))/