Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 查看 使用 UNDO 段的事务 脚本

Undo 表空间管理的说明,参考:Oracle undo 表空间管理 http://www.linuxidc.com/Linux/2011-07/38006.htm我们可以使用如下脚本查看Oracle undo segment段的信息:
  1. /* Formatted on 2012/6/18 18:10:55 (QP5 v5.185.11230.41888) */  
  2. SELECT T1.USN,  
  3.        T2.NAME,  
  4.        T1.STATUS,  
  5.        T1.LATCH,  
  6.        T1.EXTENTS,  
  7.        T1.WRAPS,  
  8.        T1.EXTENDS  
  9.   FROM V$ROLLSTAT T1, V$ROLLNAME T2  
  10.  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的情况:
  1. /* Formatted on 2012/6/18 13:28:55 (QP5 v5.185.11230.41888) */  
  2.   SELECT S.SID,  
  3.          S.USERNAME,  
  4.          U.NAME,  
  5.          Q.SQL_TEXT,  
  6.          Q.HASH_VALUE,  
  7.          T.UBABLK  
  8.     FROM V$TRANSACTION T,  
  9.          V$ROLLSTAT R,  
  10.          V$ROLLNAME U,  
  11.          V$SESSION S,  
  12.          V$SQL Q  
  13.    WHERE     S.TADDR = T.ADDR  
  14.          AND T.XIDUSN = R.USN  
  15.          AND R.USN = U.USN  
  16.          AND Q.HASH_VALUE =  
  17.                 DECODE(S.SQL_HASH_VALUE,  
  18.                         NULL, S.PREV_HASH_VALUE,  
  19.                         S.SQL_HASH_VALUE)  
  20. ORDER BY S.USERNAME;  
 AIX环境下安装SybaseOracle 10g 对象 默认 ITL 数量 测试相关资讯      Oracle高级培训 
  • delete表的数据后恢复  (08/30/2012 08:59:58)
  • 使用ASH信息,发现高CPUsession  (08/14/2012 07:21:32)
  • 如何阅读Oracle Errorstack Output  (08/14/2012 07:15:47)
  • Oracle Apps Patching:adpatch(  (08/16/2012 15:41:37)
  • 话说V$SQL_MONITOR  (08/14/2012 07:19:54)
  • Oracle Apps DBA工具:ADADMIN使用  (08/14/2012 07:00:09)
本文评论 查看全部评论 (0)
表情: 姓名: 字数