重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1145|回复: 0
打印 上一主题 下一主题

[Oracle] SELF DEADLOCK PROCESS WAITS ON ''Cursor: Pin S Wait On X'' with SQL_TRACE ena...

[复制链接]
跳转到指定楼层
楼主
发表于 2023-7-23 15:02:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SYMPTOMS
System hangs intermittently.


Problem is resolved by killing blocking process
Blocking process is waiting for an eXclusive cursor pin mutex and is holding a Share:
  waiting for 'cursor: pin S wait on X'
Process holds and requests the same mutex within the same session
e.g.: (extract from Systemstate / Processtate of process in question)

Wait section shows a wait in progress for 'cursor: pin S wait on X'


waiting for 'cursor: pin S wait on X' blocking sess=0x(nil) seq=55457
wait_time=0 seconds since wait started=0
idn=a116531d, value=6100000000, where|sleeps=20023f5fe


The mutex identifier is : idn=a116531d
So, searching for 'a116531d' in the rest of the process trace finds:

This shows an 'oper EXCL' :


KGX Atomic Operation Log 0x1c0fa9c78
Mutex 0x17d972b18(97, 0) idn 6d616e62a116531d oper EXCL

LIBRARY OBJECT HANDLE: handle=1ba7cf5b8 mtx=0x1ba7cf6e8(1) cdp=1
name=SELECT * FROM TABLE(MISC_UTILS.SPLIT(:B1 , :B2 ))
hash=8820cb5f8485ab3582d173dfa116531d timestamp=11-06-2006 14:03:51


and this shows an 'oper GET_SHRD ' for the same mutex in the same process:



KGX Atomic Operation Log 0x1c0fa9bd0
Mutex 0x17d972b18(97, 0) idn 414e532ea116531d oper GET_SHRD

LIBRARY OBJECT HANDLE: handle=1ba7cf5b8 mtx=0x1ba7cf6e8(1) cdp=1
name=SELECT * FROM TABLE(MISC_UTILS.SPLIT(:B1 , :B2 ))
hash=8820cb5f8485ab3582d173dfa116531d timestamp=11-06-2006 14:03:51


So the single process holds both oper EXCL and oper GET_SHRD on the same mutex.

Top of the stack for this process is the following:


semtimedop sskgpwwait skgpwwait kslwaitns kskthbwt kslwait
kksLockWait kgxWait kgxSharedExamine kxsGetRuntimeLock kksfbc kxstcls
kksCloseCursor opicca opiclo opicls opiodr rpidrus
skgmstack rpidru rpiswu2 rpidrv psddr0 psdcls
CAUSE
It is possible that SQL_TRACE is the cause of the problem.

From Bug:5653007 The stack contains routines that are specific to tracing. (kxstcls)
SOLUTION
1. Disable SQL_TRACE
or
2. If you must keep SQL_TRACE enabled, suggest applying patch 5485914. You will need to check for available backport for your platform.

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-25 22:44 , Processed in 0.101938 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表