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

在错误的从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 2 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

时间: 2024-09-30 05:11:54

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

【翻译自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 create named pipe (文档 ID 1567797.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.2 and later Information in this document applies to

【翻译自mos文章】当NFS server 宕机后,Oracle 数据库 冻结并且alert 文件里没有任何错误

当NFS server 宕机后,Oracle 数据库 冻结并且alert 文件里没有任何错误 翻译自mos文章:When NFS Server Is Down, Oracle Server Freezes With No Errors In Alert Log File (文档 ID 1316251.1) 适用于: Oracle Server - Enterprise Edition - Version: 10.2.0.4 and later   [Release: 10.2 and later

【翻译自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 - Enterprise Edition - Version 8.1.7.0 and later Information in this document applies to any platform. Checked for relevance on 15-Sep-2012 原因: 运行 utlpwdmg.

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

使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方案. 参考原文: ORA-01555 Using Automatic Undo Management - Causes and Solutions (Doc ID 269814.1) 适用于: Oracle Database - Enterprise Edition - Version 9.0.1.0 and later Information in this document

【翻译自mos文章】oracle db 中的用户账户被锁--查看oracle用户的尝试次数

参考原文: Users Accounts Getting Locked. (Doc ID 791037.1) 其实这个文章是为oracle 别的软件产品写的,不过涉及到user 锁定问题,那还是跟db有关系. 该文章我就不全部翻译了,只翻译最有用的一点: ---lcount列是记录oracle用户用错误的密码登陆db的登陆的次数. Select lcount from SYS.USER$ where name ='<USERNAME>' [翻译自mos文章]oracle db 中的用户账户被锁

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

使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 参考原文: How to Copy asm files between remote ASM instances using ASMCMD command (Doc ID 785580.1) 适用于: Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.2.0.2 [Release 11.1 to 11.2] Information in thi

【翻译自mos文章】SYS_OP_C2C 导致的全表扫描(fts)/全索引扫描

SYS_OP_C2C 导致的全表扫描(fts)/全索引扫描 参考原文: SYS_OP_C2C Causing Full Table/Index Scans (Doc ID 732666.1) 适用于: Oracle Database - Enterprise Edition - Version 10.1.0.2 to 12.1.0.1 [Release 10.1 to 12.1] Information in this document applies to any platform. This

【翻译自mos文章】rman 备份时报:ORA-02396: exceeded maximum idle time

rman 备份时报:ORA-02396: exceeded maximum idle time 参考原文: RMAN backup faling with ORA-02396: exceeded maximum idle time, please connect again (Doc ID 1446182.1) 适用于: Oracle Server - Enterprise Edition - Version 11.2.0.1 and later Information in this docu

【翻译自mos文章】ABMR:在asm 环境中测试Automatic Block Recover 特性的方法

ABMR:在asm 环境中测试Automatic Block Recover 特性的方法 参考原文: ABMR: How to test Automatic Block Recover Feature with ASM setup (Doc ID 1510090.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Information in this document applies to any