欢迎转载,转载请标明出处: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: