oracle查询表空间使用率

SELECT TABLESPACE_NAME,

MEGS_ALLOC "Size(m)",

MEGS_FREE "Free(m)",

MEGS_USED "Used(m)",

PCT_USED "Usage(%)",

MAX "Max(m)",

pct_max "Usage pct of Max %",

STATUS,

CONTENTS

FROM (WITH tb

AS (SELECT a.tablespace_name,

ROUND (a.bytes_alloc / 1024 / 1024) megs_alloc,

ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) megs_free,

ROUND (

(a.bytes_alloc - NVL (b.bytes_free, 0))

/ 1024

/ 1024)

megs_used,

ROUND (

(NVL (b.bytes_free, 0) / a.bytes_alloc) * 100)

Pct_Free,

100

- ROUND (

(NVL (b.bytes_free, 0) / a.bytes_alloc) * 100)

Pct_used,

ROUND (maxbytes / 1048576) MAX,

c.status,

c.contents

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,

dba_tablespaces c

WHERE     a.tablespace_name = b.tablespace_name(+)

AND a.tablespace_name = c.tablespace_name

UNION ALL

SELECT h.tablespace_name,

ROUND (SUM (h.bytes_free + h.bytes_used) / 1048576)

megs_alloc,

ROUND (

SUM (

(h.bytes_free + h.bytes_used)

- NVL (p.bytes_used, 0))

/ 1048576)

megs_free,

ROUND (SUM (NVL (p.bytes_used, 0)) / 1048576)

megs_used,

ROUND (

(  SUM (

(h.bytes_free + h.bytes_used)

- NVL (p.bytes_used, 0))

/ SUM (h.bytes_used + h.bytes_free))

* 100)

Pct_Free,

100

- ROUND (

(  SUM (

(h.bytes_free + h.bytes_used)

- NVL (p.bytes_used, 0))

/ SUM (h.bytes_used + h.bytes_free))

* 100)

pct_used,

ROUND (

SUM (

DECODE (f.autoextensible,

'YES', f.maxbytes,

'NO', f.bytes)

/ 1048576))

MAX,

c.status,

c.contents

FROM sys.gv_$TEMP_SPACE_HEADER h,

sys.gv_$Temp_extent_pool p,

dba_temp_files f,

dba_tablespaces c

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

AND f.tablespace_name = c.tablespace_name

GROUP BY h.tablespace_name, c.status, c.contents

ORDER BY 6 DESC)

SELECT TABLESPACE_NAME,

MEGS_ALLOC,

MEGS_FREE,

MEGS_USED,

PCT_FREE,

PCT_USED,

MAX,

ROUND ( (MEGS_USED / MAX) * 100) pct_max,

STATUS,

CONTENTS

FROM tb where  PCT_USED>85 and ROUND ( (MEGS_USED / MAX) * 100)>70 )

原文地址:http://blog.51cto.com/11310506/2121260

时间: 2024-09-28 19:26:14

oracle查询表空间使用率的相关文章

【Oracle 常用查询】oracle表空间使用率统计查询

参考1 --查询表空间使用情况 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') || '

oracle表空间使用率统计查询

今天发现有一张采样表从1月5号开始不记录数据了,所以想查看一下表空间使用率,在网上零零散散找了很多资料,现在记录如下,也不知道哪一个最准确.还有一个就是网上拷贝的sql代码格式太乱了,不好看,找到一个在线格式化工具. 参考1 --查询表空间使用情况 SELECT Upper(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使

oracle表空间使用率 脚本

参考文献 文献1:http://blog.itpub.net/24104518/viewspace-730682,字符有格式,需要清理一下 文献2:http://www.cnblogs.com/fengyun627/archive/2009/07/27/1532551.html 文献3:http://blog.csdn.net/hproc/article/details/7372265 sql语句格式化:http://web.chacuo.net/formatsql 参考1 --查询表空间使用情

(转)oracle表空间使用率统计查询

转自:http://www.cnblogs.com/xwdreamer/p/3511047.html 参考文献 文献1:http://blog.itpub.net/24104518/viewspace-730682,字符有格式,需要清理一下 文献2:http://www.cnblogs.com/fengyun627/archive/2009/07/27/1532551.html 文献3:http://blog.csdn.net/hproc/article/details/7372265 sql语

Oracle表空间使用率过大问题处理方法

一. 查看Oracle数据库内表空间使用情况 SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", (total - free) "表空间使用大小", total/(1024*1024*1024) "表空间大小(G)", free/(1024*1024*1024) "表空间剩余大小(G)", (total - fr

oracle表空间使用率查询

sqlplus -s / as sysdba<<EOFset trimspool onset linesize 10000set pagesize 50000set heading onset term offset heading onset feedback off;set newp none;set echo offset markup html onspool onspool xj.xls--表空间使用率查询: select t.tablespace_name,t.total,f.fr

Oracle查询表空间使用情况

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.TOT

oracle 查询表空间

1.查看所有表空间使用情况 select b.file_id 文件ID号, b.tablespace_name 表空间名, b.bytes/1024/1024||'M'字节数, (b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' 已使用, sum(nvl(a.bytes,0))/1024/1024||'M' 剩余空间, 100 - sum(nvl(a.bytes,0))/(b.bytes)*100 占用百分比 from dba_free_space a,db

oracle查询表空间的位置

SELECT * FROM Dba_Data_Files ddf WHERE ddf.tablespace_name = 'TablespaceName'; 以上SQL代码可以查询出表空间的所在路径和表空间的其他信息 原文地址:https://www.cnblogs.com/chbyiming-bky/p/8949782.html