一,查询空间大小\
select t.tablespace_name,
total,
free,
round(100 * (1 - (free / total)), 3) || '%' 已使用的空间比例
from (select tablespace_name, sum(bytes) / 1024 / 1024 total
from dba_data_files
group by tablespace_name) t,
(select tablespace_name, sum(bytes) / 1024 / 1024 free
from dba_free_space
group by tablespace_name) f
where t.tablespace_name = f.tablespace_name(+)
order by tablespace_name;
---183 APPS_UNDOTS1 71362 40315.5 43.506%
SUM(BYTES) STATUS
---------- ---------
2531740876 UNEXPIRED
16777216 ACTIVE
unexpired的在retention guarantee没有启用的情况下,可以看作是free的,你这里还有2g多的可用空间,
99%看到的是假象
select TABLESPACE_NAME,STATUS,CONTENTS,SEGMENT_SPACE_MANAGEMENT,RETENTION from dba_tablespaces
where CONTENTS='UNDO';
二 查看undo 状态
SELECT TO_CHAR(BEGIN_TIME,'HH24:MI:SS') BEGIN_TIME,
TO_CHAR(END_TIME,'HH24:MI:SS') END_TIME,
UNDOBLKS
FROM V$UNDOSTAT;
--检查UNDO Segment状态
SELECT a.name, b.xacts, b.writes, b.extents
FROM v$rollname a, v$rollstat b
WHERE a.usn=b.usn;
SELECT TO_CHAR(BEGIN_TIME,'HH24:MI:SS') BEGIN_TIME,
TO_CHAR(END_TIME,'HH24:MI:SS') END_TIME,UNDOBLKS
FROM V$UNDOSTAT;
Oracle 10gr2的后续版本中添加了撤销(UNDO)信息最短保留时间段自动调优的特性,不再仅仅依据参数
UNDO_RETENTION的设定,其调优原则如下:
l 当撤销表空间(UNDO TABLESPACE)大小固定,Oracle将根据表空间的大小和实际的系统负载动态调整撤销
信息保存时间,该最短保存时间的具体长短基于撤销表空间大小的一定比例值公式换算后获得;它总是比设
定的UNDO_RETENTION大,当撤销表空间大量空闲情况下可能远远大于UNDO_RETENTION。
l 当撤销表空间设定为自动扩展空间情况下,Oracle将动态调整撤销信息最短保留时间为该时段最长查询
时间(MAXQUERYLEN)加上300秒或参数UNDO_RETENTION间的较大者,即MAX
((MAXQUERYLEN+300),UNDO_RENTION);同样的,该最短保存时间可能远远大于设定的UNDO_RETENTION。
在自动调整情况下,实际的撤销信息最短保留时间可以通过查询V$UNDOSTAT视图上的TUNED_UNDORETENTION
列获得。
在无法就撤销表空间做相应修改的情况,我们可以通过修改隐式参数” _UNDO_AUTOTUNE”为FALSE关闭该自
动调优特性。以上设定生效后,V$UNDOSTAT视图上TUNED_UNDORETENTION列不再更新,且撤销信息最短保留
时间固定为参数UNDO_RETENTION的设定值。该参数可以不用重启数据库而动态设置生效。
.查看GUARANTEE功能是否开启
SQL> select TABLESPACE_NAME,STATUS,CONTENTS,SEGMENT_SPACE_MANAGEMENT,RETENTION from
dba_tablespaces where CONTENTS='UNDO';
TABLESPACE_NAME STATUS CONTENTS SEGMEN RETENTION
------------------------------ --------- --------- ------ -----------
UNDOTBS1 ONLINE UNDO MANUAL NOGUARANTEE
UNDOTBS2 ONLINE UNDO MANUAL NOGUARANTEE
3.查看undo空间使用情况。expired为可重用undo空间(如果undo表空间100%,但是expired的空间还有,就
不要紧)
SQL> select TABLESPACE_NAME,sum(BYTES)/1024/1024 ,STATUS from dba_undo_extents group by
TABLESPACE_NAME,STATUS;
TABLESPACE_NAME SUM(BYTES)/1024/1024 STATUS
------------------------------ -------------------- ---------
UNDOTBS1 12638.375 UNEXPIRED
UNDOTBS2 12564.625 UNEXPIRED
UNDOTBS1 1948.75 EXPIRED
UNDOTBS2 3843.25 EXPIRED
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15187685/viewspace-768493/ ,如需转载,请注明出处,否则将追究法律责任。