使用_allow_resetlogs_corruption强制打开数据库

试想一下这种情况:你的数据库异常关闭了,且current日志组丢失了,更重要的是你的数据库没有备份,那么这种情况下有什么办法可以打开数据库呢?
说到这,我们有必要来了解一下oracle的一个特殊的隐含参数:
_allow_resetlogs_corruption
这个参数如果设置成TRUE的话,那么oracle就可以强制打开数据库,忽略一致性等问题。
在打开了数据库之后,我们就可以将数据库导出,然后重建数据库,再导入数据,完成恢复。
下面我们来查询一下这个参数:
SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%resetlogs_%';


KSPPINM
--------------------------------------------------------------------------------
KSPPDESC
--------------------------------------------------------------------------------
_allow_resetlogs_corruption
allow resetlogs even if it will cause corruption


从描述中可以知道,这个参数允许在破坏一致性的情况下强制重置日志,打开数据库。
_allow_resetlogs_corruption将使用数据文件中最旧的scn打开数据库,所以通常需要保证
system表空间具有最旧的scn。

请使用浏览器的分享功能分享到微信等