db2cos (コールアウト・スクリプト) 出力ファイル

データベース・マネージャーが、パニック、トラップ、セグメンテーション違反、例外のために処理を続けられなくなると、デフォルトで db2cos スクリプトが呼び出されます。 それぞれのデフォルトの db2cos スクリプトは、db2pd コマンドを呼び出してアンラッチ方式で情報を収集します。

db2cos スクリプトの名前は、db2cos_hangdb2cos_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 スクリプトを起動しません。

パニック、トラップ、セグメンテーション違反、または例外が起きたときのイベント順序は以下のとおりです。
  1. トラップ・ファイルが作成される
  2. シグナル・ハンドラーが呼び出される
  3. db2cos スクリプトが呼び出される (db2cos 設定が有効な場合)
  4. 項目が管理通知ログに記録される
  5. 項目が db2diag ログ・ファイルに記録される

db2cos スクリプトの db2pd コマンドによって集められるデフォルト情報には、オペレーティング・システム、インストールされている Db2 製品のバージョンとサービス・レベル、データベース・マネージャー、およびデータベース構成についての詳細に加え、エージェント、メモリー・プール、メモリー・セット、メモリー・ブロック、アプリケーション、ユーティリティー、トランザクション、バッファー・プール、ロック、トランザクション・ログ、表スペース、およびコンテナーの状態についての情報が含まれます。 さらに、動的キャッシュ、静的キャッシュ、およびカタログ・キャッシュの状態、表と索引の統計、リカバリー状況についての情報や、再最適化された SQL ステートメントとアクティブなステートメントのリストも提供されます。 さらに情報を収集する必要がある場合は、他のコマンドを追加して db2cos スクリプトを更新します。

デフォルトの db2cos スクリプトを呼び出すと、DIAGPATH データベース・マネージャー構成パラメーターで指定されているディレクトリーに出力ファイルが生成されます。 それらのファイルには、XXX.YYY.ZZZ.cos.txt という名前が付けられます (XXX はプロセス ID (PID)、YYY はスレッド ID (TID)、ZZZ はデータベース・パーティション番号 (単一パーティション・データベースの場合は 000) です)。 複数のスレッドがトラップされる場合は、それぞれのスレッドごとに、db2cos スクリプトが別々に呼び出されます。 PID および TID の組み合わせが複数回発生する場合、データはファイルに追加されます。 タイム・スタンプが表記されるので、出力の反復を区別することができます。

db2cos 出力ファイルには、db2cos スクリプトに指定されているコマンドに応じて、さまざまな情報が組み込まれます。 デフォルトのスクリプトを変更しなければ、以下のような項目が表示されます (詳細な db2pd 出力が続きます)。
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 

...
db2diag ログ・ファイルにはオカレンスに関連した項目も含まれます。 以下に例を示します。
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    ................