甲骨文僵局的历史? [英] History of deadlocks in Oracle?
问题描述
oracle是否保留有关死锁的任何历史记录?
Does oracle keeps any history about deadlocks?
例如我是否可以知道在检测到死锁时执行了哪些sql,并且抛出了Oracle异常ORA-00060(在等待资源时检测到死锁)?
e.g. Can i know which sqls were executed when the deadlock was detected, and oracle exception ORA-00060 (deadlock detected while waiting for resource) is thrown?
谢谢.
推荐答案
数据库没有内置的历史记录,但是,当发生死锁时,会发生一些事情.首先,将其记录到alert.log.其次,编写跟踪文件.因此,那里记录了一些历史.
There's no history built-in to the database, however, when a deadlock occurs, a couple of things happen. First, it gets logged to the alert.log. Second, a trace file is written. So, there's some history recorded there.
跟踪文件将包含许多有用的信息,例如: -死锁图 -遇到死锁的SQL -僵局中涉及的其他语句
The tracefile will contain many useful bits of information, such as: - deadlock graph - SQL that encountered the deadlock - other statements involved in the deadlock
这些信息应该可以帮助您找到死锁的来源.
These pieces of information should help you track down the source of the deadlock.
如果您有任何特定的案例或示例,请确定跟踪文件,并张贴我上面提到的内容,我相信有人可以帮助您了解正在发生的事情.
If you have any specific cases or examples, identify the tracefile, and post the pieces I mentioned above, and I'm sure someone will be able to help you understand what's going on.
希望有帮助.
这篇关于甲骨文僵局的历史?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!