我在PLSQL查到有死锁
然后设置了sql_trace
但是在trace目录下的sicsdb_ora_spid.trc(spid为系统进程id)文件中
找不到DEADLOCK DETECTED ( ORA-00060 )的信息
根据SQL_ID查到的日志也没有报错,如下图,请问我是不是少设置了什么东西么,怎样可以看到死锁详情呢
我在PLSQL查到有死锁
然后设置了sql_trace
但是在trace目录下的sicsdb_ora_spid.trc(spid为系统进程id)文件中
找不到DEADLOCK DETECTED ( ORA-00060 )的信息
根据SQL_ID查到的日志也没有报错,如下图,请问我是不是少设置了什么东西么,怎样可以看到死锁详情呢
参考GPT和自己的思路:
对于这种情况,可能是因为SQL_TRACE并没有捕捉到死锁发生的过程,造成了trace文件中找不到相关信息。因此,建议您使用另一个工具来捕获死锁的信息,比如Oracle的Trace File Analyzer (TFA)工具。
TFA工具可以自动分析跟踪文件、日志文件和操作系统信息,以及自我诊断,从而提供详细的死锁报告。您可以使用以下步骤来使用TFA工具:
安装并配置TFA工具
收集跟踪文件和其他相关日志文件(例如alert.log)
运行tfa命令以分析收集的日志文件:
$ORACLE_BASE/tfa/bin/tfactl diagcollect
检查TFA日志文件,例如 $ORACLE_BASE/tfa/repository/tfa_db/<db_name>/incident/<incident_id>/trace/ 目录下的incident/incident.log 文件。
在TFA日志文件中,您可以找到详细的死锁信息和对应的解决方案。希望这些信息对您有所帮助。