控制文件损坏,使用备份二进制控制文件恢复 步骤:
数据库启动到nomount状态
使用二进制控制文件恢复控制文件
恢复数据库
打开数据库
RMAN> alter database mount;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 12/01/2018 06:46:30
ORA-00205: error in identifying control file, check alert log for more info
RMAN> restore controlfile from autobackup;
Starting restore at 01-DEC-18
using channel ORA_DISK_1
recovery area destination: +FRA
database name (or database unique name) used for search: ORCL
channel ORA_DISK_1: no AUTOBACKUPS found in the recovery area
AUTOBACKUP search with format "%F" not attempted because DBID was not set
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/01/2018 06:49:19
RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
RMAN> restore controlfile from '+fra/orcl/controlfile/Backup.277.993703069';
Starting restore at 01-DEC-18
using channel ORA_DISK_1
channel ORA_DISK_1: copied control file copy
output file name=+DATA/orcl/controlfile/current.260.993710981
output file name=+FRA/orcl/controlfile/current.256.993710985
Finished restore at 01-DEC-18
RMAN> list backup;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 12/01/2018 06:50:11
ORA-01507: database not mounted
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
RMAN> list backup;
specification does not match any backup in the repository
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 ORCL 1359978017 PARENT 1 13-AUG-09
2 2 ORCL 1359978017 CURRENT 754488 22-NOV-13
SQL> recover database using backup controlfile;
ORA-00279: change 1074521 generated at 12/01/2018 04:34:43 needed for thread 1
ORA-00289: suggestion :
+FRA/orcl/archivelog/2018_12_01/thread_1_seq_28.271.993703625
ORA-00280: change 1074521 for thread 1 is in sequence #28
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1074524 generated at 12/01/2018 04:47:04 needed for thread 1
ORA-00289: suggestion :
+FRA/orcl/archivelog/2018_12_01/thread_1_seq_29.270.993710069
ORA-00280: change 1074524 for thread 1 is in sequence #29
ORA-00278: log file
'+FRA/orcl/archivelog/2018_12_01/thread_1_seq_28.271.993703625' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1080444 generated at 12/01/2018 06:34:29 needed for thread 1
ORA-00289: suggestion :
+FRA/orcl/archivelog/2018_12_01/thread_1_seq_30.267.993710071
ORA-00280: change 1080444 for thread 1 is in sequence #30
ORA-00278: log file
'+FRA/orcl/archivelog/2018_12_01/thread_1_seq_29.270.993710069' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1080461 generated at 12/01/2018 06:34:30 needed for thread 1
ORA-00289: suggestion :
+FRA/orcl/archivelog/2018_12_01/thread_1_seq_31.260.993710075
ORA-00280: change 1080461 for thread 1 is in sequence #31
ORA-00278: log file
'+FRA/orcl/archivelog/2018_12_01/thread_1_seq_30.267.993710071' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1080466 generated at 12/01/2018 06:34:34 needed for thread 1
ORA-00289: suggestion :
+FRA/orcl/archivelog/2018_12_01/thread_1_seq_32.269.993710079
ORA-00280: change 1080466 for thread 1 is in sequence #32
ORA-00278: log file
'+FRA/orcl/archivelog/2018_12_01/thread_1_seq_31.260.993710075' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1080470 generated at 12/01/2018 06:34:37 needed for thread 1
ORA-00289: suggestion :
+FRA/orcl/archivelog/2018_12_01/thread_1_seq_33.268.993710081
ORA-00280: change 1080470 for thread 1 is in sequence #33
ORA-00278: log file
'+FRA/orcl/archivelog/2018_12_01/thread_1_seq_32.269.993710079' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1080475 generated at 12/01/2018 06:34:39 needed for thread 1
ORA-00289: suggestion :
+FRA/orcl/archivelog/2018_12_01/thread_1_seq_34.262.993710083
ORA-00280: change 1080475 for thread 1 is in sequence #34
ORA-00278: log file
'+FRA/orcl/archivelog/2018_12_01/thread_1_seq_33.268.993710081' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1080480 generated at 12/01/2018 06:34:41 needed for thread 1
ORA-00289: suggestion : +FRA
ORA-00280: change 1080480 for thread 1 is in sequence #35
ORA-00278: log file
'+FRA/orcl/archivelog/2018_12_01/thread_1_seq_34.262.993710083' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00308: cannot open archived log '+FRA'
ORA-17503: ksfdopn:2 Failed to open file +FRA
ORA-15045: ASM file name '+FRA' is not in reference form
SQL> recover database using backup controlfile;
ORA-00279: change 1080480 generated at 12/01/2018 06:34:41 needed for thread 1
ORA-00289: suggestion : +FRA
ORA-00280: change 1080480 for thread 1 is in sequence #35
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
+fra/orcl/onlinelog/group_2.258.832197299
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;
Database altered.
