- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我对Oracle RMAN恢复的理解
我对Oracle RMAN恢复的理解
零散思路:
可能遇到的恢复情况:
因为数据库无法启动或正常使用需要恢复;
因为数据误删除或表空间、表的误删除等需要将数据库或其中某表空间、表或表中数据恢复到过去某时间点;
RMAN恢复原则:
恢复不外乎就是恢复如下一些文件:数据文件(也有可能是表空间),控制文件,归档日志文件(见后面关于归档日志恢复部分),在线日志文件,初始化参数文件,
全库恢复需要在MOUNT状态下,
表空间或数据文件的恢复可以在OPEN状态下进行,
控制文件
归档日志文件
在线日志文件
初始化参数文件
常用的恢复命令:
//对数据库进行完全介质恢复
归档模式,控制文件、初始化参数文件、归档日志文件和重做日志文件都完好无损,其余数据文件全部丢失,可将数据库恢复到崩溃前那一刻的状态:
Rmanstartup mount;
Rmanrestore database;
Rmanrecover database delete archivelog;
Rmanalter database open;
?那以上情况下,非归档模式应如何处理?
这种情况下感觉应该有几种情况:首先非归档模式下的备份只可能是一致性备份,而且非归档模式下没有归档日志,因此恢复时要考虑最近一次备份和数据库崩溃期间的在线日志文件是否都还在,如果在则直接执行restore和recover然后正常打开数据库即可,而如果在线日志文件已经部分或全部丢失,则首先restore最近一次备份,然后执行recover database until cancel命令,据说此时该命令并不会执行任何恢复操作,只是提示控制文件不再使用原有重做日志,最后以resetlogs方式打开数据库。在三思的书中,文字性提到了一种方法:首先恢复之前备份的控制文件,然后执行restore和recover命令,最后以resetlogs方式打开数据库。感觉这种方式很有道理而前一种思路似乎有问题:前一种思路中实际是用当前的控制文件在进行恢复操作,而当前的控制文件很有可能有前次备份中所不具有的新加的数据文件,那么这样在备份的时候是不是会出问题呢? 以上都需要具体验证!!!
//恢复表空间和数据文件
mount或open状态都可
Tablespace:
Rmansql ‘alter tablespace tbs1 offline immediate’;
Rmanrestore tablespace tbs1;
Rmanrecover tablespace tbs1;
Rmansql ‘alter tablespace tbs1 online’;
Datafile:
Rmansql ‘alter database datafile 9 offline’;
Rmanrestore datafile 9;
Rmanrecover datafile 9;
Rmansql ‘alter datafile 9 online’;
或
Rmanset newname for datafile 3 to ‘f:newlocationsysaux01.dbf’;
Rmanrestore datafile 3;
Rmanswitch datafile 3;
Rmanrecover datafile 3;
//恢复归档日志文件
特别:三思告诉我们:“恢复归档文件也是使用restore命令,如果只是为了在恢复数据文件后应用归档文件,那并不需要手动归档文件进行恢复,RMAN会在recover的时候自动对适当的归档进行恢复。单独恢复归档文件一般是有特别的需求,如创建了Data Guard环境,Standy端丢失了部分归档文件,必须从Primary端重新获取等等。”
//恢复控制文件
这里所说的恢复是指仅恢复控制文件本身,应该还有一种“基于控制文件的不完全恢复”,不知和这种情况是否相同(当所有控制文件全部丢失或者误删除了表空间时(闪回数据库能办到吗?),需要执行控制文件的恢复)。其实本身是一种解决方案下的多种情况:
情景1:归档、有恢复目录、控制文件全部丢失或部分数据文件或表空间丢失
情景2:归档、无恢复目录、控制文件全部丢失或部分数据文件或表空间丢失
前景3:非归档、有恢复目录、控制文件全部丢失或部分数据文件或表空间丢失
情景4:非归档、无恢复目录、控制文件全部丢失或部分数据文件或表空间丢失
1、 从自动备份中恢复
Rmanset DBID=1415261003;
Rmanstartup nomount;
Rmanrestore controlfile from autobackup;
Rmanalter database mount;
(Rmanrestore controlfile to ‘d:oraclenewctlfcontrol
文档评论(0)