|
发表于 2014-3-24 16:33:36
|
显示全部楼层
1. 数据库版本10.2.0.4
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
2. 报错数据库有备份
BACKUP SET SET_STAMP Type LV inc STATUS Device Type Start Time Completion Time Elapsed Seconds Tag Path
26 838261421 Full NO AVAILABLE DISK 2014-01-31 02:23:42 2014-01-31 02:25:56 134 TAG20140131T022341 /tmp/back2/ORCL/backupset/2014_01_31/o1_mf_nnndf_TAG20140131T022341_9go65g3n_.bk p
25 838261537 Full NO AVAILABLE DISK 2014-01-31 02:25:37 2014-01-31 02:25:42 5 TAG20140131T022341 /tmp/back2/ORCL/backupset/2014_01_31/o1_mf_nnsnf_TAG20140131T022341_9go69213_.bk p
24 838261527 Full YES AVAILABLE DISK 2014-01-31 02:25:34 2014-01-31 02:25:35 1 TAG20140131T022341 /tmp/back2/ORCL/backupset/2014_01_31/o1_mf_ncnnf_TAG20140131T022341_9go68yo7_.bk p
具体见附件里面的db_recover_xifenfei.html 脚本,也可以考虑使用备份恢复
3. 启动数据库报错语句
PARSING IN CURSOR #6 len=142 dep=2 uid=0 oct=3 lid=0 tim=1361979497496649 hv=361892850 ad='44af2c28'
select /*+ rule */ name,file#,block#,status$,user#,undosqn,xactsqn,scnbas,scnwrp,DECODE(inst#,0,NULL,inst#),ts#,spare1 from undo$ where us#=:1
END OF STMT
PARSE #6:c=0,e=121,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=3,tim=1361979497496642
BINDS #6:
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=b7e4e9c4 bln=22 avl=02 flg=05
value=10
EXEC #6:c=0,e=200,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=3,tim=1361979497497074
FETCH #6:c=0,e=34,p=0,cr=2,cu=0,mis=0,r=1,dep=2,og=3,tim=1361979497497153
STAT #6 id=1 cnt=1 pid=0 pos=1 obj=15 op='TABLE ACCESS BY INDEX ROWID UNDO$ (cr=2 pr=0 pw=0 time=36 us)'
STAT #6 id=2 cnt=1 pid=1 pos=1 obj=34 op='INDEX UNIQUE SCAN I_UNDO1 (cr=1 pr=0 pw=0 time=13 us)'
WAIT #5: nam='db file sequential read' ela= 171 file#=2 block#=2446 blocks=1 obj#=-1 tim=1361979497497704
FETCH #5:c=15997,e=17072,p=7,cr=9,cu=0,mis=0,r=0,dep=1,og=4,tim=1361979497498976
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 1
ORA-01555: snapshot too old: rollback segment number 10 with name "_SYSSMU10$" too small
初步可以确定,是在数据库启动的时候读取undo$的记录时候,需要_SYSSMU10$ 回滚段信息,但是因为某种原因导致该回滚段信息丢失或者覆盖,出现该错误
尝试dump file 2 block 2446 ,dump file 1 block 106和202,上传trace,我分析下
|
|