当前位置: DBARoad > 基础知识 > 文章正文

查询表空间使用情况的简单视图

                    作者 :OoNiceDream【转载时请务必以超链接形式标明文章原始出处和作者信息】
                    链接:http://www.dbaroad.me/archives/2009/01/sm-ts-used-and-free.html

用sm$ts_used、sm$ts_free视图来查看表空间使用情况还是比较方便的。结构简单,只有两列,用来大致估估使用情况还是挺实用的。

SYS@TADBA> select u.tablespace_name, u.bytes, f.bytes
  2    from sm$ts_used u, sm$ts_free f
  3   where u.tablespace_name = f.tablespace_name;
 
TABLESPACE_NAME                  BYTES             BYTES
-------------------- ----------------- -----------------
PERFSTAT                   17061511168       18589679616
SYSTEM                       182059008          80019456
UNDOTBS1                     186261504        2112159744
USER01                        10485760        1063190528
 
已选择4行。


把查询结果整得美观点:

SYS@TADBA> select u.tablespace_name,
  2         ROUND((u.bytes + f.bytes)/1024/1024,2) "SUM_SPACE(M)",
  3         ROUND(u.bytes/1024/1024,2) "USED_SPACE(M)",
  4         ROUND(f.bytes/1024/1024,2) "FREE_SPACE(M)",
  5         ROUND(u.bytes / (u.bytes + f.bytes) * 100,2) "USED_RATE(%)"
  6    from sm$ts_used u, sm$ts_free f
  7   where u.tablespace_name = f.tablespace_name
  8   order by 5 desc;
 
TABLESPACE_NAME      SUM_SPACE(M) USED_SPACE(M) FREE_SPACE(M) USED_RATE(%)
-------------------- ------------ ------------- ------------- ------------
SYSTEM                        250           174            76           69
PERFSTAT                    34000         16271         17729           48
UNDOTBS1                     2192           178          2014            8
USER01                       1024            13          1011            1
 
已选择4行。

查看视图的创建语句:

SYS@TADBA>
SYS@TADBA> select dbms_metadata.get_ddl('VIEW','SM$TS_USED','SYS') from dual;
 
DBMS_METADATA.GET_DDL('VIEW','SM$TS_USED','SYS')
--------------------------------------------------------------------------------
 
  CREATE OR REPLACE FORCE VIEW "SYS"."SM$TS_USED" ("TABLESPACE_NAME", "BYTES") AS
  select tablespace_name, sum(bytes) bytes from dba_segments
    group by tablespace_name
 
 
 
已选择 1 行。
 
SYS@TADBA> select dbms_metadata.get_ddl('VIEW','SM$TS_FREE','SYS') from dual;
 
DBMS_METADATA.GET_DDL('VIEW','SM$TS_FREE','SYS')
--------------------------------------------------------------------------------
 
  CREATE OR REPLACE FORCE VIEW "SYS"."SM$TS_FREE" ("TABLESPACE_NAME", "BYTES") AS
  select tablespace_name, sum(bytes) bytes from dba_free_space
    group by tablespace_name
 
 
 
已选择 1 行。
 
SYS@TADBA>

— The End —

关键字:
喜欢DBARoad的文章,那就通过 RSS Feed 功能订阅阅读吧!

我要评论

*

* 绝不会泄露


  • 订阅


      抓虾
      google reader
      my yahoo
      bloglines
      鲜果
      有道

站内搜索



返回首页 | 关于我 | 联系我 | 广告合作 | 网站地图 | 友情链接 | 版权声明 |