在做oracle数据库冷备份时,由于没有及时备份控制文件,导致最新控制文件意外丢失,在做数据库恢复时出现了以下报错:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'
ORA-01207: file is more recent than control file - old control file
首先尝试恢复数据文件,执行如下指令:
SQL> RECOVER DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf'结果如下图所示:

根据提示使用控制文件进行数据库恢复,并且应用重做日志文件,在此过程中尝试了redo01.log,提示SCN不满足,接着使用redo02.log文件,恢复成功,相关指令如下:
--- 不要以controlfile中的scn作为恢复的终点
SQL> recover database using backup controlfile;
SQL> alter database open resetlogs;
数据库恢复完成后,查看数据库实列的状态:
SQL> select instance_Name,status from v$instance;
最后检验数据库测试表中的数据,数据没有丢失
SQL> select * from emp;
今天的分享到此就结束了~