中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle的跟蹤文件(trace file)

發布時間:2020-06-27 18:35:51 來源:網絡 閱讀:1085 作者:hbxztc 欄目:建站服務器

跟蹤文件通常都是因為通過DBMS_MONITOR(在Oracle Database 9i Relese 2)及更早版本中則是ALTER SESSION SET SQL_TRACE=TRUE啟用了跟蹤的結果,或者是通過10046事件使用擴展的跟蹤工具生成的,如下

Oracle的跟蹤文件(trace file)

這些跟蹤文件包含與診斷和性能有關的信息。它們對于了解數據庫應用的內部工作有著非凡的意義。在一個正常運行的數據庫中,你會經常看到這些跟蹤文件,而且遠比看到其他類型的跟蹤文件多得多。

1 文件位置

不論是使用DBMS_MONITORSQL_TRACE還是擴展的跟蹤工具,Oracle都會在數據庫服務器主機的以下兩個位置生成一個跟蹤文件。

  • 如果使用專用服務器連接,會在user_dump_dest參數指定的目錄中生成跟蹤文件。

  • 如果使用共享服務器連接,則會在background_dump_dest參數指定的目錄中生成跟蹤文件。

注意:11g版本中background_dump_destuser_dump_dest參數將要被廢棄掉,雖然還可以使用這兩個參數進行查詢但可以使用使用新的參數或視圖進行查詢。

使用show parameter dump_dest命令來查看目錄,也可以直接查詢V$PARAMETER視圖,或查詢新的V$DIAG_INFO 視圖

Oracle的跟蹤文件(trace file)

 Oracle的跟蹤文件(trace file)

V$DIAG_INFOOracle Database 11g新增的視圖,這在較早的版本中還沒有。它是訪問新增ADR工具所用跟蹤信息的一個更容易的接口。

Oracle Database 11g調整了很多文件的默認存儲位置,使它們組織得更好一些,從而能更容易地記錄對Oracle的服務請求。其中最重要的行包括下面兩項:

  • Diag Trace:這是Oracle Database     11g中跟蹤文件(包括后臺和用戶轉儲目標)所在的位置。

  • Default Trace File:這是當前會話的跟蹤文件名。在較早的版本中,這個文件名可能很難得到。在Oracle Database     11g中,只需要對V$DIAG_INFO簡單的查詢就可以返回這個文件的完全限定文件名。

2命名約定

Oracle中跟蹤文件的命名約定總在變化,示例如下:

跟蹤文件名

數據庫版本

ora_10583.trc

9i Release 1

ora9ir2_ora_1905.trc

9i Release 2

ora10gr2_ora_6793.trc

10g Release 2

ora11gr2_ora_1990.trc

11g Release 2

跟蹤文件名可以分為以下幾個部分。

文件名的第一部分是ORACLE_SID(9i Release 1例外)

文件名的下一部分只有一個ora

跟蹤文件名中的數字是專用服務器的進程ID,可以從V$PROCESS視圖得到。

Oracle Database 11g能方便使用V$DIAG_INFO視圖,在該版本之前,實際(假設使用專用服務器模式)需要訪問4個視圖。

V$PARAMETER:找到USER_DUMP_DEST指定的跟蹤文件位置,找到可能在跟蹤文件名中用到的可選的tracefile_identifier

V$PROCESS:查找進程ID

V$SESSION:正確地標識其他視圖中的會話信息。

V$INSTALCE:得到ORACLE_SID

使用下面的查詢可以生成跟蹤文件名:

SELECT C.VALUE || '/' || D.INSTANCE_NAME || '_ora_' || A.SPID || CASE

         WHEN E.VALUE IS NOT NULL THEN

          '_' || E.VALUE

       END || '.trc' TRACE

  FROM V$PROCESS A, V$SESSION B, V$PARAMETER C, V$INSTANCE D, V$PARAMETER E

 WHERE A.ADDR = B.PADDR

   AND B.SID = USERENV('sid')

   AND C.NAME = 'user_dump_dest'

   AND E.NAME = 'tracefile_identifier';

Oracle的跟蹤文件(trace file)Oracle的跟蹤文件(trace file)

如果文件存在就可以通過名字訪問它。只有在啟用跟蹤后才能出現跟蹤文件。在Windows平臺上要把/換成\

3 對跟蹤文件加標記

有一種辦法可以對跟蹤文件“加標記”,這樣即便無權訪問V$PROCESSV$SESSION,也能找到跟蹤文件。假設你能讀取user_dump_dest目錄,就可以使用會話參數tracefile_identifier。采用這種方法可以為跟蹤文件名增加一個可以唯一標識的串:


可以看到,跟蹤文件還是采用標準的<ORACLE_SID>_ora_<PROCESS_ID>格式命名,但是這里還有為它指定的唯一的串,這樣就能很容易找到跟蹤文件名。


參考《Oracle 9i 10g 11g編程藝術  深入數據庫體系結構 》

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉溪市| 阿坝县| 卓资县| 阆中市| 扎鲁特旗| 巫山县| 高碑店市| 龙山县| 稻城县| 田东县| 肥东县| 青冈县| 综艺| 赤城县| 房山区| 任丘市| 赫章县| 宜黄县| 九龙坡区| 大兴区| 鄂托克前旗| 湟中县| 九江县| 田阳县| 华坪县| 黄陵县| 林周县| 普兰店市| 繁昌县| 镇康县| 长宁县| 墨江| 高淳县| 忻州市| 岐山县| 广元市| 革吉县| 旬邑县| 泰来县| 额尔古纳市| 汽车|