文档章节

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

_达熊
 _达熊
发布于 2017/08/24 11:24
字数 860
阅读 27
收藏 0
点赞 0
评论 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

© 著作权归作者所有

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

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

吕兵阳 ⋅ 2014/07/07 ⋅ 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

oracle创建数据库提示ORA-00704,ORA-1092错误的解决办法

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

johnsz ⋅ 2013/12/28 ⋅ 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 ⋅ 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 ⋅ 2

set Autotrace使用的问题与解决

关于Autotrace几个常用选项的说明: SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式 SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告 SET AUTO...

Zero零_度 ⋅ 2014/12/16 ⋅ 0

_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的区别

OFFLINEROLLBACKSEGMENTS 和 CORRUPTEDROLLBACKSEGMENTS的这两个参数可以强制打开数据库,但是open后,最好导出,重建库,然后再导入。对这两个参数不是很了解,直到看到了maclean的帖子,下...

qhd2004 ⋅ 2016/11/16 ⋅ 0

未完全关闭数据库导致ORA-01012: not logged的解决

首先使用SHUTDOWN NORMAL方式关闭数据库,在数据库未关闭时CTRL+Z停止执行,退出用SQLPLUS重登陆,出现报错:ORA-01012: not logged on 实验如下: 首先执行 SYS@bys1>shutdown ORA-01013: u...

yzbty23 ⋅ 2016/05/26 ⋅ 0

oracle数据库报ORA-01033错误

Oracle登录 ORA-01033: ORACLE正在初始化或关闭的解决办法 2015-03-16 01:20 | 160511人阅读 | 来源 Oracle登录 ORA-01033: ORACLE正在初始化或关闭的解决方法 Oracle存在多实例 相应的在...

wcczrx ⋅ 2017/05/15 ⋅ 0

处理错误:ORA-27101: shared memory realm does not exist

我试图连接数据库时的ORA-01034 和 ORA-27101错误信息,它总是显示这样的信息,“ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”。 不能连接到我...

rock912 ⋅ 2016/05/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

骰子游戏代码开源地址

因为阿里云现在服务器已经停用了,所以上面的配置已经失效。 服务端开源地址:https://gitee.com/goalya/chat4.git 客户端开源地址:https://gitee.com/goalya/client4.git 具体运行界面请参考...

算法之名 ⋅ 41分钟前 ⋅ 0

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部