数据块头部ITL事务槽结构浅谈

数据块作为ORACLE发出I/O的最小单位,结构由三部分组成。
由上至下为:1.数据块头部;
2.可用空间;
3.数据;(数据时从下往上增长的)


数据块头部:
1.数据块所属segment类型(数据或者索引)
2.数据块的地址;
3.ITL(Insterested Transaction List)槽,即事务槽;
4.行目录;


每当一个事务要更新数据块里的数据时,必须先得到一个ITL槽,然后将当前事务ID,事务所用的undo数据块地址,SCN号,当前事务是否提交等信息写到ITL槽里。
也就是说ITL槽包含信息: 1.事务ID;
2.事务所用UNDO块地址;
3.SCN号;
4.事务是否提交标记;


ITL槽的事务提交或回滚后,才可以被其他事务覆盖,当新事务发现不够ITL槽时,会动态创建一个新的ITL槽。
initrans:每个数据块默认ITL槽数目
maxtrans:每个数据块最多的ITL槽数


行目录(row directory)
这里记录了数据块里每一行相对于起点的偏移量,Oracle正是通过行目录找到所需的数据行。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值