oracle查看使用率,查看 Oracle 表空间使用率

用到了

SYS.DBA_FREE_SPACE、SYS.DBA_DATA_FILES 两个视图

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 F.TABLESPACE_NAME;

以下是我写的:)

select f.tablespace_name,d.total_byte,(d.total_byte-f.free_byte)

used_byte,

f.free_byte free_byte,round((1-f.free_byte/d.total_byte)*100,2)

used_per,round(f.maxbyte/(1024*1024),2) maxbyte

from (select tablespace_name,round(sum(bytes)/(1024*1024),2)

free_byte,max(bytes) maxbyte from dba_free_space

group by tablespace_name) f,

(select tablespace_name,round(sum(bytes)/(1024*1024),2) total_byte

from dba_data_files

group by tablespace_name) d

where f.tablespace_name=d.tablespace_name

order by f.tablespace_name

在8i中temporary tablespace

也可以在dba_free_space中查找到的,但是在9I以后,temp

tablespace

属于自动管理,在dba_free_space中已经查不到。另外在9i中已经有了dba_temp_files

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值