怎样用调试工具Dump Oracle系统状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用调试工具Dump Oracle系统状态相关的知识,希望对你有一定的参考价值。

当Oracle系统hang住 ,无法使用一切方法登录时 (包括 sqlplus -prelim / as sysdba),我们可以使用gdb调试工具来对 Oracle做系统 dump ,通过 系统 dump信息 判断 具体hang的原因 。 若直接 将 进程 kill 掉,则将失去现场 无法帮助今后避免 这样的hang情况。
要使用gdb 外部工具, 就需要知道目前实例中后台进程的进程号。
我们一般通过 以下命令列出 Oracle 进程:ps -ef|grep <SID>
[oracle@rh2 ~]$ ps -ef|grep oraclewebmoney
oracle 16996 16995 0 21:55 ? 00:00:00 oraclewebmoney (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
然后启动gdb ,指定Oracle软件中二进制文件 oracle的位置和 进程id
[oracle@rh2 udump]$ gdb $ORACLE_HOME/bin/oracle 16996
GNU gdb Red Hat Linux (6.3.0.0-1.159.el4rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome 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 “x86_64-redhat-linux-gnu”…
(no debugging symbols found)
Using host libthread_db library “/lib64/tls/libthread_db.so.1″.
Attaching to program: /u01/oracle/product/10.2.0/db_1/bin/oracle, process 14594
参考技术A 但有的时候,数据库由于hang住,sqlplus不能连接时(在10g可以尝试用sqlplus -prelim连接数据库),可以使用操作系统上的调试工具来dump oracle系统状态。...

oracle dump是啥

这个是oracle的导出的文件,一般需要简单备份的话可以用这种方式 ,导出保存以后你可以给他导入到其他库里面 这个oracle是有专门工具做这个的 ,你也可以用工具进行导入导出 更加方便一点 比如
PLSQL Developer 这个工具
参考技术A oracle dump是oracle对象文件,使用exp导出对象文件,可以使用imp导入到其他的oracle数据库中 参考技术B 转储ORACLE内存信息

以上是关于怎样用调试工具Dump Oracle系统状态的主要内容,如果未能解决你的问题,请参考以下文章

第五章

怎样正确退出Keil的调试状态

windbg 怎么调试dmp文件

Java千百问_07JVM架构(014)_什么是Dump文件

如何手工抓取dump文件

如何手工抓取dump文件及分析