使用oradebug收集数据库诊断信息
使用oradebug收集数据库诊断信息
- 连接到数据库
- 收集hanganalyze转储
- 收集systemstate转储
- 收集errorstack转储
oradebug
是 Oracle 数据库中一个强大的诊断工具,主要用于深入查数据库内部状态、跟踪进程行为、生成诊断信息(如跟踪文件、内存转储等),帮助数据库管理员(DBA)诊断复杂问题(如死锁、进程挂起、性能异常等)。
连接到数据库
使用数据库管理员连接到数据库。
sqlplus '/ as sysdba'
当数据库出现严重性能问题或hang起的时候,服务器端sqlplus连接数据库可能非常慢,或者根本无法连接。对于10gR2以及更高的版本,可以尝试以下方式:
sqlplus -prelim '/ as sysdba'
注:从11.2.0.2版本开始,hanganalyze在sqlplus -prelim
模式下不会生成输出,因为它需要一个进程状态对象和一个会话状态对象。
如果尝试执行hanganalyze,尽管看起来会成功:
SQL> oradebug hanganalyze 3
Statement processed.