公司的temp表空间很大,已经达到32G
通过以下sql可得到临时表空间增经最大使用情况:
select d.tablespace_name,
space "sum_space(m)",
blocks sum_blocks,
used_space "used_space(m)",
round(nvl(used_space, 0) / space * 100, 2) "used_rate(%)",
nvl(free_space, 0) "free_space(m)"
from (select tablespace_name,
round(sum(bytes) / (1024 * 1024), 2) space,
sum(blocks) blocks
from dba_temp_files
group by tablespace_name) d,
(select tablespace_name,
round(sum(bytes_used) / (1024 * 1024), 2) used_space,
round(sum(bytes_free) / (1024 * 1024), 2) free_space
from v$temp_space_header
group by tablespace_name) f
where d.tablespace_name = f.tablespace_name(+)
TABLESPACE_NAME sum_space(m) SUM_BLOCKS used_space(m) used_rate(%) free_space(m)
---------------- ------------ ---------- ------------- ------------ -------------
TEMP 32767 4194176 32767 100 0
引用下面的话:
但这种情况并不能表示目前临时表空间的使用情况,比如某临时表空间已经使用了100%,该操作完毕后,临时表空间的HWM标志没有被回收,所以如果想知道当前的临时表空间使用,需要通过v$sort_usgae来确定:
select sum(blocks*8192)/1024/1024 from v$sort_usage;
M
--------------------------
42
以后需要关注的是动态临时表空间的使用情况
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7417660/viewspace-1050435/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7417660/viewspace-1050435/