db2cos (コールアウト・スクリプト) 出力ファイル
データベース・マネージャーが、パニック、トラップ、セグメンテーション違反、例外のために処理を続けられなくなると、デフォルトで db2cos スクリプトが呼び出されます。 それぞれのデフォルトの db2cos スクリプトは、db2pd コマンドを呼び出してアンラッチ方式で情報を収集します。
db2cos スクリプトの名前は、db2cos_hang、db2cos_trap などのような形になります。 それぞれのスクリプトは同じように動作します。例外は db2cos_hang で、これは db2fodc ツールから呼び出されます。
デフォルトの db2cos スクリプトは、bin ディレクトリーにあります。 UNIX オペレーティング・システムでは、このディレクトリーは読み取り専用です。 すべてのファイルのカスタマイズが必要な場合は、db2cos スクリプト・ファイルとすべての関連スクリプトを adm ディレクトリーにコピーできます。 db2cos スクリプトが adm ディレクトリーにあれば、そのスクリプトが実行されます。そうでない場合は、bin ディレクトリーにあるデフォルトのスクリプトが実行されます。 例えば、データ破損の問題の場合、 Db2® は db2cos_datacorruption スクリプトを探します。 カスタマイズされたスクリプトが adm ディレクトリーにあれば、Db2 はそのカスタマイズされたスクリプトを使用します。 それ以外の場合は、 bin ディレクトリー内のデフォルトの db2cos_datacorruption スクリプトが使用されます。 どのスクリプトが自動的に呼び出され、どの状況で呼び出されるかについては、 一般的な停止問題に基づく診断情報の収集を参照してください。
複数のパーティション構成では、トラップを検出したパーティションのトラッピングするエージェントについてのみ、スクリプトが呼び出されます。 他のパーティションから情報を集める必要がある場合は db2_all コマンドを使用するように db2cos スクリプトを更新し、 すべてのパーティションが同じマシンにある場合は db2pd コマンドに -alldbpartitionnums オプションを指定します。
db2cos の呼び出しをトリガーするシグナルのタイプも、db2pdcfg -cos コマンドによって構成できます。 デフォルトの構成は、パニックやトラップ発生時には db2cos スクリプトを実行します。 ただし、生成されたシグナルはデフォルトでは db2cos スクリプトを起動しません。
- トラップ・ファイルが作成される
- シグナル・ハンドラーが呼び出される
- db2cos スクリプトが呼び出される (db2cos 設定が有効な場合)
- 項目が管理通知ログに記録される
- 項目が db2diag ログ・ファイルに記録される
db2cos スクリプトの db2pd コマンドによって集められるデフォルト情報には、オペレーティング・システム、インストールされている Db2 製品のバージョンとサービス・レベル、データベース・マネージャー、およびデータベース構成についての詳細に加え、エージェント、メモリー・プール、メモリー・セット、メモリー・ブロック、アプリケーション、ユーティリティー、トランザクション、バッファー・プール、ロック、トランザクション・ログ、表スペース、およびコンテナーの状態についての情報が含まれます。 さらに、動的キャッシュ、静的キャッシュ、およびカタログ・キャッシュの状態、表と索引の統計、リカバリー状況についての情報や、再最適化された SQL ステートメントとアクティブなステートメントのリストも提供されます。 さらに情報を収集する必要がある場合は、他のコマンドを追加して db2cos スクリプトを更新します。
デフォルトの db2cos スクリプトを呼び出すと、DIAGPATH データベース・マネージャー構成パラメーターで指定されているディレクトリーに出力ファイルが生成されます。 それらのファイルには、XXX.YYY.ZZZ.cos.txt という名前が付けられます (XXX はプロセス ID (PID)、YYY はスレッド ID (TID)、ZZZ はデータベース・パーティション番号 (単一パーティション・データベースの場合は 000) です)。 複数のスレッドがトラップされる場合は、それぞれのスレッドごとに、db2cos スクリプトが別々に呼び出されます。 PID および TID の組み合わせが複数回発生する場合、データはファイルに追加されます。 タイム・スタンプが表記されるので、出力の反復を区別することができます。
2005-10-14-10.56.21.523659
PID : 782348 TID : 1 PROC : db2cos
INSTANCE: db2inst1 NODE : 0 DB : SAMPLE
APPHDL : APPID: *LOCAL.db2inst1.051014155507
FUNCTION: oper system services, sqloEDUCodeTrapHandler, probe:999
EVENT : Invoking /home/db2inst1/sqllib/bin/db2cos from
oper system services sqloEDUCodeTrapHandler
Trap Caught
Instance db2inst1 uses 64 bits and Db2 code release SQL09010
...
Operating System Information:
OSName: AIX
NodeName: n1
Version: 5
Release: 2
Machine: 000966594C00
...
2005-10-14-10.42.17.149512-300 I19441A349 LEVEL: Event
PID : 782348 TID : 1 PROC : db2sysc
INSTANCE: db2inst1 NODE : 000
FUNCTION: Db2, trace services, pdInvokeCalloutScript, probe:10
START : Invoking /home/db2inst1/sqllib/bin/db2cos from oper system
services sqloEDUCodeTrapHandler
2005-10-14-10.42.23.173872-300 I19791A310 LEVEL: Event
PID : 782348 TID : 1 PROC : db2sysc
INSTANCE: db2inst1 NODE : 000
FUNCTION: Db2, trace services, pdInvokeCalloutScript, probe:20
STOP : Completed invoking /home/db2inst1/sqllib/bin/db2cos
2005-10-14-10.42.23.519227-300 E20102A509 LEVEL: Severe
PID : 782348 TID : 1 PROC : db2sysc
INSTANCE: db2inst1 NODE : 000
FUNCTION: Db2, oper system services, sqloEDUCodeTrapHandler, probe:10
MESSAGE : ADM0503C An unexpected internal processing error has occurred. ALL
DB2 PROCESSES ASSOCIATED WITH THIS INSTANCE HAVE BEEN SHUTDOWN.
Diagnostic information has been recorded. Contact IBM Support for
further assistance.
2005-10-14-10.42.23.520111-300 E20612A642 LEVEL: Severe
PID : 782348 TID : 1 PROC : db2sysc
INSTANCE: db2inst1 NODE : 000
FUNCTION: Db2, oper system services, sqloEDUCodeTrapHandler, probe:20
DATA #1 : Signal Number Recieved, 4 bytes
11
DATA #2 : Siginfo, 64 bytes
0x0FFFFFFFFFFFD5C0 : 0000 000B 0000 0000 0000 0009 0000 0000 ................
0x0FFFFFFFFFFFD5D0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0FFFFFFFFFFFD5E0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0FFFFFFFFFFFD5F0 : 0000 0000 0000 0000 0000 0000 0000 0000 ................