RMAN备份异机还原,备份之后的归档日志在RMAN中怎么处理

RMAN备份异机还原,备份之后的归档日志在RMAN中怎么处理,第1张

rman备份是一种物理的备份,它直接去读取数据块,因此rman是块级别的备份。从备份的那个时间点开始rman将锁定此刻的数据文件信息,也就是说只是备份数据文件到此刻的信息为之。

但是rman并不锁定数据文件的使用,也就是说rman的备份,不是数据库一致性状态的备份,由于rman备份是块级别的,它只备份控制文件中已经存在的数据块,同时数据库还在运行之中,那么就有可能会出现某些已经提交的 *** 作,但是dbwn还没有写入数据文件,或者已经被rman备份过的数据块,又重新被修改,等等,

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

当然备份的归档日志中,可能包含有rman开始之前的归档,这些是没用的,

其实这些归档文件中真正有用的是从rman备份开始到rman备份结束时刻系统产生的归档日志。

同时rman在恢复的时候,restore database完毕后,会依次利用归档日志和联机日志进行完全恢复

。此时利用的这些归档就是从rman备份开始到rman备份结束产生的归档日志。

因此备份归档日志是很必要的,当然联机日志也是必须的,这些日志保证了rman能够完全的恢复数据库。

oracle中可以利用 rman 还原归档日志到某个时间点:

1、理解还原与恢复

恢复(recover): 将备份之后的归档日志apply到数据库,也就根据归档日志的事务将数据库刷新到特定或最新状态(通常在还原之后 *** 作)。对于归

档日志中那些已提交的事务进行前滚,未提交的事务进行回滚。

还原归档日志: 还原归档日志是位于还原数据库与恢复数据库之间的这么一个过程。它会将那些在备份归档日志时使用delete [all] input方式

删除的归档日志还原到缺省的归档位置。在还原数据库之后,如果要做recover,也就是作介质恢复那就需要用到归档日志。那还原之后进行

recover需要的归档日志在哪里呢?归档日志在指定的归档路径那里,那到底有没有呢?如果有,还原时出现提示,归档日志已经在指定位置。

如果没有,但是备份的归档备份集那里有,也行啊。备份集里包含备份片,也就是打包了归档日志。那既然打包就要解包,解包到缺省路径

或指定路径。这就是还原归档日志。

--演示环境

--为了较好的模拟还原归档日志,我们仅仅使用了一个特定的数据文件进行copy方式备份,然后备份归档日志(备份时删除归档日志)

--接下来破坏数据文件,还原数据文件,还原归档日志文件,恢复日志文件。

[oracle@linux3 ~]$ cat /etc/issue

Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)

Kernel \r on an \m

[oracle@linux3 ~]$ sqlplus -V

SQL*Plus: Release 11.2.0.1.0 Production

a、备份数据文件及归档日志

RMAN>list backup of archivelog all --->列出当前数据库已经备份的归档日志

specification does not match any backup in the repository

RMAN>list backupset --->列出当前数据库已存在的备份集

specification does not match any backup in the repository

SQL>select username,default_tablespace from dba_users where username='SCOTT' -->查看用户scott所在的表空间及数据文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10772875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存