最初由 rollingpig 发布
[B]是没必要。
ARCHIVELOG mode时,rman backup中会发出alter system switch logfile 的命令,并备份archivelog ,等同于备份了online redo
而noARCHIVELOG mode时,不能online backup,所以,redo log是没有用的 [/B]
其实,oracle 9i ocp考试指南中有明确的说明:
1.在归档模式下不需要备份在线日志的原因是:在恢复期间,如果用备份的日志文件覆盖在线日志文件,有可能丢失在线日志中已经提交的事务。
以下是我的理解,是否有问题?谢谢。比如我们2007-7-25 12:00我们作了一次热备份,包含了在线日志,然后12:00-12:05这5分钟我们有作了一些update,insert的操作,而且已经commit,但并没有被归档,然后12:06数据库crash了,如果我们用备份的日志文件去覆盖当前的日志,那么在那5分钟的数据就将丢失了。如果我们用当前的日志恢复的话,数据是不可能丢失的。
另外如果我们当前是2007-5-27日,这时发现要恢复到2007-7-26日,那我们完全可以用2007-7-25日的数据文件和归档日志进行不完全恢复,而不完全恢复就需要resetlogs,所以备份的日志文件也没有意义了。
2.在非归档模式下,在恢复期间,我们总是恢复数据文件和控制文件,并且通过resetlogs重置日志打开数据库,所以没有必要备份在线日志
3.在非归档模式下,很多实际情况下,一些dba会备份在线日志,因为这样可以避免重建日志文件,另外在冷备份时,如果shutdown abort数据库,将需要日志文件作crash recovery.对于这点,oracle的回答是在作冷备份的时候,不应该用shutdown abort这样来关闭数据库,这是非常不好的。 |