ITPub博客

首页 > 数据库 > Oracle > bug 18199537变更方案

bug 18199537变更方案

原创 Oracle 作者:s相濡以沫y 时间:2019-08-23 13:52:36 0 删除 编辑

 

一、  本次变更详解

1.  bug   症状

·  11.2.0.4 RAC数据库夯在“latch: row cache objects”

·  进程出现大量的“latch: row cache objects”和“latch: shared pool”等待事件

·  用户进程无法正常登录RAC实例

·  LCK0长时间等待在“row cache cleanup”

·  在问题期间未生成AWR快照

·  调用堆栈显示类似于:

LCK0:

ksedsts <- ksdxfstk <- ksdxcb <- sspuser <- __sighndlr

<- call_user_handler <- sigacthandler <- _syscall6 <- sskgpwwait <- skgpwwait

<- kslges <- kghfrunp <- kghfnd <- kghalo <- kghgex

<- kghfnd <- kghalo <- kghgex <- kghfnd <- kghprmalo

<- kghalp <- parchk <- pkaidl <- pkamh2 <- pdybF00_Init

<- pdy1F01_Driver <- pdw0F82_Run_Code_Gen <- pdw0F01_Code_Gen <- phpcmp <- pcicog

Foreground:

ksedsts <- ksdxfstk <- ksdxcb <- sspuser <- __sighndlr

<- call_user_handler <- sigacthandler <- _syscall6 <- sskgpwwait <- skgpwwait

<- kslges <- kqrbip <- kqrbfr <- kqrbgl <- ksbabs

<- ksbrdp <- opirip <- opidrv <- sou2o <- opimai_real

<- ssthrdmain <- main

 

2.  B ug 产生原因

LCK0进程阻塞了很多等待者。
LCK0调用了row cache层的kqr.h和kgh.h和kghfrunp.h中的latch。

3.  bug 影响版本

RAC数据库11.2.0.4及更高版本

注:此bug   11.2.0.4版本的数据库已跟新至psu(11.2.0.4.4 (Oct 2014)

)补丁中,在12.2.0.1中已在产品版本中修复。故此次变更对象为12.1的rac数据库

4.  变更风险

此次变更只是 减少 row cache cleanup 期间的争用(如果默认值1不能解决问题的话) ,避免出现不给。风险较小。

二、  变更过程

1.  变更实施时间

待定

2.  变更时间预估

一个小时

3.  变更过程

两个节点分别执行: alter system set events '18199537 trace name context forever, level 100';

[oracle]wykhdb1:/home/oracle>s ql plus / as sysdba

 

SQL*Plus: Release 12.1.0.2.0 Production on Fri Aug 23 12:26:01 2019

 

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Advanced Analytics and Real Application Testing options

SQL> alter system set events '18199537 trace name context forever, level 100';

[oracle]wykhdb1:/home/oracle>s ql plus / as sysdba

 

SQL*Plus: Release 12.1.0.2.0 Production on Fri Aug 23 12:26:01 2019

 

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Advanced Analytics and Real Application Testing options

SQL> alter system set events '18199537 trace name context forever, level 100';

验证:

SQL> oradebug setmypid

Statement processed.

SQL> oradebug eventdump system;

18199537 trace name context forever, level 100

注:此sql 需要在两个节点上分别执行,且重启失效。想永久生效估计要用 pfile 设置 event 参数: alter system set event='18199537 trace name context forever, level 100' scope=spfile;

[oracle]wykhdb1:/home/oracle>s ql plus / as sysdba

 

SQL*Plus: Release 12.1.0.2.0 Production on Fri Aug 23 12:26:01 2019

 

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Advanced Analytics and Real Application Testing options

SQL> create   pfile =’/home/oracle/pfile_20190823.ora’ from spfile

SQL> alter system set event='18199537 trace name context forever, level 100' scope=spfile;

 

System altered.

注:此条命令只在一个节点执行即可,后期哪个节点重启哪个节点生效,经测试更改此参数不会导致重启一个节点起不来的情况。

4.  变更回退

临时生效的可以重启库或者 alter system set events '18199537 trace name context off'; 来回退

永久生效的可以用变更前备份的pfile 文件重新起库或者 alter system set events '18199537 trace name context off'; 来回退

三、  变更总结

1.  此次变更涉及版本12.1   rac

2.  此次变更分为两条sql , 分别对应临时生效和永久生效(建议先用临时生效,等稳定后等下一个停机窗口写入spfle 文件永久生效)

3.  此次变更不会影响已存在数据

4.  此次变更不需要停机

5.  临时生效需要两个节点执行语句

参考m os 文档

1.  文档 ID 2533879.1

2.  文档 ID 18199537.8

3.  Bug 18199537 : "CHILD ROW CACHE OBJECTS" LATCH CONTENTION AND CONNECTING DB HANG

 

 

 


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

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2018-11-20

  • 博文量
    28
  • 访问量
    19644