昨晚,一个错误'ORA-00054:资源繁忙和NOWAIT指定的获取‘发生在我们计划作业中的截断表语句中。我需要找出当时哪个进程和DML语句持有锁。我知道我们可以检查锁定对象的任何现有会话,但是我们能从任何oracle跟踪文件中找出过去错误的细节吗?
发布于 2013-11-07 12:33:30
理论上,您可以通过查看v$active_session_history查询来实现这一点,这些查询可能会将您的表锁定为独占模式。另一种理论方法是查看在服务器的bdump/udump目录中生成的跟踪。最好的方法是通过事件设置为下一次做好准备,这将生成跟踪,以防出现此特定错误。
发布于 2013-11-07 20:04:24
你可能想看看这个关于用ASH诊断锁定问题的博客,里面有很好的信息和演示。
https://stackoverflow.com/questions/19303674
复制相似问题