db2fodc - Db2 First Occurrence Data Capture コマンド
この db2fodc ユーティリティーは、問題判別状態に役立つ、Db2 インスタンスに関する症状に基づくデータをキャプチャーします。 潜在的なハング、パフォーマンス上の重大な問題、およびさまざまなタイプのエラーに関する情報を収集することが目的です。
目的
db2fodc コマンドは、自動 FODC (First Occurrence Data Capture) がトリガーされない問題に関するパフォーマンス・データを収集するために使用します。
このコマンドの主な使用方法は 2 つあります。 1 つ目の方法では、問題が発生したときに db2fodc コマンドを実行して即時にデータを収集します。 2 つ目の方法は、しきい値パラメーターを使用して表した状態に環境が達したときに、データ収集がトリガーされます。この方法は、バージョン 9.7 フィックスパック 5 以降のフィックスパックで使用できます。
このコマンドは、3 つの基本コンポーネントを使用して構成します。その 3 つとは、メイン・データ収集パラメーター 1 つと、セカンダリー・データ収集パラメーター、および、しきい値パラメーターです。
まず始めに、メイン・データ収集パラメーターとそのデータ収集モード (基本または完全) を選択します。 この状態でコマンドを実行すると、即時にデータを収集できます。
または、セカンダリー・データ収集パラメーターを追加して、システムのどの部分 (複数可) をスキャンするかを選択することもできます。 さらに、出力先を指定したり、タイムアウト値を設定したりすることも可能です。 この方法でコマンドを実行した場合、データは即時に収集されます。
または、バージョン 9.7 フィックスパック 5 以降のフィックスパックで使用できる、しきい値パラメーターを追加できます。 -detect パラメーターを 1つ以上のしきい値規則とともに指定して、条件付きしきい値を設定します。 システムがモニターされ、しきい値に達した時点でデータが収集されます。
しきい値パラメーターを追加する方法を選択した場合、コマンドの実行対象となっているユーザー ID がログオフするか、環境がしきい値パラメーターによって表された状態に達するまで、コマンドは実行され続けます。 ユーザーの後続のログアウトに関係なく、バックグラウンドでコマンドをアクティブのままにするには、コマンドの先頭に nohup
を追加し、末尾に &
を追加してください。 例えば、nohup db2fodc -memory basic -detect "avm>=5242880"
&
のようになります。
収集方法に関係なく、収集されたデータは FODC パッケージ・ディレクトリー内に置かれます。 このディレクトリは、デフォルトの診断パスまたは-fodcpathパラメータで指定したFODCディレクトリパスのいずれかに作成されます。
出力を確認するか、収集された診断データを含むディレクトリーを分析のために IBM サポートに送信することができます。
許可
- Linux® および UNIX システムの場合: SYSADM 権限レベル。 さらに、インスタンスの所有者でなければなりません。
- Windows オペレーティング・システムでは、SYSADM 権限レベル。
コマンド構文
メイン・データ収集パラメーター
メイン・データ収集パラメーターは、コマンドごとに 1 つのみ選択します。
- -hang
- 潜在的なハング状態または重大なパフォーマンス上の問題に関連する FODC データを収集します。 この-hangパラメーターは、インスタンスが使用不可と見なされ、再起動が必要な場合に使用することを目的としています。 データは可能な限り速やかに収集されますが、インスタンスまたはデータベースが既にハング状態になっていると、プロセスが完了しない場合があります。 完全または基本の収集モードは、ユーザーとの対話なしで使用できます。
- -perf
- パフォーマンスの問題に関連したデータを収集します。 -perfパラメーターは-hang パラメーターと似ていますが、使用リソースが少なくなります。 したがって、インスタンスがまだ使用可能で、再始動の必要がない場合には、このオプションを使用します。 完全または基本の収集モードは、ユーザーとの対話なしで実行できます。
- -profile profileName
- 潜在的なハング状態に関する FODC データを収集します。 データは、~/sqllib/cfgディレクトリのdb2fodc.profileファイル指定パラメータに基づいて収集されます。 既存のプロファイルのいずれかを変更したり、新しいプロファイルを追加したりできます。 指定可能パラメーターの全リストは、sqllib/bin/db2cos_hangスクリプトにあります。 -profile パラメーターは、 IBM® サポートの指導の下でのみ使用することをお勧めします。
- -cpu
- バージョン 9.7 フィックスパック 5 以降のフィックスパックで、プロセッサー関連のパフォーマンス・データと診断データを収集します。 このデータは、プロセッサー使用率が高いこと、実行中のプロセス数が多いこと、またはプロセッサー待機時間が長いことに関連する問題を診断するために使用できます。 完全または基本の収集モードは、ユーザーとの対話なしで実行できます。
- -メモリー
- バージョン 9.7 フィックスパック 5 以降のフィックスパックで、メモリー関連の診断データを収集します。 空きメモリーがない、スワップ・スペースの使用率が高い、過剰なページングが生じている、メモリー・リークが疑われるといった問題を診断できます。 完全または基本の収集モードは、ユーザーとの対話なしで実行できます。
- -接続
- バージョン 9.7 フィックスパック 5 以降のフィックスパックで、接続関連の診断データを収集します。 このデータは、実行中またはコンパイル中の状態にあるアプリケーションの数が急上昇したり、新しいデータベース接続が拒否されたりするなどの問題を診断するために使用できます。
- -clp
- バージョン 9.7 フィックスパック 5 以降のフィックスパックで、インスタンスの作成に関連したオペレーティング・システム情報と構成情報を収集します。 このコマンドは-memberパラメーターをサポートしませんが、-host パラメーターはサポートします。 -clp パラメーターは、 Linux および UNIX オペレーティング・システムでのみサポートされます。 このコマンドを Windows オペレーティング・システムで発行した場合、データは収集されません。
- -preupgrade
- バージョン 9.7 フィックスパック 5 以降のフィックスパックで、重要なアップグレードや更新の前に、パフォーマンス関連の情報を収集します。 -preupgrade パラメーターは予防措置として行われます。 アップグレードまたは更新後に発生する可能性のある問題は、収集されたデータおよび IBM サポートの支援によって診断される可能性があります。 将来発生する可能性のある問題をトラブルシューティングするために十分なパフォーマンス・データが得られるように、このコマンドをピーク時とアイドル時の両方で数回にわたって発行してください。 このパラメーターを指定する場合は、データベースを指定する必要があり、処理が完了するまでに長い時間がかかる可能性があります。
- -hadr
- バージョン 9.7 フィックスパック 7 以降のフィックスパックで、HADR 問題に関連した診断データを収集します。 このパラメータを-detectオプションとともに使用して、HADR輻輳を検出し、関連する診断情報を自動的に収集できます。 -hadrオプションと-detectオプションの両方が指定される場合、しきい値規則を使用できません。 -hadrオプションのしきい値オプションにはさまざまなデフォルトがあり、使用可能のは次の場合のみです。
表 1. -HADR パラメーターしきい値オプションのデフォルト値 使用可能なしきい値オプション デフォルト値 iteration= 1 interval= 30時間まで sleeptime= 0 triggercount= 10 -nocollect 該当なし オフ 該当なし - -fodcerror FODC_ [索引 | データ | 列] Error_directory
- FODC_[Index|Data|Col]Error_directory は、以下のいずれかに関連したデータを収集します。
- 索引エラー (FODC_IndexError_directory)
- データベース・マネージャー・エラー (FODC_DataError_directory)
- カラム・オーガナイズ表エラー (FODC_ColError_directory)
FODC_[Index|Data|Col]Error_directory フォルダーは必須で、db2cos_[index|data|col]error_short(.bat) スクリプトまたは db2cos_[index|data|col]error_long(.bat) スクリプトを取り組めなければなりません。 例えば、 db2cos_[index|data|col]error_short(.bat) スクリプトまたはdb2cos_[index|data|col]error_long(.bat)などです。
BASIC モードでは、 db2cos_[index|data|col]error_short スクリプトが呼び出されます。 FULL モードは、db2cos_[index|data|col]error_short スクリプトとdb2cos_[index|data|col]error_long スクリプトを呼び出します。 モードを指定していない場合、BASIC モードがデフォルトになります。
FODC_[Index|Data|Col]Error_directory ディレクトリーを名前変更したり移動したりしないでください。 スクリプト内の db2dart コマンドは、 レポートを正しく生成するためにこのディレクトリー・パスを必要とします。
- -help
- ヘルプ情報を表示します。 このオプションを指定すると、他のすべてのオプションは無視され、 ヘルプ情報だけが表示されます。
メイン・データ収集パラメーターのモード
一部のメイン・データ収集パラメーターには、サブオプションとして収集モードを指定できます。
- 基本
- この基本収集モードはユーザーと対話せずに実行されます。 完全モードに比べ、収集されるデータは少なくなりますが、使用されるリソースも少なくなります。
- full
- この完全収集モードは、ユーザーと対話せずに実行されます。 このオプションでは、基本収集モードより多くのリソースと時間が必要になりますが、より多くのデータが収集されます。
セカンダリー・データ収集パラメーター
メイン・データ収集パラメーターのいずれか 1 つと共に、以下のセカンダリー・データ収集パラメーターを 1 つ以上指定できます。
- -db データベース名
- 指定したデータベース (複数可) に関連する FODC データを収集します。 複数のデータベースを指定する場合は、コンマで区切られたリストとして指定します。
- -alldbs
- すべてのアクティブなデータベースに関連する FODC データを収集します。 デフォルトで、このオプションはアクティブです。
- -member member_number|member_range
- バージョン 9.7 フィックスパック 5 以降のフィックスパックで、コマンドの発行対象のメンバーを 1 つ以上指定します。 このオプションを指定しない場合、コマンドは現行メンバーに対して発行されます。 複数のメンバーを指定する場合は、コンマで区切られたリスト、メンバーの範囲、またはその組み合わせとして指定します。
- -allmembers
- このコマンドをローカル・ホストのすべてのメンバーに対して実行するように指定します。 -allmemberと-memberパラメーターの-all サブオプションの違いを説明するために、以下の例を検討してください。
- -dbp-dbpartitionnum
- すべての指定のデータベース・パーティション番号に関連する FODC データを収集します。 -dbp パラメーターは-memberパラメーターと同じですが、-dbp パラメーターは pureScale 以外の環境での使用に適しています。
- -alldbp-alldbpartitionnums
- インスタンス内のすべてのアクティブなデータベース・パーティション・サーバーでコマンドを実行することを指定します。 データは、db2fodc コマンドが実行されているのと同じ物理マシン上のデータベース・パーティション・サーバーから収集されます。 -alldbp パラメーターは-allmemberパラメーターと同じですが、-alldbp パラメーターは pureScale 以外の環境での使用に適しています。
- -timeout timeout_value
- db2fodc コマンドによって開始されたコールアウト・スクリプトのタイムアウト期間を指定します。 コールアウト・スクリプトが診断データの収集を完了する前にタイムアウトに達すると、そのスクリプトのプロセスは停止されます。 デフォルトのタイムアウトはありません。 したがって、タイムアウト値が指定されていなければ、コマンドは永久に実行されます。 タイムアウトは、nh ym xs と指定します。n は時間を、y は分を、そして x は秒を表します。 h、m、および n のいずれの接尾部も指定しない場合、タイムアウトの単位は秒です。
- -fodcpath fodc_path_name
- バージョン 9.7 フィックスパック 4 以降のフィックスパックで、FODC データ・パッケージが作成されるディレクトリーの絶対パスを指定します。 指定するパスは、データベース上のメンバーが書き込み可能な場所でなければなりません。さらに、そのメンバーまたはパーティション上で実行される fmp プロセスで書き込み可能な場所でなければなりません。 -fodcpathパラメーターを指定せず、コマンドにパーティションまたはメンバーのリストを指定しない場合は、現行パーティションまたはメンバーの -fodcpathパラメーター設定が使用されます。 この値が設定されていなければ、インスタンス・レベルの設定が使用されます。 この値が設定されない場合、FODC データは現行の診断ディレクトリー・パス (diagpath または alt_diagpath) に送信されます。
- -host ホスト名
- バージョン 9.7 フィックスパック 4 以降のフィックスパックで、コマンドの発行対象のホストを 1 つ以上指定します。 コマンドは、指定されたホスト上に存在するすべてのメンバーに対して発行されます。 ホスト名を指定しないと、このコマンドはローカル・ホスト上のデフォルト・メンバーに対して発行されます。 複数のホストを指定する場合は、コンマで区切られたホストのリストとして指定します。 このコマンドをリモート・ホストに対して実行する場合は、収集モード (基本または完全) を指定する必要があります。 また、ホスト間に$HOME/.rhostsが設定されるように確保してください。 -host オプションを-member オプションに結合してはなりません。
しきい値パラメーター
環境が特定のしきい値に達したときにデータを収集するには、-detectパラメーターと1つ以上のしきい値パラメーターを使ってください。
- -detect threshold_rule "<comparison_operator> threshold_value" threshold_options
- バージョン 9.7 フィックスパック 5 以降のフィックスパックで、データ収集がトリガーされる前に存在する必要がある条件の集合を指定します。 -detect パラメーターは、しきい値と組合せられ、比較演算子に区切られた、しきい値ルールの1つ以上の変数と組み合わせることができます。 データ収集は、しきい値オプションを追加することにより、さらに詳細に指定されます。 しきい値オプションの例としては、データ収集がトリガーされるために必要なしきい値の検出回数またはしきい値の検出期間があります。 -hadr データ収集を除き、少なくとも 1 つの有効なしきい値規則を指定しなければなりません。 検出すると、db2diag ログ・ファイルに記録されます。
オペレーティング・システム | AIX | Linux | Windows |
---|---|---|---|
使用されたコマンド | vmstat | vmstst -a | db2pd -vmstat |
実行キュー (rqueue) | r | r | r |
ブロック・キュー (bqueue) | b | b | 適用外 |
アクティブ・メモリー (avm) | avm | active | used |
空きメモリー (free) | fre | free | free |
ページイン (pi) | pi | 適用外 | pi |
ページアウト (po) | po | 適用外 | po |
スワップイン (si) | 適用外 | si | 適用外 |
スワップアウト (so) | 適用外 | so | 適用外 |
スキャンされたページ (sr) | sr | 適用外 | 適用外 |
ユーザー CPU (us) | us | us | usr |
システム CPU (sy) | sy | sy | sys |
ユーザーとシステム CPU (us_sy) | us+sy | us+sy | us+sy |
アイドル CPU (id) | ID | ID | idl |
コンテキスト・スイッチ (cs) | cs | cs | cs/s |
オペレーティング・システム | 使用されたコマンド | 使用済みスワップ・スペース (swapused) |
---|---|---|
AIX | lsps -s | 以下の場所にあるパーセンテージ値Percent Used列 |
Linux | free | (合計スワップ・スペース/使用されたスワップ・スペース)*100% |
Windows | 適用外 | 適用外 |
即時収集の例
以下の基本的な db2fodc コマンドの例は、問題が発生した場合に手動で診断データを収集する方法を示しています。-hang
潜在的なハング状態について検討します。 Db2 ソフトウェアは安定した状態で実行されていますが、特定の表で複数のレコードを更新または選択すると、アプリケーションがハングします。 Db2 ソフトウェアを再始動すると、システムは安定した状態に戻ります。 ただし、1 週間経つと同じ状態が発生します。
db2fodc -hang –alldbs
-hang パラメーターを追加することにより、 IBM サポートが潜在的なハングを分析するのに役立つ基本的なオペレーティング・システム、構成、および診断情報が収集されます。- 特定のデータベース (SAMPLE) で潜在的なハング状態に関するデータを完全データ収集モードで収集するには、以下のコマンドを実行します。
メイン・データ収集パラメーターの完全モードが開始されます。 このオプションの実行には、基本収集モードより多くのリソースおよび時間が必要になります。 データ収集が行われるのは、データベース SAMPLE に限定されます。db2fodc -hang full -db SAMPLE
- db2nodes.cfgファイルに定義されるすべてのホストで潜在的なハング状態のデータを収集するには、次のコマンドを実行してください。
メイン・データ収集パラメーターの基本モードが開始されます。db2fodc -hang basic -host all
-profile
[collectstack]
db2pdstack_iterations=9
db2pdstack_sleep=30
<end>
プロファイルを作成したら、以下の例のように、パフォーマンス問題の発生中にコマンドにプロファイルの名前を指定します。db2fodc -profile collectstack
これにより、9 回の反復と 30 秒のスリープ時間でスタック・トレースが生成されます。 プロファイルで指定できるパラメーターの完全なリストは、sqllib/bin/db2cos_hang スクリプトにあります。 プロファイル・パラメーターは、 IBM サポートの指示がある場合にのみ使用することをお勧めします。-perf
db2fodc -db SAMPLE -perf full
-perf パラメーターを組み込んだ場合に収集されるデータには、スナップショット、スタック・トレース、仮想メモリー、入出力情報、トレースなどがあります。 この例では、完全データ収集モードが開始され、その対象は SAMPLE データベースに制限されます。 完全モードはより多くのリソースを必要とし、実行時間が長くなることがあります。db2fodc -perf -member 10-13,15
この例では、 db2fodc
-perf コマンドは、メンバー 10、12、13、および 15 に対してデフォルトの基本収集モードで開始されます。-cpu
db2fodc –cpu full
このコマンドをピーク時とアイドル時の両方で数回実行して、この症状が長時間続いているかどうかについて、正確な結論を出します。 完全データ収集モードが開始され、デフォルトの DB2FODC レジストリー変数およびパラメーターが使用されます。-memory
db2fodc –memory full -member 3
この例では、完全データ収集モードが開始され、その対象は 3 番目のメンバーに制限されます。-connections
db2fodc –connections
-clp
db2fodc –clp full
このコマンドは、インスタンスの作成に関する問題を診断する目的で、環境および構成関連の情報を収集します。 収集が完了すると、 FODC_Clp_timestamp_memberという名前の新しく作成されたディレクトリーに情報が保管されます。このディレクトリーは、分析のために IBM サポートに送信できます。-preupgrade
db2fodc -preupgrade -db SAMPLE -par DYN_SQL_FILE=sqlFile
ここで、SAMPLE は情報を収集するデータベースの名前です。 sqlFile は、最も代表的なワークロードである SQL ステートメントが入ったファイルです。 -upgradeパラメーターに-par
DYN_SQL_FILE=sqlFileオプションを指定しない場合、動的SQLキャッシュから20 個の動的照会が取得されます。 最良のパフォーマンス情報を収集するためには、使用率の高い時間とアイドル時間の両方で、db2fodc -preupgrade コマンドを複数回実行します。 アップグレード後にも、同じコマンドを再度実行します。 アップグレード後にパフォーマンス問題が発生した場合に、アップグレードの前と後のコマンド出力を比較します。 さらに支援が必要な場合は、 IBM サポートに連絡してください。-hadr
- HADR 関連のデータを手動で収集するには、以下のコマンドを実行します。
このコマンドは、 db2cos_hadr (Windows の場合はdb2cos_hadr.bat ) スクリプトを開始し、収集されたデータをdb2fodc -hadr -db sample
FODC_Hadr_timestamp_hostname_Primary|Standby|Standard
ディレクトリーに配置します。このディレクトリーは、DIAGPATH
ディレクトリーに作成されます。 - すべてのホストで HADR 診断データを収集するには、以下のコマンドを実行します。
このコマンドは、すべてのホストでデータを収集し、収集データを各ホストのDIAGPATHディレクトリーに配置します。db2fodc –hadr –db sample –host all
- 1 次ホストとスタンバイ・ホストで明示的に HADR 診断データを収集するには、以下のコマンドを実行します。
db2fodc –hadr –db sample –host hostA,hostB
- ホストBでHADR 診断データを収集し、FODC_Hadrパッケージをホスト BのDIAGPATH ディレクトリーに配置するには、 ホスト Aで以下のコマンドを実行してください。
db2fodc –hadr –db sample –host hostB
FODC_Hadr
パッケージを別のディレクトリー (例えば、/TMP/hadrdata/
ディレクトリー) に配置するには、以下のコマンドを実行してください。db2fodc –hadr –db sample –host all –fodcpath /TMP/hadrdata/
-fodcerror FODC_IndexError_directory
db2fodc -fodcerror FOCE_IndexError_directory
基本データ収集モードが開始されます (これがデフォルトであるため)。 データは、 FODC_IndexError_directory ディレクトリーに保存される1つ以上のファイルに収集されます。 索引エラーの原因となる可能性がある要因について出力を確認するか、分析のためにディレクトリーを IBM サポートに送信してください。しきい値による収集例
-detect パラメーターと 1 つ以上のしきい値規則を指定することにより、CPU パフォーマンス、メモリー、および接続に対する値を設定できます。 システムがモニターされ、しきい値規則に達した時点でデータが収集されます。
以下の例は、-detect パラメーターで診断情報の収集方法を示しています。
-cpu
- 実行キュー内のプロセス数に関係している可能性のある、断続的に発生するプロセッサーの問題を検出するには、以下のコマンドを実行します。
-detectパラメータに独自のルールを指定して、診断データの収集をいつ開始するかを決定できます。 この例では、すべてのメンバーで診断データ収集をトリガーするために、両方のトリガー条件(db2fodc -cpu basic -detect us">=90" rqueue">=1000" condition="AND" triggercount="3" interval="2" iteration="4" sleeptime="100" duration="500" -member all
condition="AND"
がデフォルト) (us">=90" rqueue">=1000"rqueue">=1000"
)が 6 秒 (triggercount="3" X interval="2"
=6 秒)存在しなければなりません。 トリガー条件が発生すると、診断データが収集されます。 トリガー条件が発生しなければ、その反復の範囲内でトリガー条件の検出が続けられます。 トリガー条件の検出と診断データ収集を 4 回実行するように、反復オプションが 4 に設定されています。それらの実行の間のスリープ時間は 100 秒になっています。 コマンドは、4 回の反復がすべて正常に完了した後、または 500 時間後に終了します。 (duration="500"
) - カーネルおよびユーザー・コードの実行に費やされるプロセッサー時間に問題があるためにプロセッサーのパフォーマンスが劣化していると疑われる場合は、以下のコマンドを実行します。
この-detectパラメーターは、しきい値ルールと組み合わされて、しきい値ルールの指定トリガー条件が検出されるまで、プロセッサー関連情報の収集を遅らせます。 演算子 OR が選択されており、これは、いずれか 1 つのしきい値に達するだけで、データ収集がトリガーされることを意味します。 トリガーカウント値と間隔値が指定されないため、デフォルト値(db2fodc -cpu full -detect us”>=20” sy”>=10” condition=”OR”
triggercount=5
とinterval=1
)が使われます。 したがって、しきい値ルールの1つが5秒間に5回連続して満たされると(triggercount=5
Xinterval=1
)、CPU関連のデータ収集がトリガーされます。 しきい値規則に適合することがなければ、コマンドは無期限で実行されます。 このプロセスを停止するには、次のコマンドを実行します。
db2fodc -detect off コマンドは、すべてのしきい値検出を停止し、現在アクティブなしきい値規則をすべてオフにします。 このプロセスが完了して、サーバー上で実行中のすべての db2fodc -detect コマンドが停止されるまでには、最長で 60 秒かかることがあります。db2fodc -detect off
-memory
- AIX オペレーティング・システム上の仮想メモリー作業セグメント・ページの総数が多すぎるために、システムのパフォーマンスが低下している状況を考慮してください。 その場合、以下のコマンドを実行できます。
この例では、nohup db2fodc -memory basic -detect "avm>=5242880" duration=1000 &
nohup
モードにより、コマンドはHUP(ハングアップ)信号を無視できるため、後続のログアウトによってコマンドのバックグラウンドでの実行が中止されなくなります。 この理由から、コマンドには 1000 時間の期間が指定されています。 duration パラメーターにはデフォルトがないため、duration が指定されない場合、条件が満たされなければコマンドは永久に実行されます。 - しきい値条件を検出し、しきい値条件を複数回超過した場合に自動診断データ収集をトリガーすることができます。 以下のコマンド例について考慮します。
この例では、空きメモリブロックの数(db2fodc -memory basic -detect free"<=10" connections">=1000" interval=10 triggercount=4 duration=5 sleeptime=30 iteration=10 -member 3
free"<=10"
)とデータベースへのアプリケーション接続の数(connections">=1000"
)を監視します。 演算子はデフォルトでANDです。 メンバー3のみが条件(-member 3
)を監視されます。 10回の反復があり、各反復の間に30秒の休憩があります。 両方の条件が40秒間に4回連続して満たされると、データ収集がトリップされます(triggercount=4
Xinterval=10
)。 - 空きメモリーの量が特定の量まで減少した場合にデータ収集をトリガーするには、以下の例のコマンドを実行します。
以下は、空きメモリー・ページ数が 386236 以下に減少し、スワップアウトされたメモリー量がゼロより大きい場合のデータ収集の出力例です。db2fodc -memory basic -detect free"<=386236" so">=0" sleeptime=30 iteration=10 interval=10 triggercount=4 duration=5
> db2fodc -memory basic -detect free"<=386236" so">=0" sleeptime=30 iteration=10 interval=10 triggercount=4 duration=5 "db2fodc": List of active databases: "SAMPLE" "db2fodc": Starting detection ... "db2fodc": "4" consecutive threshold hits are detected. "db2fodc": Triggering collection "1". Script is running with following parameters COLLECTION_MODE : LIGHT COLLECTION_TYPE : MEMORY COLLECTION_DURATION : 5 COLLECTION_ITERATION : 5 DATABASE/MEMBER : -alldbs FODC_PATH : /home/inst1/sqllib/db2dump/FODC_Memory_2013-04-02-15.47.56.969013_0000 db2pd_options : -agent -apinfo -active -tran -locks -bufferpools -dbptnmem -memset -mempool -sort -fcm hwm -dyn SNAPSHOT : 2 STACKTRACE : 2 TRACELIMIT : 20 SNAPSHOT_TYPE : ALL ... In db2diag.log: 2013-04-02-15.47.55.154348-240 I200475E548 LEVEL: Event PID : 8944 TID : 46912890796352 KTID : 8944 PROC : db2fodc INSTANCE: inst1 NODE : 000 HOSTNAME: coralxib11 FUNCTION: DB2 UDB, RAS/PD component, pdFodcDetectAndRunCollection, probe:100 CHANGE : Hostname: coralxib11 Member(s): 0 Iteration: 1 Thresholds hit 0: so(0)>=0 free(159972)<=386236 Thresholds hit 1: so(0)>=0 free(157872)<=386236 Thresholds hit 2: so(0)>=0 free(129572)<=386236 Thresholds hit 3: so(0)>=0 free(142952)<=386236 ..... 2013-04-02-15.47.56.969683-240 E201708E703 LEVEL: Warning PID : 9519 TID : 46912890796352 KTID : 9519 PROC : db2fodc INSTANCE: inst1 NODE : 000 HOSTNAME: coralxib11 FUNCTION: DB2 UDB, RAS/PD component, pdDb2FODCMain, probe:30 MESSAGE : ADM14003W FODC has been invoked by the user from db2fodc tool for symptom "memory" and diagnostic information has been recorded in directory "/home/inst1/sqllib/db2dump/FODC_Memory_2013-04-02-15.47.56.969013_0 000". Please look in this directory for detailed evidence about what happened and contact IBM support if necessary to diagnose the problem.
-hadr
- HADR 輻輳が検出された場合に自動的に診断データ収集を開始するには、以下のコマンドを実行します。
このコマンドは、HADR データベースをモニターするプロセスを開始して、データ収集を開始するのに十分な輻輳が発生しているかどうかを調べます。 HADR 輻輳が十分にある場合は、 db2cos_hadr (Windows オペレーティング・システム上のdb2doc_hadr.bat ) スクリプトが開始され、診断データの収集が行われます。 診断データの収集が完了すると、プロセスは終了します。 十分な HADR 輻輳が検出されない場合、検出期間が duration パラメーター値を超えるか、ユーザーが以下のコマンドを発行してスクリプトを終了するまで、モニターは実行されます。db2fodc –hadr –db sample –detect
db2fodc -detect off
- ローカル・ホストで特定の量の HADR 輻輳が検出された場合にすべてのホストで自動的に診断データ収集を開始するには、以下のコマンドを実行します。
輻輳が検出されると、すべてのホストで HADR 診断データが収集されます。db2fodc –hadr –db sample -detect -host all
- HADR 輻輳が発生しているかどうかは調べたいが、診断データの収集によってシステムをスローダウンさせたくないという場合について検討します。 以下のコマンド例を実行します。
診断データは収集されません。 ただし、HADR 輻輳が検出された場合、イベントはdb2fodc -hadr -db sample -detect -nocollect
db2diag
ログ・ファイルに記録されます。 - 特定の期間にわたって HADR 輻輳の有無を調べるには、以下のコマンドを実行します。
HADR 輻輳は24 時間監視されます (db2fodc -hadr -db sample -detect duration=24
duration=24
)。 iteration のデフォルトは 1、 triggercount のデフォルトは 10、 interval のデフォルトは 30 であるため、HADR 輻輳が300 秒を10 回連続検出されると、データが収集され、コマンドが終了します。 - しきい値オプションは、–hadr パラメーターに適用できます。 例えば、以下のコマンドを実行します。
このしきい値規則は、次のような影響を与えます。db2fodc -hadr -db sample -detect iteration=2 sleeptime=3600 triggercount=8 interval=15 duration=24
- HADR 輻輳のモニターは最大で 2 回反復され、各反復の間のスリープ時間は 1 時間です。
- 15 秒間ごとに 8 回連続してしきい値規則に適合すると、データが収集され、反復が終了します。 それが 1 回目の反復である場合、モニター・プロセスは 1 時間スリープしてから次の反復を開始します。 それが 2 回目の反復である場合、モニター・プロセスは終了します。
- 検出モニター・プロセスは最大で 24 時間実行されます。
- 24 時間後に HADR 輻輳が検出されておらず、検出プロセスが停止し、モニター・プロセスは終了します。
- HADR 輻輳が検出されなければ、1 回目の反復が 24 時間実行されて終了します。 その場合、1 時間のスリープ時間と 2 回目の反復実行はありません。
-connections
db2fodc –connections –db sample –detect connections">=10" connstatus=Compiling
コンパイル状態の SAMPLE データベースに接続しているアプリケーションの数が 10 以上になると、接続関連の診断データが収集されます。マルチ・パーティション環境
db2fodc -hang および db2fodc -perf コマンドは、 複数の物理ノードがあるマルチ・パーティション環境で実行できます。 この環境では、以下の例が正常に実行されます。db2fodc -perf full -member all other_options
それともdb2fodc -perf -alldbpartitionnums other_options
潜在的なハングまたはサーバーのパフォーマンス問題が発生しているときに、パーティション・データベース環境では、上記のパラメーターを使用して、1 つの呼び出しですべてのノード上で db2fodc コマンドを開始することができます。 オプション-alldbpartitionnumsと-dbpartitionnumは、論理区画番号にのみ適しています。 -dbpオプションまたは-memberオプションが指定されない場合、デフォルトでは、現パーティション番号からの情報のみが収集されます。db2_all "<<+node#< db2fodc -fodcerror FODC_IndexError_directory [basic | full]
ここで、node# は特定のノードの番号です。 この番号は、ディレクトリー FODC_IndexError_timestamp_PID_EDUID_Node#
の最後の番号です。 db2fodc -fodcerror FODC_IndexError_directory コマンドを db2_all コマンドと一緒に実行する場合は、絶対パスを使用する必要があります。 出力ファイルとログ・ファイルは、 db2diag
ログ・ファイルにあります。 FODC_IndexError_directory フォルダーは必須で、db2cos_indexerror_short(.bat)
スクリプトまたはdb2cos_indexerror_long(.bat)
スクリプトを取り組めなければなりません。 FODC_IndexError_directory
ディレクトリーを名前変更したり移動したりしないでください。 スクリプト内の db2dart コマンドは、
レポートを正しく生成するためにこのディレクトリー・パスを必要とします。 db2fodc
-fodcerror FODC_IndexError_directory を手動で実行する必要がある場合は、 FODC_IndexError_directory
ディレクトリーに既存の db2dart レポートがないか確認してください。 レポートの拡張子は.rpt
と.rpthex
です。 ディレクトリー内にレポートがある場合は、手動で db2fodc
-fodcerror FODC_IndexError_directory を開始する前に、それらのレポートの名前を変更するか、 FODC_IndexError_directory
ディレクトリーの下のサブディレクトリーに移動します。