ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Tips--用oradebug来重新生成在Unix被手工删除的trace文件(原)

Tips--用oradebug来重新生成在Unix被手工删除的trace文件(原)

原创 Linux操作系统 作者:vongates 时间:2018-12-30 07:54:04 0 删除 编辑
在很多的unix系统中,当我们Oracle的进程还在run的时候,如果手工的删除进程的trace文件时,则后续再跟踪此进程时,则不能产生trace文件。这时候我们可在用 oradebug这个工具来手工的flush后,重新生成。

看下面的例子:
此例是在HP-UX中做的测试过程。

[oracle@szvsx505:/opt/oracle]
[DCMESUX]~$ sqlplus /nolog

SQL*Plus: Release 9.2.0.5.0 - Production on Mon Apr 3 13:41:49 2006

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn / as sysdba
Connected.
SQL> select p.PID, p.SPID, s.SID, s.SERIAL#, s.USERNAME, s.PROGRAM, s.MACHINE
2 from v$process p, v$session s
3 where p.ADDR = s.PADDR
4 ;

PID SPID SID SERIAL# USERNAME PROGRAM MACHINE
------ ------ ---- ---------- ------------ ------------------------------ ------------
2 17354 1 1
oracle@SZVSX505 (PMON) SZVSX505
3 17356 2 1
oracle@SZVSX505 (DBW0) SZVSX505
4 17358 3 1
oracle@SZVSX505 (LGWR) SZVSX505
5 17360 4 1
oracle@SZVSX505 (CKPT) SZVSX505
6 17362 5 1
oracle@SZVSX505 (SMON) SZVSX505
7 17364 6 1
oracle@SZVSX505 (RECO) SZVSX505
8 17366 7 1
oracle@SZVSX505 (CJQ0) SZVSX505
9 17368 8 1
oracle@SZVSX505 (ARC0) SZVSX505
10 17370 9 1
oracle@SZVSX505 (ARC1) SZVSX505
11 28642 15 4205 SYS
sqlplus@SZVSX505 (TNS V1-V3) SZVSX505
12 28645 14 607 SYSTEM PLSQLDev.exe APSZVW0349
13 28660 10 282 SYSTEM PLSQLDev.exe APSZVW0349
14 28669 11 2723 SYSTEM sqlplus.exe APSZVW0349

13 rows selected

SQL> show parameter user_dum

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string /oradata/DCMESUX/dump/udump
SQL>
SQL> host ll /oradata/DCMESUX/dump/udump
total 128
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_17951.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_18312.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_19218.trc
-rw-rw---- 1 oracle dba 1096 Mar 24 13:05 dcmesux_ora_23949.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_26140.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_2876.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_7562.trc

SQL> exec dbms_system.set_sql_trace_in_session(11,2723,true);

PL/SQL procedure successfully completed.

SQL> host ll /oradata/DCMESUX/dump/udump
total 128
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_17951.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_18312.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_19218.trc
-rw-rw---- 1 oracle dba 1096 Mar 24 13:05 dcmesux_ora_23949.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_26140.trc
-rw-rw---- 1 oracle dba 3885 Apr 3 13:49 dcmesux_ora_28669.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_2876.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_7562.trc

SQL> exec dbms_system.set_sql_trace_in_session(11,2723,false);

PL/SQL procedure successfully completed.

SQL> host mv /oradata/DCMESUX/dump/udump/dcmesux_ora_28669.trc /oradata/DCMESUX/dump/udump/dcmesux_ora_28669.trc.1

SQL> host ll /oradata/DCMESUX/dump/udump
total 128
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_17951.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_18312.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_19218.trc
-rw-rw---- 1 oracle dba 1096 Mar 24 13:05 dcmesux_ora_23949.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_26140.trc
-rw-rw---- 1 oracle dba 3885 Apr 3 13:49 dcmesux_ora_28669.trc.1
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_2876.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_7562.trc

SQL> exec dbms_system.set_sql_trace_in_session(11,2723,true);

PL/SQL procedure successfully completed.

SQL> host ll /oradata/DCMESUX/dump/udump
total 160
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_17951.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_18312.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_19218.trc
-rw-rw---- 1 oracle dba 1096 Mar 24 13:05 dcmesux_ora_23949.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_26140.trc
-rw-rw---- 1 oracle dba 8933 Apr 3 13:53 dcmesux_ora_28669.trc.1
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_2876.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_7562.trc

SQL> exec dbms_system.set_sql_trace_in_session(11,2723,false);

PL/SQL procedure successfully completed.

SQL> host ll /oradata/DCMESUX/dump/udump
total 160
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_17951.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_18312.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_19218.trc
-rw-rw---- 1 oracle dba 1096 Mar 24 13:05 dcmesux_ora_23949.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_26140.trc
-rw-rw---- 1 oracle dba 8933 Apr 3 13:53 dcmesux_ora_28669.trc.1
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_2876.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_7562.trc

SQL> oradebug setorapid 14
Unix process pid: 28669, image:
oracle@SZVSX505 (TNS V1-V3)
SQL> oradebug flush
Statement processed.
SQL> oradebug close_trace
Statement processed.
SQL> exec dbms_system.set_sql_trace_in_session(11,2723,true);

PL/SQL procedure successfully completed.

SQL> host ll /oradata/DCMESUX/dump/udump
total 192
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_17951.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_18312.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_19218.trc
-rw-rw---- 1 oracle dba 1096 Mar 24 13:05 dcmesux_ora_23949.trc
-rw-rw---- 1 oracle dba 704 Mar 24 13:05 dcmesux_ora_26140.trc
-rw-rw---- 1 oracle dba 9701 Apr 3 13:58 dcmesux_ora_28669.trc
-rw-rw---- 1 oracle dba 8933 Apr 3 13:53 dcmesux_ora_28669.trc.1
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_2876.trc
-rw-rw---- 1 oracle dba 702 Mar 24 13:05 dcmesux_ora_7562.trc

SQL> exec dbms_system.set_sql_trace_in_session(11,2723,false);

PL/SQL procedure successfully completed.

SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29987/viewspace-52019/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-09-11

  • 博文量
    449
  • 访问量
    292701