关于dump

来源:互联网 发布:淘宝标题优化时间 编辑:程序博客网 时间:2024/05/16 05:24

使用dump命令可以将oracle运行时内存中的信息或者二进制文件中的信息,如控制文件,数据文件中的指定内容以文本的形式写到日志文件中,便于我们查看,在复杂问题排查或者学习研究中有可能会用到。下面根据例子进行简单的使用介绍。

例如要查看4号数据文件第940个块上的内容,使用如下命令将内容dump到日志文件中

SQL>alter system dump datafile 4 block 940;

运行完成之后我们想知道内容到底写到哪个日志文件中去了呢,该怎么找呢?

dump内容被写到当前服务器进程的日志文件中去了,查找步骤如下:
1、查看当前session
当前session ID为66
2、查找为当前session服务的服务器进程地址(V$session 中的PADDR字段)
这里写图片描述
3、如果oracle是11g以上的版本,可以通过如下命令找到对应的日志文件:
这里写图片描述
4、但如果是10g的版本,v$process中没有tracefile字段,可以通过以下步骤查找

1)通过上面的操作,知道进程地址之后我们可以在v$process视图中找到进程编号
这里写图片描述

2)查找服务器进程日志文件目录(10g之前服务器进程和后台进程的日志文件不放在一起,user_dump_dest目录存放处理前端用户请求的服务器进程日志,BACKGROUND_DUMP_DEST目录存放数据库后台进程的日志,从11g开始统一都放在${ADR_HOME}/trace目录下)
这里写图片描述

3)在日志目录下根据进程编号找到日志文件
这里写图片描述

5、如何看dump文件
可以在文件中查找start dump 与end dump 字样
这里写图片描述

0 0