oradebug工具使用2(转载)
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博客,他介绍的比较详解
最新文章
- PHP中静态(static)调用非静态方法详解
- Oracle 用户管理与权限控制
- bzoj4429: [Nwerc2015] Elementary Math小学数学
- POJ 1330 Nearest Common Ancestors(Targin求LCA)
- oracle--知识点汇总1
- ACM/ICPC 之 数据结构-邻接表+DP+队列+拓扑排序(TSH OJ-旅行商TSP)
- c#将http调用返回额json中的有关中文的unicode转换为中文(转)
- Scheme Implementations对比
- JS-商品图片放大器
- sourceTree初识
- 游标的小知识(借鉴and整理)
- jsp基础语言-jsp声明
- 如何为 SpringMVC 编写单元测试:普通 Controller 测试(转)
- log4j学习总结
- linux网关设置
- python 求3到8位数的水仙花数Pycharm实现
- AltiumDesigner PCB布局布线过程与技巧
- Java常用的类 包 接口
- radio单选框
- bzoj4353: Play with tree