oracle表空间相关统计查询
部分转自 https://www.cnblogs.com/xwdreamer/p/3511047.html
--查询表空间使用情况
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
2),
'990.99') || '%' "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC, 5 ASC;
--查询表空间的free space
SELECT TABLESPACE_NAME,
COUNT(*) AS EXTENDS,
ROUND(SUM(BYTES) / 1024 / 1024, 2) AS MB,
SUM(BLOCKS) AS BLOCKS
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
ORDER BY 3 ASC;
--查询表空间的总容量
SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 AS MB
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
ORDER BY 2 DESC;
--查询表空间使用率
SELECT TOTAL.TABLESPACE_NAME,
ROUND(TOTAL.MB, 2) AS TOTAL_MB,
ROUND(TOTAL.MB - FREE.MB, 2) AS USED_MB,
ROUND((1 - FREE.MB / TOTAL.MB) * 100, 2) || '%' AS USED_PCT
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
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) TOTAL
WHERE FREE.TABLESPACE_NAME = TOTAL.TABLESPACE_NAME
ORDER BY 4 DESC;
SELECT A.TABLESPACE_NAME "表空间名",
TOTAL "表空间大小",
FREE "表空间剩余大小",
(TOTAL - FREE) "表空间使用大小",
ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "使用率 %"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, SUM(BYTES) TOTAL
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
ORDER BY 5 DESC ;
SELECT TABLESPACE_NAME "表空间",
TO_CHAR(ROUND(BYTES / 1024, 2), '99990.00') || '' "实有",
TO_CHAR(ROUND(FREE / 1024, 2), '99990.00') || 'G' "现有",
TO_CHAR(ROUND((BYTES - FREE) / 1024, 2), '99990.00') || 'G' "使用",
TO_CHAR(ROUND(10000 * USED / BYTES) / 100, '99990.00') || '%' "使用比例"
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
FLOOR(A.BYTES / (1024 * 1024)) BYTES,
FLOOR(B.FREE / (1024 * 1024)) FREE,
FLOOR((A.BYTES - B.FREE) / (1024 * 1024)) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME, SUM(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'CDR%' --这一句用于指定表空间名称
ORDER BY FLOOR(10000 * USED / BYTES) DESC;
SELECT TABLESPACE_NAME,
MAX_GB,
USED_GB,
ROUND(100 * USED_GB / MAX_GB) PCT_USED
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / POWER(2, 30),
2) USED_GB,
ROUND(A.MAXBYTES / POWER(2, 30), 2) MAX_GB
FROM (SELECT F.TABLESPACE_NAME,
SUM(F.BYTES) BYTES_ALLOC,
SUM(DECODE(F.AUTOEXTENSIBLE,
'YES',
F.MAXBYTES,
'NO',
F.BYTES)) MAXBYTES
FROM DBA_DATA_FILES F
GROUP BY TABLESPACE_NAME) A,
(SELECT F.TABLESPACE_NAME, SUM(F.BYTES) BYTES_FREE
FROM DBA_FREE_SPACE F
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)
UNION ALL
SELECT H.TABLESPACE_NAME TABLESPACE_NAME,
ROUND(SUM(NVL(P.BYTES_USED, 0)) / POWER(2, 30), 2) USED_GB,
ROUND(SUM(DECODE(F.AUTOEXTENSIBLE,
'YES',
F.MAXBYTES,
'NO',
F.BYTES)) / POWER(2, 30),
2) MAX_GB
FROM V$TEMP_SPACE_HEADER H, V$TEMP_EXTENT_POOL P, DBA_TEMP_FILES F
WHERE P.FILE_ID(+) = H.FILE_ID
AND P.TABLESPACE_NAME(+) = H.TABLESPACE_NAME
AND F.FILE_ID = H.FILE_ID
AND F.TABLESPACE_NAME = H.TABLESPACE_NAME
GROUP BY H.TABLESPACE_NAME)
ORDER BY 4;
--带获取数据文件及路径
SELECT B.FILE_NAME 物理文件名,
B.TABLESPACE_NAME 表空间名称,
B.BYTES / 1024 / 1024 总大小M,
(B.BYTES - SUM(NVL(A.BYTES, 0))) / 1024 / 1024 已使用M,
SUBSTR((B.BYTES - SUM(NVL(A.BYTES, 0))) / (B.BYTES) * 100, 1, 5) 使用率
FROM DBA_FREE_SPACE A, DBA_DATA_FILES B
WHERE A.FILE_ID = B.FILE_ID
GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES
ORDER BY B.TABLESPACE_NAME;
SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
TOTAL / 1048576 TOTAL_M,
FREE / 1048576 FREE_M,
(TOTAL - FREE) / 1048576 USED_M,
ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "USED%",
AUTOEXTENSIBLE AUTOEXTEM
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME,
SUM(BYTES) TOTAL,
MAX(AUTOEXTENSIBLE) AUTOEXTENSIBLE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
ORDER BY 6, 5 DESC;
--查看表空间的名字及文件所在位置
SELECT TABLESPACE_NAME,
FILE_ID,
FILE_NAME,
ROUND(BYTES / (1024 * 1024), 0) TOTAL_SPACE
FROM DBA_DATA_FILES
ORDER BY TABLESPACE_NAME;
--查询表空间使用情况
SELECT A.TABLESPACE_NAME AS "表空间名",
A.BYTES / 1024 / 1024 AS "表空间大小(M)",
(A.BYTES - B.BYTES) / 1024 / 1024 AS "已使用空间(M)",
B.BYTES / 1024 / 1024 "空闲空间(M)",
ROUND(((A.BYTES - B.BYTES) / A.BYTES) * 100, 2) "使用比"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES, MAX(BYTES) LARGEST
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
ORDER BY ((A.BYTES - B.BYTES) / A.BYTES) DESC;
SELECT A.A1 表空间名称,
C.C2 类型,
C.C3 区管理,
B.B2 / 1024 / 1024 表空间大小M,
(B.B2 - A.A2) / 1024 / 1024 已使用M,
SUBSTR((B.B2 - A.A2) / B.B2 * 100, 1, 5) 利用率
FROM (SELECT TABLESPACE_NAME A1, SUM(NVL(BYTES, 0)) A2
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME B1, SUM(BYTES) B2
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) B,
(SELECT TABLESPACE_NAME C1, CONTENTS C2, EXTENT_MANAGEMENT C3
FROM DBA_TABLESPACES) C
WHERE A.A1 = B.B1
AND C.C1 = B.B1
ORDER BY 6 DESC;
---所有用户表使用大小的前三十名
SELECT *
FROM (SELECT SEGMENT_NAME, BYTES
FROM DBA_SEGMENTS
WHERE OWNER = USER
ORDER BY BYTES DESC)
WHERE ROWNUM <= 30;
--有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:
SELECT SEGMENT_NAME, BYTES FROM USER_SEGMENTS WHERE SEGMENT_TYPE = 'TABLE';
--or
SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024
FROM USER_EXTENTS
GROUP BY SEGMENT_NAME;
--另一种表实际使用的空间
ANALYZE TABLE EMP COMPUTE STATISTICS;
SELECT NUM_ROWS * AVG_ROW_LEN
FROM USER_TABLES
WHERE TABLE_NAME = 'T_TEST';
SELECT NUM_ROWS * AVG_ROW_LEN, T.*
FROM DBA_TABLES T
WHERE TABLE_NAME = 'T_TEST';
oracle表空间相关统计查询的更多相关文章
- oracle表空间使用率统计查询
今天发现有一张采样表从1月5号开始不记录数据了,所以想查看一下表空间使用率,在网上零零散散找了很多资料,现在记录如下,也不知道哪一个最准确.还有一个就是网上拷贝的sql代码格式太乱了,不好看,找到一个 ...
- (转)oracle表空间使用率统计查询
转自:http://www.cnblogs.com/xwdreamer/p/3511047.html 参考文献 文献1:http://blog.itpub.net/24104518/viewspace ...
- oracle表空间相关
数据库被划分为若干个表空间,每个表空间内保存一组相关的逻辑对象.每个表空间由一个或者多个数据文件组成.oracle中的数据逻辑上存储在表空间里,物理上存储在属于该表空间的数据文件里.表空间是用户和物理 ...
- oracle表空间相关SQL语句
Oracle 数据库查看表空间的使用情况 SELECT d.tablespace_name, space "SUM_SPACE(MB)", ) "USED_SPACE(M ...
- oracle表空间使用情况查询
1. 查看所有表空间大小 SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files 2 group by tabl ...
- Oracle表空间管理
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; //修改表空间数据文件类型 2.ALT ...
- oracle表空间不足相关问题解决办法
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- oracle 表空间管理相关(原创)
通过以下几步基本可以查看表空间情况以及处理表空间不足问题. ASM相关 查看asm空间 select group_number,name,total_mb,free_mb from v$asm_dis ...
- Oracle 表空间查询与操作方法
一.查询篇 1.查询oracle表空间的使用情况 select b.file_id 文件ID, b.tablespace_name 表空间, b.file_name 物理文件名, b.bytes ...
随机推荐
- django补充CBV和FBV模式
django补充CBV和FBV模式FBV模式---函数:经常用的方式CBV模式---类CBV中url连接时函数名后面要接.as_view()class index(views.View): @... ...
- MPV源码探究:源码结构和调用层次
源码结构和调用层次 源码结构 从 Github 上拉取最新的源码,目录结构大致如下: H:\MPV ├─.github ├─audio │ ├─decode │ ├─filter │ └─out ├─ ...
- spring security 原理+实战
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- 死磕 java线程系列之线程池深入解析——构造方法
(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 简介 ThreadPoolExecutor的构造方法是创建线程池的入口,虽然比较简单,但是信息量很大,由此也能 ...
- springboot + springcloud +nacos实战
首先从整个软件的功能和应用场景来说,nacos更像consul,而非eureka,nacos设计的时候自带的配置中心功能,让我们省下了去搞springcloud config的时间,但这里并不是说na ...
- 易优CMS:channelartlist 获取当前频道的下级栏目的内容列表
channelartlist 获取当前频道的下级栏目的内容列表 [基础用法] 名称:channelartlist 功能:获取当前频道的下级栏目的内容列表标签 语法: {eyou:channelar ...
- Git实战指南----跟着haibiscuit学Git(第四篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- 好的js书写习惯
1:单一判断 bad if (result) { console.log("秋叶"); } if (!result) { console.log("秋叶"); ...
- 升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715_余东升
升鲜宝V2.0_杭州生鲜配送行业,升鲜宝供应链B端订货系统使用说明_升鲜宝生鲜供应链管理系统_15382353715 升鲜宝生鲜配送供应链系统经过这些年的发展,形成一套独特的订 ...
- html中的框架frameset和frame及iframe
通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面. 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面,简而言之,就是在一个窗口中显示多个页面. 每个页面称之为一个框架.并且每个框架独立 ...