ORA-00704,ORA-00702 bootstrap错误导致库无法启动解决办法

客户的一个ORACLE 11.2.0.4.生产环境,在数据库重启之后,报错ORA-00704 ORA-00702无法启动,如下:

这个错误是oracle的引导数据块被破坏了,这种一般就是人为的或者恶意软件破坏的,像以前的勒索病毒,用了非正版的plsql,非正版的oracle 安装包等,都可能会被安装上恶意的程序.

这个错误一般只要是修复一下bootstrap数据块就行了,找一个相同平台相同版本的数据库,将引导数据块dd出来,再dd回去就行了 ,可以参考我以前写的一篇文章:

模拟bootstrap$坏块故障_久违的太阳的博客-CSDN博客

这里需要注意的是,10g版本bootsrap是377数据块,而11g是520,521,522,523三个数据块,

现场实战如下:

注意:做之前先备份一下system数据文件,防止操作失败

1.首先这种恶意程序,一般都是通过触发器或者存储过程,包这些来破坏的,首先我们要禁用系统触发器,防止修复完成之后,再启动的时候,又被破坏了:

ALTER SYSTEM SET "_system_trig_enabled"=FALSE;

2.找一个相同平台相同版本的11.2.0.4数据块,dd出来520,521,522,523数据块

dd if=system01.dbf of=/home/oracle/1.ora skip=520 bs=8192 count=4

3.将刚刚的1.ora拷贝到故障数据块,再dd回去

dd if=1 of=system01.dbf seek=520 bs=8192 count=4 conv=notrunc        

#使用notrunc不会删除之后的数据,否则第523块后面的数据就被清空了,seek定位到第520个块,做之前先备份文件
1+0 records in
1+0 records out
8192 bytes (8.2 kB) copied, 8.5765e-05 seconds, 95.5 MB/s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值