Oracle 查看 使用 UNDO 段的事务 脚本


Undo 表空间管理的说明,参考:

Oracle undo 表空间管理

http://blog.csdn.net/tianlesoftware/article/details/5689558


我们可以使用如下脚本查看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://blog.csdn.net/tianlesoftware/article/details/6261475

结合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;


 


-------------------------------------------------------------------------------------------------------

Skype:            tianlesoftware

QQ:                 tianlesoftware@gmail.com

Email:             tianlesoftware@gmail.com

Blog:   http://www.tianlesoftware.com

Weibo:            http://weibo.com/tianlesoftware

Twitter: http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

DBA6 群:158654907    DBA7 群:172855474   DBA总群:104207940

原文地址:https://www.cnblogs.com/tianlesoftware/p/3609266.html