文档章节

解决oracle报错ora-00704 ora-00604 ora-00942 启动不了数据库

_达熊
 _达熊
发布于 2017/08/24 11:24
字数 860
阅读 58
收藏 0

使用conn / as sysdba登录oracle,使用start mount出现此错误

SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup mount;
ORACLE instance started.
 
Total System Global Area  4728872960 bytes
Fixed Size            1314156  bytes
Variable Size          163578516  bytes
Database Buffers      1019898880 bytes
Redo Buffers            6004736  bytes
Database mounted.
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: 2056
Session ID: 128 Serial number: 7


发现报的错和alert日志显示的一样。
这个错大概是system表空间里面的核心表被删除了,所以数据库启动不起来。这里,如果没有备份的话,这个就不能用常规的手段启动了。

首先去找到报ORA-00704的原因:
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup mount;
ORACLE instance started.
 
Total System Global Area  4728872960 bytes
Fixed Size            1314156  bytes
Variable Size          163578516  bytes
Database Buffers      1019898880 bytes
Redo Buffers            6004736  bytes
Database mounted.
SQL> alter session set sql_trace=true;
SQL> select value from v$diag_info where name='Default Trace File';

VALUE
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/iscba/iscba/trace/iscba_ora_22821.trc

SQL> 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: 2176
Session ID: 128 Serial number: 7

然后查看iscba_ora_22821.trc:

Trace file /u01/app/oracle/diag/rdbms/iscba/iscba/trace/iscba_ora_22821.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2/db_1
System name:    Linux
Node name:    h-badb-01
Release:    2.6.32-431.el6.x86_64
Version:    #1 SMP Sun Nov 10 22:19:54 EST 2013
Machine:    x86_64
VM name:    VMWare Version: 6
Instance name: iscba
Redo thread mounted by this instance: 1
Oracle process number: 17
Unix process pid: 22821, image: oracle@h-badb-01 (TNS V1-V3)


*** 2016-02-25 10:41:03.622
*** SESSION ID:(202.3) 2016-02-25 10:41:03.622
*** CLIENT ID:() 2016-02-25 10:41:03.622
*** SERVICE NAME:() 2016-02-25 10:41:03.622
*** MODULE NAME:(sqlplus@h-badb-01 (TNS V1-V3)) 2016-02-25 10:41:03.622
*** ACTION NAME:() 2016-02-25 10:41:03.622

。。。省略N多字。

发现最后又如下提示:
=====================
PARSE ERROR #139799411328680:len=56 dep=1 uid=0 oct=3 lid=0 tim=1456368102317169 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

*** 2016-02-25 10:41:42.317
USER (ospid: 22821): terminating the instance due to error 704

*** 2016-02-25 10:41:43.413
EXEC #139799435394504:c=309952,e=2052517,p=57,cr=758,cu=0,mis=0,r=0,dep=0,og=1,plh=0,tim=1456368103413294
ERROR #139799435394504:err=1092 tim=1456368103413356

这个地方就能确定,是缺失 access$ 造成的数据库启动不起来。
为了解决问题,我们只有用非常规的手段来自己创建这个表,来进行恢复,步骤如下:
1.启动数据库到upgrade状态
SQL> startup  upgrade
ORACLE instance started.
 
Total System Global Area  4728872960 bytes
Fixed Size            1314156  bytes
Variable Size          163578516  bytes
Database Buffers      1019898880 bytes
Redo Buffers            6004736  bytes
Database mounted.
Database opened.

2.创建access$ 和相关的索引
SQL> create table access$
  2  ( d_obj#        number not null,
  3    order#        number not null,
  4    columns       raw(126),
  5    types         number not null)
  6    storage (initial 10k next 100k maxextents unlimited pctincrease 0)
  7  /
 
Table created.
 
SQL> create index i_access1 on
  2    access$(d_obj#, order#)
  3    storage (initial 10k next 100k maxextents unlimited pctincrease 0)
  4  /
 
Index created.
注意:创建语句可以在$ORACLE_HOME/RDBMS/ADMIN/dcore.bsq中找到

3.重启数据库
QL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
 
Total System Global Area  4728872960 bytes
Fixed Size            1314156  bytes
Variable Size          163578516  bytes
Database Buffers      1019898880 bytes
Redo Buffers            6004736  bytes
Database mounted.
Database opened.

4.检查状态并用tnsname去连接
select status from v$instance;
sqlplus username/password@TNSNAMES

本文转载自:http://www.cnblogs.com/suredandan/p/5216447.html

共有 人打赏支持
_达熊
粉丝 1
博文 2
码字总数 135
作品 0
运城
私信 提问
遇到"ORA-39700: 必须用 UPGRADE 选项打开数据库"问题

升级oracle10g,启动oracle时出现以下错误: ORA-00704: 引导程序进程失败 ORA-39700: 必须用 UPGRADE 选项打开数据库 网上搜索了一下,发现需要配置一下才能启动oracle。 步骤如下: 1.star...

吕兵阳
2014/07/07
0
0
oracle创建数据库提示ORA-00704,ORA-1092错误的解决办法

今天安装Oracle10.2.0.4碰到的错误。新机器先安装10.2.0.1,安装完后先创建数据库后再升级到10.2.0.4.升级过程都没问题,可是在启动数据库就报错。 错误如下ORA-01092: ORACLE instance term...

johnsz
06/26
0
0
[转]EXP-00056: 遇到 ORACLE 错误 31600

exp system/password full=y file=e:20030904.dmp log=e:20030904.log 连接到: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production With the Partitioning, OLAP and Oracle Data ......

技术小胖子
2017/11/08
0
0
ORACLE使用RMAN对SYSTEM表空间进行介质恢复

注意:数据库应该支持在归档模式。 1.对SYSTEMG表空间做一个备份 [oracle@bys001 ~]$ rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Tue Sep 17 10:42:18 2013 Copyr......

长平狐
2013/09/17
54
0
Oracle数据库,服务启动时,报告这个错,何解啊?帮帮小妹啊。。。

Caused by: java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 2 ORA-04031: unable to allocate 8148 bytes of shared memory ("large pool","PROCEDURE$","kxs-he......

streamlong
2013/08/29
206
2

没有更多内容

加载失败,请刷新页面

加载更多

day178-2018-12-15-英语流利阅读-待学习

“真蛛奶茶”了解一下?蜘蛛也会产奶了 Lala 2018-12-15 1.今日导读 “蛋白质含量是牛奶的 4 倍,并有着更低的脂肪和含糖量”,听起来诱人又美味的并不是羊奶或豆奶,而是你可能打死都想不到...

飞鱼说编程
17分钟前
3
0
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents

场景重现 npm install --verbose 安装依赖的时,出现如下警告 强迫症患者表示不能接受 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):npm WARN......

taadis
22分钟前
1
0
MySQL自增id超大问题查询

引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入...

dragon_tech
34分钟前
3
0
OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文 :分享Roy Orbison的单曲《She's a Mystery to Me》 《She's a Mystery to Me》- Roy Orbison 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
279
6
Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部