cjq进程的trc文件非常大-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3502640
  • 博文数量: 718
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7790
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(718)

文章存档

2024年(4)

2023年(74)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

最近访客
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2021-04-02 14:12:25


aix平台 oracle 19.9 一个测试库,新装2个月后目录 /u01 被撑满。
看了一下cjq的trc达到6g,kill -9 cjq进程,删掉trc文件后,cjq又生成新的trace文件,不断输出以下内容:
 
  1. kgx atomic operation log 700010092238d18
  2.  mutex 70001005b64d1b8(1276, 0) idn b2958f75 oper excl(6)
  3.  library cache uid 1276 efd 11 whr 106 slp 0
  4.  oper=0 pt1=70001005b64d068 pt2=0 pt3=0
  5.  pt4=0 pt5=0 ub4=0 flg=0x0 uw1=0 uw2=0
  6.  msk=0000-0000-0000-0000-0000

  7. libraryhandle: address=70001005b64d068 hash=b2958f75 lockmode=0 pinmode=0 loadlockmode=0 status=0
  8.   objectname: name=pdb2.$build$.e1a9c1cd3f5c4fa9
  9.     fullhashvalue=51ef46e5f8c212fa19f29eb1b2958f75 namespace=sql area build(82) type=cursor(00) containerid=4 containeruid=2474300379 identifier=0 owneridn=0
  10.   statistics: invalidationcount=0 executioncount=0 loadcount=0 activelocks=0 totallockcount=0 totalpincount=0
  11.   counters: brokencount=1 revocablepointer=1 keepdependency=0 version=0 bucketinuse=2069801 handleinuse=2069801 handlereferencecount=0
  12.   concurrency: dependencymutex=70001005b64d118(0, 2069802, 0, 0) mutex=70001005b64d1b8(1276, 2077580, 3, 6)
  13.   flags=ron/pin/[00010000] flags2=[0000]
  14.   waiterslists:
  15.     lock=70001005b64d0f8[70001005b64d0f8,70001005b64d0f8]
  16.     pin=70001005b64d0d8[70001005b64d0d8,70001005b64d0d8]
  17.     loadlock=70001005b64d150[70001005b64d150,70001005b64d150]
  18.   timestamp:
  19.   handlereference: address=70001005b64d250 handle=0 flags=[00] kgx cleanup...
  20. kgx atomic operation log 700010092238d18
  21.  mutex 700010061cbf5b0(1276, 0) idn c0d2e94c oper excl(6)
  22.  library cache uid 1276 efd 11 whr 106 slp 0
  23.  oper=0 pt1=700010061cbf460 pt2=0 pt3=0
  24.  pt4=0 pt5=0 ub4=0 flg=0x0 uw1=0 uw2=0
  25.  msk=0000-0000-0000-0000-0000

  26. libraryhandle: address=700010061cbf460 hash=c0d2e94c lockmode=0 pinmode=0 loadlockmode=0 status=0
  27.   objectname: name=pdb2.$build$.2f08445d7604e6e2
  28.     fullhashvalue=098cd86c86f76750740f0c75c0d2e94c namespace=sql area build(82) type=cursor(00) containerid=4 containeruid=2474300379 identifier=0 owneridn=0
  29.   statistics: invalidationcount=0 executioncount=0 loadcount=0 activelocks=0 totallockcount=0 totalpincount=0
  30.   counters: brokencount=1 revocablepointer=1 keepdependency=0 version=0 bucketinuse=2069801 handleinuse=2069801 handlereferencecount=0
  31.   concurrency: dependencymutex=700010061cbf510(0, 2069802, 0, 0) mutex=700010061cbf5b0(1276, 2077581, 3, 6)
  32.   flags=ron/pin/[00010000] flags2=[0000]
  33.   waiterslists:
  34.     lock=700010061cbf4f0[700010061cbf4f0,700010061cbf4f0]
  35.     pin=700010061cbf4d0[700010061cbf4d0,700010061cbf4d0]
  36.     loadlock=700010061cbf548[700010061cbf548,700010061cbf548]
  37.   timestamp:
  38.   handlereference: address=700010061cbf648 handle=0 flags=[00] kgx cleanup...
  39. kgx atomic operation log 700010092238d18
  40.  mutex 70001007af4a5f0(1276, 0) idn db6b83d8 oper excl(6)
  41.  library cache uid 1276 efd 11 whr 106 slp 0
  42.  oper=0 pt1=70001007af4a4a0 pt2=0 pt3=0
  43.  pt4=0 pt5=0 ub4=0 flg=0x0 uw1=0 uw2=0
  44.  msk=0000-0000-0000-0000-0000

  45. libraryhandle: address=70001007af4a4a0 hash=db6b83d8 lockmode=0 pinmode=0 loadlockmode=0 status=0
  46.   objectname: name=pdb2.$build$.5e6949f4e4e100a6
  47.     fullhashvalue=98f7c004c385c37e8050379fdb6b83d8 namespace=sql area build(82) type=cursor(00) containerid=4 containeruid=2474300379 identifier=0 owneridn=0
  48.   statistics: invalidationcount=0 executioncount=0 loadcount=0 activelocks=0 totallockcount=0 totalpincount=0
  49.   counters: brokencount=1 revocablepointer=1 keepdependency=0 version=0 bucketinuse=2069802 handleinuse=2069802 handlereferencecount=0
  50.   concurrency: dependencymutex=70001007af4a550(0, 2069803, 0, 0) mutex=70001007af4a5f0(1276, 2077580, 3, 6)
  51.   flags=ron/pin/[00010000] flags2=[0000]
  52.   waiterslists:
  53.     lock=70001007af4a530[70001007af4a530,70001007af4a530]
  54.     pin=70001007af4a510[70001007af4a510,70001007af4a510]
  55.     loadlock=70001007af4a588[70001007af4a588,70001007af4a588]
  56.   timestamp:
  57.   handlereference: address=70001007af4a688 handle=0 flags=[00] kgx cleanup...

多租户环境,为了保护原始数据,导入完毕后,把pdb1克隆出一个pdb2,然后pdb2一直处于mount状态。

以下三招不管用:
  • kill -9 cjq进程不管用
  • 刷新shared_pool不管用
  • 删除pdb2也不管用
(删掉pdb2后重启实例,管用。

原因不明,像是bug。

进一步说明(doc id 2051456.1):
通常,无论何时访问kgl互斥锁,都会更新互斥锁数据结构,以使访问该互斥锁的当前会话为持有者,并且引用计数会增加。这是一个原子操作,因此非常快,短而小。使用原子操作完成当前会话后,将清除持有者信息,以便其他会话可以重复相同的操作。如果由于某些不可预见的原因,持有kgl互斥锁的进程/会话在清除互斥锁持有人之前被杀死了。同样,在恢复失败的情况下,还有其他实例互斥损坏或损坏的互斥恢复。如果发生这种情况,则pmon会跳过恢复,从而导致kgl互斥锁上的争用过多。请求具有无效持有人信息的互斥锁的任何进程都将挂起,因为永远不会释放持有人并等待“库缓存:互斥锁x”。如果发生这种情况,那么会将kgl mutex分配给分配给无会话进程的伪会话id。这可用于识别发生不良或损坏的互斥恢复。oracle数据库互斥锁是一种用于管理并发性的内存结构。

引自:解决数据库挂起问题,原因是“库高速缓存:互斥x”等待过多(oracle 11.2和更高版本)(文档id 2051456.1)

mutex用途:
这是oracle数据库锁存很长一段时间以来一直在做的事情。
oracle数据库的互斥锁与操作系统的互斥锁不同。
尽管两者都应用了管理并发性的相同原则。
所有这些都是自旋锁的实现。
这意味着,如果进程发现自旋锁以不兼容的模式被获取,
它将重试获取它,直到成功。
其思想是,自旋只会短暂地保持,因此自旋只会持续很短的时间。


进一步分析,根据trace信息:

猜测也许杀掉1276这个session id也能解决问题。

还有个疑问:kgx是什么,难道是她?

肯定没错


相关字段延展:


基本脱离本主题:

阅读(3107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图