现在的位置: 首页 > 综合 > 正文

3.5.2 Falcon 序列日志

2013年01月23日 ⁄ 综合 ⁄ 共 634字 ⁄ 字号 评论关闭
    Falcon使用序列日志在数据最终被提交到数据库之前保存特定类型的信息.该日志文件存储下列类型的信息:
 
        1. 提交阶段的数据记录
        2. 崩溃后的数据恢复要求的物理数据库变更.
        3. 崩溃后的资源恢复要求的逻辑数据库变更.
        4. 所有活动事务的状态变更.

    在启用AUTOCOMMIT时或手动执行COMMIT命令时,Falcon中的所有事务被写入到序列日志并提交到数据库
    日志信息存储在内存中并且定期地把刷新到磁盘中.一个后台线程处理日志的内容,提交日志变更到数据库.提交过程设置所有记录和页的最终状态,而非任何中间状态.仅有最终状态被实际写入到磁盘.
    但是,序列日志提交过程仅通过内存页缓存更新记录数据.当检查点发生的时候实际的记录数据被写入到磁盘.这个规则的例外是索引和日志项,它们作为提交过程的一部分立即被写入到磁盘.Falcon创建两个日志序列文件.第一个文件用于存储日志序列数据直到达到指定的大小.一旦达到这个大小,日志记录被切换到第二个日志文件.提交过程继续从第一个日志文件读直到所有的事务被写入到数据库.第一个序列日志文件然后被释放并重新创建.
    知道日志中的所有事务完成后,在第二个日志文件中的日志项才被处理.然后这个文件被释放然后重新创建.ready to be pressed into use as soon as the first log file is full or becomes locked for commits
  

 

抱歉!评论已关闭.