快速找到oradebug hanganalyze产生的trace文件

来源:互联网 发布:乐视c21网络锁破解 编辑:程序博客网 时间:2024/06/09 13:33

      快速找到oradebug hanganalyze产生的trace文件 

      当数据库hang住时,我们DBA经常会使用hang analyze来dump出trace文件,分析hang住的原因,其中用得最多的方法数oradebug hanganalyze了。我们都知道产生的trace文件是存放在bdump目录下,但产生的trc文件名称是什么呢,不知道文件名称,我们就很难找到trc文件。下面就来分析一下在数据库hang住时使用oradebug hanganalyze后显示产生的trc文件路径与名称的方法:

一、sqlplus“/as sysdba”可正常登陆时找到hazenganalyze产生的trc文件

        当数据库还能使用sqlplus “/as sysdba”命令登陆数据库时,使用oradebughanganalyze时,只要在oradebug hangahalyze前,使用了oradebug setmypid,就很容易找到其产生的trc文件的路径与文件号了,如:

$sqlplus “/as sysdba”

SQL> oradebug setmypid;

    已处理的语句

SQL> oradebug hanganalyze 3

    Hang Analysis in /dba/oracle/product/diag/rdbms/litest/trace/litest_ora_5032.trc

 

二、sqlplus “/assysdba”已无法登陆时找到hazenganalyze产生的trc文件

        如果当数据库已经不能用sqlplus “/as sysdba”登陆数据库了,这时,就只能使用sqlplus –prelim /nolog方式强行登陆数据库了,在此种模式下,即便在oradebug hanganalyze前使用了oradebug setmypid,也无法显示出oradebug hanganalyze所产生的trc文件,如下所示:

$sqlplus -prelim /nolog

    SQL*Plus: Release 11.2.0.1.0Production on 星期日 4月 14 13:55:32 2013

    Copyright (c) 1982, 2010, Oracle. All rights reserved.

SQL> connect / as sysdba

    初级连接已建立

SQL>oradebug setmypid

    已处理的语句

SQL>oradebug hanganalyze 3

    已处理的语句

SQL>

  到此时,无任何信息输出,不知产生的trc文件的名称。


    但是,紧接着加上下面命令,可以显示出oradebug产生的trc文件路径与名称:

SQL> oradebug tracefile_name

    /dba/oracle/product/diag/rdbms/litest/trace/litest_ora_3184.trc

 

    总结,当数据库hang住,已经无法正常登陆时,使用-prelim方式强制登陆数据库,要显示出oradebug hang analyze产生的trc文件,记得使用:oradebug tracefile_name 命令。

 

原创粉丝点击