bootstrap$损坏模拟
--损坏前先备份system.dbf
select count(*) from bootstrap$;
delete from bootstrap$;
commit;
shutdown immediate
startup
ORA-00704: 引导程序进程失败
ORA-00702: 引导程序版本''与版本'8.0.0.0.0'不一致
2、通过10046定位问题
startup mount;
oradebug setmypid
oradebug tracefile_name
alter session set events '10046 trace name context forever,level 12';
alter session set db_file_multiblock_read_count=1;
alter database open;
oradebug EVENT 10046 trace name context off
从trace可以看到读取block 520到523的过程中发生报错
3、通过bbed 做块拼接
bootstrap$ 基表在相同版本相同操作系统下内容是一样的,从其他相同环境复制system.dbf过来(只需要复制前10M即可),用bbed做块复制
dd if=system01.dbf.bak of=system01_bak bs=10M count=1
copy file 10 block 520 to file 1 block 520
copy file 10 block 521 to file 1 block 521
copy file 10 block 522 to file 1 block 522
copy file 10 block 523 to file 1 block 523
sum apply
https://www.modb.pro/db/1870035191616516096