oracle 控制文件启动不了,Oracle 控制文件损坏解决方案

本文详细介绍了Oracle数据库遇到控制文件丢失、版本不一致、全部损坏等故障时的解决方案,包括复制替换控制文件、调整控制文件版本、手动创建控制文件以及介质恢复等步骤,确保数据库正常启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle

控制文件损坏解决方案

故障一:

丢失(

损坏)

一个控制文件

前台报错:

ORA-00205

error in identifying control file,check alert log for

more info

解决方案:

(

干净或非干净方式关闭数据库)

使用完好的控制文件复制(

替换)

重命名丢失(

损坏)

的控制文件;

故障二:

两个控制文件版本不一致

(1)

一个控制文件正常,另一个控制文件来源于其他备份或其他数据库的控制文件;

前台报错:

ORA-00214

:

control

file '/../../control01.ctl' version xxx inconsistent with file

'/../../control02.ctl' version yyy;

解决方案:

(

干净或非干净方式关闭数据库)

用高版本的控制文件替换低版本的控制文件;

(2)

两个控制文件均是来自不同时间的备份

(

都低于当前版本

)

前台报错:

ORA-00214:

control

file '/../../control01.ctl' version xxx inconsistent with file

'/../../control02.ctl' version yyy;

ORA-01207:

file

is more recent than control file - old control file

解决方案:

(

干净方式关闭数据库)

用高版本的控制文件替换低版本的控制文件,后可以正常mount

数据库,但是无法open

数据库,需要手动创建控制文件(alter database backup to trace as

'\..\..\cc.tcl')

,重新生成控制文件(noresetlogs

方式)

,之后可以正常open

数据库;

解决方案:

(

非干净方式关闭数据库)

非干净关闭(

数据库异常断电)

,数据库启动时需要介质恢复(recover database)

,恢复成功后可以正常打开数据库;

故障三:

两个控制文件全部损坏,非当前日志文件丢失(

或损坏)

报错:

ORA-00205

error in identifying control file,check alert log for

more info

解决方案:

(

干净方式关闭数据库)

因为有日志文件丢失,以

NORESETLOGS

方式手动创建控制文件时报错,只能以RESETLOGS

方式创建控制文件;创建控制文件成功后,数据库自动mount

,执行alter database open resetlogs;

可以正常启动数据库;

解决方案:

(

非干净方式关闭数据库)

如果数据库之前是以不干净的方式

(abort/

断电

)

关闭的,

open

resetlogs

数据库之前需要进行

介质恢复,

recover database using backup controlfie;

由于resetlogs

方式创建控制文件,导致日志序列号重新开始,自动恢复时不会自动使用当前日志文件,

需要手动指定具体的日志文件;

例如:D:\app_10.2.0.4\chen_datafile\redo01.log

或D:\app_10.2.0.4\chen_datafile\redo03.log

进行介质恢复,介质恢复成功后可以通过

alter database open resetlogs

方式open

数据库;

故障四:

两个控制文件全部损坏,当前日志文件丢失(

或损坏)

报错:

ORA-00205

error in identifying control file,check alert log for

more info

解决方案:

(

干净方式关闭数据库)

因为有日志文件丢失,以

NORESETLOGS

方式手动创建控制文件时报错,只能以RESETLOGS

方式创建控制文件;创建控制文件成功后,数据库自动mount

,执行alter database open resetlogs;

可以正常启动数据库;

解决方案:

(

非干净方式关闭数据库)

如果数据库之前是以不干净的方式

(abort/

断电

)

关闭的,open

resetlogs

数据库之前需要进行介质恢复,

recover database using backup controlfie;

由于resetlogs

方式创建控制文件,导致日志序列号重新开始,自动恢复时不会自动使用当前日志文件,需要手动指定具体的日志文件;

例如:D:\app_10.2.0.4\chen_datafile\redo01.log

或D:\app_10.2.0.4\chen_datafile\redo03.log

进行介质恢复,

但是数据库介质恢复所需的信息保存在丢失的当前日志文件中,导致介质恢复失败,只能通过隐含参数"*

._allow_resetlogs_corruption=true"(

alter

system set "_allow_resetlogs_corruption"=true scope=spfile;)

跳过一致性检查,才能open resetlogs

数据库;

其中_allow_resetlogs_corruption

参数可能会触发多个

ORA-600

错误;

(1)

报错ORA-00600:

internal

error code, arguments: [2662]

,可通过

_minimum_giga_scn

跳过此BUG

(2)

报错ORA-00600:

internal error code, arguments: [kdsgrp1]

,具体原因需要查看trace

文件,本次案例可以通过将undo

管理方式由自动改成手动,跳过此BUG

*.undo_tablespace=SYSTEM

*.undo_management=MANUAL

具体解决故障过程如下:

故障一

:丢失(

损坏)

一个控制文件

前台报错:ORA-00205

:error in identifying control file,check alert log for

more info

解决方案:使用完好的控制文件复制(

替换)

重命名丢失(

损坏)

的控制文件;

c72afa4507a59daa49773f9d049a1729.png

54277beeb1cad28efba9bda99fe49121.png

42a928570165135afc042ee07a17bf53.png

---

通过删除控制文件control02.ctl

模拟控制文件丢失

Sun May 29 14:56:12 2016

ALTER DATABASE   MOUNT

ORA-00210: cannot open the specified

control file

ORA-00202: control file:

'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL02.CTL'

ORA-27041: unable to open file

OSD-04002:

无法打开文件

O/S-Error: (OS 2)

系统找不到指定的文件。

ORA-205 signalled during: ALTER

DATABASE   MOUNT...

Sun May 29 14:56:12 2016

MMNL started with pid=16, OS id=2476

---alert_orcl.log

警告日志

---

通过文本编辑二进制控制文件control02.ctl

模拟控制文件损坏

Sun May 29 16:35:03 2016

ALTER DATABASE   MOUNT

ORA-00210: cannot open the specified

control file

ORA-00202: control file: 'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL01.CTL'

ORA-27046: file size is not a multiple of logical block

size

OSD-04012:

文件大小不匹配 (OS 12763140)

ORA-205 signalled during: ALTER

DATABASE   MOUNT...

解决方案:用另一个控制文件进行恢复

d209f23caf97754032b3d67a05028f81.png

故障二:两个控制文件版本不一致

(1)

一个控制文件正常,另一个控制文件来源于其他备份或其他数据库的控制文件;

前台报错:ORA-00214:control

file '/../../control01.ctl' version xxx inconsistent with file

'/../../control02.ctl' version yyy;

解决方案:用高版本的控制文件替换低版本的控制文件;

9a40cd8b9efd484cb341fa21a6b35d50.png

本次案例可以将

control02.ctl

控制文件复制重命名

control01.ctl

替换原

control01.ctl

文件;

d209f23caf97754032b3d67a05028f81.png

(2)

两个控制文件均是来自不同时间的备份;

前台报错:ORA-00214:control

file '/../../control01.ctl' version xxx inconsistent with file

'/../../control02.ctl' version yyy;

ORA-01207:file

is more recent than control file - old control file

解决方案:用高版本的控制文件替换低版本的控制文件,后可以正常mount

数据库,但是无法open

数据库,需要手动创建控制文件(alter database backup to trace as

'\..\..\cc.tcl')

,重新生成控制文件(noresetlogs

方式)

,之后可以正常open

数据库;

43cf00a2d6bc7c003424ce210b44ddf3.png

controlfile1

版本号较高,用

controlfile1

重命名

controlfile2

替换原

controfile2

文件;

0120f008daa5af8ded30f8a0ad1d6a6f.png

310ac30be593545e7250c77cc967c282.png

Sun May 29 15:12:45 2016

Errors in file

D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_m000_9636.trc:

ORA-00338: log 1 of thread 1 is more recent

than control file

ORA-00312: online log 1 thread 1:

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01A.LOG'

ORA-00338: log 1 of thread 1 is more recent

than control file

ORA-00312: online log 1 thread 1:

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01.LOG'

解决方案:重建控制文件

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE

"ORCL"

NORESETLOGS  NOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 2337

LOGFILE

GROUP 1 (

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01.LOG',

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01A.LOG'

)

SIZE 50M BLOCKSIZE 512,

GROUP 2 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,

GROUP 3 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO03.LOG'  SIZE 50M BLOCKSIZE 512

DATAFILE

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSTEM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSAUX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\USERS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\EXAMPLE01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\MHWZ01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\ISM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01A.DBF'

CHARACTER SET ZHS16GBK

;

e9710c756cfcec0b6cb88f13705a59af.png

9b1c844658cb62c38c0c839301e78937.png

使用

resetlogs

,将导致

redo logs

里的内容丢失,并且所有的备份失效,当

redo logs

损坏或从备份恢复控制文件的情况下,才使用

resetlogs

模式。通常情况下重建控制文件最好采用

noresetlogs

方式;

非干净关闭

(

数据库异常断电

)

,数据库启动是需要介质恢复

(recover database)

,恢复成功后可以正常打开数据库;

9f28d2fce1c3ed3e25f40c88bb4758a3.png

d8037a9856ee8b3d5d147f357f48d35a.png

Sun

May 29 15:42:59 2016

ALTER

DATABASE   MOUNT

ORA-00210:

cannot open the specified control file

ORA-00202: control file:

'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL02.CTL'

ORA-27046: file size is not a multiple of

logical block size

OSD-04012:

文件大小不匹配

(OS 12763144)

ORA-00210: cannot open the specified

control file

ORA-00202: control file:

'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL01.CTL'

ORA-27046: file size is not a multiple of

logical block size

OSD-04012:

文件大小不匹配

(OS 12763144)

ORA-205

signalled during: ALTER DATABASE

MOUNT...

da6f38f51897479200b7c4f20524f902.png

重建控制文件

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE

"ORCL"

NORESETLOGS

NOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 2337

LOGFILE

GROUP 1 (

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01.LOG',

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01A.LOG'

)

SIZE 50M BLOCKSIZE 512,

GROUP 2 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,

GROUP 3 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO03.LOG'  SIZE 50M BLOCKSIZE 512

DATAFILE

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSTEM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSAUX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\USERS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\EXAMPLE01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\MHWZ01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\ISM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01A.DBF'

CHARACTER SET ZHS16GBK

;

e9710c756cfcec0b6cb88f13705a59af.png

83225ac6470d4a9858fdbf7f3d2c945e.png

833e681b46907900d556cf8847f4ef1f.png

4685f4ef25eb4426c4956ed039924e06.png

9438d49e676bdb9a9468a012e8d431fe.png

04d433631b4759a52560b6d2935b8b16.png

a641fd2d3849d2da41deead22a45b7f0.png

故障三:两个控制文件全部损坏,非当前日志文件丢失(

或损坏)

报错:ORA-00205

:error in identifying control file,check alert log for

more info

解决方案:因为有日志文件丢失,以

NORESETLOGS

方式手动创建控制文件时报错,只能以

RESETLOGS

方式创建控制文件;创建控制文件成功后,数据库自动mount

如果数据库之前是以干净的方式

(immediate/normal)

关闭的,执行alter database open resetlogs;

可以正常启动数据库;

如果数据库之前是以不干净的方式

(abort/

断电

)

关闭的,open

resetlogs

数据库之前需要进行介质恢复,

recover database using backup controlfie;

由于resetlogs

方式创建控制文件,导致日志序列号重新开始,自动恢复时不会自动使用当前日志文件,需要手动指定具体的日志文件;

例如:D:\app_10.2.0.4\chen_datafile\redo01.log

或D:\app_10.2.0.4\chen_datafile\redo03.log

进行介质恢复,介质恢复成功后可以通过alter database open resetlogs

方式open

数据库;

60fe59d5f3d07da9bbdf50732917e588.png

965d79ecc6d6cd81c0b9bbe0848ad324.png

编辑损坏两个控制文件,删除非当前日志文件

redo03.log

f7b266cd73ab08738e98a16f8faaf055.png

f81064eb781e9aac683ab6e618f3c41e.png

Sun May 29 16:40:55 2016

ALTER DATABASE   MOUNT

ORA-00210: cannot open the specified control file

ORA-00202: control file:

'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL02.CTL'

ORA-27046: file size is not a multiple of logical block

size

OSD-04012:

文件大小不匹配 (OS 12763144)

ORA-00210: cannot open the specified control file

ORA-00202: control file:

'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL01.CTL'

ORA-27046: file size is not a multiple of logical block

size

OSD-04012:

文件大小不匹配 (OS 12763144)

ORA-205 signalled during: ALTER

DATABASE   MOUNT...

Sun May 29 16:40:55 2016

MMNL started with pid=16, OS id=10652

30ddfea72068c1097b1a4e1eb42428c1.png

手动创建控制文件(NORESETLOGS)

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE

"ORCL"

NORESETLOGSNOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 2337

LOGFILE

GROUP 1 (

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01.LOG',

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01A.LOG'

)

SIZE 50M BLOCKSIZE 512,

GROUP 2 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,

GROUP 3 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO03.LOG'  SIZE 50M BLOCKSIZE 512

DATAFILE

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSTEM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSAUX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\USERS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\EXAMPLE01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\MHWZ01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\ISM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01A.DBF'

CHARACTER SET ZHS16GBK

;

9b01daa5e4e7ce50496bae7a78ffacac.png

Errors in file

D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_7516.trc:

ORA-01565: error in identifying file

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO03.LOG'

ORA-27041: unable to open file

OSD-04002:

无法打开文件

O/S-Error: (OS 2)

系统找不到指定的文件。

ORA-1503 signalled during: CREATE

CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG

手动创建控制文件(RESETLOGS)

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE

"ORCL"

RESETLOGSNOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 2337

LOGFILE

GROUP 1 (

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01.LOG',

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01A.LOG'

)

SIZE 50M BLOCKSIZE 512,

GROUP 2 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,

GROUP 3 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO03.LOG'  SIZE 50M BLOCKSIZE 512

DATAFILE

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSTEM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSAUX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\USERS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\EXAMPLE01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\MHWZ01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\ISM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01A.DBF'

CHARACTER SET ZHS16GBK

;

202835b341bf9751f8b1f4ec419aa70d.png

680e788a86291fed71f50cc1cca0d325.png

4b40c5f9ad158272671d6d75c88e06b3.png

5e290cc98fa09ec1e3b48445c61d5590.png

2e53ba51fcaee10df6be11e747a34e23.png

3f1f64d5be575331c677ffe670c9cf76.png

b08d1b9816ec900bcc6bbcc9096239b2.png

故障四:两个控制文件全部损坏,当前日志文件丢失(

或损坏)

报错:ORA-00205

:error in identifying control file,check alert log for

more info

解决方案:因为有日志文件丢失,以

NORESETLOGS

方式手动创建控制文件时报错,只能以

RESETLOGS

方式创建控制文件;创建控制文件成功后,数据库自动mount

如果数据库之前是以干净的方式

(immediate/normal)

关闭的,执行alter database open resetlogs;

可以正常启动数据库;

如果数据库之前是以不干净的方式

(abort/

断电

)

关闭的,open

resetlogs

数据库之前需要进行介质恢复,

recover database using backup controlfie;

由于resetlogs

方式创建控制文件,导致日志序列号重新开始,自动恢复时不会自动使用当前日志文件,需要手动指定具体的日志文件;

例如:D:\app_10.2.0.4\chen_datafile\redo01.log

或D:\app_10.2.0.4\chen_datafile\redo03.log

进行介质恢复,但是数据库介质恢复所需的信息保存在丢失的当前日志文件中,导致介质恢复失败,只能通过隐含参数"*.

_allow_resetlogs_corruption

=true

"(alter

system set "_allow_resetlogs_corruption"=true scope=spfile;)

跳过一致性检查,才能open resetlogs

数据库;

其中_allow_resetlogs_corruption

参数可能会触发多个ORA-600

错误;

(1

)

报错ORA-00600: internal error code, arguments: [

2662

]

,可通过_minimum_giga_scn

跳过此BUG

(2)

报错ORA-00600: internal

error code, arguments: [

kdsgrp1

]

,具体原因需要查看trace

文件,本次案例可以通过将undo

管理方式由自动改成手动,跳过此BUG

*.undo_tablespace=SYSTEM

*.undo_management=MANUAL

46d7008ed9ab565662a6e6534df88e87.png

dba0ea5cb5596c4298c25531d3a14247.png

故障:两个控制文件全部损坏,当前日志文件丢失

(

或损坏

)

解决方案:

13008b529f10751bf9b5bcf1813523eb.png

f2916cbb120f1b6464520829af5133e4.png

4f49a08c240bd3f04b68c0d9cb883cb1.png

Sun May 29 20:00:47 2016

ALTER DATABASE   MOUNT

ORA-00210: cannot open the specified

control file

ORA-00202: control file:

'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL02.CTL'

ORA-27046: file size is not a multiple of

logical block size

OSD-04012:

文件大小不匹配

(OS 12763139)

ORA-00210: cannot open the specified

control file

ORA-00202: control file:

'D:\APP_10.2.0.4\CHEN_DATAFILE\CONTROL01.CTL'

ORA-27046: file size is not a multiple of

logical block size

OSD-04012:

文件大小不匹配

(OS 12763140)

ORA-205 signalled during: ALTER

DATABASE   MOUNT...

---

手动创建控制文件

(NORESETLOGS)

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE

"ORCL"

NORESETLOGSNOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 2337

LOGFILE

GROUP 1 (

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01.LOG',

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01A.LOG'

)

SIZE 50M BLOCKSIZE 512,

GROUP 2 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,

GROUP 3 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO03.LOG'  SIZE 50M BLOCKSIZE 512

DATAFILE

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSTEM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSAUX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\USERS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\EXAMPLE01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\MHWZ01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\ISM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01A.DBF'

CHARACTER SET ZHS16GBK

;

30ec4240fc075facfd5dd86daa1fb10e.png

---

手动创建控制文件

(RESETLOGS)

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE

"ORCL"

RESETLOGSNOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 2337

LOGFILE

GROUP 1 (

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01.LOG',

'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO01A.LOG'

)

SIZE 50M BLOCKSIZE 512,

GROUP 2 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,

GROUP 3 'D:\APP_10.2.0.4\CHEN_DATAFILE\REDO03.LOG'  SIZE 50M BLOCKSIZE 512

DATAFILE

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSTEM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\SYSAUX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\USERS01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\EXAMPLE01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\CHEN02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX02.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\MHWZ01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA02A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\ISM01.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_DATA01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\NNC_INDEX01A.DBF',

'D:\APP_10.2.0.4\CHEN_DATAFILE\UNDOTBS01A.DBF'

CHARACTER SET ZHS16GBK

;

bf3156fbc1b38b8b969cdd200ec20bc6.png

d0df572142126ed5f60b25a13142172f.png

af5c281bfb6085bbf6d273b05de77023.png

72dfb0d68f14c90906dd2bd14a8329d1.png

1a4a145c01edaaf658c262d497ba4ceb.png

0f4b1a511e53248d009833236573908f.png

473698d38bf81bfa6a91b379c1e743f0.png

2103a08ca4330e3660e075891fda1c09.png

6f8bb25672339eb37e096ba99afaa5ec.png

d6b957678718c95316e97eea89b0a619.png

cec22ea0a40d3ece3649070a846df92f.png

76b49cb08b37eb9041c70b6d9753a6fe.png

---

Windows

环境下,如果cmd

中存在"?"

,乱码问题,可以设置客户端字符集

1efd2b6c7b741f45039436a079fc61e4.png

或者set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!

57b232e260a9591c67183618b4f85665.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值