[terry笔记]RMAN综合学习之备份http://www.cnblogs.com/kkterry/p/3308405.html 

[terry笔记]RMAN综合学习之恢复 http://www.cnblogs.com/kkterry/p/3308407.html 

[terry笔记]RMAN综合学习之配置 http://www.cnblogs.com/kkterry/p/3308409.html 

一、rman恢复的基础概念和机制

1.在rman中,恢复主要有两个动作,一般在mount下进行:

restore:利用备份集文件,替换损坏的数据文件。
recover:应用归档或者redo,将数据库恢复到崩溃前的状态。
 
2.完全恢复or不完全恢复
完全恢复就是应用全部的归档和redo日志。
不完全恢复就是应用部分归档和redo日志,主要语法是restore/recover...until…,不完全恢复在open的时候需要加上resetlogs。
 
3.rman恢复的时候会去找最近可用的备份集(除非加上until子句)。如果备份集中有某个备份片段存在io错误,rman会自动寻找这个备份片段的冗余,并进行复制修复,如果没有冗余,会去找之前备份集中相应的数据块。
recover时,如果采用了增量备份,rman会首先去寻找增量备份。
 
二、恢复语法、例子
1.一个简单的全库完全恢复例子(开启归档):
rman target /
 
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to 'c:\backup\%F';
allocate channel c1 device type disk format 'c:\backup\bak_%T_%u_%s_%p';
backup database plus archivelog delete all input format 'c:\backup\bak_%T_%u_%s_%p';
 
RMAN> shutdown immediate
数据库已关闭
数据库已卸装
Oracle 实例已关闭
 
/*首先用rman全备,并关闭数据库,删除system01.dbf、sysaux01.dbf、undotbs01.dbf、users01.dbf、temp、spfile、controlfile*/
 
RMAN> startup nomount
/*即使没有spfile,利用rman数据库实例也会以最小状态启动。*/
restore spfile from 'c:\backup\C-197157272-20130906-00';
restore controlfile from 'c:\backup\C-197157272-20130906-00';
/*因为rman备份信息记录在控制文件中,所以在恢复参数文件、控制文件的时候需要指定恢复目录*/
 
RMAN> restore database;
启动 restore06-9月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=133 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 C:\U01\ORADATA\KKTERRY\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 C:\U01\ORADATA\KKTERRY\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 C:\U01\ORADATA\KKTERRY\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 C:\U01\ORADATA\KKTERRY\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 C:\BACKUP\BAK_20130906_11OJ5P6K_33_1
通道 ORA_DISK_1: 段句柄 = C:\BACKUP\BAK_20130906_11OJ5P6K_33_1 标记 = TAG20130906T110244
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:07
完成 restore06-9月 -13
 
RMAN> recover database;
/*不成功,因为把redo删除了,redo中有需要恢复的日志,如果没有删除redo,会恢复成功。*/
 
sqlplus / as sysdba
alter database open resetlogs;
 
/*如果在非归档模式下,在执行restore前需要先恢复之前备份的控制文件,并且在recover后,需要open resetlogs*/
View Code

 

相关文章:

  • 2021-09-08
  • 2021-10-01
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
  • 2021-07-31
  • 2021-05-23
  • 2018-12-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
  • 2021-10-05
  • 2022-12-23
相关资源
相似解决方案