oracle的使用详解,oracle oradebug使用详解

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博客,他介绍的比较详解

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
oradebugOracle 数据库提供的一个强大的调试工具,可以对数据库实例进行各种诊断和调试,如进程状态、锁定情况、性能评估等。oradebug使用需要具备一定的技术能力和经验,以下是 oradebug 的一些常用用法: 1. 启动 oradebug 在 SQLPLUS 中连接到数据库实例后,使用以下命令启动 oradebug: ```sql SQL> oradebug setmypid; SQL> oradebug unlimit; SQL> oradebug dump systemstate 10; ``` 其中,setmypid 命令用于设置当前 SQLPLUS 会话的进程 ID,unlimit 命令用于取消 oradebug 的输出限制,dump systemstate 10 命令用于生成一个包含当前系统状态的跟踪文件。 2. 暂停和继续进程 使用以下命令可以暂停和继续指定进程: ```sql SQL> oradebug pause; SQL> oradebug unpause; ``` 3. 检查当前进程状态 使用以下命令可以检查当前进程的状态: ```sql SQL> oradebug peek; ``` 4. 跟踪 SQL 语句执行情况 使用以下命令可以跟踪指定 SQL 语句的执行情况: ```sql SQL> oradebug sqltrace; SQL> oradebug tracefile_name; ``` 其中,sqltrace 命令用于开启 SQL 跟踪,tracefile_name 命令用于查看跟踪文件的路径和名称。 5. 检查锁定情况 使用以下命令可以检查当前数据库的锁定情况: ```sql SQL> oradebug dump lock; ``` 6. 检查 SGA 内存使用情况 使用以下命令可以检查当前数据库实例的 SGA 内存使用情况: ```sql SQL> oradebug dump sgastat; ``` 以上是 oradebug 的一些常用用法,可以帮助 DBA 在诊断和调试数据库时更加高效和准确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值