一个学生遇到了这样的问题。
Thread 1 cannot allocate new log, sequence 35645
Checkpoint not complete
这个问题并不少见,如果不是bug,通常通过增加日志文件组,增加日志文件大小,当然,也可以换更好的存储设备。奇怪是,他查询的redo log file的状态有点奇怪。
GROUP# SEQUENCE# size MEMBERS STATUS
1 17644 256 2 INACTIVE
2 17645 256 2 INACTIVE
3 9502 256 2 INACTIVE
4 9503 256 2 CURRENT
5 17646 256 2 CURRENT
6 9501 256 2 INACTIVE
两组为current状态,从sequence#看,应该是RAC环境,但是学生坚持说这是单节点环境,让他再查询一次,增加thread#字段,他说已经不在现场,查不了。
Oracle Database uses only one redo log files at a time to store redo records written from the redo log buffer. The redo log file that LGWR is actively writing to is called the current redo log file.特意翻了文档,从文档看,应该是只有一组状态为current才对的。
现在的问题就在于,如果把一个RAC转换成单节点后,被删除的节点的在线日志没有被删除的话,是否会一直保留使用时的状态?