Redo日志用以记录事务对数据库做了哪些修改。
LSN:日志序列号,初始值为8704;
能够根据lsn值的大小判断Redo日志产生的先后顺序,值越小即日志产生的时间越早。
flushed_to_disk_lsn:用以标记当前log buffer中有哪些日志已经被刷新到磁盘中。
由于Redo日志文件组容量是有限的,所以设计者选择循环使用redo日志文件组中的文件。这就将造成日志追尾的问题。redo日志是为了系统崩溃后回复脏页用的,但是如果脏页还没有被刷新到磁盘而这部分的日志内容却已经被覆盖的话,就将会出现问题。设计者使用一个全局变量checkpoint_lsn用来标记当前可以被覆盖的总量有多少。
见第一张图,log file中的前2048个字节是用来存放管理信息而不是数据的。checkpoint_lsn=8916,代表redo日志对应的lsn值小于8916时就可以被覆盖掉。