IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置:首頁數(shù)據(jù)庫Oracle → 如何得到Oracle跟蹤文件的文件名

如何得到Oracle跟蹤文件的文件名

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  跟蹤文件非常有助于我們分析問題,跟蹤文件的文件名可以用以下查詢得到:

  01 SELECT

  02   d.VALUE

  03   || '/'

  04   || LOWER (RTRIM (i.INSTANCE, CHR (0)))

  05   || '_ora_'

  06   || p.spid

  07   || '.trc' trace_name

  08 FROM

  09 (

  10   SELECT

  11     p.spid

  12   FROM

  13     v$mystat m, v$session s, v$process p

  14   WHERE

  15     m.statistic# = 1 AND s.SID = m.SID AND p.addr = s.paddr

  16 ) p,

  17 (

  18   SELECT

  19     t.INSTANCE

  20   FROM

  21     v$thread t, v$parameter v

  22   WHERE

  23     v.NAME = 'thread'

  24   AND

  25     ( v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE) )

  26 ) i,

  27 (

  28   SELECT

  29     VALUE

  30   FROM v$parameter

  31    WHERE NAME = 'user_dump_dest'

  32 ) d;

  1 TRACE_NAME

  2 -----------------------------------------------------------------

  3 /u01/app/oracle/diag/rdbms/logdw/logdw/trace/logdw_ora_8535.trc

  但是每次都要默寫如此常常的SQL語句非常痛苦,我們可以對其包裝成函數(shù),然后讓public都可以執(zhí)行:

  01 create or replace function get_trace_name return varchar2 as

  02     v_result varchar2(300);

  03 begin

  04   SELECT

  05     d.VALUE

  06     || '/'

  07     || LOWER (RTRIM (i.INSTANCE, CHR (0)))

  08     || '_ora_'

  09     || p.spid

  10     || '.trc' trace_name

  11   INTO v_result

  12   FROM

  13   (

  14     SELECT

  15 p.spid

  16     FROM

  17 v$mystat m, v$session s, v$process p

  18     WHERE

  19 m.statistic# = 1 AND s.SID = m.SID AND p.addr = s.paddr

  20   ) p,

  21   (

  22     SELECT

  23 t.INSTANCE

  24     FROM

  25 v$thread t, v$parameter v

  26     WHERE

  27 v.NAME = 'thread'

  28     AND

  29 ( v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE) )

  30   ) i,

  31   (

  32     SELECT

  33 VALUE

  34     FROM v$parameter

  35      WHERE NAME = 'user_dump_dest'

  36   ) d;

  37   return v_result;

  38 end get_trace_name;

  建立公共同義詞:

  1 sys$logdw@logdw SQL> create or replace public synonym get_trace_name for get_trace_name;

  2 sys$logdw@logdw SQL> grant execute on get_trace_name to public;

  現(xiàn)在普通用戶也可以使用了:

  1 sys$logdw@logdw SQL> connect test/test

  2 Connected.

  3 test$logdw@logdw SQL> show user;

  4 USER is "TEST"

  5 test$logdw@logdw SQL> select get_trace_name() from dual;

  6

  7 GET_TRACE_NAME()

  8 ------------------------------------------------------------------

  9 /u01/app/oracle/diag/rdbms/logdw/logdw/trace/logdw_ora_8757.trc

關(guān)鍵詞標簽:Oracle

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制Oracle對user的訪問控制

相關(guān)下載

人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限