Comments
Description
Transcript
管理の簡素化: の DB2
管理の簡素化: DB2® Universal Database™ V8.1の スケジューリングと自動化 2003年1月 Jason Gartner Manager, DB2 UDB Administration Tools Development Subho Chatterjee DB2 UDB Administration Tools Development 管理の簡素化 特記事項 この文書に掲載された情報には、技術的な誤りやタイプミスが含まれる可能性があります。 IBMの将来的な方向性や意向に関する記述は、あくまでも目標を示すものであり、お知らせすることな く変更または取り消される場合があります。 商標 AIX、DB2、DB2 Universal Database、およびIBMは、IBM Corp.の米国またはその他の国、あるいはそ の両方における商標です。 Microsoft、Windows、Windows NT、およびWindowsロゴは、Microsoft Corporationの米国またはその他 の国、あるいはその両方における商標です。 UNIXはThe Open Groupの米国およびその他の国における登録商標です。 その他の会社名、製品名、およびサービス名は、それぞれ各社の商標またはサービス・マークです。 © 2003 IBM Corp. All rights reserved. 2 管理の簡素化 目次 エグゼクティブ・サマリー ................................................................................................................. 4 はじめに .............................................................................................................................................. 5 アーキテクチャー概要 ........................................................................................................................ 5 ツール・カタログ・データベースの作成 ........................................................................................... 6 スケジューラーの構成 ........................................................................................................................ 7 タスクの実行 ....................................................................................................................................... 8 タスク・センターを使用したタスクの作成........................................................................................ 9 V7 スクリプトのマイグレーション............................................................................................... 10 ジャーナルを使用してタスク履歴を保持する .................................................................................. 10 高度なトピック ................................................................................................................................. 11 ダイアログ・ベースのタスクと再構成 ......................................................................................... 11 並列化とグループ化 ...................................................................................................................... 13 シナリオ: パーティション・データベースをバックアップする .............................................. 14 通知 ................................................................................................................................................ 16 タスク管理のヒント .......................................................................................................................... 17 命名方式を策定する ...................................................................................................................... 17 タスクを分類する .......................................................................................................................... 18 カスタマイズド・ビューの作成 .................................................................................................... 18 スケジューリングと自動化の構成 .................................................................................................... 19 サーバー・スケジューリング構成例 ............................................................................................. 19 集中スケジューリング方式の例 .................................................................................................... 20 混合層スケジューリングの例 ........................................................................................................ 21 利点と欠点 ..................................................................................................................................... 22 結論.................................................................................................................................................... 22 著者について ..................................................................................................................................... 23 付録 A: セットアップのチェックリスト .......................................................................................... 23 3 管理の簡素化 エグゼクティブ・サマリー 多くのデータベース部門にとって、自動化とスケジューリングは重大な懸案事項です。データベー スのサイズや数が増え続ける中で、信頼性に優れたスケーラブルな自動化およびスケジューリング 機能は、さらに重要性を増してきています。DB2 Universal Database (DB2 UDB) バージョン 8.1 で新たに追加された管理ツール一式は、この複雑な要件に取り組むお客様を支援します。DB2 は、 自動化とスケジューリング用に、4 つの主要コンポーネントを備えています。 クライアント – 自動化の機構で、タスク・センター、ジャーナル、コントロール・センター、お よび関連するウィザードやダイアログ、アドバイザーを含みます。 ツール・カタログ・データベース – タスクおよび関連情報の物理ストレージ。コマンド・スクリ プト、スケジュール、実行条件、および実行履歴などの情報を含みます。 スケジューラー – タスクを始動するためのメカニズム。ローカル DB2 管理サーバーによって制御 されます。 DB2 管理サーバー – スケジューラーと、タスクの実際の実行を制御します。 タスク・センターとジャーナル タスク・センターは、自動化およびスケジューリングの可能なタスクに対する管理インターフェー スで、DB2 管理ツールに含まれる第 2 世代自動化ツールです。バージョン 5∼7 のスクリプト・セ ンターを置き換えるもので、包括的な機能を備えています。たとえば、次のような機能があります。 • さまざまなタスクを作成し、多様なオプションを付けて多くの方法で実行する。 • タスク、後続アクション、通知、反復スケジューリング、およびリモート実行を並列にグルー プ化する。 ジャーナルには、実行した全タスク、その成功/失敗の状態、出力、および (もしあれば) 発生した 通知の履歴を含みます。 コントロール・センター・ウィザード、ダイアログ、アドバイザー コントロール・センター・ウィザード、ダイアログ、およびアドバイザーの多くは、タスク・セン ターに統合されます。そして、進捗標識などの追加機能を用いて複雑なタスクを作成する機能や、 タスクが作成されたダイアログでそのタスクを編集できる、再構成という新しい概念を提供します。 ツール・カタログ・データベース 共通のツール・カタログ・データベースは、ツール間でデータを共用し、すべてのタスクと情報 (履 歴やスケジュールなど) を保管します。 スケジューラーおよび管理サーバー スケジューラーは DB2 管理サーバーのコンポーネントの 1 つで、ツール・カタログ・データベー ス内の情報を使用して、指定時刻にタスクを実行します。リモート・システム上のローカル DB2 管理サーバーを実行エージェントとして使用すると、スケジューラーはタスクを実行する対象のシ ステムからみて、リモートに位置していてもかまいません。 要約すれば、サーバー・ベース・スケジューリングや集中スケジューリングを含め、個々の環境に 合わせて多くの構成がサポートされます。この文書では、読者が DB2 のスケジューリングおよび 自動化機能を初めて使用するにあたって参考になるように、さまざまな構成を説明します。 4 管理の簡素化 はじめに 最初のスケジューリング・スクリプトと cron ジョブの登場によって、管理は根本から変わりまし た。現在でも、データベース部門は依然として 30 年前の cron、バッチ・プログラミング、および スクリプト自動化プログラムを使用しています。なぜでしょうか? 答えは簡単で、簡潔さと信頼性 です。同レベルの簡潔さと信頼性を備えながらも、新しいパラダイムへの移行を奨励できるような 付加価値も備えた自動化プログラムは、現在まで登場しませんでした。DB2 UDB V8.1 では、簡単 で信頼性に優れ、付加価値をもたらす包括的製品を提供するスケジューリングおよび自動化ソリュ ーションを構築しました。 以前の文書、 「管理の簡素化:DB2 UDB V8.1 の概要 (Administration Made Easier: An Overview of DB2 UDB Version 8.1) 」 (http://www7b.software.ibm.com/dmdd/library/techarticle/0207gartner/0207gartner.html) では、 タスク・センターや新規ウィザードを含め、バージョン 8.1 で追加された多くの新規ツールを概要 レベルで紹介しました。「再構成」の概念も紹介しました。この文書はその文書の続きで、バージ ョン 8.1 ツールの自動化およびスケジューリング機能をさらに深く掘り下げます。 アーキテクチャー概要 スケジューリングまたは自動化アーキテクチャーに重要な設計ポイントは、サーバー側の実行です。 自動化可能なジョブは、それを作成したクライアントとは完全に独立して、サーバー上で実行する ように設計されます。DB2 の概念では、「タスク」とは、特定のジョブの実行に必要な情報をすべ て含むスタンドアロン・オブジェクトです。実際のスクリプトからスケジュール、実行システム、 任意の後続アクション (通知など) に至まで、すべての情報が含まれます。 図 1. アーキテクチャー概要 - DB2 におけるスケジューリング 5 管理の簡素化 図 1 に示すように、4 つの主要コンポーネント (図の太枠) が自動化とスケジューリング機能を構 成します。 ツール・カタログ・データベース – タスクとその情報の物理ストレージ。スクリプト、スケジュ ール、実行条件、および実行履歴を含みます。 スケジューラー – タスクを開始するメカニズム。ローカルな DB2 管理サーバーによって制御され ます。 DB2 管理サーバー – スケジューラーの制御とタスクの実行という、2 つの目的にサービス提供し ます。 クライアント – タスク管理機構で、タスク・センター、ジャーナル、コントロール・センター、 ウィザードなどを含みます。 ツール・カタログ・データベースの作成 ツール・カタログ・データベースには、タスクの実行とその履歴の保持に必要な情報を含む、約 80 個の表およびビューが入っています。このデータベースは Linux、UNIX®、または Windows®用 の DB2 V8 システム上に作成する必要があります。スタンドアロン・データベースとして、あるい は既存データベースの一部として作成できます。ツール・カタログ・データベースは、次のような さまざまな方法で作成できます。 • DB2 サーバー製品のインストールの最中 • コマンド行プロセッサー (CLP) 経由 (構文は図 2 参照) • コントロール・センターを使用 (「コントロール・センター (Control Center)」→「ツール (Tools) 」→「ツール設定(Tools Settings) 」、図 3 参照) • ウィザードを使用して始めてタスクを作成したとき 図 2. ツール・カタログを作成するための構文 6 管理の簡素化 図 3. コントロール・センターを使用したツール・カタログの作成 ツール・カタログ・データベースは、タスクに関する次のような情報を保管します。 • タスクの定義。グループ、タスク・タイプ、コマンド・スクリプトを含みます。 • スケジュール • システムの実行 (スクリプトを実行するシステム) • 実行履歴 • 再構成のための情報 • 通知情報 • その他の情報 スケジューラーの構成 スケジューラーとツール・カタログ・データベースは、常に連携して機能し、どちらか一方だけで は機能しません。スケジューラーは管理サーバーの一部で、エージェントとして動作してツール・ カタログ・データベースを読み取り、それぞれの時刻にタスクを実行します。スケジューラーは、 ローカル DB2 管理サーバーによる実行に備えて、タスクのスクリプト・コンポーネントを実行シ ステムに送信します。また、スケジューラーは、後続のタスク・アクション、通知などの責任も担 います。 スケジューラーは管理サーバー構成を通して構成できます。図 4 に示すとおり、管理サーバー構成 7 管理の簡素化 は、ツール・カタログ・データベースの位置と、スケジューラーを有効にすべきかどうかをスケジ ューラーに知らせます。デフォルトでは、ツール・カタログ・データベースが作成されると、スケ ジューラーが構成されて新規ツール・カタログの使用準備が整うように、対応する管理サーバー構 成が更新されます。DB2 管理サーバーを再始動する必要はありません。 Admin Server Configuration Authentication Type DAS (AUTHENTICATION) = SERVER_ENCRYPT DAS Administration Authority Group Name (DASADM_GROUP) = DAS Discovery Mode (DISCOVER) = SEARCH Name of the DB2 Server System (DB2SYSTEM) = HOMER Java Development Kit Installation Path DAS (JDK_PATH) = D:¥SQLLIB¥java¥jdk¥ DAS Code Page (DAS_CODEPAGE) = 0 DAS Territory (DAS_TERRITORY) = 0 Location of Contact List (CONTACT_HOST) = Execute Expired Tasks (EXEC_EXP_TASK) = NO Scheduler Mode (SCHED_ENABLE) = ON SMTP Server (SMTP_SERVER) = Tools Catalog Database (TOOLSCAT_DB) = TEST Tools Catalog Database Instance (TOOLSCAT_INST) = DB2 Tools Catalog Database Schema (TOOLSCAT_SCHEMA) = SYSTOOLS Scheduler User ID = JGARTNER 図 4. サンプルの管理サーバー構成ファイル ツール・カタログ・データベースは、スケジューラー・システムからみてローカルまたはリモート にあるサーバー上に作成できます。リモート・サーバー上にツール・カタログを作成する場合、ス ケジューラー・ツール・カタログ・データベース・インスタンス (TOOLSCAT_INST) 上にカタログ する必要があります。スケジューラーのユーザーID は、DB2 管理サーバーの作成中に、あるいは db2admin setschedid コマンドを使用して設定します。すると、スケジューラーはリモート・ ツール・カタログに接続して認証できます。db2admin コマンドの完全な構文については、『DB2 コマンド・リファレンス』を参照してください。 64 ビット・インスタンス: AIX®、SUN、および HP の 64 ビット・インスタンスについては、64 ビット JDK のロケーションと一緒に、JDK_64_PATH パラメーターを設定する必要があります。こ のパラメーターは、バージョン 8.1 の最初の FixPak リリースでのみ提供されます。 既存の JDK_PATH パラメーターを使用すれば、バージョン 8.1 のオリジナル・リリースも依然としてサポートされま す。 タスクの実行 DB2 管理サーバーの使用目的は数多くありますが、ここでは、この文書の目的に沿って、自動化と スケジューリングに果たす役割を解説します。DB2 管理サーバーを、タスクの起動と実行の基本と なるベース・コントローラーとして考えてみてください。スケジューラー・システムと実行システ ムは異なる場合もあります。スケジューラーはタスクのスクリプト部分を実行システムに送る責任 を担います。実行システムには、ローカル DB2 管理サーバーが含まれます。このローカル DB2 管 理サーバーは、スクリプトがオペレーティング・システム・スクリプトなのか DB2 スクリプトな のかによって、システム、インスタンス、またはパーティションに対して後からスクリプトを実行 します。このモデルは、集中スケジューリングのための最高の柔軟性を備えており、多様な構成が 8 管理の簡素化 可能です。最も重要なことは、完全なサーバー・サイド実行機能を備えていることです。このモデ ルでは、スクリプトの実行にクライアント・マシンは必要なく、スケジューラー・システムやクラ イアントに割り込みが発生しても、サーバーで起動されたスクリプトは完了するまで実行されます。 タスク・センターを使用したタスクの作成 タスク・センターは、スケジューリングおよび自動化のための外部ハブです。タスク・センターで、 タスクを作成、編集、スケジュール、再構成、デバッグします。この文書では、タスク・センター を使用して作成したタスクだけを解説します。現在、他に作成可能な唯一のタスク・タイプは、コ ントロール・センターで作成する、ダイアログ・ベース・タスクと呼ばれるタイプだけです。ダイ アログ・ベース・タスクは、後述のセクションで解説します。 図 5. タスク・センターにおける新規タスクの作成 タスクに設定できる属性には、次のようなものがあります。 • スクリプトは、任意の DB2 コマンド・スクリプトまたは OS スクリプトです。デフォルト終了 文字は、ツール設定オプションを使用してカスタマイズできます。 • スケジュールは、毎月第 3 日曜日の午前 1:00 などというように、ユーザーの条件に基づいて反 復可能なものを作成できます。また、完全にカスタム日時で作成することもできます。 • 実行システムは、スクリプトを実行するシステムです。スクリプトは必ずしもローカルに実行 される必要はありません。 • 実行システムの特定のインスタンスやパーティション上でタスクを実行するように示すことが できます。コマンド用に複数のパーティションを選んだ場合、コマンドは並列に実行されます。 9 管理の簡素化 異なるコマンドは異なるシステムやパーティションで実行する必要があって、そのコマンドが 並列またはシリアルに実行される必要がある場合、そのスクリプト用に別タスクを作成し、「高 度なトピック」のセクションに説明のあるグループ化機能を使用します。 • タスクの成功/失敗が管理者に通知されるように指定できます。これにより、スクリプト実行に 成功したとして扱えるコードを見極めることができます。たとえば、エラー・コードが 0 以上 の場合にタスクの成功とみなし、(タスクによって異なりますが) エラー・コード-911 をアクシ ョンの正常終了としてみなすこともできます。この場合、>0, =0, =-911 と指定します。本来、 すべての成功コードの論理和を取って、成功時のエラー・コードの完全なリストを作成します。 実行の各行に関して、戻りコードが正常時のエラー・コードのリストと比較され、戻りコード がリストにない場合、スクリプト実行は停止し、失敗としてみなされます。デフォルトでは、0 以上のすべてのエラー・コードは成功としてみなされます。 • 前のタスクの成功/失敗に基づいて、タスクをチェーニングできます。たとえば、再配分に失敗 した場合は既知の最後の一貫性ポイントまでロールバックし、再配分に成功した場合は新しい データ・スキューに対して RUNSTATS (統計情報収集) を実行することもできます。 • デバッグには「Run Now(今すぐ実行)」方式を使います。これをを使うと、通知と後続タスク を一時的に使用不可にできます。これにより、微調整しながら、タスクを複数回実行できます。 実際のタスク自体は、スケジュールされたときに完全に自動実行できるように、元々のパラメ ーターを保持します。 V7 スクリプトのマイグレーション タスク・センターは、V7 スクリプト・センターを置き換えます。次のようにして、DAS マイグレ ーション中に、バージョン 7 のスクリプトをバージョン 8 へマイグレーションできます。 1. バージョン 8 をインストールします。 2. ツール・カタログ・データベースを作成します。 3. dasmigr コマンドを実行して DAS をマイグレーションし、すべての V7 スクリプト・センタ ー・スクリプトを V8 タスクにマイグレーションします。 ジャーナルを使用してタスク履歴を保持する 特定のタスクの最後の実行に関する情報だけを示すタスク・センターとは異なり、ジャーナルはす べてのタスクの全実行履歴を保持します。タスクの実行のどれに位置づけても、その出力、 SQLCODE、通知、および後続タスクのアクションを検出できます。また、実行された実際のコマ ンド・スクリプトを見ることもできます。これは現在実行されるものとは異なる場合もあります。 また、ジャーナルからタスクを直接編集することもでき、タスクの履歴や結果に基づいてタスクを 変更できます。ジャーナルは各々のタスクの実行履歴を保存するので、すぐに肥大化してしまいま す。そこで、古いものや不要なタスク履歴を複数選択して削除する機能を通して、ジャーナル内の エントリーを簡単に整理できます。 10 管理の簡素化 図 6. ジャーナル 高度なトピック このセクションでは、次のようなトピックを解説します。 • ダイアログ・ベースのタスクと再構成 • タスクの並列化とグループ化 • 通知 ダイアログ・ベースのタスクと再構成 コントロール・センター内に存在するダイアログ、ウィザード、およびアドバイザーの多くは、純 11 管理の簡素化 粋なタスク・センター・タスクの機能の他に付加的な機能も備えたダイアログ・ベース・タスクを 作成できます。たとえば次のようなタスクが含まれます。 • 再構成 • 進捗表示 • タスク・センターの機能を使用する、事前定義済みの並列、逐次、および後続実行機能 「再構成」は単純ですが強力な概念です。ウィザードを使用してタスクを作成する場合、そのタス クは作成元のウィザードで「…の編集(Edit … with) 」ダイアログを使用して編集できます。これ は、コマンドやそのすべてのオプションを知らない管理者でも、以前に作成されたスクリプトを編 集でき、コマンドやコマンド内の各オプションを完全に理解する必要がないことを意味します。た とえば、タスクの作成にバックアップ・ウィザードが使用されたとします。データベースを静止す るオプションが元々選択されていなかった場合、手動でタスクを編集して追加する必要はありませ ん。単にウィザードを使用してタスクを編集し、オプションを選択して、タスクを再び保存するだ けです。タスクを新規タスクとして保存することもでき、古いタスクを元々の状態に保つことがで きます。 ダイアログ・ベース・タスクは、特定の操作用の進捗状況を表示する独特な機能も備えています。 図 8 に示すように、たとえば load ユーティリティーは、ロード済みの行数とこれからロードする 行数 (おおよその数)、さらに現在のロードの段階を知らせます。もちろん、すべてのユーティリテ ィーがこの種の詳細進捗標識をサポートするわけではありません。サポートしないものについては、 タスクの実行経過時間、開始時刻などの基本的な統計情報と一緒にタスクの進捗が表示されます。 ユーティリティーが詳細進捗標識をサポートする場合は、ツールも詳細進捗をサポートします。 12 管理の簡素化 図 8. ロード・ウィザードを使用して作成された Load タスクの進捗詳細 ウィザードで作成されたタスクは複雑で、簡単なタスクではない場合がありますが、スクリプト内 に多くのコマンドを含むことがあり、チェーニングされ並列または逐次実行されるタスクを多く含 んでいる場合もあります。このことに関しては、並列化とグループ化に関する次のセクションで解 説します。 並列化とグループ化 V7 とは異なり、1 つのタスク内で、コマンド・スクリプトを複数パーティションで並列に実行でき ます。これは、全パーティションでデータベース構成パラメーターを更新するなど、厳密に同一の コマンドを複数のパーティションに対して並列に実行する場合です。バージョン 8 では、以下を使 用して、多様なカスタム・アクションを実行できます。 • 後続タスク・アクション • グループ化 • タスクが実行されるインスタンスおよびパーティションを指定する Instance/Partition フィー ルド グループ化は、複数のタスクをまとめてグループ化し、そのタスクのグループを単一エンティティ 13 管理の簡素化 ーとして使用するという概念です。この単一エンティティーを、グループ・タスクとして表します。 この 1 つのグループ・タスクを通常タスクとして、スケジュール制御や後続アクションの実行、通 知に使用できます。また、後続アクションとしてグループ・タスクを実行することもできます。複 数のタスクをまとめてグループ化すると、異なるインスタンスやパーティション上で異なるコマン ド・スクリプトを実行できるようになります。このような機能が使用されるシナリオを見てみまし ょう。 シナリオ: パーティション・データベースをバックアップする 4 台の物理マシン上に 8 パーティションから成るデータベースがあるとします。パーティション 1 と 2 はマシン 1、パーティション 3 と 4 はマシン 2、パーティション 5 と 6 はマシン 3、パーティ ション 7 と 8 はマシン 4 にあります。データベースをできるだけ迅速にバックアップするために、 まず最初にカタログ・パーティションをバックアップし、次にマシンごとに 1 つのパーティション を各マシン並列にバックアップすることによってマシンの並列性を活用します。これを行うには、 次のような順序でタスク・バックアップを実行します。 1. データベースを静止します。 2. カタログ・パーティション 1 をバックアップします。 3. パーティション 3、5、7 を並列にバックアップします。 4. パーティション 2、4、6、8 を並列にバックアップします。 5. データベースの静止を解除し、再びアクティブにします。 これが順序ですが、他にも方法はあります。 例 1. 図 9 に示した最初の例では、カタログ・パーティションを正常にバックアップし、次にパー ティション 3、5、7 のすべてのバックアップを正常に完了してから、その他のパーティションを引 き続きバックアップする必要があります。 図 9. 各タスクは次のタスクへ進む前に完了する必要がある 例 2. 2 番目の例で (図 10 参照)、パーティション 1 (図中では P1 と表す) のバックアップが完了す るとすぐにパーティション 2 をバックアップできます。すべてのパーティションがバックアップさ 14 管理の簡素化 れて初めて、データベースの静止を解除できます。つまり、カタログ・パーティションがバックア ップされた後、パーティション 2、3、5、7 のバックアップが始まります。3 が終わると 4 が始ま ります。5 が完了すると 6 が始まり、7 が完了すると 8 が始まります。2、4、6、8 が正常にバック アップされると、データベースは静止解除されます。 図 10. 異なる並列タスク・グループ 例 3. 3 つ目の例では、最終的には同じことを実施しますが、異なるパーティションで実行される実 際のコマンドが同じであるという事実を活用します。タスク・プロパティーの Instance/Partition フィールドを使用して、多くのシステムにわたって並列に実行されるようにコマンドを設定できま す。この例では、カタログ・パーティションは単独でバックアップされます。Instance/Partition フィールドを「<instance name> 3,5,7」に設定することにより、バックアップに成功後、パー ティション 3、5、7 を並列にバックアップする後続タスクが実行されます。これらパーティション のすべてが正常にバックアップされたときのみ、パーティション 2、4、6、8 がバックアップされ ます。この簡素化された例は、各パーティションで実行するのが厳密に同一コマンドである場合の み、機能します。異なるパーティションで restore などの異なるコマンドを実行する必要があれば、 グループ化の例 1 および 2 に立ち返る必要があります。 図 11. 後続タスクを使用してバックアップ。この例は全パーティションにわたって同一コマ 15 管理の簡素化 ンドを使用する場合のみ機能する 以上の例で示すとおり、並列アクション・リストが完了したかどうかを確かめるために、複雑でエ ラーを招きやすいスクリプトやポーリング・スクリプトを使用する必要がなくなります。この機能 のすべてが、タスク・センターに内在します。さらに良いことに、並列バックアップを実施したい 場合、バックアップ・ウィザードが管理者に代わってすべてを実施してくれます。バックアップ・ ウィザードは、実際には前述の例 3 を使用して並列性を実現します。ウィザードの多くは、適切な 箇所でこの機能を提供します。 通知 バージョン 8.1 の通知機能は、DB2 のスケジューリングおよび自動化機能に対する真の付加価値の 1 つです。通知は E メールやポケットベル呼び出しで、タスク完了時 (成功時も失敗時も) にスケ ジューラーが送信します。通知メッセージは完全にカスタマイズ可能です。つまり、E メールの件 名や本文には、タスクを識別しやすくする情報を含めることができます。 タスク・センター、コントロール・センター、またはヘルス・センター内に連絡先リストを作成で きます。また、「連絡先(Contacts)」ウィンドウ (図 12 参照) を使用して、個人連絡先や、他の連 絡先や連絡先のグループを包含できるグループ連絡先を追加できます。これらの連絡先は、E メー ル連絡先かポケットベル連絡先です。「連絡先(Contacts)」ウィンドウ内で、SMTP サーバーをテ ストしたり、任意のアドレスをテストしたりできます。連絡先リストは共通なので、通知を提供す るすべてのセンターで使用されます。特定のスケジューラーに関連付けた連絡先リストを作成した り、グローバル連絡先リストを作成することもできます。 通知をセットアップするには、SMTP サーバーがセットアップされていることを確認し、SMTP サ ーバーの TCPIP ホスト名を管理サーバー構成の SMTP_SERVER パラメーターに指定します。これは 任意の非認証 SMTP サーバーでも構いません。グローバル連絡先リストを使用したい場合、グロー バル連絡先リストを持つスケジューラーの TCPIP ホスト名を CONTACT_HOST パラメーターに指定 する必要があります。 グローバル連絡先リストはどういう場合に使用するのでしょうか? 特に使用対象となるのは、複数 システムの構成です。たとえば、図 15 に示すサーバー・スケジューリング・セットアップを使用 すると仮定します。この場合、1 つのサーバーをグローバル連絡先ホストとして選択できます。そ して、他のサーバーの CONTACT_HOST 管理サーバー構成パラメーターを、グローバル連絡先リスト のホストとなるサーバーのホスト名で更新します。 16 管理の簡素化 図 12. 新規連絡先およびグループを追加/テストできる「連絡先(Contacts)」ウィンドウ タスク管理のヒント 次に、多数のタスクの管理に役立つ簡単なテクニックをいくつか示します。 命名方式を策定する 誰にでもわかりやすい命名方式を策定します。ウィザードで作成されるデフォルトのタスク名は、 管理者にとって便利な場合もあればそうでない場合もあります。デフォルトの命名方式は次のとお りです。 <Wizard> - <Timestamp> [ - Subtask] <Wizard> - <Timestamp>部分は、新規タスク作成時に常に編集できるので、必要であれば変更し ます。[- Subtask] は複数のタスクを作成するウィザードとダイアログのみに使用されます。たと えば、バックアップ・ウィザードは「Backup - 10/2/02 10:42:51 PM EDT – QUIESCE」といった タスクを作成します。タスク名は固有でなければならず、タスク名の固有性を保証するために名前 にはタイムスタンプが押されます。もう 1 つの簡単な方法は、タスクを固有なものにし得るあらゆ る特性を考えることです。それはデータベース名であったり、インスタンスやコマンドであったり します。筆者の好みの命名方式は、次のようなものです。 <database> - <command> - <object name> (details) 例: SAMPLE - LOAD - JGARTNER.EMPLOYEE (ixf) 17 管理の簡素化 SAMPLE - LOAD - JGARTNER.EMPLOYEE (del employee.del) SAMPLE - REORG - JGARTNER.EMPLOYEE SAMPLE – QUIESCE SAMPLE - ONLINE BACKUP - 1 この方法だと、名前を与えられるだけで、簡単に問題のタスクを見つけることができます。また、 重複するタスクを作ってしまうことも避けられます。 タスクを分類する タスクを作成してカテゴリーに割り当てることができます。タスクはデータベース別、パーティシ ョン別、インスタンス別、コマンド・タイプ別などのように分類できます。 タスクのグループがさまざまな方法でソートできるように、1 つのタスクを 1 つ以上のカテゴリー に割り当てることができます。デフォルトでは、コントロール・センターのダイアログで作成され た全タスクは、「<Wizard> Tasks」という編集可能なカテゴリー名を持っています。ただし、す べてのタスクは「Generated By」という編集不可能なウィザード名の入ったフィールドも持ってい ます。たとえば、バックアップ・ウィザードで作成された全タスクのカテゴリーを変更する場合、 「Generated By」フィールドは常に「Backup Wizard」になるので、このウィザードで作成され たすべてのタスクを容易に検出できます。この機能を活用して、自分にとって最適な方法でタスク を分類することを推奨します。 筆者が使用する分類方式は次のとおりです。 <database>, <Overall task>, <Command>, <Object> 例: SAMPLE, Backup, QUIESCE SAMPLE, Backup, BACKUP SAMPLE, Backup, UNQUIESCE SAMPLE, Load, LOAD, JGARTNER.EMPLOYEE SAMPLE, Load, REORG, JGARTNER.EMPLOYEE この例では、事前定義済みのビュー「カテゴリー別概要(Overview by Categories) 」を使用すると、 データベース SAMPLE に対する全タスク、全体でチェーニングされた全コマンド、グループ化さ れたすべての LOAD、さらにはオブジェクト JGARTNER.EMPLOYEE に対する全タスクを表示 できます。 カスタマイズド・ビューの作成 バージョン 8.1 では、カスタマイズした独自の列とソート順を使用して、独自のカスタマイズド・ ビューを作成できます。図 13 に示すように、タスク・センターには事前定義済みのビューが 9 つ あり、個人的な命名方式や分類方式に従ってカスタマイズできます。事前定義済みビューは非常に 便利で、ウィンドウの最下部にあるツールバーを使用して簡単に選択できます。次に、列を追加ま たは削除して、特定のニーズに合わせてビューをさらにカスタマイズしたり、カスタマイズした独 自のソートを使用してグループ化することもできます。これは、ウィンドウの最下部のツールバー にある「表示(View) ボタンを使用して行います。 これらのビューのほとんどは自己説明的です。しかし、特に注目すべきは「作成元(Generated by) 」 ビューです。このビューは特定時刻に特定のウィザードによって作成されたすべてのタスクをグル 18 管理の簡素化 ープ化します。ウィザードが一連のタスクを作成した場合、「作成元(Generated by)」ビューを使 用して簡単に表示してこれらタスクのまとまりを全体として操作でき、作成すみのいろいろなタス クを探す必要はありません。 図 13. タスク・センターの事前定義済みのビュー スケジューリングと自動化の構成 スケジューリングと自動化方式を構成する方法はいろいろありますが、すべての構成は次の 2 つの カテゴリーに当てはまります。 • サーバー・ベース・スケジューリング • 集中スケジューリング タスク・センター内、あるいはいずれかのツール内でタスクを作成するときは、カタログ済みの任 意のスケジューラーに対していつでも作成できます。ただし、ツールは、ツール設定での選択に応 じて、指定した方式をデフォルトにする手段を備えています。「サーバー・スケジューリング」は データベース・サーバーごとにスケジューラーを 1 つ持つ方式で、一方「集中スケジューリング」 は、1 つまたは選択した数のスケジューラーを持って全システムに使用する方式です。集中スケジ ューリングを指定してスケジューラー・システムを 1 つ持つと、タスクを作成するたびにこれがデ フォルトになります。 集中スケジューリングでは、認証は深刻な考慮事項です。タスクの「ランタイム許可」は、データ ベース・システムである実行システム上でタスクを起動する権限をスケジューラーに付与します。 このランタイム許可は、データベース接続のユーザーID およびパスワードではなく、むしろタスク を実行するユーザーID です。ユーザーID は実行システム上に存在しなければなりませんが、スケ ジューラー・システム上には存在する必要はありません。 サーバー・スケジューリング構成例 図 14 は典型的なサーバー・スケジューリング方式を示しています。この方式では、スケジューラ ーとツール・カタログが各データベース・サーバーで作成されます。 19 管理の簡素化 図 14. DB2 サーバー・スケジューリング方式 集中スケジューリング方式の例 図 15 は典型的な集中スケジューリング方式を示しています。この方式では、1 つのスケジューラー が複数のデータベース・サーバーにサービス提供します。 ツール・カタログは、スケジューラーにとってローカルまたはリモートのどちらでも構いません。 この構成は、管理サーバー構成で次のようにパラメーターを設定することにより、セットアップさ れます。 Tools Catalog Database Tools Catalog Database Instance Tools Catalog Database Schema Scheduler User ID (TOOLSCAT_DB) = TEST (TOOLSCAT_INST) = DB2 (TOOLSCAT_SCHEMA) = SYSTOOLS = JGARTNER データベースがサーバーにとってローカルではなく、DB2 管理サーバーが作成されるときのみ設定 できる場合、スケジューラーのユーザーID は必須です。 20 管理の簡素化 図 15. リモート・ツール・カタログを使用した DB2 集中スケジューリング方式 混合層スケジューリングの例 図 16 は、集中スケジューリングとサーバー・スケジューリングを 1 つの混合層セットアップに組 み合わせる方法を示しています。インフラストラクチャーのシステム・レイアウトに応じて、考え 得る数多くの構成を表しています。この例では、タスクおよびスケジューリング用に集中サーバー が 2 つあります。また、サーバーの一方にはデータベースがいくつかあり、他方のサーバーにはデ ータベースが 1 つあり、他の 2 つのデータベースのためのリモート・スケジューラーとして動作し ます。 21 管理の簡素化 図 16. 混合層スケジューリング方式の例 利点と欠点 これら構成のそれぞれに、利点と欠点があります。サーバー・ベース・スケジューリング方式は、 互いに異なるデータベースがほとんどない場合に便利です。これにより、データベース上で実際の スケジューリングを実施でき、スケジューリング・スクリプトおよびタスクの保守もそのシステム 上で実施できます。これは非常に分離された方式で非常に簡単です。 集中スケジューリング方式はもっと複雑ですが、多数のデータベースには便利です。この方式を使 用すると、すべてのスケジューリングに対して保守ポイントは 1 箇所になります。タスクの作成も 簡単で、1 つのデータベースのタスクを別のデータベースのタスクと簡単に比較できます。この方 式では、カスタマイズド・ビューを使用して、作成される多くのタスクを分離する必要があります。 結論 DB2 UDB V8.1 のスケジューリングおよび自動化機能は、極めて広範囲にわたり、従来の cron ジ ョブやポーリング・スクリプトよりも多くの付加価値のある機能を含んでいます。GUI には慣れて いないとしても、このような包括的システムが提供する利点はご理解いただけると思います。タス ク・センターはスタンドアロン・ツールであり、他の GUI ツールがなくても単独で使用できます。 DB2 管理ツールは盛り沢山です。この文書では、その機能ほんの一部を示したにすぎません。DB2 UDB バージョン 8.1 をご使用になることをお勧めします。総所有コストを最小化し、管理上の多く の問題に対するソリューションを提供する上で、DB2 UDB V8.1 で実現された大きな進歩には、読 者のみなさまも筆者と同様に目を見張ることでしょう。 22 管理の簡素化 著者について Jason Gartner: 1996 年以来、IBM トロント・ソフトウェア研究所で DB2 に携わってきたプロフ ェッショナル・エンジニア。最近では、DB2 管理ツール開発のテクニカル・マネージャーとして従 事。管理ツールのパフォーマンスと品質が優先順位付けされることの保証と、多重区分化環境と SMART 技法をツールが全面活用することの保証に重点的に取り組んできました。 Subho Chatterjee: 1998 年以来、IBM トロント・ソフトウェア研究所で DB2 に従事。DB2 管理 サーバーなどのツール・インフラストラクチャーの提供と、DB2 管理ツールの操作性、パフォーマ ンス、および導入から運用までの使用経験を改善することに重点的に取り組んできました。現在は オートノミック・コンピューティングの取り組みにおいて、DB2 のさまざまな自己モニター、自己 修復テクノロジーを担当しています。 付録 A: セットアップのチェックリスト 多くの構成は大きく異なるように見えますが、ほとんどの場合、セットアップにおいては非常に類 似しています。DB2 では、複雑なスケジューリング・システムでさえ、単純なシステムと変わらな いほどセットアップが簡単です。使用環境に適したスケジューリング方式の作成を支援するために、 セットアップごとにチェックリストを作成しました。 実行システム (データベース・サーバー) DB2 管理サーバー V8 が稼動していることを確認します。これは db2admin コマンドを使用し てチェックします。 ツール・カタログ・システム DB2 V8 がインストールされていることを確認します。 ツール・カタログが作成済みであることを確認します。 スケジュール・システム DB2 管理サーバー V8 がインストールされていることを確認します。 次のように管理サーバー構成パラメーターが設定されていることを確認します。 パラメーター Java™ Development Kit のインストール・パ ス Java Development Kit のインストール・パス 64 ビット 連絡先リストの位置 パラメーター名 JDK_PATH パラメーター値のコメント JDK のパス JDK_64_PATH** スケジューラー・インスタンスが 64 ビットの AIX、SUN、または HP の 場合のみ設定。 グローバル連絡先リストを使用す る場合のみ必要。 ON に設定。 通知用に、SMTP Server TCPIP ホ スト名に設定。 ツール・カタログ・データベース名 CONTACT_HOST スケジューラー・モード SCHED_ENABLE* SMTP_SERVER SMTP サーバー ツール・カタログ・デー TOOLSCAT_DB* 23 管理の簡素化 タベース ツール・カタログ・デー TOOLSCAT_INST* タベース・インスタンス ツール・カタログ・デー TOOLSCAT_SCHEM A* タベースのスキーマ ス ケジ ューラ ー のユー ザーID ツール・カタログ・データベース・ インスタンス名。 ツール・カタログ・データベースの スキーマ名。 db2admin setschedid コマンドを使 用して設定する。ツール・カタログ がスケジュールに対してローカル にない場合のみ必要。 * ツール・カタログがスケジューラーに対してローカルである場合、これらフィールドはすでに設 定されているはずです。 ** V8.1の最初のFixPakでのみパラメーターが提供されます。GA版は32ビットJDKのパラメーターを 使用します。 パラメーター変更後、DB2 管理サーバーが再始動されることを確認します。 ツール・カタログがローカル・ツール・カタログ・インスタンスでカタログされることを確認 します。 クライアント DB2 V8 管理クライアントがインストール済みであることを確認します。 スケジューリング・システムがカタログされたことを確認します。 オプションで、管理しているデータベースがカタログされていることを確認します。 オプションで、「ツール(Tools)」→「ツール設定(Tools Settings)」メニュー・オプションを使 用して、集中スケジューリングとサーバー・スケジューリングのどちらを使うか選択します。 24