11.2使用KEEP池导致ENQ: KO – Fast Object Checkpoint等待

前一段时间在客户测试TPCC的时候碰到这个问题,今天在MOS上找到问题的原因,简单记录一下。

在11.2中,如果表设置了KEEP池,而在初始化参数中没有指定DB_KEEP_CACHE_SIZE的值,就可能会造成数据库中出现明显的ENQ: KO – Fast Object Checkpoint的等待,同时还伴有reliable message的等待。

MOS文档ENQ: KO – Fast Object Checkpoint And Reliable Message Causing Bad Performance [ID 1377830.1]描述了这个问题,给出的解决方案是不使用KEEP池,改为使用DEFAULT池,或者设置DB_KEEP_CACHE_SIZE的值为非0。

而当时测试的过程中,问题与当前的现象很像,版本是11.2.0.2,在执行完压力测试后,所有程序断开后。如果执行关闭操作SHUTDOWN IMMEDIATE,此时就可以发现,数据库经历漫长的ENQ: KO – Fast Object Checkpoint等待,然后数据库才可以正常关闭。不过唯一的不同之处在于,当时测试环境中设置了DB_KEEP_CACHE_SIZE的值,因此问题和当前问题描述很像,但并不一样。

由于环境已经消失,现在无法验证这个问题,但是根据印象判断,这个问题可能确实和使用了KEEP池有关,在使用KEEP池之前使用默认的DEFAULT池时,数据库关闭并没有经历如此严重的等待。因此,在11.2中使用非DEFAULT池,可能会引发异常

 

This entry was posted in BUG and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *