oracle 打开错误,Oracle数据库启动ORA-08103错误提示解决办法

碰到一个比较奇怪的问题刚学习做Oracle时在做一个测试时发现数据库启动时提示ORA-08103错误,下面一聚教程小编来给各位一下吧.

数据库在open过程报ORA-08103错误导致数据库无法正确启动

代码如下

Fri Jul 18 22:02:51 2014

SMON: enabling tx recovery

Fri Jul 18 22:02:51 2014

Errors in file d:\oracle\product\10.2.0\admin\kemu3\udump\kemu3_ora_29788.trc:

ORA-00604: ?? SQL ?? 1 ????

ORA-08103: ??????

Fri Jul 18 22:02:51 2014

Database Characterset is ZHS16GBK

Fri Jul 18 22:02:51 2014

Errors in file d:\oracle\product\10.2.0\admin\kemu3\bdump\kemu3_smon_29704.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-08103: object no longer exists

Fri Jul 18 22:02:51 2014

Errors in file d:\oracle\product\10.2.0\admin\kemu3\bdump\kemu3_smon_29704.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-08103: object no longer exists

Fri Jul 18 22:02:51 2014

Errors in file d:\oracle\product\10.2.0\admin\kemu3\bdump\kemu3_smon_29704.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-08103: object no longer exists

Fri Jul 18 22:02:52 2014

Errors in file d:\oracle\product\10.2.0\admin\kemu3\bdump\kemu3_smon_29704.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-08103: object no longer exists

replication_dependency_tracking turned off (no async multimaster replication found)

Starting background process QMNC

QMNC started with pid=18, OS id=29876

Fri Jul 18 22:02:53 2014

Errors in file d:\oracle\product\10.2.0\admin\kemu3\bdump\kemu3_smon_29704.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-08103: object no longer exists

Fri Jul 18 22:02:54 2014

ORA-604 signalled during: alter database open...

对数据库启动过程做10046

代码如下

PARSING IN CURSOR #22 len=210 dep=2 uid=0 oct=3 lid=0 tim=20960424464 hv=864012087 ad='3063f0b4'

select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, timestamp#, sample_size, minimum,

maximum, distcnt, lowval, hival, density, col#, spare1, spare2, avgcln from hist_head$ where obj#=:1 and intcol#=:2

END OF STMT

EXEC #22:c=0,e=80,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=3,tim=20960424461

WAIT #22: nam='db file sequential read' ela= 5452 file#=1 block#=60213 blocks=1 obj#=4586 tim=20960429962

FETCH #22:c=0,e=5967,p=1,cr=1,cu=0,mis=0,r=0,dep=2,og=3,tim=20960430462

*** KEWUXS - encountered error: (ORA-00604: 递归 SQL 级别 2 出现错误

ORA-08103: 对象不再存在

)

*** kewrwdbi_1: Error=13515 encountered during run_once

BINDS #21:

kkscoacd

Bind#0

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=0a217744  bln=22  avl=01  flg=05

value=0

Bind#1

oacdty=01 mxl=32(20) mxlc=00 mal=00 scl=00 pre=00

oacflg=18 fl2=0001 frm=01 csi=852 siz=32 off=0

kxsbbbfp=0a217718  bln=32  avl=20  flg=05

value="WRI$_ADV_DEFINITIONS"

Bind#2

oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00

oacflg=08 fl2=0001 frm=00 csi=00 siz=24 off=0

kxsbbbfp=0a2176f4  bln=24  avl=02  flg=05

value=1

这里很明显数据库启动过程,由于hist_head$的file 1 block 60213中的object_id 与 data_object_id 不匹配,从而出现ORA-08103错误,导致数据库无法正常启动,这里的故障的对象为hist_head$,非oracle核心对象,因此直接标记该block 为坏块

,然后启动数据库,备份hist_head$表数据,然后truncate hist_head$,再插入hist_head$,整体完工.

在数据库open过程中,如果遇到ora-8103错误,导致数据库无法正常open,可以对其做10046定位到故障block和对象,然后判断对象是否数据库启动必须的对象,甚至是bootstarp$中对象,然后采取不同的处理方法.

联系:手机(13429648788) QQ(107644445)

链接:http://www.xifenfei.com/5427.html

标题:数据库启动ORA-08103故障恢复

作者:惜分飞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值