日期:2014-05-17  浏览次数:20860 次

冷或热备份数据库文件后,为什么要归档当前日志组呢?
大家好:
     我在书上看到,在NOARCHIVELOG模式中冷备份数据库文件,和ARCHIVELOG模式中非一致性热备份数据库文件后,要归档当前日志组:
alter database begin backup;

host copy '/ora0/oracle/oradata/demo/*.dbf' '/ora0/oracle/oradata/demo/db_files_bak/'

alter database backup controfile to '/ora0/oracle/oradata/demo/db_files_bak/demo.ctl';

alter database end backup;

alter system archive log current;
-----
请问为什么备份完成后,要归档当前日志组呢?这对备份和以后恢复有什么作用呢?
待复,感谢!

------解决方案--------------------
这主要是当你begin backup后会有其他进程对该表空间进行更改,更改的信息就保存在日志文件或者归档文件中,这就是为什么begin backup后会产生大量的redo log的原因,当backup结束后,等待检查点更新,随即把信息写到数据文件中,也可以backup结束后立即指示归档指令。
------解决方案--------------------
redo日志里面包含了很多未提交到数据文件里面的改动,需要将这些改动写入到数据文件里面,保持SCN保持一致.