联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
数据库启动报ORA-08103
朋友反馈,客户的一套sap历史数据系统,无备份,由于硬件故障导致,数据库启动报ORA-08103: object no longer exists错误,无法正常启动
SMON: enabling tx recovery Mon Oct 12 09:51:56 2020 Database Characterset is UTF8 Opening with internal Resource Manager plan where NUMA PG = 1, CPUs = 32 Starting background process QMNC QMNC started with pid=36, OS id=14942376 Mon Oct 12 09:51:58 2020 Errors in file /oracle/XFF/saptrace/usertrace/xff_ora_15204508.trc: ORA-00604: error occurred at recursive SQL level 2 ORA-08103: object no longer exists Mon Oct 12 09:51:58 2020 ORA-604 signalled during: ALTER DATABASE OPEN... Mon Oct 12 09:51:58 2020 Errors in file /oracle/XFF/saptrace/background/xff_smon_8978452.trc: ORA-08103: object no longer exists Mon Oct 12 09:52:50 2020 Errors in file /oracle/XFF/saptrace/background/xff_reco_8781998.trc: ORA-08103: object no longer exists Mon Oct 12 09:52:50 2020 RECO: terminating instance due to error 8103 Instance terminated by RECO, pid = 8781998
由于客户这个库遭遇过硬件,不少文件中都有一些空块(zero block)
10046分析错误信息
PARSING IN CURSOR #14 len=210 dep=2 uid=0 oct=3 lid=0 tim=191031051961382 hv=864012087 ad='cabb8a10' 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 PARSE #14:c=0,e=21,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=3,tim=191031051961380 BINDS #14: 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=110919308 bln=22 avl=02 flg=05 value=96 Bind#1 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=1109192d8 bln=24 avl=02 flg=05 value=1 EXEC #14:c=0,e=128,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=3,tim=191031051961618 FETCH #14:c=0,e=40,p=1,cr=1,cu=0,mis=0,r=0,dep=2,og=3,tim=191031051961676 ORA-00604: error occurred at recursive SQL level 2 ORA-08103: object no longer exists
比较明显是由于hist_head$异常导致,而且报ORA-08103错误和dbv检查system文件有一些空块错误匹配。这个错误比较简单,有几种处理方法:
1. 直接把空块标记为坏块,然后启动库
2. 在数据库启动过程跳过该sql,启动数据库,然后对这个表进行处理
该库进行恢复之后,正常打开数据库
由于其他文件还有不少空块,在数据库进行导出的时候,还有部分表报ORA-08103和ORA-01555[含lob对象表导出]错误,对其进行特殊导出处理,实现该sap系统业务数据的整体恢复.