联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
有客户10.2.0.5的数据库关闭之后,无法正常启动报ORA-00704 ORA-00702错误.使用自研的ORA-702_Recovery Tool小工具可以实现一键恢复,下载地址:ORA-702_Recovery下载
Fri May 18 22:42:26 2018 ALTER DATABASE OPEN Fri May 18 22:42:27 2018 Beginning crash recovery of 1 threads parallel recovery started with 7 processes Fri May 18 22:42:27 2018 Started redo scan Fri May 18 22:42:27 2018 Completed redo scan 1 redo blocks read, 0 data blocks need recovery Fri May 18 22:42:27 2018 Started redo application at Thread 1: logseq 2, block 2, scn 8448162573 Fri May 18 22:42:27 2018 Recovery of Online Redo Log: Thread 1 Group 2 Seq 2 Reading mem 0 Mem# 0: D:\DATABASE\xifenfei\REDO02.LOG Fri May 18 22:42:27 2018 Completed redo application Fri May 18 22:42:27 2018 Completed crash recovery at Thread 1: logseq 2, block 3, scn 8448182575 0 data blocks read, 0 data blocks written, 1 redo blocks read Fri May 18 22:42:28 2018 LGWR: STARTING ARCH PROCESSES ARC0 started with pid=23, OS id=3188 ARC1 started with pid=24, OS id=3168 ARC2 started with pid=25, OS id=996 ARC3 started with pid=26, OS id=432 ARC4 started with pid=27, OS id=3728 Fri May 18 22:42:28 2018 ARC0: Archival started ARC1: Archival started ARC5 started with pid=28, OS id=2876 Fri May 18 22:42:28 2018 ARC2: Archival started ARC3: Archival started ARC4: Archival started ARC5: Archival started LGWR: STARTING ARCH PROCESSES COMPLETE Fri May 18 22:42:28 2018 Thread 1 advanced to log sequence 3 (thread open) Thread 1 opened at log sequence 3 Current log# 3 seq# 3 mem# 0: D:\DATABASE\xifenfei\REDO03.LOG Successful open of redo thread 1 Fri May 18 22:42:28 2018 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Fri May 18 22:42:28 2018 ARC0: Becoming the 'no FAL' ARCH ARC0: Becoming the 'no SRL' ARCH Fri May 18 22:42:28 2018 ARC2: Becoming the heartbeat ARCH Fri May 18 22:42:28 2018 SMON: enabling cache recovery Fri May 18 22:42:28 2018 Errors in file d:\oracle\product\10.2.0\admin\xifenfei\udump\xifenfei_ora_3148.trc: ORA-00704: 引导程序进程失败 ORA-00702: 引导程序版本 '' 与版本 '8.0.0.0.0' 不一致 Fri May 18 22:42:28 2018 Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Instance terminated by USER, pid = 3148 ORA-1092 signalled during: ALTER DATABASE OPEN...
根据以前恢复经验ORA-00702: bootstrap verison ” inconsistent with version ’8.0.0.0.0′,很可能是由于bootstrap$表异常了.
通过dbv检查system文件确认没有坏块
通过bbed分析,确认记录被删除
把数据文件拷贝到本地,通过bbed进行分析,确认记录丢失
BBED> map File: d:/system01.dbf (0) Block: 379 Dba:0x00000000 ------------------------------------------------------------ KTB Data Block (Table/Cluster) struct kcbh, 20 bytes @0 struct ktbbh, 48 bytes @20 struct kdbh, 14 bytes @68 struct kdbt[1], 4 bytes @82 sb2 kdbr[24] @86 ub1 freespace[1158] @134 ub1 rowdata[6896] @1292 ub4 tailchk @8188 BBED> p *kdbr[0] rowdata[6875] ------------- ub1 rowdata[6875] @8167 0x3c BBED> x /rnnc rowdata[6875] @8167 ------------- flag@8167: 0x3c (KDRHFL, KDRHFF, KDRHFD, KDRHFH) lock@8168: 0x01 cols@8169: 0
故障原因跟踪
有人在数据库中注入了恶意脚本,导致数据库删除了bootstrap$中数据,关闭之后无法正常启动
处理方法
通过oracle bbed 修复数据字典,正常启动数据库