Heim >Datenbank >MySQL-Tutorial >ORA-03113: 通信通道的文件结尾(错误解决)

ORA-03113: 通信通道的文件结尾(错误解决)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:24:471902Durchsuche

关闭服务器的时候出现莫名原因导致数据库无法shutdown,只好利用强制命令shutdown abort;但随便Oracle数据库无法打开了,总是报

今天关闭服务器的时候出现莫名原因导致数据库无法shutdown,只好利用强制命令shutdown abort;但随便Oracle数据库无法打开了,总是报“ORA-03113: 通信通道的文件结尾”错误,分析可能由于数据库立即关闭,导致文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致并且不用进行崩溃恢复,不得不进行下面的恢复,建议大家以后在利用abort选项时,,先在os上观察IO状况,在IO值为0或接近0的时候再强制关闭,以避免不可预料的错误。(我的环境是Oracle 11g,CentOS 5.4)
 
SQL> startup mount;
 ORACLE 例程已经启动。
 
Total System Global Area  835104768 bytes
 Fixed Size                  2217952 bytes
 Variable Size            637536288 bytes
 Database Buffers          188743680 bytes
 Redo Buffers                6606848 bytes
 数据库装载完毕。
 SQL> alter database open;
 alter database open
 *
 第 1 行出现错误:
 ORA-03113: 通信通道的文件结尾
 进程 ID: 4272
 会话 ID: 125 序列号: 5
 
SQL> conn ' / as sysdba'
 已连接到空闲例程。
 SQL> startup mount
 ORACLE 例程已经启动。
 
Total System Global Area  835104768 bytes
 Fixed Size                  2217952 bytes
 Variable Size            637536288 bytes
 Database Buffers          188743680 bytes
 Redo Buffers                6606848 bytes
 数据库装载完毕。
 SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC
 ---------- ---------- ---------- ---------- ---------- ---------- ---
 STATUS          FIRST_CHANGE# FIRST_TIME    NEXT_CHANGE# NEXT_TIME
 ---------------- ------------- -------------- ------------ --------------
          1          1        97  52428800        512          1 NO
 INACTIVE              12980317 07-9月 -10        12988303 07-9月 -10
 
        3          1        99  52428800        512          1 NO
 CURRENT              12991762 07-9月 -10      2.8147E+14
 
        2          1        98  52428800        512          1 NO
 INACTIVE              12988303 07-9月 -10        12991762 07-9月 -10
 

SQL> alter database open resetlogs;
 alter database open resetlogs
 *
 第 1 行出现错误:
 ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效
 

SQL> recover database until time '2010-09-09 1:45:02';
 完成介质恢复。
 SQL> alter database open resetlogs;
 
数据库已更改。
 
SQL> shutdown
 数据库已经关闭。
 已经卸载数据库。
 ORACLE 例程已经关闭。
 SQL> startup
 ORACLE 例程已经启动。
 
Total System Global Area  835104768 bytes
 Fixed Size                  2217952 bytes
 Variable Size            637536288 bytes
 Database Buffers          188743680 bytes
 Redo Buffers                6606848 bytes
 数据库装载完毕。
 数据库已经打开。
 SQL>

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn