Oracle读写-只读表空间回复详解(二)

2014-11-24 12:27:13 · 作者: · 浏览: 3
3_01_17/o1_mf_ncnnf_TAG20130117T101646_8hgqrhvd_.bkp';

Starting restore at 17-JAN-13

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=157 devtype=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:05

output filename=/u01/app/oracle/oradata/ORCL/control01.ctl

output filename=/u01/app/oracle/oradata/ORCL/control02.ctl

output filename=/u01/app/oracle/oradata/ORCL/control03.ctl

Finished restore at 17-JAN-13

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

RMAN>

10) 恢复ts1表空间

RMAN> restore tablespace ts1;

Starting restore at 17-JAN-13

Starting implicit crosscheck backup at 17-JAN-13

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=157 devtype=DISK

Crosschecked 2 objects

Finished implicit crosscheck backup at 17-JAN-13

Starting implicit crosscheck copy at 17-JAN-13

using channel ORA_DISK_1

Finished implicit crosscheck copy at 17-JAN-13

searching for all files in the recovery area

cataloging files...

cataloging done

List of Cataloged Files

=======================

File Name: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_01_17/o1_mf_ncnnf_TAG20130117T101646_8hgqrhvd_.bkp

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00006 to /u01/app/oracle/oradata/ORCL/ts1.dbf

channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_01_17/o1_mf_nnndf_TAG20130117T101646_8hgqrg9h_.bkp

channel ORA_DISK_1: restored backup piece 1piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_01_17/o1_mf_nnndf_TAG20130117T101646_8hgqrg9h_.bkp tag=TAG20130117T101646

channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

Finished restore at 17-JAN-13

RMAN>

11) 表空间恢复完毕,尝试open数据库

--当然,我们知道一定是无法open数据库的,因为控制文件恢复的是老版本的

SYS@ORCL>!ls /u01/app/oracle/oradata/ORCL/ts1.dbf

/u01/app/oracle/oradata/ORCL/ts1.dbf

SYS@ORCL>alter database open;

alter database open

*

ERROR at line 1:

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

--提示resetlogs方式打开

SYS@ORCL>alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/u01/app/oracle/oradata/ORCL/system01.dbf'

--提示需要恢复1号数据文件

SYS@ORCL>recover datafile 1;

ORA-00283: recovery session canceled due to errors

ORA-01610: recovery using the BACKUP CONTROLFILE option must be done

--提示using BACKUP CONTROLFILE方式完成恢复

SYS@ORCL>

12) using backup controlfile恢复数据库

注:如果要恢复到控制文件SCN以后的时间。这时候,就需要用using backup controlfile. 恢复就不会受“当前controlfile所纪录的SCN”的限制。

这时候的限制就来自于你的语句(until time , until scn),或者可用的archive log(until cancel)

SYS@ORCL>recover database using backup controlfile until cancel;

ORA-00279: change 493760 generated at 01/16/2013 17:10:46 needed for thread 1

ORA-00289: suggestion :

/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_01_16/o1_mf_1_7_%u_.arc

ORA-00280: change 493760 for thread 1 is in sequence #7

Specify log: {=suggested | filename | AUTO | CANCEL}

--此处回车则是利用下一个归档日志文件进行恢复。不过在这里也可以输入CANCEL,表示恢复到此结束,不再使用后面的归档