公司某系统的Oracle 8.1.7数据库突然非正常关闭,经检查回滚段数据文件损坏,准备恢复的时候又发现备份无效(管理员修改数据库密码没有修改相应的备份脚本导致),数据库采用归档日志模式。部分系统描述如下:
init.ora
rollback_segments = ( RBS01,RBS02, RBS03, RBS04, RBS05, RBS06, RBS07, RBS08, RBS09, RBS10 ,RBS11, RBS12, RBS13, RBS14, RBS15, RBS16, RBS17, RBS18, RBS19, RBS20, RBS21, RBS22, RBS23, RBS24 )
其中RBS02, RBS03, RBS04, RBS05, RBS06, RBS07, RBS08, RBS09, RBS10 ,RBS11, RBS12, RBS14, RBS15, RBS16, RBS17, RBS18, RBS19, RBS20, RBS21, RBS22, RBS23回滚段状态为“需要恢复”,经检查数据文件目录
-rw-r----- 1 oracle dba2147491840 11月 27 22:55 rbs01.dbf
-rw-r----- 1 oracle dba2147491840 11月 27 14:22 rbs02.dbf
-rw-r----- 1 oracle dba7717527552 11月 27 22:53 rbs03.dbf
其中rbs02.dbf 文件损坏。
而且检查:
SVRMGR> SELECT V1.GROUP#, MEMBER, SEQUENCE#, FIRST_CHANGE#
F 2> ROM V$LOG V1, V$LOGFILE V2
W 3> HERE V1.GROUP# = V2.GROUP#;
GROUP# MEMBER
SEQUENCE#FIRST_CHAN
---------- -----------------------------------------------------
----------- ---------- ----------
1 /u01/oradata/hnsis/redo01.log
12211 4115162428
2 /u01/oradata/hnsis/redo02.log
12212 4115182462
3 /u01/oradata/hnsis/redo03.log
12210 4115142396
4 /u01/oradata/hnsis/redo04.log
12213 4115206482
5 /u01/oradata/hnsis/redo05.log
12214 4115231847
6 /u01/oradata/hnsis/redo06.log
12209 4115122362
6 rows selected.
SVRMGR> SELECT FILE#, CHANGE# FROM V$RECOVER_FILE;
FILE#CHANGE#
---------- ----------
4 4114720760
根据MetaLink文档,需要联系Oracle Support,不知道大家是否碰过类似案例,是否能全部或部分恢复,谢谢! |