Home  >  Article  >  Database  >  Oracle 11g ORA-03113故障,重建控制文件

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

WBOY
WBOYOriginal
2016-06-07 17:35:091817browse

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;

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

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn