您的位置:首页 > 其它

ORA-00214 控制文件错误

2017-05-02 10:43 447 查看
数据库断电重启后出现该错误:

 

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  171966464 bytes

Fixed
Size                  
787988 bytes

Variable
Size            
145488364 bytes

Database
Buffers          
25165824 bytes

Redo
Buffers                
524288 bytes

ORA-00214: ???? 'D:\DISK3\CONTROL01.CTL' ?? 8292532 ???

'D:\DISK9\CONTROL03.CTL' ?? 8292528 ???

cause: An ORA-00214 is issued whenever Oracle detects an
inconsistency between two

mirrored copies of the control file. 

All copies of the control file must have the same internal sequence
number for

Oracle to start up the database or shut it down in normal or
immediate mode.

If the database is running and the checkpoint in the file header
could not be

advanced the datafile will be taken offline.

Typical scenarios in which you may receive an ORA-00214
include:

1. You have restored the control file from backup, but forgot

  to copy it onto all of the mirrored
copies of the control file

  as listed in the "CONTROL_FILES"
parameter in the "init.ora&

quot; file  for this instance (or
config.ora in an ifile configuration).

2. You have moved one or more copies of the control file to a

  different location while the database was
up and running.

3. You accidentally overwrote one of the copies of the control
file

  with an old copy.

4. The database or the system crashed while the mirrored copies
of

  the control file were being updated,
causing them to be out of sync.

5. You are restoring a database backup that was improperly
taken

  with the database up and running ("fuzzy"
backup).

fix:

The solution consists in opening the database with a single good
copy

of the control file and then shutting the database down and
copying

that version of the control file onto the other mirrored
copies.

That will cause the next startup to
succeed.  The steps to be followed

are:

1. If the database is still up, do a shutdown abort now.

2. Edit the init.ora file for this instance (or config.ora in an
ifile

  configuration).

   
    Find the
CONTROL_FILES parameter and modify it to include

   
    just ONE copy
of the control file that you have reasons to

   
    believe is
up-to-date.  For example, if you only have
two

   
    mirrored copies
X and Y of the control file:

   
   
   
    CONTROL_FILES =
(X, Y)

   
    and you know
you have accidentally overwritten X with an old

   
    copy,
make

   
   

   
   
   
    CONTROL_FILES =
(Y)

   
    If you are not
sure about it, choose any one of the control file

   
    copies and
remove or comment out all the other copies from the

   
    CONTROL_FILES
parameter.

3. Start up the database in restricted mode.

   
    STARTUP
RESTRICT

   
    If the database
comes up fine, move on to Step 4.

   
    If instead you
get ORA-1122, ORA-1110, and ORA-1207, go back to

   
    Step 2 and make
the CONTROL_FILES parameter point to another one

   
    of the mirrored
copies.  If you have already tried each
and

   
    every one of
the mirrored copies unsuccessfull
4000
y, you must create

   
    a new control
file for the database.  See the Solution
Reference

   
    to PR entry
1012929.6 ("How to Recreate the Control File".

   
    If you get
ORA-1113 and ORA-1110 pointing to one of the datafiles,

   
    it means the
copy of the control file you picked is good, but

   
    the referenced
datafile must be recovered before the database can be

   
   
opened.  Try issuing a RECOVER DATABASE
command and applying the

   
    logs you are
prompted for.  You may have to resort to
the online

   
    logs to
complete media recovery.  For further
details, see the

   
    Solution
Reference to PR entry 1012943.6 on
ORA-1113.  Once the

   
    datafile is
recovered, issue an ALTER DATABASE OPEN.

4. Shut the database down (normal or immediate).

5. Make all copies of the control file consistent.

   
    Copy the good
mirrored copy of the control file that you just used

   
    to bring the
database up onto all other copies, as originally listed

   
    in the
CONTROL_FILES parameter of your init.ora file (or config.ora

   
    in an ifile
configuration).

6. Restore the CONTROL_FILES parameter to its original value.

   
    Edit the
init.ora file for this instance (or config.ora in an ifile

   
    configuration)
to make the CONTROL_FILES parameter include

   
    all mirrored
copies of the control file again.

7. Start up the database.

 

 

上面说的比较复杂,本例处理的方法是:把原来不一致的控制文件(control03.ctl)改名后拷贝了control01.ctl到control03.ctl控制文件所在的目录下并命名为control03.ctl

然后数据库正常启动了

应该是改掉版本低的那个控制文件的名字,这个待确认。

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐