Undo 表空间管理的说明,参考:Oracle undo 表空间管理 http://www.linuxidc.com/Linux/2011-07/38006.htm
我们可以使用如下脚本查看Oracle undo segment段的信息:-
/* Formatted on 2012/6/18 18:10:55 (QP5 v5.185.11230.41888) */
SELECT T1.USN,
T2.NAME,
T1.STATUS,
T1.LATCH,
T1.EXTENTS,
T1.WRAPS,
T1.EXTENDS
FROM V$ROLLSTAT T1, V$ROLLNAME T2
WHERE T1.USN = T2.USN;
当Undo 表空间出现故障的时候,我们就会需要注意这些undo segment 信息:
Currentonline Redo 和 Undo 损坏的处理方法 http://www.linuxidc.com/Linux/2011-09/42702.htm
结合v$session 和v$transaction 视图就可以确认每个事务使用使用undo segment的情况,当undo 表空间使用异常的时候,就可以使用如下的脚本来检查事务使用undo segment的情况:
/* Formatted on 2012/6/18 13:28:55 (QP5 v5.185.11230.41888) */
SELECT S.SID,
S.USERNAME,
U.NAME,
Q.SQL_TEXT,
Q.HASH_VALUE,
T.UBABLK
FROM V$TRANSACTION T,
V$ROLLSTAT R,
V$ROLLNAME U,
V$SESSION S,
V$SQL Q
WHERE S.TADDR = T.ADDR
AND T.XIDUSN = R.USN
AND R.USN = U.USN
AND Q.HASH_VALUE =
DECODE(S.SQL_HASH_VALUE,
NULL, S.PREV_HASH_VALUE,
S.SQL_HASH_VALUE)
ORDER BY S.USERNAME;
本文出自:亿恩科技【www.enkj.com】
服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]
|