Oracle dump undo 说明(二)

2014-11-24 18:45:09 · 作者: · 浏览: 1
3 8577024ONLINE


9_SYSSMU9$ 3 7462912ONLINE


10_SYSSMU10$ 3 13754368ONLINE


11 rows selected.


1.3 查看事务当前使用的undo segment


可以通过v$transaction 视图来确认事务当前使用的undo segment信息。 确定undo segment之后,就可以进行相关的dump 操作。 关于v$transaction 视图的说明,参考官方文档: http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/dynviews_3114.htm#REFRN30291


部分说明如下:



--查看当前的SID信息


SYS@anqing2(rac2)> select sid fromv$mystat where rownum=1;


SID


----------


147


SYS@anqing2(rac2)> update ta set name='dave'where name='ora_rowscn';


474 rows updated.



--查看v$transaction中正在使用的回滚段号


SYS@anqing2(rac2)> selectxidusn,xidslot,xidsqn,ubablk,ubafil,ubarec from v$transaction;


XIDUSN XIDSLOT XIDSQN UBABLK UBAFIL UBAREC


---------- ---------- ---------- -------------------- ----------


11 23 1010 12 5 9


--xidusn:undo segment number


--xidslot:slot number


--xidsqn:sequence number


--ubafil:undo block address (uba) filenum


--ubablk:uba block number


--ubarec:UBA record number


--通过xidusn号和v$rollname确定正在使用的undo segment name


SYS@anqing2(rac2)> select usn,name from v$rollname where usn=11;


USN NAME


----------------------------------------


11 _SYSSMU11$



--commit之后,对应的事务信息就没有了。


SYS@anqing2(rac2)> commit;


Commit complete.


SYS@anqing2(rac2)> selectxidusn,xidslot,xidsqn,ubablk,ubafil,ubarec from v$transaction;


no rows selected


SYS@anqing2(rac2)>