Oracle数据库丢失控制文件的恢复四则(四)

2014-11-24 17:02:16 · 作者: · 浏览: 3
ce/bkt_m000_6331.trc:

ORA-00338: log 3 of thread 1 is more recentthan control file

ORA-00312: online log 3 thread 1:'/u02/oradat/bkt/redo03.log'

Errors in file/u01/apps/oracle/diag/rdbms/bkt/bkt/trace/bkt_m000_6331.trc:

ORA-00338: log 3 of thread 1 is more recentthan control file

ORA-00312: online log 3 thread 1:'/u02/oradat/bkt/redo03.log'

Checker run found 1 new persistent datafailures

[oracle@master ~]$ oerr ora 01207

01207, 00000, "file is more recentthan control file - old control file"

// *Cause: The control file change sequence number in the data file is

// greater than the number in the control file. This implies that

// the wrong control file is being used. Note that repeatedly causing

// this error can make it stop happening without correcting the real

// problem. Every attempt to open the database will advance the

// control file change sequence number until it is great enough.

// *Action: Use the current control file ordo backup control file recovery to

// make the control file current. Be sure to follow all restrictions

// on doing a backup control file recovery.

--显然没有我们最近创建的两个表空间

sys@BKT> select name from v$datafile ;

NAME

----------------------------------------------------------------------------------------------------

/u02/oradat/bkt/system01.dbf

/u02/oradat/bkt/sysaux01.dbf

/u02/oradat/bkt/undotbs01.dbf

/u02/oradat/bkt/users01.dbf

/u02/oradat/bkt/example01.dbf

/u02/oradat/bkt/test1_01.dbf

6 rows selected.

--controlfile_change# low rba ,checkpoint_change#

sys@BKT> select checkpoint_change#,CONTROLFILE_SEQUENCE# ,CONTROLFILE_CHANGE# fromv$database ;

CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE#CONTROLFILE_CHANGE#

------------------ ----------------------------------------

1281710 3287 1293684

sys@BKT> select min(checkpoint_change#)from V$datafile_header ;

MIN(CHECKPOINT_CHANGE#)

-----------------------

1270438

sys@BKT> selectgroup#,first_change#,next_change# from v$log ;

GROUP# FIRST_CHANGE# NEXT_CHANGE#

---------- ------------- ------------

1 1273500 1273646

3 1274338 2.8147E+14

2 1273646 1274338

sys@BKT> recover database;

ORA-00283: recovery session canceled due toerrors

ORA-01122: database file 1 failedverification check

ORA-01110: data file 1:'/u02/oradat/bkt/system01.dbf'

ORA-01207: file is more recent than controlfile - old control file

sys@BKT> recover database using backup controlfile ;

ORA-00279: change 1293684 generated at05/08/2013 14:29:38 needed for thread 1

ORA-00289: suggestion :/u02/flash_recovery_area/BKT/archivelog/2013_05_13/o1_mf_1_93_8s2qoprf_.arc

ORA-00280: change 1293684 for thread 1 isin sequence #93

Specify log: {=suggested |filename | AUTO | CANCEL}

auto

ORA-00283: recovery session canceled due toerrors

ORA-01244: unnamed datafile(s) added tocontrol file by media recovery

ORA-01110: data file 7:'/u02/oradat/bkt/tbs101.dbf'

ORA-01112: media recovery not started

这时候第七号文件已经加回来了。

sys@BKT> recover database using backupcontrolfile ;

ORA-00283: recovery session canceled due toerrors

ORA-01111: name for data file 7 is unknown- rename to correct file

ORA-01110: data file 7:'/u01/apps/oracle/product/11gr2/db_1/dbs/UNNAMED00007'

ORA-01157: cannot identify/lock data file 7- see DBWR trace file

ORA-01111: name for data file 7 is unknown- rename to correct file

ORA-01110: data file 7: '/u01/apps/oracle/product/11gr2/db_1/dbs/