ORA-01648: log string is the current log of disabled instance string (thread string)
Cause: An attempt to enable the thread failed after it was half completed. This log was left as the current log even though the thread is still disabled. Since a log switch cannot be done until the thread is enabled, the log can not be cleared or archived.
Action: Complete the thread enable by issuing the enable command again.
ORA-01648错误报告了数据库实例的日志文件当前正使用工作线程(thread)而当前的实例未启动。
ORA-01648错误:被禁用实例当前使用日志字符串(thread string)。
表示实例正在使用工作线程而当前的实例未启动。
该问题的出现最常见的情况是:当使用ALTER DATABASE MOUNT/OPEN命令时,由于在数据库实例无法实力启动时,日志文件仍会被打开。
首先尝试重新启动实例,尝试使用强制关闭或关闭清除等方法。
如果实例无法正常关闭,可以尝试使用ALTER DATABASE CLOSE RESETLOGS命令组合ALTER DATABASE OPEN命令来关闭日志文件并重新启动实例。
通过执行实例恢复步骤,解决数据库日志文件正被占用的情况:
1. 使用shutdown abort 关闭连接的实例;
2. 进入nomount状态,使用startup mount 状态;
3. 使用resetlogs 命令,如果实例状态仍然是关闭的,使用startup open命令打开;
4. 再次尝试启动数据库实例;