oradebug

59 篇文章 0 订阅
oradebug的前身是在ORACLE 7时的ORADBX,它可以启动用停止跟踪任何会话,dump SGA和其它内存结构,唤醒ORACLE进程,如SMON、PMON进程,也可以通过进程号使进程挂起和恢复等,还有很多功能,实际上这些功能都不常用,但是我们在看别人做问题诊断时,常看到别人在使用oradebug命令,其实我感觉最好用的就是他可以直接通过命令输出生成trace文件的名称(带路径的哦),省去不少麻烦,系统HANG住用它做分析也比较好用,和大家分享一下它最常用的方法!
1> oradebug有哪些可用命令?
   以sysdba身份登陆数据库,通过oradebug help可以看到oradebug常用命令
   sqlplus / as sysdba
   oradebug help
2> 跟踪当前会话信息
   oradebug setmypid  --跟踪当前会话
   oradebug setospid  --跟踪系统进程
   oradebug setorapid  --跟踪ORACLE进程
   oradebug unlimit   --取消trace文件大小限制     
   oradebug tracefile_name  --查看trace文件名及位置
3> 用oradebug做session级10046或10053
   oradebug setmypid
   oradebug unlimit
   oradebug session_event 10046 trace name context forever ,level 4 --启用会话级10046
   oradebug event 10046 trace name context off   --关闭10046事件
   oradebug tracefile_name  --查看tracefile文件位置及文件名
4> 用oradebug做oracle process级10046
   oradebug setorapid
   oradebug unlimit
   oradebug event 10046 trace name context forever ,level 4
   oradebug event 10046 trace name context off 
   oradebug tracefile_name
5> oradebug系统hang住原因分析
   如果系统HANG住,只要sys用户可以登陆,那么用oradebug做原因分析是非常有用的
   oradebug setmypid
   oradebug unlimit
   oradebug setinst all   --RAC环境
   oradebug hanganalyze 3  -- 级别一般指定为3足够了
   oradebug -g def dump systemstate 10  --RAC环境
   oradebug tracefile_name
6> 获取某进程的状态信息
   oradebug setospid 22180
   oradebug dump processstate 10
   oradebug tracefile_name
7> 获取进程错误信息状态
   oradebug setospid 22180
   oradebug dump errorstack 3
8> 追踪造成错误信息的原因,如ORA-04031
   oradebug event 4031 trace name errorstack level 3
这些是常用到的一些命令,更多信息参考DAVE博客,他介绍的比较详解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值