oracle 60401,数据库启动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:oracleproduct10.2.0adminkemu3udumpkemu3_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:oracleproduct10.2.0adminkemu3bdumpkemu3_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:oracleproduct10.2.0adminkemu3bdumpkemu3_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:oracleproduct10.2.0adminkemu3bdumpkemu3_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:oracleproduct10.2.0adminkemu3bdumpkemu3_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:oracleproduct10.2.0adminkemu3bdumpkemu3_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 为坏块(模拟普通ORA-08103并解决,模拟极端ORA-08103并解决,rman制造坏块,bbed修复坏块,bbed破坏数据文件),然后启动数据库,备份hist_head$表数据,然后truncate hist_head$,再插入hist_head$,整体完工.

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值