正在做着实验,突然间感到机器卡了,等机器反应过来后,看了下alert日志,发现有这样两行文字
Thread 1 cannot allocate new log, sequence 2
Private strand flush not complete
上网查了一下,说这不是bug,大意是指oracle在将日志写到日志文件时遇到问题没完成,所以报错
看过oracle internel就会知道,作者在那本书里讲到,oracle为了降低会话对redo log buffer的争用,引入了private redo和public redo的概念
错误中的private strand就是Private redo,每个会话在事务提交以前,会将产生的日志先放到private redo中,等事务提交时,再一次性flush到public redo,所以只需要一次Latch申请,这就是这个机制的初衷
官网上说这个错误类似"checkpoint not complete ",所以有两个解决办法
1.忽略
2.增加DBWn个数
Thread 1 cannot allocate new log, sequence 2
Private strand flush not complete
上网查了一下,说这不是bug,大意是指oracle在将日志写到日志文件时遇到问题没完成,所以报错
看过oracle internel就会知道,作者在那本书里讲到,oracle为了降低会话对redo log buffer的争用,引入了private redo和public redo的概念
错误中的private strand就是Private redo,每个会话在事务提交以前,会将产生的日志先放到private redo中,等事务提交时,再一次性flush到public redo,所以只需要一次Latch申请,这就是这个机制的初衷
官网上说这个错误类似"checkpoint not complete ",所以有两个解决办法
1.忽略
2.增加DBWn个数
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29646619/viewspace-1163683/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29646619/viewspace-1163683/