联系:手机/微信(+86 17813235971) QQ(107644445)
标题:ORA-01092 ORA-00704 ORA-00942
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
有一朋友数据库启动出现报ORA-01092 ORA-00704 ORA-00942错误
SQL> startup ORACLE instance started. Total System Global Area 3056513024 bytes Fixed Size 2257152 bytes Variable Size 704646912 bytes Database Buffers 2332033024 bytes Redo Buffers 17575936 bytes Database mounted. ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00942: table or view does not exist Process ID: 31766 Session ID: 191 Serial number: 3
数据库alert日志报错
Sat Feb 22 03:19:04 2014 ARC1 started with pid=22, OS id=31770 Sat Feb 22 03:19:04 2014 ARC2 started with pid=23, OS id=31772 Thread 1 opened at log sequence 38 Current log# 2 seq# 38 mem# 0: /u01/app/oracle/oradata/xifenfei/redo02.log Successful open of redo thread 1 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set SMON: enabling cache recovery Sat Feb 22 03:19:04 2014 ARC3 started with pid=24, OS id=31774 ARC1: Archival started ARC2: Archival started ARC2: Becoming the 'no FAL' ARCH ARC2: Becoming the 'no SRL' ARCH ARC1: Becoming the heartbeat ARCH ARC3: Archival started ARC0: STARTING ARCH PROCESSES COMPLETE Errors in file /u01/app/oracle/diag/rdbms/xifenfeidg/xifenfei/trace/xifenfei_ora_31766.trc: ORA-00704: bootstrap process failure ORA-00942: table or view does not exist Errors in file /u01/app/oracle/diag/rdbms/xifenfeidg/xifenfei/trace/xifenfei_ora_31766.trc: ORA-00704: bootstrap process failure ORA-00942: table or view does not exist Error 704 happened during db open, shutting down database USER (ospid: 31766): terminating the instance due to error 704 Instance terminated by USER, pid = 31766 ORA-1092 signalled during: ALTER DATABASE OPEN... opiodr aborting process unknown ospid (31766) as a result of ORA-1092 Sat Feb 22 03:19:05 2014 ORA-1092 : opitsk aborting process
印象比较深的在某些版本中数据库由于access$丢失会出现类似错误:Oracle 11g丢失access$恢复方法,对数据库进行跟踪分析发现
PARSE ERROR #140521486058480:len=208 dep=1 uid=0 oct=9 lid=0 tim=1393010401966006 err=942 CREATE UNIQUE INDEX I_OBJ1 ON OBJ$(OBJ#,OWNER#,TYPE#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (INITIAL 64K NEXT 1024K MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 OBJNO 36 EXTENTS (FILE 1 BLOCK 336)) ORA-00704: bootstrap process failure ORA-00942: table or view does not exist ORA-00704: bootstrap process failure ORA-00942: table or view does not exist
创建基表的I_OBJ1失败,这种情况比较少见,难道是obj$表丢失了,或者损坏了?搜索trace文件,发现没有obj$表创建成功
[root@xifenfei trace]# grep -i "CREATE TABLE" xifenfei_ora_31822.trc create table bootstrap$ ( CREATE TABLE TAB$("OBJ#" CREATE TABLE CLU$("OBJ#" CREATE TABLE FET$("TS#" N CREATE TABLE UET$("SEGFIL CREATE TABLE SEG$("FILE#" CREATE TABLE UNDO$("US#" CREATE TABLE TS$("TS#" NU CREATE TABLE FILE$("FILE# CREATE TABLE IND$("OBJ#" CREATE TABLE ICOL$("OBJ#" CREATE TABLE COL$("OBJ#" CREATE TABLE USER$("USER# CREATE TABLE PROXY_DATA$( CREATE TABLE PROXY_ROLE_D CREATE TABLE CON$("OWNER# CREATE TABLE CDEF$("CON#" CREATE TABLE CCOL$("CON#"
应该是obj$表没有被创建成功,通过dbv进一步分析
[oracle@xifenfei ~]$ dbv file=/u01/app/oracle/oradata/xifenfei/system01.dbf DBVERIFY: Release 11.2.0.4.0 - Production on Sat Feb 22 05:59:41 2014 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/xifenfei/system01.dbf Block Checking: DBA = 4194827, Block Type = KTB-managed data block data header at 0x7f3100234244 kdbchk: the amount of space used is not equal to block size used=4595 fsc=646 avsp=3525 dtl=8120 Block 523 failed with check code 6110 DBVERIFY - Verification complete Total Pages Examined : 97280 Total Pages Processed (Data) : 64694 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 13128 Total Pages Failing (Index): 0 Total Pages Processed (Other): 3569 Total Pages Processed (Seg) : 1 Total Pages Failing (Seg) : 0 Total Pages Empty : 15889 Total Pages Marked Corrupt : 0 Total Pages Influx : 0 Total Pages Encrypted : 0 Highest block SCN : 1836897 (0.1836897)
由于block损坏导致obj$表创建异常,从而使得出现此类问题,通过bbed修复坏块之后
BBED> verify DBVERIFY - Verification starting FILE = /u01/app/oracle/oradata/xifenfei/system01.dbf BLOCK = 523 DBVERIFY - Verification complete Total Blocks Examined : 1 Total Blocks Processed (Data) : 1 Total Blocks Failing (Data) : 0 Total Blocks Processed (Index): 0 Total Blocks Failing (Index): 0 Total Blocks Empty : 0 Total Blocks Marked Corrupt : 0 Total Blocks Influx : 0 Message 531 not found; product=RDBMS; facility=BBED
然后启动数据库,正常启动成功
SQL> startup ORACLE instance started. Total System Global Area 3056513024 bytes Fixed Size 2257152 bytes Variable Size 704646912 bytes Database Buffers 2332033024 bytes Redo Buffers 17575936 bytes Database mounted. Database opened.
ORA-01092 ORA-00704 ORA-00942错误比较特殊很少见,如果您遇到了类似的,无法自行解决的,请联系我们
Tel:17813235971(同微信) Q Q:107644445 E-Mail:dba@xifenfei.com