CURRENT
(1)如果有归档和备份,可以用不完全恢复。
SQL>startup mount;
SQL>recover database until cancel; 先选择auto,尽量恢复可以利用的归档日志,然后重新执行:
SQL>recover database until cancel; 这次输入cancel,完成不完全恢复,
用resetlogs打开数据:
SQL>alter database open resetlogs; 打开数据库
(2)强制恢复, 这种方法可能会导致数据不一致
sql>startup mount;
sql>alter system set "_allow_resetlogs_corruption"=true scope=spfile;
sql>recover database until cancel;
sql>alter database open resetlogs;
运气好的话,数据库能正常打开,但是由于使用_allow_resetlogs_corruption方式打开,会造成数据的丢失,且数据库的状态不一致。因此,这种情况下Oracle建议通过EXP方式导出数据库。重建新数据库后,再导入。
INACTIVE
(1)如果STATUS是INACTIVE,则表示已经完成了归档,直接清除掉这个redo log即可。
SQL>startup mount;
SQL> alter database clear logfile group 3 ;
SQL>alter database open;
ACTIVE
(1)如果STATUS 是ACTIVE ,表示正在归档, 此时需要使用如下语句:
SQL>startup mount;
SQL> alter database clear unarchived logfile group 3 ;
SQL>alter database open;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31485142/viewspace-2151183/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31485142/viewspace-2151183/