ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/data/oracle/orcl/system.256.1140487887'
ORA-01207: file is more recent than control file - old control file
表示是数据文件的scn 号大于控制文件的scn 控制文件是旧的控制文件
1 查看数据库的scn号
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
4671276
2 查看数据文件的scn号
SQL> select name,checkpoint_change# from v$datafile;
NAME
--------------------------------------------------------------------------------
CHECKPOINT_CHANGE#
------------------
/data/oracle/orcl/system.256.1140487887
4671276
3 查看数据文件头的scn号
SQL> select name,checkpoint_change# from v$datafile_header;
NAME
--------------------------------------------------------------------------------
CHECKPOINT_CHANGE#
------------------
/data/oracle/orcl/system.256.1140487887
4672079
第一种情况找到归档文件和redo文件
SQL> recover database using backup controlfile;
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/data/oracle/orcl/group_1.271.1140415997
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;
Database altered.
SQL> select * from gy.aa;
ID NAME AGE
---------- -------------------- ----------
5 qwewqew 34
3 werewr 56
19 bbb 78
30 cccc 89
6 aaaa 56
第二种情况重建控制文件
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4673387 generated at 07/10/2023 05:16:01 needed for thread 1
ORA-00289: suggestion :
/data/oracle/fast_recovery_area/ORCL/archivelog/2023_07_10/o1_mf_1_1_%u_.arc
ORA-00280: change 4673387 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/data/oracle/orcl/system.256.1140487887'
ORA-01112: media recovery not started
再次trace控制文件吧
SQL> alter database backup controlfile to trace as '/oracle/aa.txt';
SQL>shutdown abort
SQL>startup nomount
SQL>创建控制文件
SQL>alter database open resetlogs;
完成
636

被折叠的 条评论
为什么被折叠?



