文档章节

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

_达熊
 _达熊
发布于 2017/08/24 11:24
字数 860
阅读 30
收藏 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
[转]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创建数据库提示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
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
46
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
193
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx防盗链、访问控制、Nginx解析PHP相关配置、Nginx代理

Nginx防盗链 在配置文件里写入以下内容: 用curl测试 访问控制 Nginx限制某些IP不能访问或者只允许某些IP访问。 配置文件写入如下内容: allow 表示允许访问的IP,deny限制访问的IP。 匹配正...

黄昏残影
9分钟前
0
0
自己动手实现RPC服务调用框架

转载 TCP的RPC 引言 本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)。 设计思路...

雨中漫步的鱼
12分钟前
0
0
Centos6.x安装之后的9件事

Centos6.x安装之后的9件事 这些不是必须都做的,只不过是我个人的习惯,在此记录一下。 1.修改yum源到国内 CentOS系统更换软件安装源 备份你的原镜像文件,以免出错后可以恢复。 mv /etc/yu...

叶云轩
17分钟前
5
0
springboot2 使用jsp NoHandlerFoundException

开发图片上传功能,为验证测试功能是否正常,使用JSP编写表单提交进行测试 开发完成后,请求API提示如下异常: No mapping found for HTTP request with URI [/WEB-INF/jsp/avatar_upload.j...

showlike
23分钟前
0
0
springboot踩坑记--springboot正常启动但访问404

一 spring boot的启动类不能直接放在main(src.java.main)这个包下面,把它放在有包的里面就可以了。 二 正常启动了,但是我写了一个controller ,用的@RestController 注解去配置的controlle...

onedotdot
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部