知识大全 用调试工具DumpOracle系统状态
Posted 状态
篇首语:大道之行,天下为公。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用调试工具DumpOracle系统状态相关的知识,希望对你有一定的参考价值。
用调试工具DumpOracle系统状态 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
如果Oracle数据库hang了 对Oracle进行system dump或hang analyze 是研究和解决问题的有效方法 如果能够连接数据库 并进行操作 则使用oradebug是最简单快捷的办法
但有的时候 数据库由于hang住 sqlplus不能连接时(在 g可以尝试用sqlplus prelim连接数据库) 可以使用操作系统上的调试工具来dump oracle系统状态 因为我的环境是linux 所以我先从gdb来介绍
①首先获得要dump的进程号
ps ef | grep LOCAL
oracle : ? : : oracleretest (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle : pts/ : : grep LOCAL
②调用gdb进行dump
gdb $ORACLE_HOME/bin/oracle
GNU gdb Red Hat Linux ( post rh)
Copyright Free Sofare Foundation Inc
GDB is free sofare covered by the GNU General Public License and you are
wele to change it and/or distribute copies of it under certain conditions
Type show copying to see the conditions
There is absolutely no warranty for GDB Type show warranty for details
This GDB was configured as i redhat linux gnu …(no debugging symbols found)…Using host libthread_db library /lib/tls/libthread_db so ″
Attaching to program: /u /app/oracle/product/ /db_ /bin/oracle process
Reading symbols from /u /app/oracle/product/ /db_ /lib/libskgxp so…(no debugging symbols found)…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libskgxp so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libhasgen so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libhasgen so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libskgxn so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libskgxn so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libocr so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libocr so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libocrb so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libocrb so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libocrutl so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libocrutl so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libjox so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libjox so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libclsra so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libclsra so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libdbcfg so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libdbcfg so
Reading symbols from /u /app/oracle/product/ /db_ /lib/libnnz so…done
Loaded symbols for /u /app/oracle/product/ /db_ /lib/libnnz so
Reading symbols from /usr/lib/libaio so …done
Loaded symbols for /usr/lib/libaio so
Reading symbols from /lib/libdl so …done
Loaded symbols for /lib/libdl so
Reading symbols from /lib/tls/libm so …done
Loaded symbols for /lib/tls/libm so
Reading symbols from /lib/tls/libpthread so …done
[Thread debugging using libthread_db enabled]
[New Thread (LWP )]
Loaded symbols for /lib/tls/libpthread so
Reading symbols from /lib/libnsl so …done
Loaded symbols for /lib/libnsl so
Reading symbols from /lib/tls/libc so …done
Loaded symbols for /lib/tls/libc so
Reading symbols from /lib/ld linux so …done
Loaded symbols for /lib/ld linux so
Reading symbols from /lib/libnss_files so …done
Loaded symbols for /lib/libnss_files so
× a in _dl_sysinfo_int () from /lib/ld linux so
(gdb) print ksudss( )
[Switching to Thread (LWP )]
$ =
(gdb) detach
Detaching from program: /u /app/oracle/product/ /db_ /bin/oracle process
(gdb) quit
③随后即可找到有dump结果的trace文件
ls lrt | grep
rw r—– oracle oinstall Feb : retest_ora_ trc
此时 可以用ass awk工具对trace文件进行简单的分析 具体的ass awk文件
awk f ass awk retest_ora_ trc
就可以获得简单的等待信息
在LINUX下用gdb 在AIX下用dbx
# dbx a
Waiting to attach to process …
Successfully attached to oracle
Type help for help
reading symbolic information …
stopped in iosl select at × c d ($t )
× c d (select+ xfffffffffff ) e ld r × (r )
(dbx) print ksudss( )
Segmentation fault in slrac at × aa ($t )
× aa (slrac+ xe ) lbz r × (r )
(dbx) detach
在HP UX下呢 可以用HP的wdb(可以到HP WDB查看HP WDB的详细信息和下载最新的版本 在solaris上 也会有dbx或gdb(各个平台有多种不同的debugger 其他还有adb mdb等等)
除了通过print ksudss( )进行systemstate dump 还可以进行下面的dump
print ksdhng( ) 相当于oradebug hanganalyze
print ksudps( ) 相当于oradebug dump processstate
print curdmp() 相当于oradebug call curdmp(也就是oradebug dump cursordump)
print ksdtrc( ) 相当于oradebug dump events (这里参数表示level –session –process –system)
print ksdsel( ) –相当于为attach的进程设置 事件level
print skdxipc() –相当于oradebug ipc
print skdxprst() –相当于oradebug procstat
cha138/Article/program/Oracle/201311/17728相关参考
集成开发环境(IDE)能给图形界面应用程序提供一个很好的调试工具但是它却不能调试一个多线程的Java服务器程序 幸运的是有几种工具例如logging应用程序接口(API)或者Java
知识大全 .NET的死锁调试工具:ACorns.Debugging
.NET的死锁调试工具:ACorns.Debugging 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
知识大全 .NET的死锁调试工具——ACorns.Debugging
.NET的死锁调试工具——ACorns.Debugging 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
虽然集成开发环境(IDE)可以为图形化应用程序提供很好的调试设置但是它不允许你调试多线程的Java服务器程序 幸运的是有几个工具可以做到例如日志应用程序接口(API)和Java调试器
VisualC++开发工具与调试技巧整理[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如
VisualC++开发工具与调试技巧整理[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如
二锅头 一、设备及其润滑、液压、气(汽)动、冷却、加热和电气及控制等系统,均应单独调试检查并符合要求。 二、联合调试应按要求进行;不宜用模拟方法代替。 三、联合调试应由部件开始至组件、至单机
二锅头 一、设备及其润滑、液压、气(汽)动、冷却、加热和电气及控制等系统,均应单独调试检查并符合要求。 二、联合调试应按要求进行;不宜用模拟方法代替。 三、联合调试应由部件开始至组件、至单机
知识大全 怎样用U盘装系统之通用PE工具箱装Ghost版XP系统
怎样用U盘装系统之通用PE工具箱装Ghost版XP系统 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
执行机构调试时,下例选项描述正确的是()A、行程开关和力矩开关应调整正确B、执行机构的开度应与阀位表指示相对应C、有自锁保护的执行机构,无需逐项检查其自锁保护的功能D、调节系统在手动状态时,执行机构动