Oracle故障第一现场被恢复混乱的数据库恢复
本文记录了Oracle数据库断电后因第三方恢复操作导致现场混乱的实战恢复过程。通过Oracle Database Recovery Check工具初步分析,发现数据库被强制resetlogs,三个数据文件丢失,数据文件头SCN不一致且在非归档模式下。恢复团队使用obet工具的get_dbinfo功能解析磁盘上所有.dbf文件头,识别出文件号重复,结合文件大小和SCN信息判断正确文件,确认两个丢失文件为undotbs1表空间文件,另一个为112k的小文件。文章通过SQL实验验证Oracle数据文件最小为16个block。恢复步骤包括:修改正常文件SCN,重建控制文件(丢弃损坏的undo文件),设置undo为manual管理并屏蔽回滚段,强制打开数据库时遇到ORA-600 2662错误,使用Patch_SCN工具调整SCN后成功打开数据库。最后,新建undo表空间、添加temp文件、删除旧undo对象,并导出数据完成恢复。案例突出了工具辅助、文件头分析和错误处理在复杂数据库恢复中的关键作用。