oradebug 是诊断性能和挂起问题的有效工具。
主要用于:
使得sql能够追踪你自己的服务进程以及外部服务进程
转储内部的oracle结构来诊断数据库挂起以及内存损坏情况。
转储数据文件头部信息或撤销分割头部
确定dbms实例使用那些共享内存块和信号量
利用oradebug进行跟踪
oradebug命令介绍
sql>oradebug help
1、利用数据库PID追踪,
SQL> oradebug setorapid 13
Unix process pid: 15905, image: oracle@dbdream (TNS V1-V3)
或者利用操作系统SPID追踪
SQL> oradebug setospid 3064
Oracle pid: 13, Unix process pid: 15905, image: oracle@dbdream (TNS V1-V3)
2、开启追踪SQL
SQL> oradebug event 10046 trace name context forever,level 8
Statement processed.
3、在plsql dev中执行语句
4、关闭SQL追踪
SQL> oradebug event 10046 trace name context off;
Statement processed.
5、查看trace文件
SQL> oradebug tracefile_name
/u01/app/oracle/admin/ora10g/udump/ora10g_ora_15905.trc
hanganalyze命令执行悬挂分析转储。这类转储用来分析数据库的悬挂事件。
SQL>oradebug setmypid;
SQL>oradebug hanganalyze 3;