有客户10.2.0.5的数据库关闭之后,无法正常启动报ORA-00704 ORA-00702错误.
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 修复数据字典,正常启动数据库