2008年(239)
分类: Sybase
2008-06-17 23:04:58
在数据库的归档模式下,一个日志文件被写满并处于不活动状态之后,需要归档保存其中的日志信息。在这种模式下,系统可以循环使用日志文件,也可以生成新的日志文件。
(1)循环使用日志文件
如同数据库的非归档日志模式。日志文件的位置、空间大小、个数已经固定下来,数据库循环地使用这些日志文件。所不同的是,系统在覆盖这些日志文件之前,要求归档保存日志文件中的日志信息。因此在此模式下,日志文件能够再次被使用,必须满足以下两个条件:
① 处于不活动状态
② 已经被归档备份
如果系统要覆盖一个日志文件,由于以上条件不满足而无法进行,系统就被迫挂起,暂停事务的处理。
(2)生成新的日志文件
在当前日志文件被写满之后,系统就重新生成一个新的日志文件。对被写满、处于不活动状态的日志文件,需要归档并从当前目录中删除,以释放磁盘空间。否则,在当前目录下没有可用磁盘空间、无法生成新的日志文件时,系统就被迫挂起,暂停事务的处理。
(3)归档日志模式的特点
由于不再需要的日志信息被归档保存,保证系统恢复时从数据库备份以后的所有事务处理都不会丢失。
用户执行系统恢复时,首先使用数据库备份,将系统恢复到备份操作执行的那一时刻,然后再使用归档、未归档的日志文件信息,重新执行已经提交的事务,回滚未完成的事务,从而可以将系统恢复到故障发生的那一时刻,避免了数据的丢失。也由于恢复时要使用日志文件,就不要求数据库备份是数据一致的,即在备份时允许其它事务更新数据库中的数据。
对日志文件的归档,可以由管理员定期手工执行;也可以设置脚本程序,由数据库系统自动完成。数据库的归档日志模式,具有以下特性:
① 在设置完成后,需要自动或者手工归档日志文件。
② 对数据库备份,不需要中断业务的处理。
③ 数据库备份可以是数据不一致的。数据库恢复时需要读取日志文件,不会造成数据的丢失。