微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – 如何解决ORA-02049和一般锁定问题与Oracle

我偶尔得到ORA-02049进行一些长期运行和/或密集型交易.似乎没有这样的模式,但它发生在一个简单的INSERT上.

我不知道如何获取任何信息或Oracle,但是必须有办法吗?登录锁定或至少一种查看当前锁的方式?

解决方法

一种可能的方法是将distributed_lock_timeout的INIT.ORA参数增加到更大的值.这样就可以让你更长的时间观察v $lock表,因为锁会持续更长时间.

为了实现自动化,您也可以

>每5-10秒运行一次sql作业,将v $lock或sandos给出的查询的值记录到表中,然后分析它以查看哪个会话导致锁定.
>运行STATSPACK或AWR报告.被锁定的会话应该以高的时间出现,因此可以被识别.

v $session还有3个更多的列blocking_instance,blocking_session,blocking_session_status可以添加到上面的查询中,以给出什么是锁定的图片.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐