已索引

根据数据文件最大大小统计表空间使用情况(不含临时表空间)

set lines 800;
set pages 800;
col tablespace_name for a30;
col used_pct for a10;

select total.TABLESPACE_NAME TABLESPACE_NAME,
total.MAX_SIZE_MB MAX_SIZE_MB, total.SIZE_MB-free.USED_FREE_MB USED_SIZE_MB,
round(((total.SIZE_MB-free.USED_FREE_MB)/total.MAX_SIZE_MB)*100,2)|| '%'  USED_PCT, 
total.MAX_SIZE_MB-(total.SIZE_MB-free.USED_FREE_MB) Free_MB
from
    (select TABLESPACE_NAME,
sum(BYTES)/1024/1024 SIZE_MB,
sum(decode(MAXBYTES, 0 , BYTES,MAXBYTES ))/1024/1024 MAX_SIZE_MB
 from dba_data_files 
group by TABLESPACE_NAME) total, 
    (select TABLESPACE_NAME,
sum(BYTES)/1024/1024 USED_FREE_MB
from dba_free_space
group by TABLESPACE_NAME) free
    where total.TABLESPACE_NAME=free.TABLESPACE_NAME 
and total.TABLESPACE_NAME not like 'UNDO%' ;

根据数据文件当前大小统计表空间使用情况(不包含临时表空间)

set lines 800;
set pages 800;
col tablespace_name for a30;
col used_pct for a10;

select total.TABLESPACE_NAME TABLESPACE_NAME,
total.SIZE_MB MAX_SIZE_MB, total.SIZE_MB-free.USED_FREE_MB USED_SIZE_MB,
round(((total.SIZE_MB-free.USED_FREE_MB)/total.SIZE_MB)*100,2)|| '%'  USED_PCT, 
free.USED_FREE_MB Free_MB
from
    (select TABLESPACE_NAME,sum(BYTES)/1024/1024 SIZE_MB
         from dba_data_files 
        group by TABLESPACE_NAME) total, 
    (select TABLESPACE_NAME,sum(BYTES)/1024/1024 USED_FREE_MB
        from dba_free_space
        group by TABLESPACE_NAME) free
    where total.TABLESPACE_NAME=free.TABLESPACE_NAME 
and total.TABLESPACE_NAME not like 'UNDO%' ;

根据数据文件最大大小统计临时表空间使用情况

set lines 800;
set pages 800;
col tablespace_name for a30;
col used_pct for a10;

select c.TABLESPACE_NAME,
c.MAXBYTES/1024/1024 TOTAL_SIZE_MB,
d.BYTES_USED/1024/1024 USED_SIZE_MB,
round((d.BYTES_USED/c.MAXBYTES)*100,2) || '%' USED_PCT,
(c.MAXBYTES-d.BYTES_USED)/1024/1024 FREE_MB
from
(select TABLESPACE_NAME,sum(decode(MAXBYTES,0,BYTES,MAXBYTES)) MAXBYTES,sum(BYTES) BYTES
from dba_temp_files group by TABLESPACE_NAME) c,
(select TABLESPACE_NAME,sum(BYTES_CACHED) BYTES_USED
from v$temp_extent_pool group by TABLESPACE_NAME) d
where c.TABLESPACE_NAME = d.TABLESPACE_NAME;

可以使用 UNION ALL 运算将永久表空间和临时表空间的统计整合起来。

-- By 许望(RHCA、OCM、VCP)
最后修改:2024 年 02 月 05 日 10 : 32 AM
如果觉得我的文章对你有用,请随意赞赏