ITPub博客

首页 > 数据库 > Oracle > oracle oradebug使用详解

oracle oradebug使用详解

原创 Oracle 作者:zhcunique 时间:2021-05-13 09:17:20 0 删除 编辑

oradebug的前身是在ORACLE 7时的ORADBX,它可以启动用停止跟踪任何会话,dump SGA和其它内存结构,唤醒ORACLE进程,如SMON、PMON进程,也可以通过进程号使进程挂起和恢复等,还有很多功能,实际上这些功能都不常用,最好用的是直接通过命令输出生成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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69994536/viewspace-2772035/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
先后就职于银行、券商等金融机构科技部门,从事数据库管理、自动化运维管理与系统运维相关工作,拥有Oracle 11g OCM/OCP证书,通过CFA二级考试。

注册时间:2021-02-04

  • 博文量
    73
  • 访问量
    499662