レベル: 中級 Takashi Yamamura (TKSY@jp.ibm.com), IT Specialist, 日本アイ・ビー・エム システムズ・エンジニアリング株式会社
2008年 12月 24日 この記事では、DB2を運用するに当たって、どのような作業が必要か全体像を考察します。また、それらの作業を助けるDB2の機能をご紹介します。この記事は、DB2 V9.5 for Linux, Unix, Windowsを前提としています。
はじめに
データベースが、情報システムの中核であることは論を待ちません。データがなければ、システムは稼働しません。データベースが、良好なレスポンスを保ち、問題を起こさないことは、情報システムの大前提です。このデータベースを望ましい稼働状態に保つ作業が、データベース運用です。データベース運用は、当たり前のことではありますが、システムの存在意義そのものを左右する大切な業務だと言えるでしょう。
では、データベースの運用では、どのような作業が必要でしょうか?この文書では、DB2をうまく稼働させるために必要な運用作業を概観します。また、運用作業の軽減のために最近のDB2で取り入れられているAutonomic(自律)機能を紹介します。個々の運用作業や、それらを支援するDB2機能は、「簡単! DB2の運用」シリーズの後続の文書でさらに詳しく説明します。
DB2の運用作業
DB2の運用作業は大きく分けると、定例運用と、非定例運用に分けられます。
- 定例運用
通常、定期的に実行する作業。運用計画中で必ず考慮します。システムの要件から、項目ごとに、対応方法、対応のタイミング等を検討します。
- 非定例運用
サービスイン後は、基本的には実施しない作業です。システム障害などの非常時、負荷増加、容量増加等に対応するために実施する必要がある場合があります。あらかじめ、手順書、スクリプト等を準備しておき、対応に備えておきましょう。
図1 DB2の運用
定例運用には、以下のような作業があります。
- 起動/停止
システム要件に応じて、DB2のインスタンスやDBの起動、停止を行います。
- データベース・メンテナンス
データベースのパフォーマンスを定常的に保ったり、ディスクのフラグメンテーションを防いだりするために、表や索引の再編成(REORG)を行います。また、データ量の変化に伴い、DB2に最適なアクセスパスを選択させるため、統計情報を更新します(RUNSTATS).
- データ移動
アプリケーション要件にしたがって、データを外部からロードしたり、外部へエクスポートしたりします。
- 回復管理(バックアップ)
障害に備え、バックアップを定期的に取得します。
- セキュリティ管理
ユーザーに対する権限の付与/剥奪などの管理、セキュリティ違反がないかどうかの監査などが含まれます。
- ワークロード管理
ユーザーやアプリケーションの特性、要件に応じて、処理プライオリティをアサインしたり、使用できる資源を割振ったりします。
- パフォーマンス管理
望ましいレスポンスタイム、スループットが保たれているか、資源の使用状況はどうか、などモニタリングを行います。
- 稼働監視
DB2システムの稼働状況、ログ、エラーがないかなどを監視します。常時書き出されるログでは、定期的な消し込みなどのメンテナンスも必要です。
非定例運用には、以下のような作業があります。
- 回復管理(リストア)
システム障害の際、必要に応じて事前に取得しておいたバックアップをリストアし、システムを回復します。
- 変更管理
データ増、処理増などに伴い、コンテナの追加/拡張が必要になったり、パフォーマンス改善のため、バッファープールや構成パラメータの変更を行ってチューニングをしたりすることがあります。障害対応または予防のため、フィックスパックを適用することもあります。
定例運用では、日々の業務のうち、メンテナンス時間が確保できるかできないかを考慮し、要件に応じて実施日、実施時間帯を決定します。非定例運用は必要に応じて作業をスケジュールします。
無停止運用への対応
最近のシステムでは、24時間、365日の稼働を求められることが多く、メンテナンス時間を確保することは容易ではありません。DB2では、定例運用作業、非定例運用作業の多くが、サービスを停止することなくオンラインで実行できるようになっています。
下の図は、オンライン実行可能な運用作業を示しています。斜線以外の作業は、基本的にオンライン実行が可能です。
図2 オンライン可能な作業
*1. 一部のレジストリ、パラメータは、変更を反映するために、対象となるインスタンスまたは、データベースの再始動が必要です。
*2. HADR(高可用性災害時リカバリー)構成を使用し、プライマリデータベースとセカンダリデータベースに順次にフィックスパックを適用するローリング・アップグレードにより停止時間を最小にすることが可能です。
オートノミック(自律)コンピューティング機能による自動運用
DB2では、データ量やパフォーマンスの変動、エラーの発生などさまざまな事象に応じて、自動的に応答し、構成を変更したり、通知を行ったりするオートノミック・コンピューティング機能が備えられています。これによって、多くの運用作業を自動化し、システムのTCO(Total Cost of Ownership)を低下させることができます。DB2で提供されているオートノミック・コンピューティング機能と、それによって軽減される運用作業は以下のとおりです。
表1 DB2のオートノミック・コンピューティング機能
| オートノミック・コンピューティング機能 | 制御/管理対象 | 概要 | 軽減される運用作業 |
|---|
| セルフチューニング・メモリー(STMM) | バッファープール、ソートヒープなどのメモリ・サイズ | パフォーマンスに影響を与えるメモリのサイズを、ワークロードの変化に応じて自動的にチューニング | パフォーマンス・モニタリング、メモリに関するパラメータ変更、バッファープールサイズ変更 |
|---|
| 自動ストレージ | 表スペース・コンテナ | 表スペース・コンテナの自動割り振り、自動的なサイズの拡張 | コンテナ追加、コンテナサイズ変更 |
|---|
| 自動保守 | バックアップ
REORG
RUNSTATS | 設定された時間枠内で、バックアップやデータベース・メンテナンス作業を自動実行 | バックアップ, REORG, RUNSTATS |
|---|
| ヘルス・モニター | ヘルス・インジケーター | 決められた管理項目の監視 | パフォーマンス・モニタリング、稼働管理 |
|---|
| 構成アドバイザー | 構成パラメータ、バッファープール | システム・リソースを元に構成パラメータ、バッファープールの初期値を設定 | 構成パラメータ変更、バッファープール変更 |
|---|
DB2 9.5においては、これらの機能の多くが、デフォルトで使用されるように設定されています。
おわりに
この文書では、DB2の運用において必要な作業を概観し、これらの作業を軽減するDB2のオートノミック・コンピューティング機能について説明しました。運用作業の詳細は、是非、「簡単!DB2の運用」シリーズの後続の記事を参照してください。
参考文献
著者について  | |  | Takashi Yamamura, IT Specialist, 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 |
記事の評価
|