丢失了重做日志文件
丢失了单个重做日志组成员后进行恢复并不会影响运行的实例。要执行这种恢复,请执
行以下步骤:
1. 检查预警日志,确定是否有缺失的日志文件。
2. 通过以下方式恢复缺失的文件,先删除丢失的重做日志成员:
SQL> ALTER DATABASE DROP LOGFILE MEMBER 'redo01a.log';
然后添加新的成员以替换丢失的重做日志成员:
SQL> ALTER DATABASE ADD LOGFILE MEMBER 'redo01a.log'
TO GROUP 2;
注:如果使用的是重做日志文件的OMF,并使用上述语法将新重做日志成员添加
到现有组,则此新的重做日志成员文件不会是OMF 文件。如果要确保新的重做日
志成员是OMF 文件,最简便的恢复方式是新建一个重做日志组,然后删除缺少重
做日志成员的重做日志组。
3. 如果介质故障是由于丢失了磁盘驱动器或控制器造成的,请重命名缺失文件
4. 如果重做日志组已归档,或者您处于NOARCHIVELOG模式下,则可选择在清除日志
组后重新创建缺失文件来解决问题。选择相应的组,然后选择“Clear Logfile(清除
日志文件)”操作。还可以使用以下命令手动清除受影响的组:
SQL> ALTER DATABASE CLEAR LOGFILE GROUP #;
注:Database Control 不允许清除尚未归档的日志组。这样做会打断重做信息链。如果必
须清除未归档的日志组,则应立即执行整个数据库完全备份。否则,在发生其它故障的
情况下,会导致数据丢失。要清除未归档的日志组,请使用以下命令:
SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP #;