Rumah  >  Artikel  >  pangkalan data  >  Oracle 11g ORA-03113故障,重建控制文件

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

WBOY
WBOYasal
2016-06-07 17:35:091816semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn