溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Oracle 控制文件損壞解決方案

發(fā)布時(shí)間:2020-08-10 07:43:05 來(lái)源:ITPUB博客 閱讀:583 作者:達(dá)芬奇的夢(mèng) 欄目:關(guān)系型數(shù)據(jù)庫(kù)

Oracle 控制文件損壞解決方案

 

故障一:丟失(損壞)一個(gè)控制文件

前臺(tái)報(bào)錯(cuò):ORA-00205error in identifying control file,check alert log for more info

解決方案:(干凈或非干凈方式關(guān)閉數(shù)據(jù)庫(kù))

使用完好的控制文件復(fù)制(替換)重命名丟失(損壞)的控制文件;

 

故障二:兩個(gè)控制文件版本不一致

(1)一個(gè)控制文件正常,另一個(gè)控制文件來(lái)源于其他備份或其他數(shù)據(jù)庫(kù)的控制文件;

前臺(tái)報(bào)錯(cuò):ORA-00214:control file '/../../control01.ctl' version xxx inconsistent with file '/../../control02.ctl' version yyy;

解決方案:(干凈或非干凈方式關(guān)閉數(shù)據(jù)庫(kù))

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

(2) 兩個(gè)控制文件均是來(lái)自不同時(shí)間的備份(都低于當(dāng)前版本)

前臺(tái)報(bào)錯(cuò):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

解決方案:(干凈方式關(guān)閉數(shù)據(jù)庫(kù))

用高版本的控制文件替換低版本的控制文件,后可以正常mount數(shù)據(jù)庫(kù),但是無(wú)法open數(shù)據(jù)庫(kù),需要手動(dòng)創(chuàng)建控制文件(alter database backup to trace as '\..\..\cc.tcl'),重新生成控制文件(noresetlogs方式),之后可以正常open數(shù)據(jù)庫(kù);

解決方案:(非干凈方式關(guān)閉數(shù)據(jù)庫(kù))

非干凈關(guān)閉(數(shù)據(jù)庫(kù)異常斷電),數(shù)據(jù)庫(kù)啟動(dòng)時(shí)需要介質(zhì)恢復(fù)(recover database),恢復(fù)成功后可以正常打開數(shù)據(jù)庫(kù);

 

故障三:兩個(gè)控制文件全部損壞,非當(dāng)前日志文件丟失(或損壞)

報(bào)錯(cuò):ORA-00205error in identifying control file,check alert log for more info

解決方案:(干凈方式關(guān)閉數(shù)據(jù)庫(kù))

因?yàn)橛腥罩疚募G失,以NORESETLOGS方式手動(dòng)創(chuàng)建控制文件時(shí)報(bào)錯(cuò),只能以RESETLOGS方式創(chuàng)建控制文件;創(chuàng)建控制文件成功后,數(shù)據(jù)庫(kù)自動(dòng)mount,執(zhí)行alter database open resetlogs;可以正常啟動(dòng)數(shù)據(jù)庫(kù);

解決方案:(非干凈方式關(guān)閉數(shù)據(jù)庫(kù))

如果數(shù)據(jù)庫(kù)之前是以不干凈的方式(abort/斷電)關(guān)閉的,open resetlogs數(shù)據(jù)庫(kù)之前需要進(jìn)行介質(zhì)恢復(fù),

recover database using backup controlfie;

由于resetlogs方式創(chuàng)建控制文件,導(dǎo)致日志序列號(hào)重新開始,自動(dòng)恢復(fù)時(shí)不會(huì)自動(dòng)使用當(dāng)前日志文件,需要手動(dòng)指定具體的日志文件

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

進(jìn)行介質(zhì)恢復(fù),介質(zhì)恢復(fù)成功后可以通過(guò)alter database open resetlogs方式open數(shù)據(jù)庫(kù);

 

故障四:兩個(gè)控制文件全部損壞,當(dāng)前日志文件丟失(或損壞)

報(bào)錯(cuò):ORA-00205error in identifying control file,check alert log for more info

解決方案:

(干凈方式關(guān)閉數(shù)據(jù)庫(kù))

因?yàn)橛腥罩疚募G失,以NORESETLOGS方式手動(dòng)創(chuàng)建控制文件時(shí)報(bào)錯(cuò),只能以RESETLOGS方式創(chuàng)建控制文件;創(chuàng)建控制文件成功后,數(shù)據(jù)庫(kù)自動(dòng)mount,執(zhí)行alter database open resetlogs;可以正常啟動(dòng)數(shù)據(jù)庫(kù);

解決方案:

(非干凈方式關(guān)閉數(shù)據(jù)庫(kù))

如果數(shù)據(jù)庫(kù)之前是以不干凈的方式(abort/斷電)關(guān)閉的,open resetlogs數(shù)據(jù)庫(kù)之前需要進(jìn)行介質(zhì)恢復(fù),

recover database using backup controlfie;

由于resetlogs方式創(chuàng)建控制文件,導(dǎo)致日志序列號(hào)重新開始,自動(dòng)恢復(fù)時(shí)不會(huì)自動(dòng)使用當(dāng)前日志文件,需要手動(dòng)指定具體的日志文件;

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

進(jìn)行介質(zhì)恢復(fù),但是數(shù)據(jù)庫(kù)介質(zhì)恢復(fù)所需的信息保存在丟失的當(dāng)前日志文件中,導(dǎo)致介質(zhì)恢復(fù)失敗,只能通過(guò)隱含參數(shù)"*._allow_resetlogs_corruption=true"(alter system set "_allow_resetlogs_corruption"=true scope=spfile;)跳過(guò)一致性檢查,才能open resetlogs數(shù)據(jù)庫(kù);

其中_allow_resetlogs_corruption參數(shù)可能會(huì)觸發(fā)多個(gè)ORA-600錯(cuò)誤;

(1)報(bào)錯(cuò)ORA-00600: internal error code, arguments: [2662],可通過(guò)_minimum_giga_scn跳過(guò)此BUG;

(2)報(bào)錯(cuò)ORA-00600: internal error code, arguments: [kdsgrp1],具體原因需要查看trace文件,本次案例可以通過(guò)將undo管理方式由自動(dòng)改成手動(dòng),跳過(guò)此BUG;

*.undo_tablespace=SYSTEM

*.undo_management=MANUAL

 

具體解決故障過(guò)程如下:

故障一丟失(損壞)一個(gè)控制文件

前臺(tái)報(bào)錯(cuò):ORA-00205:error in identifying control file,check alert log for more info

解決方案:使用完好的控制文件復(fù)制(替換)重命名丟失(損壞)的控制文件;
Oracle 控制文件損壞解決方案
Oracle 控制文件損壞解決方案
Oracle 控制文件損壞解決方案

---通過(guò)刪除控制文件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: 無(wú)法打開文件

O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。

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警告日志

---通過(guò)文本編輯二進(jìn)制控制文件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...

 

解決方案:用另一個(gè)控制文件進(jìn)行恢復(fù)

Oracle 控制文件損壞解決方案

 

故障二:兩個(gè)控制文件版本不一致

(1)一個(gè)控制文件正常,另一個(gè)控制文件來(lái)源于其他備份或其他數(shù)據(jù)庫(kù)的控制文件;

前臺(tái)報(bào)錯(cuò):ORA-00214:control file '/../../control01.ctl' version xxx inconsistent with file '/../../control02.ctl' version yyy;

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

Oracle 控制文件損壞解決方案

本次案例可以將control02.ctl控制文件復(fù)制重命名control01.ctl替換原control01.ctl文件;

Oracle 控制文件損壞解決方案

 

(2) 兩個(gè)控制文件均是來(lái)自不同時(shí)間的備份;

前臺(tái)報(bào)錯(cuò):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數(shù)據(jù)庫(kù),但是無(wú)法open數(shù)據(jù)庫(kù),需要手動(dòng)創(chuàng)建控制文件(alter database backup to trace as '\..\..\cc.tcl'),重新生成控制文件(noresetlogs方式),之后可以正常open數(shù)據(jù)庫(kù);

 Oracle 控制文件損壞解決方案

controlfile1版本號(hào)較高,用controlfile1重命名controlfile2替換原controfile2文件;

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

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

;

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

使用resetlogs,將導(dǎo)致redo logs里的內(nèi)容丟失,并且所有的備份失效,當(dāng)redo logs 損壞或從備份恢復(fù)控制文件的情況下,才使用resetlogs模式。通常情況下重建控制文件最好采用noresetlogs方式;

 

非干凈關(guān)閉(數(shù)據(jù)庫(kù)異常斷電),數(shù)據(jù)庫(kù)啟動(dòng)是需要介質(zhì)恢復(fù)(recover database),恢復(fù)成功后可以正常打開數(shù)據(jù)庫(kù);

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

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...

Oracle 控制文件損壞解決方案

 

重建控制文件

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

;

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案


故障三:兩個(gè)控制文件全部損壞,非當(dāng)前日志文件丟失(或損壞)

報(bào)錯(cuò):ORA-00205:error in identifying control file,check alert log for more info

解決方案:因?yàn)橛腥罩疚募G失,以NORESETLOGS方式手動(dòng)創(chuàng)建控制文件時(shí)報(bào)錯(cuò),只能以RESETLOGS方式創(chuàng)建控制文件;創(chuàng)建控制文件成功后,數(shù)據(jù)庫(kù)自動(dòng)mount如果數(shù)據(jù)庫(kù)之前是以干凈的方式(immediate/normal)關(guān)閉的,執(zhí)行alter database open resetlogs;可以正常啟動(dòng)數(shù)據(jù)庫(kù);

如果數(shù)據(jù)庫(kù)之前是以不干凈的方式(abort/斷電)關(guān)閉的,open resetlogs數(shù)據(jù)庫(kù)之前需要進(jìn)行介質(zhì)恢復(fù),

recover database using backup controlfie;

由于resetlogs方式創(chuàng)建控制文件,導(dǎo)致日志序列號(hào)重新開始,自動(dòng)恢復(fù)時(shí)不會(huì)自動(dòng)使用當(dāng)前日志文件,需要手動(dòng)指定具體的日志文件;

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

進(jìn)行介質(zhì)恢復(fù),介質(zhì)恢復(fù)成功后可以通過(guò)alter database open resetlogs方式open數(shù)據(jù)庫(kù);

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

 

編輯損壞兩個(gè)控制文件,刪除非當(dāng)前日志文件redo03.log

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

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

Oracle 控制文件損壞解決方案

手動(dòng)創(chuàng)建控制文件(NORESETLOGS)

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

;

Oracle 控制文件損壞解決方案

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: 無(wú)法打開文件

O/S-Error: (OS 2) 系統(tǒng)找不到指定的文件。

ORA-1503 signalled during: CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG

 

手動(dòng)創(chuàng)建控制文件(RESETLOGS)

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  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

;
Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案
Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案


故障四:兩個(gè)控制文件全部損壞,當(dāng)前日志文件丟失(或損壞)

報(bào)錯(cuò):ORA-00205:error in identifying control file,check alert log for more info

解決方案:因?yàn)橛腥罩疚募G失,以NORESETLOGS方式手動(dòng)創(chuàng)建控制文件時(shí)報(bào)錯(cuò),只能以RESETLOGS方式創(chuàng)建控制文件;創(chuàng)建控制文件成功后,數(shù)據(jù)庫(kù)自動(dòng)mount,如果數(shù)據(jù)庫(kù)之前是以干凈的方式(immediate/normal)關(guān)閉的,執(zhí)行alter database open resetlogs;可以正常啟動(dòng)數(shù)據(jù)庫(kù);

如果數(shù)據(jù)庫(kù)之前是以不干凈的方式(abort/斷電)關(guān)閉的,open resetlogs數(shù)據(jù)庫(kù)之前需要進(jìn)行介質(zhì)恢復(fù),

recover database using backup controlfie;

由于resetlogs方式創(chuàng)建控制文件,導(dǎo)致日志序列號(hào)重新開始,自動(dòng)恢復(fù)時(shí)不會(huì)自動(dòng)使用當(dāng)前日志文件,需要手動(dòng)指定具體的日志文件;

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

進(jìn)行介質(zhì)恢復(fù),但是數(shù)據(jù)庫(kù)介質(zhì)恢復(fù)所需的信息保存在丟失的當(dāng)前日志文件中,導(dǎo)致介質(zhì)恢復(fù)失敗,只能通過(guò)隱含參數(shù)"*._allow_resetlogs_corruption=true"(alter system set "_allow_resetlogs_corruption"=true scope=spfile;)跳過(guò)一致性檢查,才能open resetlogs數(shù)據(jù)庫(kù);

其中_allow_resetlogs_corruption參數(shù)可能會(huì)觸發(fā)多個(gè)ORA-600錯(cuò)誤;

(1)報(bào)錯(cuò)ORA-00600: internal error code, arguments: [2662],可通過(guò)_minimum_giga_scn跳過(guò)此BUG;

(2)報(bào)錯(cuò)ORA-00600: internal error code, arguments: [kdsgrp1],具體原因需要查看trace文件,本次案例可以通過(guò)將undo管理方式由自動(dòng)改成手動(dòng),跳過(guò)此BUG

*.undo_tablespace=SYSTEM

*.undo_management=MANUAL

 

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

故障:兩個(gè)控制文件全部損壞,當(dāng)前日志文件丟失(或損壞)

解決方案:

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

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...

 

---手動(dòng)創(chuàng)建控制文件(NORESETLOGS)

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

;

Oracle 控制文件損壞解決方案

---手動(dòng)創(chuàng)建控制文件(RESETLOGS)

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  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

;

Oracle 控制文件損壞解決方案


Oracle 控制文件損壞解決方案


Oracle 控制文件損壞解決方案


Oracle 控制文件損壞解決方案
Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案

Oracle 控制文件損壞解決方案



---Windows環(huán)境下,如果cmd中存在"?",亂碼問(wèn)題,可以設(shè)置客戶端字符集

Oracle 控制文件損壞解決方案

或者set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI