Welcome 微信登录

首页 / 数据库 / MySQL / undo系列学习之深入剖析一个事务的操作流程

开篇我们先用一个实验引出事务:
  1. sys@ORCL> select xid,xidusn,xidslot,xidsqn,ubablk,ubafil from v$transaction;   
  2.   
  3. no rows selected  
没找到相应的事务信息,用hr发起一条事务:
  1. hr@ORCL> select * from p;  
  2.   
  3.         ID TEST  
  4. ---------- -----   
  5.          2 f  
  6.          3 g  
  7.          1 a  
  8. hr@ORCL> update p set test="w" where id=1;  
  9.   
  10. 1 row updated.  
再次查看事务信息:
  1. sys@ORCL> /  
  2.   
  3. XID                  XIDUSN    XIDSLOT     XIDSQN     UBABLK     UBAFIL  
  4. ---------------- ---------- ---------- ---------- ---------- ----------   
  5. 02000800E2010000          2          8        482       3339          2  
查看hr发起事务所对应的回滚段:
  1. sys@ORCL> select xidusn,sid,username from v$transaction t,v$session s where t.ses_addr=s.saddr;  
  2.   
  3.     XIDUSN        SID USERNAME  
  4. ---------- ---------- ------------------------------   
  5.          2        141 HR  
  6.          9        158 SCOTT  
查看2号回滚段的段名:
  1. sys@ORCL> select * from v$rollname;  
  2.   
  3.        USN NAME  
  4. ---------- ------------------------------   
  5.          0 SYSTEM  
  6.          1 _SYSSMU1$  
  7.          2 _SYSSMU2$  
  8.          3 _SYSSMU3$  
  9.          4 _SYSSMU4$  
  10.          5 _SYSSMU5$  
  11.          6 _SYSSMU6$  
  12.          7 _SYSSMU7$  
  13.          8 _SYSSMU8$  
  14.          9 _SYSSMU9$  
  15.         10 _SYSSMU10$  
  16.   
  17. 11 rows selected.  
然后把2号回滚段的段头dump出来,到udump目录下去找:
  1. sys@ORCL> select header_block,header_file from dba_segments where segment_name="_SYSSMU2$";  
  2.   
  3. HEADER_BLOCK HEADER_FILE  
  4. ------------ -----------   
  5.           41           2  
  6.   
  7. sys@ORCL> alter system dump undo header "_SYSSMU2$";  
  8.   
  9. System altered.  
  10. 查看当前会话的server process的进程编号:  
  11. sys@ORCL> select spid from v$process where addr in (select paddr from v$session where sid=(select sid from v$mystat where rownum=1));  
  12.   
  13. SPID  
  14. ------------   
  15. 5446  
  • 1
  • 2
  • 下一页
Oracle函数之case和decode的用法区别及性能比较undo系列学习之undo段及区的状态和使用概述相关资讯      undo 
  • Oracle 11g undo_retention 以及  (05月28日)
  • undo表空间使用率  (07/23/2015 16:29:56)
  • undo表空间概述  (02/24/2015 20:32:43)
  • Oracle中利用undo进行数据的恢复操  (11/27/2015 09:31:30)
  • undo表空间修复小结  (07/08/2015 08:43:13)
  • Oracle 11gR2 Database UNDO表空间  (01/29/2015 11:30:59)
本文评论 查看全部评论 (0)
表情: 姓名: 字数