db2 db2trc 跟蹤資訊

2021-10-03 21:41:43 字數 4459 閱讀 4408

db2trc 命令控制隨 db2® 提供的跟蹤工具。跟蹤工具記錄有關操作的資訊並將此資訊格式化為可讀格式。

記住,執行跟蹤時會增加開銷,所以啟用跟蹤工具可能會影響系統效能。

通常 db2 支援機構和開發團隊使用 db2 跟蹤故障診斷。您可以執行跟蹤來獲取有關正在調查的問題的資訊,但如果您不了解 db2 源**,它的用途將十分有限。

即使只要求您獲取跟蹤檔案,您也應該知道如何正確地啟動跟蹤以及如何轉儲跟蹤檔案。

需要 sysadm、sysctrl 或 sysmaint 許可權的其中一種許可權來使用 db2trc。

[db2inst2@cognoswithdb2 ~]$ db2trc

stage #1 - collection

usage: db2trc [facility] [-u]

[facility]

db2 - db2 instance (default)

das - db2 administration server instance

cf - cf server

cfcli - cf client

change - change trace options

clear - clear the trace buffer

dump - generate trace dump file

info - information

off - disable the trace facility

on - enable the trace facility

stop - stop tracing

stage #2 - parsing

usage: db2trc [-u]

ccfmt - dump and format a code coverage trace

flow - generate control flow diagram

format - format

formattedflow - generate global flow diagram

info - information

perffmt - format a performance trace

perfrep - format a performance report

for more information add the "-u" option to any of the above commands

[db2inst2@cognoswithdb2 ~]$

db2trc on -u
這會提供有關可在啟動 db2 跟蹤時指定的所有附加選項(標註為「工具」)的資訊。

啟用跟蹤時,最重要的選項是 -l。它指定用於儲存跟蹤資訊的記憶體緩衝區的大小。緩衝區大小可以位元組或兆位元組為單位來指定。要指定兆位元組,那麼在值後面追加「m」或「m」。跟蹤緩衝區大小必須是 2 兆位元組的冪。如果指定的大小不符合此要求,那麼緩衝區大小將自動捨入為最接近的 2 的冪。

如果緩衝區太小,那麼資訊可能會丟失。在預設情況下,如果緩衝區變滿,那麼只會保留最新的跟蹤資訊。如果緩衝太大,可能難以將檔案傳送至 db2 支援團隊。

如果跟蹤時間相對較短的操作(如資料庫連線),那麼大概 8mb 大小通常就已足夠:

c:\> db2trc on -l 8m 

已啟動跟蹤

但是,如果跟蹤規模較大的操作或者同時在進行大量工作,那麼可能需要較大的跟蹤緩衝區。

在大多數平台上,跟蹤可按如上所述隨時開啟並工作。但是,有些特定情況需要注意:

在多資料庫分割槽系統上,必須對每個物理(相對於邏輯)資料庫分割槽執行跟蹤。

在 hp-ux 上,linux® 和 solaris 平台上,如果在啟動例項後關閉跟蹤,那麼不管指定大小如何,下一次啟動跟蹤時都會使用非常小的緩衝區。例如,昨天您通過使用 db2trc on -l 8m 啟動了跟蹤,然後收集了跟蹤資訊,然後停止了跟蹤(db2trc off)。今天您希望在不關閉並重新啟動例項的情況下,執行跟蹤並將記憶體緩衝區設定為 32 mb(db2trc on -l 32m)。您會發現在此情況下,跟蹤僅獲得很小的緩衝區。為了在這些平台上有效地執行跟蹤,應在啟動例項前以所需大小緩衝區啟動跟蹤,並在以後必要時「清除」緩衝區。

使用 on 選項啟用跟蹤工具後,將跟蹤例項所作的所有後續工作。

跟蹤執行時,可使用 clr 選項來清除跟蹤緩衝區。將除去跟蹤緩衝區中的所有現有資訊。

c:\>db2trc clr

已清除跟蹤

要跟蹤的操作完成後,請使用後跟跟蹤檔名的 dmp 選項將記憶體緩衝池轉儲至磁碟。例如:

c:\>db2trc dmp trace.dmp

跟蹤已轉儲至檔案

跟蹤緩衝區轉儲至磁碟後,跟蹤工具將繼續執行。要關閉跟蹤,請使用 off 選項:

c:\>db2trc off

已關閉跟蹤

db2trc dmp 命令建立的轉儲檔案為二進位制格式,並且不可讀取。

要驗證是否可讀取跟蹤檔案,請對二進位制跟蹤檔案進行格式化以顯示流量控制並將格式化輸出傳送至空裝置。下面的示例顯示了用於執行此任務的命令:

db2trc flw example.trc nul
其中 example.trc 使用 dmp 選項生成的二進位制檔案。

此命令的輸出將顯式地指出讀取檔案是否有問題,以及跟蹤是否已合併。

此時,可將轉儲檔案傳送至 db2® 支援機構。他們會根據您的 db2 服務級別來對其進行格式化。但有時可能會要求您在傳送轉儲檔案之前將其轉換為 ascii 格式。這是通過 flw 和 fmt 選項完成的。必須提供二進位制轉儲檔案的名稱及要建立的 ascii 檔案的名稱:

c:\>db2trc flw trace.dmp trace.flw

c:\temp>db2trc flw trace.dmp trace.flw

總跟蹤記錄數:18854

截斷跟蹤:no

合併跟蹤:no

格式化的跟蹤記錄數:1513(pid:2196 tid 2148 節點:-1)

格式化的跟蹤記錄數:100(pid:1568 tid 1304 節點:0)

...c:\>db2trc fmt trace.dmp trace.fmt

c:\temp>db2trc fmt trace.dmp trace.fmt

截斷跟蹤:no

合併跟蹤:no

總跟蹤記錄數:18854

格式化的跟蹤記錄數:18854

如果此輸出指示「合併跟蹤」為「yes」,那麼表示跟蹤緩衝區不夠大,無法包含跟蹤時間段收集的所有資訊。根據情況,合併跟蹤也許是可行的。如果您關心的是最新資訊(除非指定了 -i 選項,否則這是預設情況下保留的資訊),那麼跟蹤檔案中的內容可能已經足夠。但是,如果您關心的是跟蹤時間段開始時發生的情況,或者關心發生的所有情況,那麼您可能想要使用更大的跟蹤緩衝區重做該操作。

將二進位制檔案格式化為可讀文字檔案時,有一些選項可用。例如,可使用 db2trc fmt -xml trace.dmp trace.fmt 轉換二進位制資料並以 xml 可解析格式輸出結果。其他選項顯示在跟蹤命令(db2trc)的詳細描述中。

要注意的另一件事是:在 linux® 和 unix® 作業系統上,db2 在因為嚴重錯誤而關閉例項時會自動將跟蹤緩衝區轉儲至磁碟。因此,如果例項異常結束時啟用了跟蹤,那麼會在診斷目錄中建立乙個檔案,其名稱為 db2trdmp.###,其中 ### 是資料庫分割槽號。windows® 平台上不會發生這種情況。在這些情況下,您必須手動轉儲跟蹤。

總之,以下是 db2trc 命令的常用順序示例:

db2trc on -l 8m

db2trc clr

db2trc dump db2trc.dmp

db2trc off

db2trc flw db2trc.dmp .flw

db2trc fmt db2trc.dmp .fmt

db2trc fmt -c db2trc.dmp .fmtc

db2trc on -f db2trc.dmp -t

db2 connect to 

db2trc off

db2trc flw db2trc.dmp db2trc.flw -t

db2trc fmt db2trc.dmp db2trc.fmt

傳送命令輸出 和 生成的 db2trc.flw db2trc.fmt。

db2 db2trc 跟蹤資訊

db2trc 命令控制隨 db2 提供的跟蹤工具。跟蹤工具記錄有關操作的資訊並將此資訊格式化為可讀格式。記住,執行跟蹤時會增加開銷,所以啟用跟蹤工具可能會影響系統效能。通常 db2 支援機構和開發團隊使用 db2 跟蹤故障診斷。您可以執行跟蹤來獲取有關正在調查的問題的資訊,但如果您不了解 db2 源...

跟蹤DB2的sql語句

查到了以下資料 修改一下db zhang的建議.db2 update monitor switches using bufferpool lock sort statement table timestamp uow on是基於程序 除此之外還可以更改dbm引數 會影響效能 dft mon bufp...

DB2的db2look和db2move的使用

我工作時碰到了乙個需要把乙個老的db2資料庫給拆分,並資料也得移植,我首先想到的是將資料庫進行備份,並重定向恢復成另乙個資料庫,但是嘗試了多次也為成功,於是就只能想想最簡單的方法了export匯出import匯入。一 root localhost su db2inst1 在當前使用者目錄下建立bac...