举例说明 机制
数据页A的lsn为100,数据页B的lsn为200,checkpoint lsn为150,系统lsn为300,表示当前系统已经更新到300,小于150的数据页已经被刷到磁盘上,因此数据页A的最新数据一定在磁盘上,而数据页B则不一定,有可能还在内存中。
lsn本身你可以理解为不同时间点的不同操作
page lsn(修改后的页就是脏页,会记录lsn)
page lsn 定位找 redo lsn
只有page lsn < redo lsn的情况下 才可以应用redo日志,因为如果page lsn大于 redo lsn的话,就证明页修改了,但是没找到redo日志
lsn生成(1 分配当前最大lsn号 2 redo刷新到磁盘上(redo lsn) 3 脏页刷新到磁盘上(page lsn) 4 binlog buffer 5 刷新生成 checkpoint lsn),
存在2种情况
1 redo丢失
2 dirty page丢失
3 binlog buffer丢失
先redo 后 undo