Chinaunix首页 | 论坛 | 博客
  • 博客访问: 426073
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

2008年(239)

我的朋友

分类: DB2/Informix

2008-06-17 23:08:48

先写日志原则

任何数据库系统都遵循先写日志的原则。在内存中被更新数据写入磁盘之前,要保证对应日志信息已经写入磁盘,存入日志文件。

日志是数据库要发生操作的记录。将日志信息写入磁盘,是对数据库将要发生处理的确认;而将内存中已更新数据写入磁盘,则表明实际上已经发生某些更新动作。如果先将被更新数据写入磁盘,在写入过程中系统崩溃,那么可能只是部分更新反映到数据库中,内存中的日志信息和其它更新全部丢失。在这种情况下,数据库中数据就处于不一致状态,而且由于不知道那些更新已经写入磁盘,因此无法对数据库进行恢复,数据库就遭到破坏。

使用先写日志的方式,在日志写的过程中,也会出现系统的崩溃,造成内存中数据的丢失。系统在重新启动后,通过检查日志记录,决定数据库将要发生那些动作,判断那些事务的操作全部完成,可以重新执行;那些事务的操作没有全部完成,需要进行回退,从而保证了数据库中数据的一致性。

阅读(2056) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~