前段时间营业数据库由于oracle branch allocation latch 的问题.导致业务发生了拥塞,在alert日志中出现如下字样:
PEND:PMON UNABLE TO ACQUIRE LATCH C00000000801BA58 TRANSACTION BRANCH ALLOCATION
查找到引发该问题的进程后,kill掉业务恢复了正常。
最后oracle 给回复说是oracle 在与tuxedo协同工作的一个bug,建议升级到9.2.0.8。
从latch的工作原理上来说我想大概能照样描述:
latch是在内存区域保证内存结构一致性的序列话的锁,当这个进程因为某种原因在分布事物中,获得了这种lacth但一直不释放,具体原因不是很清楚,导致其他的分布式事物无法获得这种lacth
所以造成了等待。
现在想搞清楚的是,是什么原因导致了latch不能正常释放?
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/48620/viewspace-896469/ ,如需转载,请注明出处,否则将追究法律责任。