?
Oracle数据库在线重做日志被删除的几种恢复方法(二)
: 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'
?
?
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进行启动的,所以还要完成最后一步,重启数据库即可好了,数据库打开了,但是因为我们的数据库从异常情况下恢复过来,可能是会有问题的,所以建议做好备份,以防数据丢失。