ITPub博客

首页 > 数据库 > Oracle > Oracle11g新增视图查询表空间使用率DBA_TABLESPACE_USAGE_METRICS

Oracle11g新增视图查询表空间使用率DBA_TABLESPACE_USAGE_METRICS

原创 Oracle 作者:巡完南山巡南山 时间:2019-01-18 16:58:02 0 删除 编辑

Oracle11g版本增加了一个表空间查询的视图 DBA_TABLESPACE_USAGE_METRICS,非常方便,不像以前要写很长的sql去查询了,但简便的同时也带来了一些问题,而且有些问题还非常隐蔽,接下来逐一说明一下。

set linesize 200 pagesize 99

col tablespace_name for a36

select TABLESPACE_NAME,ROUND((t.TABLESPACE_SIZE * p.value)/1024/1024/1024) TABLESPACE_SIZE_GB,ROUND((t.USED_SPACE * p.value)/1024/1024/1024) USED_SPACE_GB,USED_PERCENT

from DBA_TABLESPACE_USAGE_METRICS t

INNER JOIN v$parameter p ON p.name = 'db_block_size' order by 4 desc;

执行结果如下

TABLESPACE_NAME    TABLESPACE_SIZE_GB USED_SPACE_GB USED_PERCENT

------------------ ------------------ ------------- ------------

UNDOTBS1           350           309   88.3769742

TBS_DATA2          7176          5252   73.1868556

TBSFSH_DATA21       10224          7294   71.3478941

TBSFSH_DATA2        7049          4230   60.0061867

SYSAUX             64            24   38.0566778

TBSFSH_DATA22        3683          1046   28.3976447

SYSTEM             64             6   9.74960792

TEMP              976            40   4.11586419

UNDOTBS2           448             0   .110953248


该视图虽然带来了简便,但也有一下注意的地方

1、它的大小计算单位是block,所以需要关联下数据库的block大小

2、表空间总容量如果是可自动扩展的datafile,那么结果就是所有datafile最大的max值的和

3、该视图不稳定,add datafile后不一定及时刷新,可能会等一段时间

4、当表空间drop datafile后该视图由于bug,总容量不会减小,需要重启实例

5、某表空间truncate某张表后,使用率有时不会下降,但作为workaround,手动创建一个表再drop后该视图会刷新

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26964624/viewspace-2564164/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-04-11

  • 博文量
    28
  • 访问量
    12790