【异常处理】RMAN恢复,遭遇ORA-00279、ORA-00280、ORA-00289报错处理方法
数据库:oracle 11.2.0.4
系统:CentOS 7.9
异常描述:rman在目标端进行恢复时,出现ORA-00279、ORA-00280、ORA-00289告警,如下:
SQL> alter database open resetlogs upgrade;
alter database open resetlogs upgrade
\*
ERROR at line 1:
ORA-01152: file 2 was not restored from a sufficiently old backup
ORA-01110: data file 2: '/u01/app/oracle/oradata/orcl/sysaux.257.1107818147'
**SQL> recover database using backup controlfile until cancel;**
ORA-00279: change 1209509 generated at 07/15/2022 09:42:49 needed for thread 1
ORA-00289: suggestion :
+DATA/orcl/archivelog/2022\_07\_15/thread\_1\_seq\_20.324.1110102193
ORA-00280: change 1209509 for thread 1 is in sequence #20
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
**AUTO (手工输入)**
ORA-00308: cannot open archived log
'+DATA/orcl/archivelog/2022\_07\_15/thread\_1\_seq\_20.324.1110102193'
ORA-17503: ksfdopn:2 Failed to open file
+DATA/orcl/archivelog/2022\_07\_15/thread\_1\_seq\_20.324.1110102193
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-15077: could not locate ASM instance serving a required diskgroup
ORA-29701: unable to connect to Cluster Synchronization Service
ORA-00308: cannot open archived log
'+DATA/orcl/archivelog/2022\_07\_15/thread\_1\_seq\_20.324.1110102193'
ORA-17503: ksfdopn:2 Failed to open file
+DATA/orcl/archivelog/2022\_07\_15/thread\_1\_seq\_20.324.1110102193
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-15077: could not locate ASM instance serving a required diskgroup
ORA-29701: unable to connect to Cluster Synchronization Service
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 2 was not restored from a sufficiently old backup
ORA-01110: data file 2: '/u01/app/oracle/oradata/orcl/sysaux.257.1107818147'
经过一番资料的查找,解决结果如下:
SQL> SELECT open\_mode from v$database;
OPEN\_MODE
\--------------------
MOUNTED
SQL> alter system set "\_allow\_resetlogs\_corruption"=true scope=spfile;
System altered.
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 3006406656 bytes
Fixed Size 2257032 bytes
Variable Size 704647032 bytes
Database Buffers 2281701376 bytes
Redo Buffers 17801216 bytes
Database mounted.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 1209509 generated at 07/15/2022 09:42:49 needed for thread 1
ORA-00289: suggestion :
+DATA/orcl/archivelog/2022\_07\_15/thread\_1\_seq\_20.324.1110102193
ORA-00280: change 1209509 for thread 1 is in sequence #20
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
**CANCEL (手工输入)**
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 2 was not restored from a sufficiently old backup
ORA-01110: data file 2: '/u01/app/oracle/oradata/orcl/sysaux.257.1107818147'
ORA-01112: media recovery not started
SQL> alter database open resetlogs;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE\_DB\_RECOVERY\_FILE\_DEST
Oldest online log sequence 1
Next log sequence to archive 1
Current log sequence 1
SQL> alter system set "\_allow\_resetlogs\_corruption"=false scope=spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 3006406656 bytes
Fixed Size 2257032 bytes
Variable Size 704647032 bytes
Database Buffers 2281701376 bytes
Redo Buffers 17801216 bytes
Database mounted.
Database opened.