该实验的目的:当生产机出现异常或者需要做备份验证的时候,需要将rman备份内容还原到另一台服务器。
源数据库IP:192.168.92.8
目标数据库IP:192.168.92.21
1. 查询源服务的相关设定,比如:
spfile
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora
Control file:
/u01/app/oracle/oradata/orcl/control01.ctl, /u01/app/oracle/fast_recovery_area/orcl/control02.ctl
Recover file dest
/u01/app/oracle/fast_recovery_area
/u01/app/oracle/diag/rdbms/orcl/orcl/cdump
/u01/app/oracle/admin/orcl/adump
Log file group
/u01/app/oracle/oradata/orcl
Dbfile
/u01/app/oracle/oradata/orcl
2. 在目标服务器中创建并设定以上路径
3. 复制tns等设置,并做修改
scp * 192.168.92.21:/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/
4. 备份源数据库并复制到目标服务器
backup database plus archivelog delete input;
Scp oracle@192.168.92.8:/u01/app/oracle/rman/* /u01/app/oracle/rman/
/u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_11_23
scp oracle@192.168.92.8:/u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_11_23/* /u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_11_23/
特别注意,备份时rman会提示confile的存放文件,在目标服务器上还原的时候需要使用。
5. 还原数据开始
rman target / nocatalog
Set dbid=1418922439
startup nomount;
restore spfile to pfile '/u01/app/oracle/fast_recovery_area/orcl.ora' from ‘/u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_11_23/o1_mf_s_896541858_c55hs2yf_.bkp';
cp /u01/app/oracle/fast_recovery_area/orcl.ora /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
在还原的时候可以直接选择目标路径,就会少掉cp的动作。
shutdown immediate;
startup nomount;
restore controlfile from '/u01/app/oracle/fast_recovery_area/ORCL/autobackup/2015_11_23/o1_mf_s_896541858_c55hs2yf_.bkp';
注意路径要正确,否则恢复不成功
shutdown immediate;
startup mount;
restore database;
确认文件是否都到目标位置。
recover database;
系统会报提示信息。根据提示信息做不完全恢复
以下根据系统保持做不完全恢复,这样可以从备份中还原redo log
recover database until SCN 1245160;
recover database until SCN 1244351;
alter database open RESETLOGS ;(此步骤中生成redo log后成功开启数据库)