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

2008年(239)

我的朋友

分类:

2008-06-17 23:10:37

什么是数据库日志

在数据库系统中,对数据的任何更新操作(如:增加、修改、删除),都要把相关操作的命令、执行时间、数据的更新等信息保存下来。这些被保存的信息就是数据库日志。也就是说,数据库日志是数据库系统中所有更新活动的操作序列。

数据库日志是系统正常运行、保持数据一致性的重要手段。我们知道,事务具有原子性、一致性、隔离性、持久性四大特性。事务的原子性要求事务中的所有操作,要么全都执行,要么全不执行。在事务失败时,系统就使用数据库日志信息,反向执行所有已经执行的操作,从而使数据库恢复到事务执行前的状态,实现了事务的原子性,保证了数据的一致性。

数据库系统的所有数据处理都是在内存中完成,被更新后的数据不会被马上写入磁盘。一旦系统失败,这些更新就要丢失。通过在事务提交时将日志信息写入磁盘,系统在失败而重新启动后,根据日志信息重新执行已提交事务,可以保证已经提交事务的更新不会丢失。

数据库日志的使用模式决定着数据库的备份和恢复方式。备份数据库时,在有一个完整数据库备份的基础上,用户可以只备份数据库日志,从而减少备份时间以及所需的存储空间。如果数据库系统遭到破坏,在恢复时就必须使用数据库日志使系统处于一致性状态。有关数据库备份和恢复的详细信息,可以参看第8章。

这里,我们需要对一些概念进行区分。管理员在数据库系统的日常维护过程中,需要定期地检查系统的运行状况,其任务之一就是查看系统运行日志。这些运行日志,记录数据库系统运行过程中产生的各种事件、错误代码、错误描述以及解释等。管理员通过对这些信息的检查,可以发现系统中潜在的问题,可以排除已经发生的故障。这些系统运行日志存放在不同的文件中(如:DB2系统的诊断信息日志文件、ORACLE系统的警报与跟踪文件、INFORMIX系统的信息日志文件、SYBASE系统的错误日志文件),供管理员管理和维护系统所用,与我们这里所讲的数据库日志有着本质上的区别。

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