WEB开发网
开发学院数据库Oracle Oracle回滚段学习 阅读

Oracle回滚段学习

 2008-08-27 12:43:55 来源:WEB开发网   
核心提示:1、Update一条记录 updatetest2tsett.a=17111wheret.b=172862、在v$transaction,v$session视图中可查询到相关事物信息,Oracle回滚段学习,两个视图通过v$session.taddr=v$transaction.addr(Address of the t

1、Update一条记录 

   updatetest2tsett.a=17111wheret.b=17286

2、在v$transaction,v$session视图中可查询到相关事物信息,两个视图通过v$session.taddr=v$transaction.addr(Address of the transaction state object)相关联。

查询出该事物6号回滚段(xidusn)27号事务槽(xidslot)中

selectt.XIDUSN,t.XIDSLOT,t.XIDSQN,t.UBAFIL,t.UBABLK,t.UBARECfromv$transactiont
XIDUSNXIDSLOTXIDSQNUBAFILUBABLKUBAREC
16272616248989

3、查询v$rollname视图获得回滚段名称,usn列对应回滚段号

   select*fromv$rollnamerwherer.usn=6

4、转储回滚段头信息

Altersystemdumpundoheader’_SYSSMU6$’
indexstatecflagswrap#uelscndbaparent-xidnubstmt_num
0x1b100x800x0a380x00020x0000.002ad4860x008001e90x0000.000.000000000x000000010x00000000

5、转储前镜像信息100000000000000111101001

通过dba(data block address)字段得到该事务的前镜像数据块地址。

0x008001e9 转化为二进制0000 0000 1000 0000 0000 0001 1110 1001

该地址有10位文件号和22位数据块组成

得到该dba的文件号2数据块号489与回滚段中UBAFIL(Undo block address (UBA) filenum),UBABLK(UBA block number)相同

6、转储文件号2数据块号489中信息

   altersystemdumpdatafile2block489;

irb: 0x5f 指回滚段中记录的最近的未提交变更的开始之处,及最后一次更改之处。

rci:该参数代表的是同一事务中的关联修改。回滚时根据这个数值找到下次回滚之处。

col 0: [ 4] c3 03 18 2e记录的就是前置信息。

由于test2表中的A字段是索引,所以回滚段中记录的test2的回滚信息和索引的回滚信息。

索引:

   *-----------------------------
*Rec#0x5fslt:0x1bobjn:30454(0x000076f6)objd:30454tblspc:5(0x00000005)
*Layer:10(Index)opc:22rci0x5e
Undotype:RegularundoLastbuffersplit:No
TempObject:No
TablespaceUndo:No
rdba:0x00000000
*-----------------------------
indexundoforleafkeyoperations
KTBRedo
op:0x02ver:0x01
op:Cuba:0x008001e9.00ee.5c
Dumpkdilk:itl=2,kdxlkflg=0x1sdc=5216369indexid=0x1404c0bblock=0x01404c3e
purgeleafrow
key:(17):04c302480e04c303182e0601404b340004

表数据:

*-----------------------------
*Rec#0x5dslt:0x1bobjn:30449(0x000076f1)objd:30449tblspc:5(0x00000005)
*Layer:11(Row)opc:1rci0x5c
Undotype:RegularundoLastbuffersplit:No
TempObject:No
TablespaceUndo:No
rdba:0x00000000
*-----------------------------
KDOundorecord:
KTBRedo
op:0x02ver:0x01
op:Cuba:0x008001e9.00ee.5a
KDOOpcode:URProwdependenciesDisabled
xtype:XAbdba:0x01404b34hdba:0x01404b33
itli:2ispac:0maxfr:4858
tabn:0slot:4(0x4)flag:0x2clock:0ckix:5
ncol:3nnew:1size:0
col0:[4]c303182e

Tags:Oracle 学习

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