有一朋友数据库启动出现报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错误比较特殊很少见,如果您遇到了类似的,无法自行解决的,请联系“惜分飞”