ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【Oracle九大性能视图】之7.v$transaction_根据session id查session执行的事务

【Oracle九大性能视图】之7.v$transaction_根据session id查session执行的事务

原创 Linux操作系统 作者:jst143 时间:2011-03-01 23:10:48 0 删除 编辑
【Oracle九大性能视图】之7.v$transaction_根据session id查session执行的事务
    原文出自飞鹰工作室
1、表结构
SQL> desc v$transaction;
名称                                      是否为空? 类型
----------------------------------------- -------- ----------------------------
ADDR                                               RAW(8)
XIDUSN                                             NUMBER
XIDSLOT                                            NUMBER
XIDSQN                                             NUMBER
UBAFIL                                             NUMBER
UBABLK                                             NUMBER
UBASQN                                             NUMBER
UBAREC                                             NUMBER
STATUS                                             VARCHAR2(16)
START_TIME                                         VARCHAR2(20)
START_SCNB                                         NUMBER
START_SCNW                                         NUMBER
START_UEXT                                         NUMBER
START_UBAFIL                                       NUMBER
START_UBABLK                                       NUMBER
START_UBASQN                                       NUMBER
START_UBAREC                                       NUMBER
SES_ADDR                                           RAW(8)
FLAG                                               NUMBER
SPACE                                              VARCHAR2(3)
RECURSIVE                                          VARCHAR2(3)
NOUNDO                                             VARCHAR2(3)
PTX                                                VARCHAR2(3)
NAME                                               VARCHAR2(256)
PRV_XIDUSN                                         NUMBER
PRV_XIDSLT                                         NUMBER
PRV_XIDSQN                                         NUMBER
PTX_XIDUSN                                         NUMBER
PTX_XIDSLT                                         NUMBER
PTX_XIDSQN                                         NUMBER
DSCN-B                                             NUMBER
DSCN-W                                             NUMBER
USED_UBLK                                          NUMBER
USED_UREC                                          NUMBER
LOG_IO                                             NUMBER
PHY_IO                                             NUMBER
CR_GET                                             NUMBER
CR_CHANGE                                          NUMBER
START_DATE                                         DATE
DSCN_BASE                                          NUMBER
DSCN_WRAP                                          NUMBER
START_SCN                                          NUMBER
DEPENDENT_SCN                                      NUMBER
XID                                                RAW(8)
PRV_XID                                            RAW(8)
PTX_XID                                            RAW(8)

2、根据session id可以查到当前session正在执行的事务信息
select * from v$transaction where addr in (select taddr from v$session where sid=&sid );


看下面这两个字段可以看到事务进行到什么程度了:
USED_UBLK
NUMBER
Number of undo blocks used
USED_UREC
NUMBER
Number of undo records used
重复查询这两个值,可以看到变化,可以估计事务的进度,尤其是长时间的回滚操作,当这两个值为0,回滚也就完成了。
如SQL语句如下:
select a.sid,
       a.serial#,
       a.user#,
       a.username,
       b.addr,
       b.USED_UBLK,
       b.USED_UREC
  from v$transaction b, v$session a
where b.addr in (select a.taddr from v$session a where a.sid = &sid)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23577591/viewspace-688221/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-05-06

  • 博文量
    109
  • 访问量
    139077