|
Scn/Fsc:Scn=SCN of commited TX; Fsc=Free space credit(bytes)
这里fsc 0x0000.0015a3eb是指提交的scn,这个值大于上次清除块时的scn=csc: 0x00.15a3ea(此scn是这个块中最小的SCN of commited)
SCN WRAP:如果事务已提交并完成清洗,该字段保存事务提交SCN的SCN WRAP部分,否则该字段保存空闲预支字节数(FSC).比如我删除了一行数据10个字节,在事务提前前,这10个字节就属于fsc(即会写到SCN WRAP),只有事务提交后,才能正式返回到空闲空间
说实话,我一直不太理解“这里fsc 0x0000.0015a3eb是指提交的scn,”
这意味着提交了这个SCN才有值吗?
但是一旦有A事务操作数据块(我是指修改具体数据,例如一个update),这个数据块中的值不就改变了吗?
那么不就是要形成一条undo 记录吗?
如果现在又有一个B事务(B事务是在A事务执行之前发出的)才找到这个数据块,他只有比较A事务对应的SCN,才能决定是否去找undo记录啊
但是现在说必须提交才有,可是此时如果A事务都没有提交,该如何寻找啊? |
|