管理归档日志文件
简介:
Oracle利用重做日志文件来记录用户对数据库所作的修改,但是重做日志文件是以循环方式使用的,在将所修改的数据重新写入日志文件中时,原来保存的重做记录会被覆盖。为了完整地记录数据库地全部修改过程,Oracle使用"归档日志文件"来提前一步保存遮羞即将被覆盖掉地重做日志记录。
日志模式分类
通常Oracle有两种日志模式:第一种是归档日志模式(ARCHIVELOG);第二种是非归档日志模式(NOARCHIVELOG)。在归档日志模式下,Oracle会首先对源日志文件进行归档存储,且在归档未完成之前不允许覆盖原有日志;在非归档日志模式下,源日志文件的内容会被新的日志文件内容所覆盖。
1,归档模式(ARCHIVELOG) 在重做日志文件被覆盖之前,Oracle能够将已经写满的重做日志文件通过复制的方式保存到指定地位置,保存下来的文件被称为"归档重做日志",这个过程就是"归档过程"。只有数据库处于归档模式时,才会对重做日志文件执行归档操作。另外,归档日志文件中不仅包含了被覆盖的日志文件,还包含重做日志文件使用的顺序号。
当数据库的运行处于归档模式时,具有如下优势:
-
1,如果发生磁盘介质损坏,则可以使用数据库备份与归档重做日志恢复已经提交的事务,保证不会发生任何数据丢失。
-
2,如果为当前数据库建立一个备份数据库,通过持续地为备份数据库应用归档重做日志,可以保证不会发生任何数据丢失。
-
3,利用归档日志文件,可以实现使用数据库在打开状态下创建地备份文件来进行数据库恢复。
2,非归档模式(NOARCHIVELOG) 非归档模式只能用于保护实例故障,而不能保护介质故障,当数据库处于NOARCHIVELOG模式时,如果进行日志切换,生成的新内容将直接覆盖掉原来的日志记录。
使用非归档模式具有如下特点:
-
1,当完成检查点后,后台进程LGWR可以覆盖掉原来的重做日志文件。
-
2,如果数据库备份后的重做日志内容已经被覆盖掉,那么当出现数据库文件被损坏时,只能恢复到最近一次的某个完整备份点,而且这个备份点的时间是人工无法控制的,甚至可能会有数据丢失。
结语