ITPub博客

首页 > Linux操作系统 > Linux操作系统 > High Version Count Due To BIND_MISMATCH [ID 336268.1]

High Version Count Due To BIND_MISMATCH [ID 336268.1]

原创 Linux操作系统 作者:spider0283 时间:2012-04-05 21:30:48 0 删除 编辑

In this Document
  Symptoms
  Cause
  Solution
  References


Applies to:

Oracle Server - Enterprise Edition - Version: 8.1.7.4 and later   [Release: 8.1.7 and later ]
Information in this document applies to any platform.
Oracle Server Enterprise Edition - Version: 8.1.7.4

Symptoms

Performance is bad due to high version count. V$SQL_SHARED_CURSOR shows new child cursors for the parent one due to BIND_MISMATCH. 

Cause

This is due to the bind buffer mismatch of the current child cursor. If oracle is unable to bind the current value to the existing child cursors bind buffer, oracle upgrades the existing child cursor with a high bind buffer. This will force the query to
do a hard parse and a new child cursor will be created.

The previous one will be marked 'dont use'.  

These types of cursors are never re-used.  As a result, they permanently occupy a slot in the child table which will result in increasing the version count. 

This issue has been described in the Bug: 2450264  base bug to Bug: 3012881

Solution

The fix of the bug 2450264 has introduced a new event (10503) which enables users to specify a character bind buffer length. Depending on the length used, the character  binds  in the child cursor can all be created using the same bind length; 

ALTER SESSION SET EVENTS '10503 trace name context forever, level '; 

Eg:
ALTER SESSION SET EVENTS '10503 trace name context forever, level 4096';

References

BUG:3012881 - HIGH VERSION COUNT/INVALIDATION CAUSE BAD PERFORMANCE
返回页首返回页首

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38267/viewspace-720412/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-03-29

  • 博文量
    194
  • 访问量
    621559