查询表空间使用情况的简单视图
作者 :OoNiceDream【转载时请务必以超链接形式标明文章原始出处和作者信息】
链接:http://www.dbaroad.me/archives/2009/01/sm-ts-used-and-free.html
链接: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 —
关键字: 基础知识


站内搜索