Thread 1 cannot allocate new log, sequence 36676
Private strand flush not complete
初步判断为redo太小了切换太频繁,buffer中的dirty block没有完全些人数据文件的时候,日志又切换了,造成无redo log可用。
首先查看了redo的情况
SQL> select group#,thread#,bytes/1024/1024||'MB' from v$log;
GROUP# THREAD# BYTES/1024/1024||'MB'
---------- ---------- ------------------------------------------
1 1 50MB
2 1 50MB
3 1 50MB
4 1 50MB
5 1 50MB
SQL> select group#,member from v$logfile;
GROUP# MEMBER
---------- ---------------------------------------------
1 /oradata/LEGATO/legato_redo01a.rdo
1 /oradata/LEGATO/legato_redo01b.rdo
2 /oradata/LEGATO/legato_redo02a.rdo
2 /oradata/LEGATO/legato_redo02b.rdo
3 /oradata/LEGATO/legato_redo03a.rdo
3 /oradata/LEGATO/legato_redo03b.rdo
4 /oradata/LEGATO/legato_redo04a.rdo
4 /oradata/LEGATO/legato_redo04b.rdo
5 /oradata/LEGATO/legato_redo05a.rdo
5 /oradata/LEGATO/legato_redo05b.rdo
50MB确实是有点小,在alter中查看大约三分钟就切换一次日志,手动调整了一下redoSQL> select group#,bytes/1024/1024||'MB',status from v$log;
GROUP# BYTES/1024/1024||'MB' STATUS
---------- ------------------------------------------ --------------------
1 300MB CURRENT
2 300MB INACTIVE
3 300MB INACTIVE
4 300MB INACTIVE
5 300MB INACTIVE
6 300MB INACTIVE
7 300MB INACTIVE
8 300MB INACTIVE
9 300MB INACTIVE
10 300MB INACTIVE
到目前为止还没有再次出现题目中的报错。