db2diag - db2diag ログ分析ツール・コマンド
db2diag単一ログ・ファイルと循環ログ・ファイルの両方をフィルターに掛け、フォーマット設定します。 db2diag コマンドは、 diagsize データベース・マネージャー構成パラメーターを設定すると、ローテーション db2diag ログ・ファイルから読み取ります。 それ以外の場合、デフォルトでは、コマンドはデフォルトのdb2diag.logファイルから読み取ります。
許可
なし
必要な接続
なし
コマンド構文
コマンド・パラメーター
- -global
- ログ・ファイルの処理に、すべてのホスト上にあるすべてのデータベース・パーティションからの db2diag ログ・ファイルをすべて含めることを指定します。注: このオプションは、循環診断ログ・ファイル、および分割診断データ・ディレクトリーにあるファイルをサポートします。 このオプションを -follow オプションと組み合わせて使用することもできます。
- -merge
- 診断ログ・ファイルをマージし、レコードをタイム・スタンプに基づいてソートします。 このオプションは、循環診断ログ・ファイルと、分割診断データ・ディレクトリー内のファイルをサポートします。
このパラメーターの後に複数の filename 値がスペースで区切られていない場合、 diagpath データベース・マネージャー構成パラメーターおよび alt_diagpath データベース・マネージャー構成パラメーターによって指定されたディレクトリー内の db2diag ログ・ファイルがマージされます。 診断データ・ディレクトリー・パスが複数のデータベース・パーティションにまたがって分割されている場合、現在のホストのデータベース・パーティションにある db2diag ログ・ファイルのみマージされます。
ファイル名が1つだけ指定された場合、またはdiagpathデータベース・マネージャー構成パラメーターの指定パスに診断ファイルが1つだけあり、alt_diagpathデータベース・マネージャー構成パラメーターが設定されない場合、単一の診断ログ・ファイルは、-mergeコマンド・パラメーターが指定されないみたいに、コマンドに実行されません。
このパラメーターは、-facility、-follow、または-archiveパラメーターと一緒に使用できません。 Db2® バージョン 9.7 フィックスパック 7 以降、 -merge パラメーターは、 alt_diagpath ディレクトリー内の db2diag.log ファイルの自動マージをサポートしています。
- -global -merge -sdir sharedDirPathname
- -global オプションと -merge オプションを一緒に指定すると、すべてのホスト上にあるすべてのデータベース・パーティションからの db2diag ログ・ファイルがすべてマージされ、タイム・スタンプに基づいてレコードがソートされます。 このパラメーターは、循環診断ログ・ファイルと、分割診断データ・ディレクトリー内のファイルをサポートします。
他のホストから取得したマージ診断ログ・ファイルを一時的に保存するには、-sdir sharedDirPathnameパラメーターを指定しなければなりません。 一時的にマージされた診断ログ・ファイルは、処理の完了後に削除されます。 sharedDirPathname 変数には、すべてのホストがアクセス権限と書き込み権限を持つ共有ディレクトリーを指定する必要があります。
- filename
- 処理する Db2 診断ログのパス名を指定します (複数の場合はスペースで区切ります)。 ファイル名が省略されると、現行ディレクトリーの db2diag ログ・ファイルが処理されます。 ファイルが見つからない場合は、 diagpath データベース・マネージャー構成パラメーターに設定されたディレクトリー(複数可)が検索されます。
- -facility | -fac
- 対応するファシリティーからファイルを読み取ります。 ファシリティーとは、複数のレコードを論理的にグループ化したものです。 例えば、すべてのオプティマイザー統計レコードは OPTSTATS ファシリティーにグループ化されます。 これは、デフォルトではテキスト・フォーマットで出力されます。 有効なファシリティー・オプションは次の値です。
- ALL
- すべてのファシリティーからレコードを戻します。
- MAIN
- Db2 の汎用診断ログ (例えば db2diag ログ・ファイルおよび循環イベント・ログなど) からレコードを戻します。
- OPTSTATS
- オプティマイザー統計に関連したレコードを返します。
- -fmt formatString
%field
、%{field}
、@field
、または@{field}
の形式のレコード・フィールドを含むフォーマット・ストリング formatStringを使用して、 db2diag 出力をフォーマットします。%{field}
@{field}
は、フィールド名を、フィールド名の後に続く英数字(またはその他の許可された文字)から分離するために使われます。 フィールド名はすべて大文字小文字を区別しません。 フィールド名は、フィールド名を固有に識別するために必要な範囲で、 最初の数文字に短縮することができます。 さらに、長い名前のフィールドには別名を使用できます。 フィールド名の前の接頭部 % または @ は、 フィールドが空の場合にフィールドの前のテキストを表示する (%) かしない (@) かを指定します。現在、次のフィールドが使用可能です。
- timestamp | ts
- タイム・スタンプ。 このフィールドは、
%tsyear
、%tsmonth
、%tsday
、%tshour
、%tsmin
(分)、%tssec
(秒)、%tsmsec
(UNIX オペレーティング・システムの場合はマイクロ秒、Windows オペレーティング・システムの場合はミリ秒) の各構成要素フィールドに分割できます。 - timezone | tz
- UTC (Universal Coordinated Time) との差 (分)。 例えば、東部標準時の場合は -300 です。
- recordid | recid
- レコードの固有の英数字 ID (例えば I11455A696)。
- audience
- ログに記録されたメッセージの対象ユーザー。
'E'
は、外部ユーザー (IBM のお客様、サービス・アナリスト、および開発者) を示します。'I'
は、内部ユーザー (サービス・アナリストおよび開発者) を示します。'D'
は、開発者のデバッグ情報を示します。 - level
- メッセージの診断レベル。 そのレベルは、
Info
、Warning
、Error
、Severe
、Critical
、Event
です。 - source
- ログ記録エラーの発生元のロケーション:
Origin
、OS
、Received
、またはSent
。 - instance | inst
- インスタンス名。
- node
- データベース・パーティション・サーバー番号。
- database | db
- データベース名
- pid
- プロセス ID。
- tid
- スレッド ID。
- eduid
- EDU ID。
- eduname
- EDU 名。
- tenantid
- テナント ID
- process
- プロセス ID に関連付けられた名前。二重引用符で囲みます。 例えば、
"db2sysc.exe"
などです。 - product
- 製品名。 例えば、
DB2 COMMON
などです。 - component
- コンポーネント名。
- funcname
- 関数名。
- probe
- プローブ番号。
- function
- 全機能の説明:
%prod
、%comp
、%funcname
、probe:%probe
。 - appid
- アプリケーション ID。 この値は、appl_id 監視要素データと同じです。 この値を解釈する方法について詳しくは、 appl_id-アプリケーション ID モニター・エレメント を参照してください。
- coordnode
- コーディネーター・パーティション。
- coordindex
- コーディネーター索引。
- apphdl
- アプリケーション処理:
%coordnode - %coordindex
。 - message | msg
- エラー・メッセージ。
- calledprod
- エラーを戻した関数の製品名。
- calledcomp
- エラーを戻した関数のコンポーネント名。
- calledfunc
- エラーを戻した関数の名前。
- called
- エラーを返した関数の詳細説明。
%calledprod
、%calledcomp
、%calledfunc
の形式です。 - rcval
- 戻りコード値 (32 バイト)。
- rcdesc
- エラーの説明。
- retcode | rc
- 呼び出された関数に戻された戻りコード:
%rcval %rcdesc
。 - errno
- システム・エラー番号。
- errname
- システム固有のエラー名。
- oserror
- システム呼び出しによって次の形式でオペレーティング・システム・エラーが戻されました:
%errno %errname
。 - callstack
- 呼び出しスタック。
- datadesc
- データの説明。
- dataobject
- データ・オブジェクト。
- data
- 次の形式のメッセージの完全なデータセクション:
%datadesc %dataobject
。 - argdesc
- 引数の説明。
- argobject
- 引数オブジェクト。
- arg
- エラーが返された関数呼び出しの引数:
%argdesc %argobject
。 - Event descriptions:
- impact
- ユーザーへの影響 (イベントのみ)。
- startevent
- 開始イベントの説明 (*)。
- stopevent
- 停止イベントの説明 (*)。
- changeevent
- 変更イベントの説明 (*)。
- init
- 初期化イベントの説明 (*)。
- fini
- 終了イベントまたはファイナライズ・イベントの説明 (*)。
- startup
- スタートアップ・イベントの説明 (*)。
- terminate
- 終了イベントの説明 (*)。
- bringdown
- 停止イベントの説明 (*)。
- interrupt
- 割り込みイベントの説明 (*)。
- associate
- 関連付けイベントの説明 (*)。
- disassociate
- 関連付け解除イベントの説明 (*)。
- changecfg
- 構成変更イベントの説明 (*)。
- transfer
- 転送イベントの説明 (*)。
- dispatch
- ディスパッチ・イベントの説明 (*)。
- switch
- 切り替えイベントの説明 (*)。
- report
- レポート・イベントの説明 (*)。
- get
- 取得イベントの説明 (*)。
- free
- 解放イベントの説明 (*)。
- open
- オープン・イベントの説明 (*)。
- close
- クローズ・イベントの説明 (*)。
- work
- 作業イベントの説明 (*)。
- wait
- 待機イベントの説明 (*)。
- available
- 使用可能イベントの説明 (*)。
- connect
- 接続イベントの説明 (*)。
- disconnect
- 切断イベントの説明 (*)。
- accept
- 受け入れイベントの説明 (*)。
- recv
- 受信イベントの説明 (*)。
- send
- 送信イベントの説明 (*)。
- create
- 作成イベントの説明 (*)。
- destroy
- 破棄イベントの説明 (*)。
- request
- 要求イベントの説明 (*)。
- reply
- 応答イベントの説明 (*)。
- dependency
- 従属関係イベントの説明 (*)。
- write
- 書き込みイベントの説明 (*)。
- read
- 読み取りイベントの説明 (*)。
- reset
- リセット・イベントの説明 (*)。
- collect
- 収集イベントの説明 (*)。
- add
- 追加イベントの説明 (*)。
- alter
- 変更イベントの説明 (*)。
- drop
- ドロップ・イベントの説明 (*)。
- invalidate
- 無効化イベントの説明 (*)。
- grant
- 付与イベントの説明 (*)。
- revoke
- 取り消しイベントの説明 (*)。
- (*) Each event field has the following subfields:
- {event}type
- イベント・タイプ (START、STOP、READ、WRITE、GET)。
- {event}desc
- イベント記述 (イベント情報付きのヘッダー)。
- {event}state
- イベントの状態 (成功、失敗、開始、停止、進行中、アイドル) またはイベントの進行状況 (%)。
- {event}attr
- イベントの属性 (ビジネス・レベル、キャッシュ、同期、非同期、内部、外部、論理、物理、自動、手動、一時、永続)。
- {event}objid
- 固有のオブジェクト ID (TABLE、CFG、DBM)。
- {event}objname
- イベント・オブジェクト名 (例えば、"schema.tablename")。
- {event}objdata
- オブジェクト・データ (オブジェクトがストリングまたは単純な整数タイプでない場合、例えば、データ構造体や何らかの複合タイプである場合に使用されます)。
- {event}qtype
- イベント修飾子のタイプ (FROM、TO、ON、FOR、AT、BY、CONTEXT)。
- {event}qname
- イベント修飾子の名前または値 (例えば FOR "DB ABC")。
- {event}qdhdr
- イベント修飾子のデータ・ヘッダー (データのタイプ、テキスト記述、およびサイズが含まれます)。 %{event}qdata フィールドと共に使用されます。
- {event}qdata
- イベント修飾子データ (修飾子がストリングまたは単純な整数タイプでない場合、例えば、何らかのデータ構造体や複合タイプである場合に使用されます)。
上記のリストで、{event} キーワードを特定のイベントのイベント・タイプに置き換えてください (例えば、start、stop、change、read、または write)。
フィールド名の前のテキストを常に表示する (例えば、必須フィールドの場合など) には、 % フィールド接頭部が使用されます。 あるフィールドにデータが入っている場合に、そのフィールド名の前のテキストを表示するには、 @ 接頭部を使用します。 必須フィールドおよびオプション・フィールドは、任意のテキスト記述と組み合わせることができます。
フォーマット文字列に認識される特殊文字は、
\n
、\r
、\f
、\v
と\t
です。他のフィールドとは対照的に、データおよび引数フィールドにはいくつかのセクションを含めることができます。 特定のセクションを出力するには、フィールド名の後に
[n]
を追加します。ここで、nはセクション番号 (1≤ n ≤64
) です。 例えば、最初のデータ・オブジェクトと2番目のデータ記述セクションを出力するには、%{dataobj}[1]
と%{datadesc}[2]
を使ってください。[n]
を使用しない場合、ログに記録されるすべてのセクションは、ログメッセージに表示されるとおりに、事前にフォーマットされたログデータに出力されるため、各データフィールド、引数フィールド、またはセクションの前に、該当テキスト説明を追加したり、改行を区切ったりする必要はありません。- -filter fieldPatternList | -g fieldPatternList
- fieldPatternList は、
fieldName operator searchPattern
という形式のフィールドとパターンのペアのコンマ区切りリストです。演算子は以下の値の 1 つにすることができます。- =
- 単語単位で一致する対象を含むレコードだけを選択します。 (ワード検索。)
- :=
- 検索パターンが大きな対象の一部と一致する場合に、その対象を含むレコードだけを選択します。
- !=
- 一致しない行だけを選択します。 (逆転ワード・マッチング。)
- !:=
- 検索パターンが大きな対象の一部と一致する場合に、その対象を含まない行だけを選択します。
- ^=
- 指定された検索パターンで始まるフィールド値のレコードを選択します。
- !^=
- 指定された検索パターンで始まらないフィールド値のレコードを選択します。
%および@プレフィックスが-fmtオプションに使用されないかぎり、オプションを説明したのと同じフィールドを使用できます。
- -gi fieldPatternList
- -gパラメーターと同じですが、大/小文字は区別されません。
- -gv fieldPatternList
- 指定されたパターンに一致しないメッセージを検索します。
- -gvi | -giv fieldPatternList
- -gvと同じですが、大/小文字は区別されません。
- -lastrecords number-of-records
- db2diagログ・ファイルに指定された最後のレコード数を表示、濾過します。 このパラメーターは、db2diagログ・ファイルごとに、指定レコード数が使用可能かどうかを確認します。 ログ・ファイルで使用可能なレコードの数が指定レコード数より少ない場合、db2diag コマンドはそのファイルで使用可能なすべてのレコードを処理します。 分割診断データ・ディレクトリー・パスを使うと、各パスのdb2diagログ・ファイルごとに、指定された最後のレコード数が返されます。
- -pid processIDList
- リストに含まれているプロセス ID を持つログ・メッセージだけを表示します。
- -tid threadIDList
- リストに含まれているスレッド ID のログ・メッセージだけを表示します。
- -eduid EduIDList
- 1 つ以上のコンマ区切り数値が含まれる EDU ID リストから、指定した EDU ID を持つすべてのレコードを検出します。
- -tenantidTenantIDList
- 1 つ以上のコンマ区切り数値が含まれる TENANT ID リストから、指定した TENANT ID を持つすべてのレコードを検出します。
- -n | -node nodeList
- リストに含まれているデータベース・パーティション番号のログ・メッセージだけを表示します。
- -e | -error errorList
- リストに含まれているエラー番号のログ・メッセージだけを表示します。
- -l | -level levelList
- 1 つまたは複数のコンマ区切りテキスト値 (情報、警告、エラー、重大、クリティカル、イベント) が含まれる重大度レベル・リストから、指定した重大度レベルを持つすべてのレコードを検出します。
- -c | -count
- 検出されたレコードの数を表示します。
- -v | -invert
- パターン・マッチングを反転させて、 指定されたパターンと一致しないすべてのレコードを選択します。
- -strict
- 1行に1つの
field: value
ペアのみを使用してレコードを表示します。 空のフィールドはすべて省略されます。 解析を単純化するために、これをスクリプト用に使用できます。 - -V | -verbose
- すべてのフィールドを、空のフィールドも含めて出力します。
- -exist
- 検索が要求されるときの、レコード内のフィールドが処理される方法を定義します。 このオプションが指定される場合、処理されるフィールドが存在しなければなりません。
- -cbe
- Common Base Event (CBE) Canonical Situation Data
- -o | -output pathName
- 完全修飾 pathName で指定されたファイルに出力を保存します。
- -f | -follow
- 入力ファイルが単一および循環 db2diag ログ・ファイルである場合、
入力ファイルの最後のレコードが処理された後にツールが終了しないことを指定します。 その代わりに、コマンドは指定された期間 (sleepInterval) スリープ状態となり、その後、使用できる状態になるときに入力ファイルから追加のレコードの読み取りと処理を試行します。 入力ファイルの最後の 8 キロバイトに含まれるレコードのみが処理されます。
-fパラメーターは、循環db2diagログ・ファイルを処理できます。 例えば、使用中の最新循環診断ログ・ファイルがdb2diag.23.logである場合、コマンドはそのファイルを読み取ります。 そのファイルがサイズ制限に達すると、コマンドは次に作成される循環ログ・ファイルdb2diag.24.logを読み取ります。
これは、別のプロセスによってファイルに書き込まれるレコードをモニターするときに使用できるオプションです。 startTime オプションは、 この時刻の後にログに記録されたすべてのレコードを表示するために指定されます。 startTime オプションは、YYYY-MM-DD-hh.mm.ss.nnnnnn
の形式を使用して指定します。ここで、- YYYY
- 年を指定します。
- MM
- 月を指定します (01 から 12)。
- DD
- 日を指定します (01 から 31)。
- hh
- 時間を指定します (00 から 23)。
- mm
- 分を指定します (00 から 59)。
- ss
- 秒を指定します (00 から 59)。
- nnnnnn
- UNIX オペレーティング・システムではマイクロ秒、Windows オペレーティング・システムではミリ秒を指定します。
レコードのタイム・スタンプに正確に一致するものが診断ログ・ファイルに存在しない場合、指定されたタイム・スタンプより前の、最も近い時刻が使用されます。
sleepInterval オプションは、スリープ・インターバルを秒数で指定します。 さらに小さな単位が必要な場合、 浮動小数点の値で指定できます。 デフォルト値は 2 秒です。
- -H | -history
- 指定された期間、ログに記録されたメッセージの履歴を表示します。 このオプションには、以下のオプションを指定できます。
- historyPeriod
- ログに記録されたメッセージが、最後に記録されたレコードから始めて、
historyPeriod で指定された期間に関して表示されるように指定します。 historyPeriod オプションは、
Number timeUnit
の形式で指定します。ここで、数値 は時間単位の数、時間単位 は時間単位のタイプを示します。M(月)、D (日)、H (時間)、m (分)、s (秒) です。 Number のデフォルト値は 30 であり、timeUnit デフォルト値は m です。 - historyPeriod:historyReference
- historyReference で指定された開始時刻から後の期間に記録されたログ対象メッセージを表示する (明示的に正の値が historyPeriod に指定されている場合)、または historyReference で指定された終了時刻より前の期間に記録されたログ対象メッセージを表示する (負の値が historyPeriod に指定されている、またはデフォルトの場合) ように指定します。形式は YYYY-MM-DD-hh.mm.ssです。nnnnnn。ここで、
- YYYY
- 年を指定します。
- MM
- 月を指定します (01 から 12)。
- DD
- 日を指定します (01 から 31)。
- hh
- 時間を指定します (00 から 23)。
- mm
- 分を指定します (00 から 59)。
- ss
- 秒を指定します (00 から 59)。
- nnnnnn
- マイクロ秒 (UNIX オペレーティング・システム) またはミリ秒 (Windows オペレーティング・システム) を指定します。
- -t | -time
- タイム・スタンプの値を指定します。 このオプションには、以下のオプションの 1 つまたは両方を指定できます。
- startTime
- startTime の時点と startTime の後にログに記録されたすべてのメッセージを表示します。
- :endTime
- endTime の前と endTime の時点でログに記録されたすべてのメッセージを表示します。
形式は YYYY-MM-DD-hh.mm.ssです。nnnnnn。ここで、- YYYY
- 年を指定します。
- MM
- 月を指定します (01 から 12)。
- DD
- 日を指定します (01 から 31)。
- hh
- 時間を指定します (00 から 23)。
- mm
- 分を指定します (00 から 59)。
- ss
- 秒を指定します (00 から 59)。
- nnnnnn
- マイクロ秒 (UNIX オペレーティング・システム) またはミリ秒 (Windows オペレーティング・システム) を指定します。
レコードのタイム・スタンプに正確に一致するものが診断ログ・ファイルにない場合、 指定されたタイム・スタンプに最も近い時刻が使用されます。
- -A | -archive dirName
- 単一の診断ログ・ファイルと循環診断ログ・ファイルの両方をアーカイブします。 このオプションを指定した場合、
他のすべてのオプションは無視されます。 1 つ以上のファイル名が指定されると、各ファイルは個別に処理されます。
YYYY-MM-DD-hh.mm.ss
という形式のタイム・スタンプがファイル名に追加されます。アーカイブされるファイルおよびディレクトリーの名前は指定できます。 ディレクトリーが指定されない場合、そのファイルはそれが置かれているディレクトリーにアーカイブされ、 ディレクトリー名はファイル名から抽出されます。
ディレクトリーを指定してファイル名を指定しない場合、現行のディレクトリー内で db2diag ログ・ファイルを検索します。 ファイルが検出されると、ファイルは指定のディレクトリーにアーカイブされます。 ファイルが検出されない場合、diagpath および alt_diagpath 構成パラメーターによって指定されたディレクトリー内で db2diag ログ・ファイルが検索されます。 ファイルが検出されると、 指定のディレクトリー内にアーカイブされます。
ファイルまたはディレクトリーを指定しない場合、現行ディレクトリー内で db2diag ログ・ファイルを検索します。 ファイルが検出されると、現行ディレクトリーにアーカイブされます。 ファイルが検出されない場合、diagpath および alt_diagpath 構成パラメーターによって指定されたディレクトリー内で db2diag ログ・ファイルが検索されます。 見つかった場合は、diagpathまたはalt_diagpath構成パラメーターの指定ディレクトリーにアーカイブされます。
db2diag -archive オプションは、 IBM® Data Server Driver Package および IBM Data Server for ODBC および CLI で使用可能です。 このオプションを使用すると、インスタンスのないクライアント上に診断ログ・ファイルをアーカイブできます。 以下に例を示します。$ db2diag -A db2diag: Moving "/home/usr1/clidriver/db2dump/db2diag.log" to "/home/usr1/clidriver/db2dump/db2diag.log_2010-09-14-01.16.26"
- -readfile
- 端末入力を無視して、診断ログ・ファイルから読み取ることを強制します。 このオプションは、特に
stdin
が使用不可になっている場合や自動化ツールが使用されている場合に、 db2diag が端末からではなくファイルから読み取ることを保証するためにスクリプトで使用できます。 rah または db2_all を使用して db2diag コマンドを実行するには、-readfile オプションも使用する必要があります。 - -rc rcList | switch
- 特定の ZRC または ECF の 16 進数または負の 10 進数戻りコードの、スペース区切りリスト rcListの Db2 内部エラー戻りコードの説明を表示します。 以下のスイッチの 1 つを指定することによって、
ZRC または ECF 戻りコードの完全なリストを表示できます。
- zrc
- Db2 ZRC 戻りコードに関する簡略説明を表示します。
- ecf
- Db2 ECF 戻りコードに関する簡略説明を表示します。
- html
- Db2 ZRC 戻りコードに関する簡略説明を HTML 形式で表示します。
このオプションを指定すると、他のすべてのオプションは無視され、出力はディスプレイに送られます。
- -ecfid ecfId
- 数値 ecfId から抽出した関数情報を表示します。 このオプションを指定した場合、 他のすべてのオプションは無視されます。
- -h | -help | ?
- ヘルプ情報を表示します。 このオプションを指定すると、他のすべてのオプションは無視され、
ヘルプ情報だけが表示されます。 1 つ以上のコマンド・パラメーター (複数の場合はコンマで区切る) を含むオプション・リスト optionList が省略されると、使用できるすべてのオプションのリストが簡単な説明とともに表示されます。 optionList に指定された各オプションについては、
さらに詳細な情報と使用例が表示されます。 optionList 引数の代わりに以下のスイッチの 1 つを使用することによって、ツールおよびその使用法の詳細が表示されるようにヘルプ出力を変更できます。
- brief
- すべてのオプションのヘルプ情報を表示します。例は表示しません。
- examples
- ツールの使用に役立ついくつかの標準的な例を表示します。
- tutorial
- 高度なフィーチャーを説明する例を表示します。
- notes
- 使用上の注意と制限を表示します。
- all
- すべてのオプションに関する完全な情報と、各オプションの使用例を表示します。
- -lastlines number-of-lines
- db2diag ログ・ファイルの最後から指定された行数を、表示およびフィルターに掛けます。 このパラメーターを指定すると、db2diag log ファイルごとに指定された行数を取得できるかどうか検査されます。 ログ・ファイル内にある行数が、指定されたレコード数より少ない場合、db2diag コマンドはファイル内にある全行を処理します。 分割診断データ・ディレクトリー・パスを使用している場合、それぞれのパスの db2diag ログ・ファイルごとに、ファイルの最後から指定された行数が戻されます。
例
- 診断データ・ディレクトリー・パスにあるすべての db2diag ログ・ファイルをマージするには、以下のコマンドを入力します。
診断データ・ディレクトリー・パスが複数のデータベース・パーティションに従って分割されている場合、このコマンドは現在のホストのすべてのデータベース・パーティションからの db2diag ログ・ファイルをマージします。 診断データディレクトリパスが分割されない場合、-mergeオプションが指定されていないかのように、単一の診断ログファイルがコマンドによって処理されます。db2diag -merge
- この例では、次のコマンドを使用してdiagpathデータベース・マネージャー構成パラメーターを設定することにより、デフォルトの診断データ・ディレクトリー・パスが物理ホストおよびデータベース・パーティションに従って分割されます。
db2 update dbm cfg using diagpath '"$h$n"'
この例は、すべての診断ログからすべてのレコードの出力を取得し、bower
とhorton
2つのホストのそれぞれにある3つのデータベースパーティションから診断ログファイルをマージする方法を示しています。 以下に示すのは、6 つの db2diag ログ・ファイルのリストです。- ~/sqllib/db2dump/HOST_bower/NODE0000/db2diag.log
- ~/sqllib/db2dump/HOST_bower/NODE0001/db2diag.log
- ~/sqllib/db2dump/HOST_bower/NODE0002/db2diag.log
- ~/sqllib/db2dump/HOST_horton/NODE0003/db2diag.log
- ~/sqllib/db2dump/HOST_horton/NODE0004/db2diag.log
- ~/sqllib/db2dump/HOST_horton/NODE0005/db2diag.log
6 つの db2diag ログ・ファイルすべてのレコードを出力するには、次のコマンドを実行します。db2diag -global
各ホストbower
およびhorton
上の 3 つのデータベース・パーティションすべてからの診断データ・ディレクトリー・パスにある 6 つの db2diag ログ・ファイルすべてをマージし、タイム・スタンプに基づいて出力をフォーマットするには、次のコマンドを入力します。
ここで、/temp/keonはホストdb2diag -global -merge -sdir /temp/keon -fmt %{ts}
bower
とhorton
に共有される共有ディレクトリであり、処理中に各ホストからの一時的にマージされたファイルを格納します。 - すべてのクリティカル・エラー・メッセージを表示するには、以下のいずれかのコマンドを入力します。
またはdb2diag -level critical
db2diag -g 'level=Critical'
- プロセス ID (PID) 52356 のプロセスによって生成される、データベース・パーティション 1、2、または 3 に関するすべての重大エラー・メッセージを表示するには、以下のコマンドを入力します。
db2diag -g level=Severe,pid=952356 -n 1,2,3
- データベース
SAMPLE
とインスタンスaabrashk
を含むすべてのメッセージを表示するには、次のコマンドを入力してください。db2diag -g db=SAMPLE,instance=aabrashk
- データベース・フィールドを含んだすべての重大エラー・メッセージを表示するには、以下のコマンドを入力します。
db2diag -g db:= -gi level=severe
- Db2 ZRC 戻りコード 0x87040055 およびアプリケーション ID G916625D.NA8C.068149162729 が出現するすべてのエラー・メッセージを表示するには、以下のコマンドを入力します。
db2diag -g msg:=0x87040055 -l Error | db2diag -gi appid^=G916625D.NA
- LOADID データを含んでいないすべてのメッセージを表示するには、以下のコマンドを入力します。
db2diag -gv data:=LOADID
- アプリケーションIDフィールドに
LOCAL
パターンが含まれないログ・レコードのみを表示するには、以下のいずれかのコマンドを入力してください。
またはdb2diag -gi appid!:=local
一致しないすべてのレコードが表示されます。 アプリケーション ID フィールドを持つメッセージだけを出力するには、 以下のコマンドを入力します。db2diag -g appid!:=LOCAL
db2diag -gvi appid:=local -exist
- タイム・スタンプ
2003-03-03-12.16.26.230520
メッセージの後に記録されたすべてのメッセージを表示するには、次のコマンドを入力してください。db2diag -time 2003-03-03-12.16.26.230520
- 3 日以内にログに記録された重大エラーを表示するには、以下のコマンドを入力します。
db2diag -gi "level=severe" -H 3d
- 関数名 フィールドの
pdLog
パターンと一致しないすべてのログ・メッセージを表示するには、以下のいずれかのコマンドを入力してください。
またはdb2diag -g 'funcname!=pdLog'
db2diag -gv 'funcn=pdLog'
base sys
から始まるコンポーネント名を含むすべての重大エラー・メッセージを表示するには、次のコマンドを入力してください。db2diag -l severe | db2diag -g "comp^=base sys"
- db2diag.log ファイルの増大を表示するには、次のコマンドを入力してください。
これにより、現行ディレクトリーのdb2diag.logファイルに書き込まれたすべてのレコードが表示されます。 レコードは、ファイルに追加されるときに表示されます。 この情報は、Ctrl-C を押すまで表示されます。db2diag -f db2diag.log
- db2diag.logのコンテキストを/home/user/Logsディレクトリーのdb2diag_123.logファイルに書き込むには、次のコマンドを入力してください。
db2diag -o /home/user/Logs/db2diag_123.log
- デフォルト設定を使用して db2diag を Perl スクリプトから呼び出すには、次のように入力します。
system("db2diag -readfile");
これにより、 db2diag は、 diagpath 構成パラメーターで指定されたディレクトリーからの db2diag.log/db2diag.*.log ファイル (データベース・マネージャーの diagsize 構成パラメーターが設定されている場合はログのローテーション) を強制的に処理します。
- 端末入力を無視して、指定ディレクトリーからdb2diag.log1ファイルを読み取るには、次のように入力してください。
system("db2diag -readfile /u/usr/sqllib/db2dump/db2diag.log1");
ecfId = 0x1C30000E
に対応する機能情報を表示するには、以下のいずれかのコマンドを入力してください。db2diag -ecfid 0x1C30000E
これにより、関数名、コンポーネント、および製品名が表示されます。db2diag -ecfid 472907790
eduid = 123
を含むログ・レコードのみを表示するには、次のコマンドを入力してください。db2diag -eduid 123
eduid = 123
またはeduid = 5678
を含むすべてのレコードを表示するには、次のコマンドを入力してください。db2diag -eduid "123,5678"
eduid = 15
を持つスレッドに生成されたすべての重大エラー・メッセージを表示するには、以下のいずれかのコマンドを入力してくさい。db2diag -g "level=Severe, eduid=15"
db2diag -g level=Severe | db2diag -eduid 15
- データベース・パーティション 1 からの最新の 5 つのフォーマット済みレコードを表示するには、以下のように入力します。
db2diag -lastrecords 5 -node 1 -fmt "%{ts} %{node}"
すべてのdb2diag.log ファイルから最後の10 行を読み取るには、次のコマンドを入力してください。
db2diag -lastlines 10
各ログ・ファイルの最後の 20 行に含まれているレコードをマージするには、以下のようにします。
db2diag -merge file1 file2 file3... -lastlines 20
すべてのホストからの各db2diag.log ファイルの最後の20 行のレコードを表示するには、以下のようにしてください。
db2diag -global -lastlines 20
最後の 100 行に含まれているレコードのうち、Level=Error のレコードをすべて表示するには、以下のようにします。
db2diag -g level=Error -lastlines 100
使用上の注意
- 各オプションは一度だけ指定できます。 オプションは任意の順番で指定でき、オプションのパラメーターを指定することができます。 パラメーターの短縮名を結合することはできません。 例えば、-leではなく、-l -eを使用します。
- デフォルトでは、db2diag は現行ディレクトリーで db2diag ログ・ファイルを探します。 ファイルが見つからない場合、diagpath 構成パラメーターに設定されたディレクトリーは次に検索されます。 そこでも db2diag ログ・ファイルが検出されない場合、db2diag はエラーを戻し、終了します。
- フィルター操作オプションとフォーマット設定オプションを単一のコマンド行に組み合わせると、
パイプを使用した複雑な検索を実行できます。 書式設定オプション-fmt、-strict、-cbeと-verboseは、すべてのフィルタリングが実行された後にのみ使われ、ユーザー定義または省略フィールドではなく、標準フィールドを持つ元のログメッセージのみがフィルタリングされるように設置しなければなりません。 パイプを使う時、
-
を使う必要はありません。 - パイプが使用され、コマンド行に 1 つ以上のファイル名が指定されている場合、
-
が指定されているかどうかに応じて db2diag 入力の処理方法が異なります。-
を省略すると、指定ファイルから入力が取得されます。 対照的に、-
オプションを指定すると、ファイル名 (コマンド行にある場合でも) は無視され、端末からの入力が使用されます。 パイプが使用され、ファイル名が指定されない場合、 db2diag の入力は、コマンド行に-
が指定されるかどうかに関係なく、同じ方法で処理されます。 - -exist オプションは、パターンに一致しないすべてのレコードが (適切なフィールドを含んでいるかどうかに関係なく) 出力される場合に、反転一致検索のデフォルト db2diag の動作をオーバーライドします。 -existオプションを指定すると、請求フィールドを含むレコードだけが処理、出力されます。
- -fmt(format)オプションが指定されない場合、すべてのメッセージ(フィルター処理されているかどうかに関係なく)は、診断ログファイルに書き込まれたとおりに正確に出力されます。 出力レコード・フォーマットは、-strict、-cbe、-verbose オプションを使用して変更できます。
- -fmtオプションは、-strict、-cbe 、-verboseオプションをオーバーライドします。
- -cbe オプションが指定され、db2diag ログ・ファイルが元のコンピューターからネットワーク上で転送された場合、いくつかの制限が適用されます。 db2diag ツールは、Db2 とコンピューター・ホスト名に関する情報をローカルで収集します。そのため、ローカル・システムの Db2 のバージョンおよびソースまたは報告機能 componentID の位置フィールドは、元のコンピューターで使用された対応する値と異なる可能性があります。
- スクリプトで db2diag を使用する場合は、 -readfile オプションを指定することをお勧めします。 これで、端末入力を無視して、ファイルから読み取るようにします。
- 通常、終了状況は次のとおりです。0一致が検出された場合、および1一致するものが見つからなかった場合。 終了状況は次のとおりです。2入力データおよびパターンに構文エラーがある場合、入力ファイルがアクセス不能である場合、またはその他のエラーが検出された場合。
- Db2 Text Search の結果として発生する重大エラーは、db2diag ログ・ファイルのログに記録されています。
- 循環 db2diag ログ・ファイルを読み取ってフィルター処理するためにこのツールを使用する場合 (diagsize データベース構成パラメーターが非ゼロの場合)、すべての循環診断ログ・ファイル (最大 10 個の一連のファイル) が読み取られてフィルター処理されます。
- リストアの進行中にデータベースに接続しようとすると、db2diag.log にエラー・メッセージが書き込まれます。 リストア・コマンドが成功していれば、そのようなエラー・メッセージは無視できます。