温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Trouble shooting for Pin S wait on X

发布时间:2020-08-08 05:15:50 来源:ITPUB博客 阅读:135 作者:不一样的天空w 栏目:关系型数据库
Pin S wait on X is usually due to high parses.  So check for high parsing sqls or tune application to share cursors.  For further diagnosis, please review following note :Note:1349387.1  Trouble shooting 'Cursor: Pin S wait on X' wait
通常是由于高分析。 所以检查高解析sqls或调整应用程序共享游标。 如需进一步诊断,请查看以下注意事项Note:1349387.1  Trouble shooting 'Cursor: Pin S wait on X' wait

What causes 'Cursor: pin S wait on X' waits?

   * Firstly, ensure that the shared pool is sized correctly.
    If the shared pool is under sized or under load generally, this may manifest itself as 'Cursor: pin S wait on X'. If Automatic Memory Management is being used then this should not normally be an issue. See:
    Document 443746.1 Automatic Memory Management (AMM) on 11g
     
    *Frequent Hard Parses
    If the frequency of Hard Parsing is extremely high, then contention can occur on this pin.

    *High Version Counts
    When Version counts become excessive, a long chain of versions needs to be examined and this can lead to contention on this event

   * Known bugs

    *Parse Errors, as following note indicates:
Document 1353015.1 How to Identify Hard Parse Failures


solution:
select p2raw from v$session where event = 'cursor: pin S wait on X';

select p2raw,
       to_number(substr(to_char(rawtohex(p2raw)), 1, 8), 'XXXXXXXX') sid
  from v$session
 where event = 'cursor: pin S wait on X';
     
select sid,
       serial#,
       SQL_ID,
       STATUS,
       STATE,
       BLOCKING_SESSION,
       BLOCKING_SESSION_STATUS,
       EVENT
  from v$session
 where SID = &sid;


     
As a result of Bug 7568642 BLOCKING_SESSION EMPTY FOR "CURSOR: PIN S WAIT ON X"  the blocking_session is not populated in 10.2.The bug is fixed in 11g R1.
由于错误7568642 BLOCKING_SESSION为空当等待事件为"CURSOR:PIN S WAIT ON X",blocking_session未在10.2中填充。错误在11g R1中修复

In 11g and 12g, the blocking session can be found directly using the following sql:   
在11g和12g中,可以使用下面的sql直接找到阻塞会话

select sid,
       serial#,
       SQL_ID,
       BLOCKING_SESSION,
       BLOCKING_SESSION_STATUS,
       EVENT
  from v$session
 where event = 'cursor: pin S wait on X';

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI