Oracle 数据库崩溃显示ORA-1092 错误

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

oerr ora 01092
01092, 00000, "ORACLE instance terminated. Disconnection forced"
// *Cause:  The instance this process was connected to was terminated
//          abnormally, probably via a shutdown abort. This process
//          was forced to disconnect from the instance.
// *Action: Examine the alert log for more details. When the instance has been 
//          restarted, retry action.

 

 

适用于:

Oracle Database – Enterprise Edition – Version 9.2.0.8 及以上
本文信息适用于任何平台。

症状

数据库崩溃,在警告日志中显示以下错误:

Wed Nov 02 06:23:51 2011
Non critical error ORA-00001 caught while writing to trace file “/opt/diag/rdbms/prd1/PRD1/trace/PRD1_arc1_2076702.trc”
Error message: IBM AIX RISC System/6000 Error: 5: I/O error
Additional information: 1
Writing to the above trace file iWed Nov 02 06:29:56 2011
USER (ospid: 643220): terminating the instance due to error 1092
Wed Nov 02 06:29:56 2011
ORA-1092 : opitsk aborting process
Instance terminated by USER, pid = 643220

 

在崩溃之前查看警告日志中的条目,显示如下:

a. DBWR 进程遇到I/O 错误:

Wed Nov 02 06:23:38 2011
Non critical error ORA-00001 caught while writing to trace file “/opt/diag/rdbms/prd1/PRD1/trace/PRD1_dbw0_2875438.trc”
Error message: IBM AIX RISC System/6000 Error: 5: I/O error
Additional information: 1
Writing to the above trace file is disabled for now on…

  1. 警告日志中的条目不完整:

Writing to the above trace file iWed Nov 02 06:29:56 2011 —–> as you see here the output is truncated.

  1. MMON 进程跟踪文件显示:

Unix process pid: 1949800, image: oracle@prdserver (MMON)
*** 2011-11-02 06:23:43.879
Taking over instance termination because the instance terminator (ospid: 2875438) is dead
===> 2875438 is the OS PID of DBW0 process which encountered the I/O error and is dead.

  1. 实例通过OS PID 643220的USER进程终止。

该进程的跟踪文件显示:

Taking over instance termination because the instance terminator (ospid: 2191470) is dead
kjzduptcctx: Notifying DIAG for crash event
—– Abridged Call Stack Trace —–
ksedsts()+644<-kjzdssdmp()+444<-kjzduptcctx()+272<-kjzdicrshnfy()+96<-ksuitm()+1284<-ksuitr()+92<-ksu_dispatch_tac()+372<-kdifxs1()+468<-kdifxs()+28<-qerixtFetch()+940
<-qerilFetch()+276<-opifch2()+7136<-opifch()+60<-opiodr()+3608<-rpidrus()+536<-skgmstack()+208
<-rpidru()+144<-rpiswu2()+1124<-rpidrv()+2892<-rpifch()+80
—– End of Abridged Call Stack Trace —–

*** 2011-11-02 06:29:56.242
USER (ospid: 643220): terminating the instance due to error 1092

  1. OS 日志 (/var/log on AIX) 报告 I/O 错误:

Date/Time: Wed Nov 2 06:29:52 CUT 2011

Description
USER DATA I/O ERROR

Probable Causes
ADAPTER HARDWARE OR MICROCODE
DISK DRIVE HARDWARE OR MICROCODE
SOFTWARE DEVICE DRIVER
STORAGE CABLE LOOSE, DEFECTIVE, OR UNTERMINATED

 

原因

可能是数据文件脱机/损坏:

查看OFFLINE文件:

select file#, status, name from v$datafile where status not in (‘SYSTEM’, ‘ONLINE’);


$ORACLE_HOME中的密码文件(orapw)/在数据库创建后创建的dbs中有问题。re is a problem in the password file found in $ORACLE_HOME/dbs which was created after the database creation. 从而导致同步问题且最终造成额外的错误信息:
ORA-01990: error opening password file $ORACLE_HOME/dbs/orapw.

DBW0 由于I/O 错误崩溃。这因此导致实例被终止,因为后台进程的终止会造成实例崩溃。

解决方案

数据文件损坏/脱机:
检查你是否有能从中还原任意问题数据文件的好备份。
1) 首先还原有问题的数据文件
2) Mount数据库并使这些数据文件联机

SQL> startup mount;
SQL> alter database datafile  file1#, .. , filen# online;

3) 恢复数据库

SQL> recover database;

4) 打开数据库

SQL > alter database open ;

 

I/O 错误

联系你的系统/Unix 管理员并纠正导致I / O错误的硬件问题。

 

 

Comment

*

沪ICP备14014813号

沪公网安备 31010802001379号