暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

解决Oracle数据库编译包时HANG住问题

DBA的杂货铺 2021-04-21
547

故障描述:

开发反应在数据库编译包 MES.CUX_ERP_MES_INTERFACE_PKG时一直HANG住,编译不过。

初步怀疑是由于等待library cache pin引起

查询v$session_wait



可以看出的确会话在等待library cache pin,MODE模式是0,在请求3模式的library cache pin受阻,但是没有查出别的会话持有了这个linbrary cache pin


故障原因:

用hanganalyze查看什么原因造成了等待


查看TRACE文件




从后面的STATE OF ALL NODES能看出来

会话4523的state为NLEAF说明被阻塞了,5873阻塞了此会话。查看5873为2节点SID为1314的会话,可以看到state为LEAF说明他是BLOKER。

从前面的信息也能看到会话4523在等待library cache pin被SQL*NET message from dblink阻塞了,阻塞会话是节点2的1314,当前语句为SELECT SYSDATE FROM DUAL@MES_ERP。


解决方法:


去节点2查询此SID果真一直停留在语句SELECT SYSDATE FROM DUAL@MES_ERP上。问,此会话是一个JOB,可以杀掉此会话。

KILL掉此会话后,编译能正常通过了。



最后修改时间:2021-04-21 15:21:04
文章转载自DBA的杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论