Oracle数据库:丢失重做日志组和密码文件的恢复指南
1. 无临时文件启动数据库
在启动数据库时若缺少临时文件,恢复临时文件丢失的问题会相对容易。当数据库启动后,如果原始磁盘目录位置可用,Oracle会自动重新创建所有缺失的临时文件,这可以从警报日志中看到相关信息,例如:
Re-creating tempfile /u01/app/oracle/oradata/hr/temp02.dbf
Re-creating tempfile /u01/app/oracle/oradata/hr/temp03.dbf
若原始磁盘目录位置不可用,数据库仍可启动,此时可以使用前面章节介绍的步骤为临时表空间手动重新创建临时文件。
2. 丢失重做日志组的恢复
重做日志组或其成员的丢失可能导致数据丢失和大量的恢复工作,不过也可能不会造成数据丢失且恢复工作较少,这取决于重做日志组的状态以及是丢失了整个日志组还是仅丢失了日志组的一个成员。
2.1 理解日志组状态
在视图V$LOG中,重做日志组有六种状态,常见的有CURRENT、ACTIVE和INACTIVE。刚创建的重做日志组处于UNUSED状态,一旦使用就不会再回到该状态。CLEARING和CLEARING_CURRENT状态在重新创建损坏的日志文件时出现。
| 状态 | 描述 |
| ---- | ---- |
| CURRENT | Oracle正在写入此日志组,此组用于实例恢复。 |
| ACTIVE | 此日志组用于实例恢复,但Oracle未写入此日志组,可能已归档也可能未归档。 |