Email: service@parnassusdata.com 7 x 24 online support!
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…
-
警告日志中的条目不完整:
Writing to the above trace file iWed Nov 02 06:29:56 2011 —–> as you see here the output is truncated.
-
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.
- 实例通过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
- 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错误的硬件问题。