欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50366074

9.未公开的Oracle数据库秘密笔记——10027事件与死锁

         当两个或多个会话在持有锁的同时又请求另一个锁,就可能产生一个锁的循环链,从而发生死锁。

         出现死锁时候,ORACLE会出现ORA-00060错误,并针对可能发生死锁的多个会话中的一个进行回滚。会写到跟踪文件。10027事件能让DBA控制生成的诊断信息的数量和类型。

         10027事件能让DBA控制ORA-00060错误对应的诊断信息的数量和类型。

         第一级,跟踪文件只包含一个死锁图和相关会话的当前SQL语句。

         第二级,跟踪文件中的系统状态转储信息,可能有助于诊断死锁发生的原因。

         第四级的跟踪文件中包含的调用栈跟踪信息用途不大,能告诉我们,死锁时,经常正则执行哪个C函数。(如果第一次碰到死锁,建议使用第2级)

         SQL>ALTERSYSTEM SET EVENTS ‘10027 trace name context forever, level 2’;

每个级别中包含的跟踪信息如下图1:

9.未公开的Oracle数据库秘密笔记——10027事件与死锁_oracle数据库