客户现场遇到数据库报错ORA-702,导致数据库宕机后无法启动,错误信息如下,
数据库当前是关闭状态,使用startup到open状态时报错,当数据库在mount状态下时可以进行10046追踪设置,查看数据库启动时读取的文件信息。
=====================
PARSING IN CURSOR #80771912 len=55 dep=1 uid=0 oct=3 lid=0 tim=101660719872 hv=2111436465 ad='7ffb1daa1d60' sqlid='6apq2rjyxmxpj'
select line#, sql_text from bootstrap$ where obj# != :1
END OF STMT
PARSE #80771912:c=0,e=293,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=0,tim=101660719872
BINDS #80771912:
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=04d07700 bln=22 avl=02 flg=05
value=59
EXEC #80771912:c=0,e=504,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=867914364,tim=101660720449
WAIT #80771912: nam='db file sequential read' ela= 50 file#=1 block#=520 blocks=1 obj#=59 tim=101660720540
WAIT #80771912: nam='db file scattered read' ela= 133 file#=1 block#=521 blocks=3 obj#=59 tim=101660720751
FETCH #80771912:c=0,e=326,p=4,cr=5,cu=0,mis=0,r=0,dep=1,og=4,plh=867914364,tim=101660720798
STAT #80771912 id=1 cnt=0 pid=0 pos=1 obj=59 op='TABLE ACCESS FULL BOOTSTRAP$ (cr=5 pr=4 pw=0 time=326 us)'
通过定为对象和报错信息,可以断定是数据库system数据文件出现损坏,而损坏的对象是数据库的启动引导表。
数据库当前无备份无归档,通过错误搜索,只能通过BBED来对数据块进行修复,因为启动引导表的内容是不会变化的,所以通过块拷贝将正常数据库的系统文件拷贝到当前无法启动的数据库系统文件。
C:\Users\Administrator>bbed PASSWORD=blockedit mode=edit blocksize=8192 listfile=E:\app\Administrator\oradata\bbedsystem\bbfiles.txt
BBED: Release 2.0.0.0.0
************* !!! For Oracle Internal Use only !!! ***************
BBED> info all
File# Name Size(blks)
----- ---- ----------
1 E:\app\Administrator\oradata\orcl2\SYSTEM01.DBF 0
30 E:\app\Administrator\oradata\bbedsystem\SYSTEM0101.DBF 0
BBED>copy file 30 block 520 to file 1 block 520
BBED>copy file 30 block 521 to file 1 block 521
BBED>copy file 30 block 522 to file 1 block 522
BBED>copy file 30 block 523 to file 1 block 523
BBED>sum apply
ORA-00704: 引导程序进程失败
ORA-00943: 簇不存在
Error 704 happened during db open, shutting down database
BBED>copy file 30 block 520 to file 1 block 520
BBED>copy file 30 block 521 to file 1 block 521
BBED>copy file 30 block 522 to file 1 block 522
BBED>copy file 30 block 523 to file 1 block 523
BBED>copy file 30 block 524 to file 1 block 524
BBED>copy file 30 block 525 to file 1 block 525
BBED>copy file 30 block 526 to file 1 block 526
BBED>copy file 30 block 527 to file 1 block 527
BBED>sum apply

本文作者:孙其成 (上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





