当日志文件有问题时可以使用隐含参数_allow_resetlogs_corruption强制启动数据库.设置此参数之后,在数据库Open过程中,Oracle会跳过某些一致性检查,从而使数据库可能跳过不一致状态,Open打开。

当数据库中某些数据文件损坏,而从恢复这个文件所需的某个(或某些)联机日志文件或归档日志文件丢失时,只能把这些文件部分恢复,从而与数据库中其他文件不同步,我们可以通过下面的步骤还原并打开数据库:
1.用之前的备份恢复损坏的数据文件。
2.尽量还原损坏的文件。
3.把数据库启动到nomount。
4.用SQL命令重建控制文件(要求之前用“alter database backup controlfile to trace”做过控制文件的文本备份)
5.设置隐含参数:alter system set “_allow_resetlogs_corruption”=true scope=spfile;
6.然后关闭数据库,用下面命令重启:alter database open resetlogs

这时,数据库可以打开。但是数据库中的数据可能不一致,某些查询如果涉及这些不一致的数据,会遇到ora-600错误。打开数据库后,我们可以从部分恢复的数据文件及其他正常数据文件中导出尽可能多的数据,然后重建数据库,导入之前导出的数据,从而让损失降低到最小。

设置这个隐含参数后,要使用resetlogs选项打开数据库,隐含参数才会生效,否则Oracle在打开数据库时会忽略此参数。