您的位置:首页 > 其它

rman备份后为什么要同时备份归档日志

2009-03-14 18:30 274 查看
今天在CU上看到有人问一个问题:rman备份后为什么要同时备份归档日志呢,既然rman是物理备份,所有数据已经都备份,再次备份归档日志何用?
思考了一下,认为有必要记录一下为什么要备份归档日志:

其实rman备份开始之前的归档是没有用的,可以删除,但是不能在rman备份之前就删除,因为rman有可能备份失败,可以在rman备份成功之后删除之。

rman备份是一种物理的备份,它直接去读取数据块,因此rman是块级别的备份。从备份的那个时间点开始rman将锁定此刻的数据文件信息,也就是说只是备份数据文件到此刻的信息为之。
IXDBA.NET社区论坛
但是rman并不锁定数据文件的使用,也就是说rman的备份,不是数据库一致性状态的备份,由于rman备份是块级别的,它只备份控制文件中已经存在的数据块,同时数据库还在运行之中,那么就有可能会出现某些已经提交的操作,但是dbwn还没有写入数据文件,或者已经被rman备份过的数据块,又重新被修改,等等,

这些信息rman备份都不会记录,也是rman无法记录的。但是记录这些信息的是redo file,所以在rman完毕建议马上执行日志切换,然后备份归档日志,因为在rman恢复过程中,rman本身备份的数据是不一直的,要靠这些已经归档的redo file信息恢复和保持数据库的一直状态。

当然备份的归档日志中,可能包含有rman开始之前的归档,这些是没用的,
其实这些归档文件中真正有用的是从rman备份开始到rman备份结束时刻系统产生的归档日志。

同时rman在恢复的时候,restore database完毕后,会依次利用归档日志和联机日志进行完全恢复。此时利用的这些归档就是从rman备份开始到rman备份结束产生的归档日志。

因此备份归档日志是很必要的,当然联机日志也是必须的,这些日志保证了rman能够完全的恢复数据库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: