ORA-01555错误浅析(2)
2009-05-26 13:14:43 来源:WEB开发网0x02 0x000f.01b.00000533 0x02c00054.01bb.0f C--- 0 scn 0x0000.a482a3c3
data_block_dump,data header at 0x7745664
===============
tsiz: 0x1f98
hsiz: 0x18
pbl: 0x07745664
bdba: 0x0140c70f
76543210
flag=--------
ntab=1
nrow=3
frre=-1
fsbo=0x18
fseo=0x1f4a
avsp=0x1f62
tosp=0x1f62
0xe:pti[0] nrow=3 offs=0
0x12:pri[0] offs=0x1f5e
0x14:pri[1] offs=0x1f4a
0x16:pri[2] offs=0x1f54
block_row_dump:
tab 0, row 0, @0x1f5e
tl: 10 fb: --H-FL-- lb: 0x0 cc: 2
col 0: [ 2] c1 02
col 1: [ 3] c2 02 10
tab 0, row 1, @0x1f4a
tl: 10 fb: --H-FL-- lb: 0x0 cc: 2
col 0: [ 2] c1 03
col 1: [ 3] c2 03 17
tab 0, row 2, @0x1f54
tl: 10 fb: --H-FL-- lb: 0x0 cc: 2
col 0: [ 2] c1 04
col 1: [ 3] c2 03 17
end_of_block_dump
End dump data blocks tsn: 5 file#: 5 minblk 50959 maxblk 50959
这时,可以看到,前一事务的Itl条目中,Flag标志为已经被修改为C,即提交完毕,Commit SCN也被获得。锁也已经被清除,其锁Lck的数量也清0。相应的,各条记录的行锁对应Itl位也被清0。
还是图解一下这个过程:
数据块初始状态:
第一个修改该数据块的事务提交后:
第二个访问该数据块的事务(清除了相应锁信息):
当然,如果事务进行的删除操作,或者事务回滚,又会有一些不同的情况。
系列文章:
ORA-01555错误浅析(1)
ORA-01555错误浅析(3)
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接