WEB开发网
开发学院数据库Oracle 从Undo, Redo, DataFile看Oracle中的事务过程 阅读

从Undo, Redo, DataFile看Oracle中的事务过程

 2009-06-12 11:51:00 来源:WEB开发网   
核心提示: 这篇文章中,我们将通过Undo, Redo, DataFile的dump来看看Oracle中一个transaction过程,从Undo, Redo, DataFile看Oracle中的事务过程,1:提交当前session中的pending transaction,SQL> show autocommit;aut

这篇文章中,我们将通过Undo, Redo, DataFile的dump来看看Oracle中一个transaction过程。

1:提交当前session中的pending transaction,

SQL> show autocommit;
autocommit OFF
SQL> commit;

Commit complete.

2:确定transaction前的scn,

SQL> connect sys/coffee@testdb as sysdba;
Connected.
SQL> select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;


MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)
------------------------------------
                            41683588

3:数据更新

SQL> connect system/coffee@testdb;
Connected.
SQL> update undo_test set id=456 where id=123;

1 row updated.

4:查看刚刚操作的transaction及回滚段信息

SQL> select xidusn, xidslot, xidsqn,ubafil,ubablk,ubasqn,ubarec from v$transaction;

    XIDUSN    XIDSLOT     XIDSQN     UBAFIL     UBABLK     UBASQN     UBAREC
---------- ---------- ---------- ---------- ---------- ---------- ----------
        10         27      20807          2       1375       1473         45

XIDUSN:回滚段Number
XIDSLOT:事务槽号
XIDSQN:事务序列号
 UBAFIL:UBA所在文件号
 UBABLK:UBA所在块号
UBASQN:UBA序列号
UBAREC:UBA在Block中的位置

1 2 3 4 5 6  下一页

Tags:Undo Redo DataFile

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