在错误的从os级别remove掉 trace file 之后,怎么找到该trace file的内容?

參考原文:

How to Find the Content of Trace File Generated for an Oracle Process after Removing the Trace File by Mistake at OS Level (Doc ID 805083.1)

适用于:

Oracle Database - Enterprise Edition - Version 8.1.7.4 to 11.2.0.1.0 [Release 8.1.7 to 11.2]

Generic UNIX

Generic Linux





目标:



当错误的从从os级别remove(这个remove是指rm)掉 trace file 之后,oracle进程的trace file 是不会被又一次创建的。



那怎么看到这些trace file的内容?

解决方式:

这样的行为的解释 和解决方式在

Bug 8367394: A NEW TRACE FILE IS NOT BEING CREATED IF THE INITIAL ONE WAS REMOVED



给出了。

--->注意:我看了一下该bug的workground,是restart instance。



在以下的样例中,请注意从11g開始,trace file的位置不在bdump 下。而是在{ADR_HOME}/trace/下。

当进程是alive的时候,进程不会在 trace file上运行close()函数。

进程依旧持有 指向trace file 的  file descriptor。



trace file 的名字包含进程的pid,

因此,除非进程被重新启动,否则我们不能关闭 file descriptor,也不能创建一个用新文件名称或者老文件名称的新文件





这并不意味着,在紧急情况下,你不能訪问该trace file。

当该trace file 被delete掉后。仅仅要file descriptor依旧open,你就能够获得该文件的内容。该内容依旧被正常写。



通过例如以下方法经过file descriptor 来訪问 file



ps -ef|grep v10204|grep dbw0

oracle 11283 1 0 16:23 ? 00:00:00 ora_dbw0_v10204



lsof -p 11283|grep dbw0

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

oracle 11283 oracle REG 3,1 767 20728692 /bdump/v10204_dbw0_11283.trc



从上面的结果中,我们能够看到fd 为2。例如以下也能验证fd 为2



ls -lA /proc/11283/fd | grep dbw0

l-wx------ 1 oracle dba-64 Mar 25 16:24 2 -> /bdump/v10204_dbw0_11283.trc





从os级别 remove掉trace file 。fd 依旧存在,仅仅是file 被delete掉了。



ls -lA /proc/11283/fd | grep dbw0

l-wx------ 1 oracle dba-64 Mar 25 16:24 2 -> /bdump/v10204_dbw0_11283.trc (deleted)



这个fd (file descriptor)在它被关闭 或者 进程被重新启动之前 是存在的。

你能够訪问它的内容:

cat /proc/11283/fd/2 > /tmp/v10204_dbw0_11283.trc

【翻译自mos文章】 在错误的从os级别remove掉 trace file 之后,怎么找到该trace file的内容?的更多相关文章

  1. 【翻译自mos文章】当/var/tmp文件夹被remove掉之后,GI crash,并启动失败,原因是ohasd can not create named pipe

    来源于: GI crashes and fails to start after "/var/tmp" directory was removed as ohasd can not ...

  2. 【翻译自mos文章】11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值

    [翻译自mos文章]11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值 来源于: Default and Minimum ME ...

  3. 【翻译自mos文章】执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误

    执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误. 适用于: Oracle Server - Ente ...

  4. 【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。

    使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式. 參考原文: ORA-01555 Using Automatic Undo M ...

  5. 【翻译自mos文章】job 不能自己主动执行--这是另外一个mos文章,本文章有13个解决方法

    job 不能自己主动执行--这是另外一个mos文章 參考原文: Jobs Not Executing Automatically (Doc ID 313102.1) 适用于: Oracle Datab ...

  6. 【翻译自mos文章】使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法

    使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 參考原文: How to Copy asm files between remote ASM instances usi ...

  7. 【翻译自mos文章】在重建控制文件之前应该考虑的事情

    在重建控制文件之前应该考虑的事情 来源于: Things to Consider Before Recreating the Controlfile (文档 ID 1475632.1) 适用于: Or ...

  8. 【翻译自mos文章】对于每个文件的 file.id and file.incarnation number,重命名文件别名

    对于每个文件的 file.id and file.incarnation number,重命名文件别名 參考原文: Rename Alias of Datafile as Per file.id an ...

  9. 【翻译自mos文章】改变数据库用户sysman(该用户是DB Control Repository 的schema)password的方法

    改变数据库用户sysman(该用户是DB Control Repository 的schema)password的方法 參考原文: How To Change the Password of the ...

随机推荐

  1. vs2015+ffmpeg开发环境配置【转】

    本文转载自:http://blog.csdn.net/hustlx/article/details/51014307 1.在http://ffmpeg.zeranoe.com/builds/ 下载最新 ...

  2. Ice_cream’s world III

    Ice_cream's world III Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Othe ...

  3. Endnote导入共享数据

    Endnote导入共享数据 Endnote是我们经常使用的参考文献管理工具.但是,在云计算还不是很普及的今天,往往每台电脑上都有自己的endnote数据库.这样,换了电脑,要使用同样的参考文献数据时, ...

  4. vim下的autocmd

    AUTOCMD *autocmd.txt* For Vim version 6.2. 最后修改: 2003年3月28日 VIM 参考手册 作者:Bram Moolenaar 翻译:Zimin<c ...

  5. mac安装python3 pandas tushare

    1,升级pip python3 -m pip install --upgrade pip 2,安装依赖包 pip install --user numpy scipy jupyter pandas s ...

  6. java8-3-LambdaMapReduce例子

    public class LambdaMapReduce { private static List<User> users = Arrays.asList( new User(1, &q ...

  7. 移动web开发中自己遇到的三个小题及解决方法

    大家好! 这是我第二次写随笔感想,有不足之处希望大家提出,我也算的上一个小白,自己进入前端行业也刚刚半年,在这里半年里我遇到一个技术大牛的好领导,让我在项目中学到很多,想和大家分享一下! 一. 移动端 ...

  8. Teamwork-六月上旬心得体会

    六月上旬心得体会 在五月末的时候,老师针对我们团队的状况提出了几点建议和解决方案,而这半个月里,我们尝试性地运用了其中的几件工具与方法. 1.燃尽图与每日总结 我们采用的是<构建之法>书中 ...

  9. 在MyEclipse中使用debug模式

     转:http://blog.csdn.net/competerh_programing/article/details/6773371 1, 首先在一个java文件中设断点,然后运行,当程序走到断点 ...

  10. (转)Oracle分区表和索引的创建与管理

    今天用到了Oracle表的分区,就顺便写几个例子把这个表的分区说一说: 一.创建分区表 1.范围分区 根据数据表字段值的范围进行分区 举个例子,根据学生的不同分数对分数表进行分区,创建一个分区表如下: ...