ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 查看Oracle 跟踪文件

查看Oracle 跟踪文件

原创 Linux操作系统 作者:mscpx 时间:2009-06-24 10:56:50 0 删除 编辑
如果使用专用服务器连接,会在 USER_DUMP_DEST 参数指定的目录中生成跟踪文件。
如果使用共享服务器连接,则在 BACKGROUND_DUMP_DEST 参数指定的目录中生成跟踪文件。

要想知道跟踪文件放在哪里,可以从 SQL*Plus 执行 SHOW PARAMETER DUMP_DEST 命令来查看,也可以直接查询 V$PARAMETER 视图:

SQL> connect / as sysdba
Connected.
SQL> select name, value
  2  from v$parameter
  3  where name like '%dump_dest%'
  4  /

NAME
--------------------------------------------------------------------------------

VALUE
--------------------------------------------------------------------------------

background_dump_dest
D:\ORACLE\PRODUCT\10.1.0\ADMIN\ORCL\BDUMP

user_dump_dest
D:\ORACLE\PRODUCT\10.1.0\ADMIN\ORCL\UDUMP

core_dump_dest
D:\ORACLE\PRODUCT\10.1.0\ADMIN\ORCL\CDUMP

跟踪文件名中的数字是(专用服务器)的进程 ID , 可以从 V$PROCESS 视图得到。因此,在实际中(假设使用专用服务器模式),需要访问 4 个视图:
V$PARAMETER :找到 USER_DUMP_DEST 指定的跟踪文件位置。
V$PROCESS :查找进程 ID 。
V$SESSION :正确地标识其他视图中的会话信息。
V$INSTANCE :得到 ORACLE_SID 。


如果无法访问 V$PARAMETER 视图,那么可以使用 DBMS_UTILITY 来访问大多数(但不是全部)参数
的值。从下面的例子可以看出,要看到这个信息(还不止这些),只需要 CREATE SESSION 权限:
SQL> declare
  2     l_string varchar2(255);
  3     l_dummy number;
  4  begin
  5     l_dummy := dbms_utility.get_parameter_value
  6              ('background_dump_dest', l_dummy, l_string);
  7     dbms_output.put_line('background: ' || l_string);
  8     l_dummy := dbms_utility.get_parameter_value
  9              ('user_dump_dest', l_dummy, l_string);
 10     dbms_output.put_line('user: ' || l_string);
 11  end;
 12  /
background: D:\ORACLE\PRODUCT\10.1.0\ADMIN\ORCL\BDUMP
user: D:\ORACLE\PRODUCT\10.1.0\ADMIN\ORCL\UDUMP

PL/SQL procedure successfully completed.


可以使用 DBMS_UTILITY 来找到位置,而且通常你 “ 知道 ” ORACLE_SID ,所以从理论上
讲只需要访问 V$SESSION 和 V$PROCESS。

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

上一篇: 敏捷旅行
请登录后发表评论 登录
全部评论

注册时间:2009-06-01

  • 博文量
    36
  • 访问量
    59918