WEB开发网
开发学院数据库Oracle Oracle数据库中回滚监视的深入探讨 阅读

Oracle数据库中回滚监视的深入探讨

 2007-05-10 12:16:53 来源:WEB开发网   
核心提示: SQL> set serveroutput on size 999999SQL> exec print_table('select * from v$session_longops where sid = 9')SID : 9SERIAL# : 68OPNAME
  SQL> set serveroutput on size 999999
  SQL> exec print_table
  ('select * from v$session_longops where sid = 9')
  SID : 9
  SERIAL#            : 68
  OPNAME            :Transaction Rollback
  TARGET            :
  TARGET_DESC          :xid:0x000e.01c.00000067
  SOFAR             : 20554
  TOTALWORK           : 10234
  UNITS             :Blocks
  START_TIME          :07-dec-2003 21:20:07
  LAST_UPDATE_TIME       :07-dec-2003 21:21:24
  TIME_REMAINING        : 77
  ELAPSED_SECONDS        : 77
  CONTEXT            : 0
  MESSAGE            :Transaction Rollback:xid:
                  0x000e.01c.00000067 :
  10234 out of 20554 Blocks done
  USERNAME           :SYS
  SQL_ADDRESS          :00000003B719ED08
  SQL_HASH_VALUE        : 1430203031
  SQL_ID            :306w9c5amyanr
  QCSID             : 0

注意,此处显示对行的所有更改,即使删除并重新插入行时也是如此。VERSION_OPERATION 列显示对该行执行的操作 (Insert/Update/Delete)。完成这些操作不需要历史表或额外的列。

让我们仔细检查这些列中的每一列。在会话中可能会有超过多个长期运行操作 — 特别是因为视图中包含以前的会话中所有长期运行操作的历史。列 OPNAME 显示该记录用于“事务回滚”,这为我们指出了正确的方向。列 TIME_REMAINING 显示所评估的剩余时间秒数,这在前面已经描述过,而列 ELAPSED_SECONDS 显示到目前为止所消耗的时间。

Tags:Oracle 数据库 监视

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接