问题描述
1,数据库版本
www.htz.pw > select * from v$version; BANNER ——————————————————————————– Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production PL/SQL Release 11.2.0.3.0 – Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 – Production NLSRTL Version 11.2.0.3.0 – Production
2,启动报错
www.htz.pw > startup force ORACLE instance started. Total System Global Area 237998080 bytes Fixed Size 2227216 bytes Variable Size 197133296 bytes Database Buffers 33554432 bytes Redo Buffers 5083136 bytes Database mounted. ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist Process ID: 5599 Session ID: 1 Serial number: 5 alert下面报这个错误 这里报递归的SQL出现错误,原因表不存在。下面alert中的日志内容 Completed redo scan read 90 KB redo, 65 data blocks need recovery Started redo application at Thread 1: logseq 89, block 76381 Recovery of Online Redo Log: Thread 1 Group 2 Seq 89 Reading mem 0 Mem# 0: /oracle/app/oracle/oradata/orcl1123/redo02.log Completed redo application of 0.06MB Completed crash recovery at Thread 1: logseq 89, block 76561, scn 3062096 65 data blocks read, 65 data blocks written, 90 redo k-bytes read Thread 1 advanced to log sequence 90 (thread open) Thread 1 opened at log sequence 90 Current log# 3 seq# 90 mem# 0: /oracle/app/oracle/oradata/orcl1123/redo03.log Successful open of redo thread 1 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set SMON: enabling cache recovery Errors in file /oracle/app/oracle/diag/rdbms/orcl1123/orcl1123/trace/orcl1123_ora_5599.trc: ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist Errors in file /oracle/app/oracle/diag/rdbms/orcl1123/orcl1123/trace/orcl1123_ora_5599.trc: ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist Error 704 happened during db open, shutting down database USER (ospid: 5599): terminating the instance due to error 704 Instance terminated by USER, pid = 5599 ORA-1092 signalled during: ALTER DATABASE OPEN… opiodr aborting process unknown ospid (5599) as a result of ORA-1092 Tue Jun 10 20:41:24 2014 ORA-1092 : opitsk aborting process Tue Jun 10 20:41:39 2014 Starting ORACLE instance (normal) 下面通过10046的方法来实现具体在那条语句报错 [oracle@www.htz.pw sql]$sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 10 20:41:37 2014 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to an idle instance. www.htz.pw > startup mount; ORACLE instance started. Total System Global Area 237998080 bytes Fixed Size 2227216 bytes Variable Size 197133296 bytes Database Buffers 33554432 bytes Redo Buffers 5083136 bytes Database mounted. www.htz.pw > oradebug setmypid Statement processed. www.htz.pw > oradebug event 10046 trace name context forever,level 12; Statement processed. www.htz.pw > oradebug tracefile_name; /oracle/app/oracle/diag/rdbms/orcl1123/orcl1123/trace/orcl1123_ora_5691.trc www.htz.pw > alter database open; alter database open * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist Process ID: 5691 Session ID: 1 Serial number: 5 这里可以看到是表access$表不存在 PARSE ERROR #182956478584:len=56 dep=1 uid=0 oct=3 lid=0 tim=1402404227784268 err=942 select order#,columns,types from access$ where d_obj#=:1 ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-00942: table or view does not exist *** 2014-06-10 20:43:47.784 USER (ospid: 5691): terminating the instance due to error 704 EXEC #182936776088:c=152978,e=465517,p=58,cr=764,cu=0,mis=0,r=0,dep=0,og=1,plh=0,tim=1402404227824845 ERROR #182936776088:err=1092 tim=1402404227824898
专家解答
3,重建access$基表
建议的办法很简单,重启到数据库到upgrade模式,重建基表就可以了。
create table access$ /* access table */ ( d_obj# number not null, /* dependent object number */ order# number not null, /* dependency order number */ columns raw("M_BVCO"), /* list of cols for this entry */ types number not null) /* access types */ storage (initial 10k next 100k maxextents unlimited pctincrease 0) / create index i_access1 on access$(d_obj#, order#) storage (initial 10k next 100k maxextents unlimited pctincrease 0) / www.htz.pw > create table access$ /* access table */ 2 ( d_obj# number not null, /* dependent object number */ 3 order# number not null, /* dependency order number */ 4 columns raw("M_BVCO"), /* list of cols for this entry */ 5 types number not null) /* access types */ 6 storage (initial 10k next 100k maxextents unlimited pctincrease 0) 7 / columns raw("M_BVCO"), /* list of cols for this entry */ * ERROR at line 4: ORA-00910: specified length too long for its datatype 在其它相同的版本看到这个是126,但是不知道为什么从脚本弄出来的是一个字符串 SQL> desc access$; Name Null? Type —————————————– ——– —————————- D_OBJ# NOT NULL NUMBER ORDER# NOT NULL NUMBER COLUMNS RAW(126) TYPES NOT NULL NUMBER create table access$ /* access table */ ( d_obj# number not null, /* dependent object number */ order# number not null, /* dependency order number */ columns raw(126), /* list of cols for this entry */ types number not null) /* access types */ storage (initial 10k next 100k maxextents unlimited pctincrease 0) / www.htz.pw > create table access$ /* access table */ 2 ( d_obj# number not null, /* dependent object number */ 3 order# number not null, /* dependency order number */ 4 columns raw(126), /* list of cols for this entry */ 5 types number not null) /* access types */ 6 storage (initial 10k next 100k maxextents unlimited pctincrease 0) 7 / Table created. www.htz.pw > create index i_access1 on 2 access$(d_obj#, order#) 3 storage (initial 10k next 100k maxextents unlimited pctincrease 0) 4 www.htz.pw > / Index created. www.htz.pw > startup force; ORACLE instance started. Total System Global Area 237998080 bytes Fixed Size 2227216 bytes Variable Size 197133296 bytes Database Buffers 33554432 bytes Redo Buffers 5083136 bytes Database mounted. Database opened.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。