: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/app/oradata/orcl/system01.dbf'
ORA-01112: 未启动介质恢复
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01194: 文件 1 需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: '/app/oradata/orcl/system01.dbf'
?
?
但是我们发现,不完全恢复是失败的,这个时候通过 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进行启动的,所以还要完成最后一步,重启数据库即可好了,数据库打开了,但是因为我们的数据库从异常情况下恢复过来,可能是会有问题的,所以建议做好备份,以防数据丢失。