背景 1.数据库版本:11.2.0.4 2.未开启归档 3.没有备份:无RMAN备份、无DUMP备份 4.数据库redo log全部删除。 解决思路: Oracle 的隐含参数: _allow_resetlogs_corruption=TRUE SYS>alter system set &qu
在数据库版本为11.2.0.4的情况下,如果出现未开启归档、没有备份、数据库redo log全部删除等问题,可能导致数据库损坏。以下是一种解决思路:
首先,可以尝试使用Oracle的隐含参数
_allow_resetlogs_corruption=TRUE
来尝试修复数据库。具体操作为关闭数据库,然后在启动时设置参数
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
。
然而,在实际操作中可能会遇到错误,例如
ORA-01092: ORACLE instance terminated. Disconnection forced
和
ORA-00600: internal error code, arguments: [2662], [0], [1030200641], [0], [1030304018], [12583040], [], [], [], [], [], []
。这些错误可能表明数据库损坏后,使用
_allow_resetlogs_corruption
并不一定能成功打开数据库。
错误代码
ORA-600 [2662]
代表数据库块保存的SCN(系统变化号)大于当前的SCN,导致数据库无法启动。具体参数含义为
[a] Current SCN WRAP
、
[b] Current SCN BASE
、
[c] dependent SCN WRAP
和
[d] dependent SCN BASE
。
在实际操作中,可能需要多次尝试启动数据库,直到SCN号逐步推进,最终能够成功打开数据库。
小编推荐阅读