解决ORA-03113: 通信通道的文件结尾(实质是Control filesequence number mismatch)

本文详细记录了解决Oracle 11g数据库出现ORA-03113错误的过程,该错误通常是由于控制文件序列号不匹配导致的。通过本地连接而非网络连接方式,逐步排查并解决权限不足和实例问题,最终成功重建控制文件,使数据库恢复正常。
摘要由CSDN通过智能技术生成

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


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目录里 根据Process ID: 4276找到相应号码的trc文件查看(实例名_ora_XXXXX.trc都是前台服务器进程的trace文件),发现如下提示:
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;
完成以上步骤后,重启数据库正常。

==========================================================================
CREATE CONTROLFILE REUSE DATABASE "PARSEDB2"NORESETLOGS NOARCHIVELOG
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
Datafile
'F:\Program\Oracle\oradata\PARSEDB2\SYSTEM01.DBF',
'F:\Program\Oracle\oradata\PARSEDB2\SYS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值