ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
在做一个rman异机恢复完成后,数据库无法打开,报错提示
1 2 3 4
Oracle Error: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: '+DG/xxx/datafile/system01.dbf'
16:54:07 sys. >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: '+DG/xxx/datafile/system01.dbf'
sys >select (select distinct checkpoint_change# from v$datafile) dfile_ckp,(select checkpoint_change# from v$database) db_ckp,(select distinct checkpoint_change# from v$datafile_header) dh_ckp from dual;
set numwidth 30; set pagesize 50000; alter session set nls_date_format = 'DD-MON-RRRR HH24:MI:SS';
sys.>select status,checkpoint_change#,checkpoint_time, resetlogs_change#, resetlogs_time, count(*), fuzzy from v$datafile_header group by status,checkpoint_change#,checkpoint_time, resetlogs_change#, resetlogs_time, fuzzy;
GROUP# STATUS TYPE MEMBER IS_ ---------- ------- ------- ---------------------------------------------------------------------- --- 3 ONLINE +REDO/xxx/redo03.log NO 2 ONLINE +REDO/xxx/redo02.log NO 1 ONLINE +REDO/xxx/redo01.log NO 4 STANDBY +REDO/xxx/stdredo01.log NO 5 STANDBY +REDO/xxx/stdredo02.log NO 6 STANDBY +REDO/xxx/stdredo03.log NO 7 STANDBY +REDO/xxx/stdredo04.log NO 10 ONLINE +REDO/xxx/redo10.log NO 11 ONLINE +REDO/xxx/redo11.log NO
ALTER DATABASE RENAME FILE '/home/oradata/xxx/redo03.log' to '+REDO/xxx/redo03.log'; ALTER DATABASE RENAME FILE '/home/oradata/xxx/redo02.log' to '+REDO/xxx/redo02.log'; ALTER DATABASE RENAME FILE '/home/oradata/xxx/redo01.log' to '+REDO/xxx/redo01.log';
ALTER DATABASE RENAME FILE '/home/oradata/xxx/stdredo01.log' to '+REDO/xxx/stdredo01.log'; ALTER DATABASE RENAME FILE '/home/oradata/xxx/stdredo02.log' to '+REDO/xxx/stdredo02.log'; ALTER DATABASE RENAME FILE '/home/oradata/xxx/stdredo03.log' to '+REDO/xxx/stdredo03.log'; ALTER DATABASE RENAME FILE '/home/oradata/xxx/stdredo04.log' to '+REDO/xxx/stdredo04.log'; ALTER DATABASE RENAME FILE '/home/oradata/xxx/redo10.log' to '+REDO/xxx/redo10.log'; ALTER DATABASE RENAME FILE '/home/oradata/xxx/redo11.log' to '+REDO/xxx/redo11.log';
22:52:18 sys. xxx>RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL ; ORA-00279: change 75238614094 generated at 02/23/2019 00:15:46 needed for thread 1 ORA-00289: suggestion : +NVMEDG/xxx/archivelog/2019_03_01/thread_1_seq_21201.664.1001796429 ORA-00280: change 75238614094 for thread 1 is in sequence #21201
22:52:35 Spexxxy log: {>RET>=suggested | filename | AUTO | CANCEL} +NVMEDG/xxx/archivelog/2019_03_01/thread_1_seq_21201.664.1001796429 ORA-00279: change 75238624057 generated at 02/23/2019 00:19:25 needed for thread 1 ORA-00289: suggestion : +NVMEDG/xxx/archivelog/2019_03_01/thread_1_seq_21202.663.1001796179 ORA-00280: change 75238624057 for thread 1 is in sequence #21202 ORA-00278: log file '+NVMEDG/xxx/archivelog/2019_03_01/thread_1_seq_21201.664.1001796429' no longer needed for this recovery
22:52:49 Spexxxy log: {>RET>=suggested | filename | AUTO | CANCEL} +NVMEDG/xxx/archivelog/2019_03_01/thread_1_seq_21202.663.1001796179 ORA-00279: change 75238632711 generated at 02/23/2019 00:22:37 needed for thread 1 ORA-00289: suggestion : +nvmedg ORA-00280: change 75238632711 for thread 1 is in sequence #21203 ORA-00278: log file '+NVMEDG/xxx/archivelog/2019_03_01/thread_1_seq_21202.663.1001796179' no longer needed for this recovery
22:53:03 Spexxxy log: {>RET>=suggested | filename | AUTO | CANCEL} >>>>====缺少进一步的日志用于恢复 auto ORA-00308: cannot open archived log '+nvmedg' ORA-17503: ksfdopn:2 Failed to open file +nvmedg ORA-15045: ASM file name '+nvmedg' is not in reference form
ORA-00308: cannot open archived log '+nvmedg' ORA-17503: ksfdopn:2 Failed to open file +nvmedg ORA-15045: ASM file name '+nvmedg' is not in reference form
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: '+NVMEDG/xxx/datafile/system01.dbf'
当我恢复完21201和21202两个文件以后,发现依然无法打开数据库。
1 2 3 4 5 6
sys. >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: '+DG/xxx/datafile/system01.dbf'
sys >select (select distinct checkpoint_change# from v$datafile) dfile_ckp,(select checkpoint_change# from v$database) db_ckp,(select distinct checkpoint_change# from v$datafile_header) dh_ckp from dual;
set numwidth 30; set pagesize 50000; alter session set nls_date_format = 'DD-MON-RRRR HH24:MI:SS';
select status,checkpoint_change#,checkpoint_time, resetlogs_change#, resetlogs_time, count(*), fuzzy from v$datafile_header group by status,checkpoint_change#,checkpoint_time, resetlogs_change#, resetlogs_time, fuzzy;
alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01139: RESETLOGS option only valid after an incomplete database recovery
alter database open; alter database open * ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 97239 Session ID: 1921 Serial number: 1