错误'ORA-00054:资源忙并且使用NOWAIT指定获取'昨晚在我们的一个预定作业中的TRUNCATE TABLE语句中发生。我需要找出当时哪个进程和DML语句持有锁。我知道我们可以检查锁定对象的任何现有会话,但是我们能否从任何oracle跟踪文件中找出过去错误的详细信息?
答案 0 :(得分:2)
理论上,您可以通过查看v $ active_session_history来查找可能会以独占模式锁定表的查询。另一种理论方法是查看服务器的bdump / udump目录中生成的跟踪。最好的方法是通过事件设置为下次准备,如果出现此特定错误,将生成跟踪。
答案 1 :(得分:1)
您可能想要阅读此博客关于Diagnosing Locking Problems using ASH有很好的信息和演示。