欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 11g ORA-03113故障,重建控制文件

程序员文章站 2024-02-11 18:48:28
...

Windows环境下的Oracle 11g在一次关机后,无法正常启动,且无法启动到mount状态,一直提示: ORA-03113: end-of-file on communi

Windows环境下的Oracle 11g在一次关机后,无法正常启动,且无法启动到mount状态,一直提示:

ORA-03113: end-of-file on communication channel

Process ID: 4276

Session ID: 1286Serial number: 2

在D:\app\Administrator\diag\rdbms\wind\wind\trace目录里找到相应号码的trc文件查看,发现如下提示:

Error:kccpb_sanity_check_2

Control filesequence number mismatch!

fhcsq: 168754bhcsq: 168757 cfn 0

所以确认为控制文件问题引起。

首先退出了SQLPLUS,然后把库文件所在的整个目录备份了一份。

然后尝试restore控制文件:

C:\> rman target/

RMAN> shutdownimmediate

RMAN> startupnomount

RMAN> restorecontrolfile from ‘D:\ptc\Windchill_10.0\ocu\oradata\wind\CONTROL03_WIND.CTL’;

完成以上操作后,重新进入SQLPLUS,,启动数据库时问题依旧。

可以确认所有控制文件全部出了问题,因库文件等都存在,所以决定重建控制文件:

C:\> sqlplus /nolog

SQL> conn / as sysdba

SQL> shutdown immediate

SQL> startup nomount

SQL> CREATE CONTROLFILE REUSE DATABASE "WIND"NORESETLOGS NOARCHIVELOG

MAXLOGFILES 16

MAXDATAFILES 100

MAXINSTANCES 2

MAXLOGHISTORY 453

LOGFILE

GROUP 1'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDREDO01.LOG' SIZE 50M,

GROUP 2'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDREDO02.LOG' SIZE 50M,

GROUP 3'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDREDO03.LOG' SIZE 50M

DATAFILE

'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDBLOBS01.DBF',

'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDINDEX01.DBF',

'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDSYSAUX01.DBF',

'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDSYSTEM01.DBF',

'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDUNDOTBS01.DBF',

'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDUSERS01.DBF',

'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDWCAUDIT01.DBF'

CHARACTER SET ZHS16GBK;

SQL> RECOVER DATABASE;

SQL> alter database open;

SQL> alter tablespace temp

add tmpfile'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDTEMP01.DBF'

SIZE 200M REUSE AUTOEXTEND ON MAXSIZE 5G;

完成以上步骤后,重启数据库正常。