在做redolog丢失恢复测试的时候,在数据库open状态下删除Oracle redolog,数据库依然能正常工作。数据库可以进行常规操作,甚至可以建表空间、执行日志切换、执行checkpoint,只有在归档的时候才报redolog不存在的错误。
很是奇怪。
原来这与Linux的系统的文件管理机制有关:文件只要有进程在连接,执行RM的时候,是不会真正删除的,只是添加一个标识,内存中依然保留原有信息。当进程都断开时,才会删除。如果此时用sync命令将内存信息与磁盘同步,Oracle就会halt在那里。