首页 > 数据库 >oracle open hang 等待cursor: pin S wait on X---惜分飞

oracle open hang 等待cursor: pin S wait on X---惜分飞

时间:2022-10-18 21:57:21浏览次数:70  
标签:8vyjutx6hg3wh cursor pin 分飞 --- xifenfei oracle wait

客户19.3数据库无法在open过程hang住
20221018151321


分析alert日志

 

2022-10-18T15:04:57.374918+08:00 db_recovery_file_dest_size of 102400 MB is 9.58% used. This is a user-specified limit on the amount of space that will be used by this database for recovery-related files, and does not reflect the amount of space available in the underlying filesystem or ASM diskgroup. 2022-10-18T15:09:55.535116+08:00 ORCLPDB(4):>>> WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! pid=40 ORCLPDB(4):System State dumped to trace file /data/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_p000_31225.trc 2022-10-18T15:19:33.374783+08:00 ORCLPDB(4):Undo initialization recovery: err:1013 start: 1911760 end: 2790176 diff: 878416 ms (878.4 seconds) Pdb ORCLPDB hit error 1013 during open read write (1) and will be closed.

这里比较明显,cdb本身open正常,但是其中的ORCLPDB这个pdb无法open,从而显示hang的情况.查询数据库会话情况

SQL> select event,sql_id from v$session where wait_class#<>6;   EVENT                                SQL_ID ---------------------------------------------------------------- ------------- cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh   EVENT                                SQL_ID ---------------------------------------------------------------- ------------- cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh row cache lock                           8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh SQL*Net message to client                    1dhc13tspcmys cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh   EVENT                                SQL_ID ---------------------------------------------------------------- ------------- cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh cursor: pin S wait on X                      8vyjutx6hg3wh   33 rows selected.   SQL> select sql_text from v$sql where sql_id='8vyjutx6hg3wh';   SQL_TEXT -------------------------------------------------------------------------------- update /*+ rule */ undo$ set name=:2,file#=:3,block#=:4,status$=:5,user#=:6,undo sqn=:7,xactsqn=:8,scnbas=:9,scnwrp=:10,inst#=:11,ts#=:12,spare1=:13 where us#=:1   SQL> col machine for a30 SQL> /      INST_ID    SID PADDR        SQL_ID        EVENT              MACHINE  PROGRAM ---------- ---------- ---------------- ------------- ------------------------------ ------------ ------------------------      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      INST_ID    SID PADDR        SQL_ID        EVENT              MACHINE  PROGRAM ---------- ---------- ---------------- ------------- ------------------------------ ------------ -----------------------      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   4517 00000001907FEC50 8vyjutx6hg3wh row cache lock         xifenfei     oracle@xifenfei (P000)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      INST_ID    SID PADDR        SQL_ID        EVENT              MACHINE  PROGRAM ---------- ---------- ---------------- ------------- ------------------------------ ------------ -----------------------      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)      1   5645 000000018095AF40 8vyjutx6hg3wh cursor: pin S wait on X        xifenfei     oracle@xifenfei (P002)   31 rows selected.   SQL> l   select b.INST_ID,b.sid,b.paddr,b.sql_id,b.event,b.MACHINE,b.PROGRAM from gv$session a,gv$session b   2* where a.event='cursor: pin S wait on X'  and a.FINAL_BLOCKING_INSTANCE=b.INST_ID and   3* a.FINAL_BLOCKING_SESSION=b.sid SQL>

通过上述分析,可以确认是在open pdb的过程中被cursor: pin S wait on X等待事件阻塞,而被阻塞的sql是update /*+ rule */ undo$ set …………,基于这样的情况.大概率可以确认是由于bug导致.通过查询mos,确认和Bug 30931981 – Open Reset Logs Hangs With ‘row cache lock’ and ‘cursor: pin s wait for x’ Waits (Doc ID 30931981.8)类似.
20221018200418


不过由于客户的版本是19.3,没有对应的小patch发布.通过对相关恢复事务和恢复方式进行处理,在没有对数据库版本进行任何调整的情况下,顺利打开数据库以最快的速度恢复业务
20221018200716

标签:8vyjutx6hg3wh,cursor,pin,分飞,---,xifenfei,oracle,wait
From: https://www.cnblogs.com/xifenfei/p/16804333.html

相关文章

  • 1-01-RPC框架深入剖析与设计实践(上)_ev
              超时丢弃处理逻辑          优雅关闭代码实现          过载保护用请求队列的长度去控制 ......
  • C语言基础-数组得初始化
    #include<stdio.h>intmain(){inta[10];intsize=sizeof(a)/sizeof(a[0]);//计算数组得大小for(inti=0;i<size;i++){a[i]=i*100;......
  • JavaScript学习--Array数组对象
    定义1.var变量名=newArray(元素列表);如vararr=newArray(1,2,3);2.常用:var变量名=[元素列表];如vararr=[1,2,3];访问arr[索引]=值;如arr[0]=1;ps:数组长度类型均可变 len......
  • 论文笔记 - Noisy Channel Language Model Prompting for Few-Shot Text Classificati
    Direct&&NoiseChannel进一步把语言模型推理的模式分为了:直推模式(Direct);噪声通道模式(Noisechannel)。直观来看:Direct模式NoiseChannel模式也就是说把数据......
  • [RxJS] mergeAll - mergeMap
    constinput$=fromEvent(textInput,'keyup');input$.pipe(map(event=>{constterm=event.target.value;returnajax.getJSON(`https://api.github.c......
  • SpringMVC执行流程-2、DispatcherServlet初始化过程
    DispatcherServlet初始化过程DispatcherServlet本质上是一个Servlet,所以天然的遵循Servlet的生命周期。所以宏观上是Servlet生命周期来进行调度。  a>初始化We......
  • JavaScript学习--基础语法03
    流程控制语句if,switch,for,while,dowhile。与之前学过的一样。 函数定义:通过function关键词定义语法:functionfunctionName(参数1,参数2) {  具体代码 }例子fu......
  • Golang编辑器 - GoLand安装
    GoLand官网https://www.jetbrains.com.cn/go/下载GoLand通过访问其官网进行安装包下载下载完成之后双击运行安装程序点击Next选择安装的路径下一步选择创建......
  • SpringMVC执行流程-3、DispatcherServlet调用组件处理请求
    DispatcherServlet调用组件处理请求a>processRequest()FrameworkServlet重写HttpServlet中的service()和doXxx(),这些方法中调用了processRequest(request,response)所......
  • K8s client-go watch pod
    一.前言我们在使用kubectl操作k8s时,可以在命令中加入-w来观察资源变化,比如kubectlgetpod-w观察pod状态变化。出了使用控制台,还可以编写代码和k8s交互来获取......