Oracle数据库在线重做日志被删除的几种恢复方法(2)

但是我们发现,不完全恢复是失败的,这个时候通过 resetlogs打开数据库也是不可能的,那么我们只能通过应用隐含参数,通过隐含参数使状态不一致的数据库打开,如下:

SQL> create pfile='/home/oracle/p2.ora' from spfile;
在pfile里面增加*._allow_resetlogs_corruption=TRUE
echo "*._allow_resetlogs_corruption=TRUE">>p2.ora
然后通过我们新建的pfile打开数据库到mount状态:
SQL> startup mount pfile='/home/oracle/p2.ora'
ORACLE 例程已经启动。
Total System Global Area  334036992 bytes
Fixed Size    2253024 bytes
Variable Size  171970336 bytes
Database Buffers  155189248 bytes
Redo Buffers    4624384 bytes
数据库装载完毕。
然后通过 resetlogs的方法打开数据库
SQL> alter database open resetlogs;
数据库已更改。

因为我们是用我们临时生成的pfile进行启动的,所以还要完成最后一步,重启数据库即可

好了,数据库打开了,但是因为我们的数据库从异常情况下恢复过来,可能是会有问题的,所以建议做好备份,以防数据丢失。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/53a8c55840efc642117af5eafce782f7.html