DB2 データベースの保守
受け入れられるパフォーマンスを確保するには、TADDM DB2 データベースを定期的に保守する必要があります。
以下の DB2 ユーティリティーが使用可能です。
- REORG
- 可変長列の挿入、削除、および更新の各アクティビティーによって表データに数多くの変更が行われた後では、論理的に連続しているデータが、連続していない物理データ・ページ上にある場合があります。 このため、データベース・マネージャーが、データにアクセスするために追加の読み取り操作を実行します。 REORG ユーティリティーを使用して DB2 テーブルを再編成し、フラグメント化を解消して、スペースのレクラメーション処理を行います。 RUNSTATS の実行にかかる時間が通常より長い場合や、DB2 の REORGCHK コマンドによって必要性が示された場合は、必要に応じて REORG ユーティリティーを使用します。 REORG ユーティリティーの実行時には TADDM サーバーをシャットダウンしてください。オフラインでのテーブルや索引の再編成 (データのデフラグ) 中には、アプリケーションがテーブル内のデータにアクセスはできますが、更新はできないためです。 ディスカバリーがなくても TopologyBuilder は頻繁に実行されるため、このようなロックは、アプリケーション内で予測不能な結果を発生される可能性があります。
- RUNSTATS (手動統計コレクション)
- DB2 最適化プログラムは、指定された照会に基づいて DB2 カタログ内の情報および統計を使用して、データベースへの最適なアクセスを判別します。 RUNSTATS ユーティリティーを実行すると、ローカル・データベース内の特定の表および索引に関する統計情報が収集されます。 かなり多くのテーブル行が追加または除去されたときや、統計の収集対象となる列のデータが更新された場合は、RUNSTATS コマンドを使用して統計を更新する必要があります。 最適なパフォーマンスを得るためには、RUNSTATS タスクを週次または日次 (データベース・アクティビティーが活発な状態の場合) で実行します。 統計が更新されていないと、TADDM のパフォーマンスが大きく低下する可能性があります。 RUNSTATS ユーティリティーは、TADDM サーバーの実行中に実行できます。 TADDM は、後で説明するように特定の RUNSTATS 形式を必要とします。また、DB2 の AUTO_RUNSTATS オプションをオフにする必要があります。
- AUTO_RUNSTATS (自動統計コレクション)
- 自動統計コレクション (auto-runstats とも呼ばれます) を有効にして、TADDM データベース統計を更新する必要があるかどうかを DB2 に判断させることができます。 RUNSTATS ユーティリティーがバックグラウンドで実行され、データベース統計が常に更新されます。
- DB2 ヘルス・モニター
- RUNSTATS、REORG などの調整が必要な状態に変化した場合、プロアクティブにモニターするために TADDM データベースに対して DB2 ヘルス・モニターを実行することをお勧めします。 ヘルス・モニターは、システムの正常性に関する潜在的な問題をデータベース管理者に警告できます。 ヘルス・モニターは、ハードウェア障害を引き起こしたり、システム・パフォーマンスまたは機能を許容できないほど低下させたりする可能性がある問題をプロアクティブに検出します。 プロアクティブなヘルス・モニターによって、システム・パフォーマンスに影響が及ぶ問題になる前に、問題に対応できます。
- DB2 PERFORMANCE ANALYSIS SUITE
- DB2 の問題が疑われる場合、Performance Analyst ツールによって、問題の時点で取得された DB2 スナップショットを迅速に分析し、アクションを推奨できます。 このツールは、 https://www.ibm.com/developerworks/community/groups/community/perfanalystからダウンロードできます。
- 始める前に
- スキーマの変更が生じる大規模な保守の後、例えばフィックスパックの適用後などは、TADDM ストレージ・サーバーで TADDM_table_statistics.sql ファイルを生成する必要があります。 このファイルは、定期的に実行する必要がある RUNSTATS データベース保守タスクに必要です。 TADDM は、データベース統計の更新に特殊な形式を必要とします。TADDM では広範囲にわたって使用される、クラス名などの大容量の共通プレフィックスがある列を処理するときの DB2 の制限のためです。 このため、DB2 の AUTO_RUNSTATS オプションを使用せずに、次の手順を実行することで生成される RUNSTATS 構文を使用してください。 ただし、DB2 APAR IT05733 がインストールされ、
DB2_SELECTIVITY=DSCCパラメーターが設定されている場合は、AUTO_RUNSTATS オプションを使用できます。注: Linux および UNIX オペレーティング・システムの場合は、以下の手順に従ってください。 Windows オペレーティング・システムでデータベース保守を実行するには、.sh スクリプトの代わりに、対応する .bat スクリプトを使用します。TADDM_table_stats.sql ファイルを生成するには、以下のステップを実行します。- 以下のコマンドを実行します。
cd $COLLATION_HOME/bin - 次のコマンドを実行します。ここで、tmpdir は、このファイルを作成可能なディレクトリーです。
./gen_db_stats.jy > tmpdir/TADDM_table_stats.sqlストリーミング・サーバー・デプロイメントでは、このコマンドを 1 次ストレージ・サーバーで実行します。
- このファイルをデータベース・サーバーにコピーするか、データベース管理者 (DBA) に提供して TADDM データベースに対して実行します (手順の ステップ 2 を参照)。 テーブルに大規模な変更がある場合は、データベース統計を週次、またはより頻繁に更新してください。
- 以下のコマンドを実行します。
DB2 データベースに対する保守を実行するには、以下のステップを実行します。