2 IBM DB2 Databaseプラグインの構成
次の構成タスクが用意されています。
プラグインをデプロイする管理エージェントの構成
エージェントを構成するには、まず、エージェント・サービスを起動するユーザーがローカル管理者グループに属していることを確認します。また、プラグインをデプロイするすべてのエージェントで優先資格証明を設定する必要があります。これを行うには、次の項の手順に従います。
適切なオペレーティング・システム・ユーザーの使用と認可レベルおよび権限の割当て
IBM DB2 Databaseプラグインは、IBM DB2で使用されるテーブル・ファンクションにアクセスします。同プラグインがこれらのテーブル・ファンクションにアクセスするには、特定のユーザー・グループに割り当てられた、適切なオペレーティング・システム・ユーザーを使用する必要があります。このオペレーティング・システム・ユーザーには、少なくとも最小の権限を割り当てる必要があります。また、正しい認可レベルも割り当てる必要があります。
ノート:
IBM DB2ユーザーはオペレーティング・システム・ユーザーである必要があります。IBM DB2では、セキュリティをホスト・オペレーティング・システムに依存しているため、固有のデータベース・ユーザーを使用できません。
オペレーティング・システム・ユーザーをまだ作成していない場合は、IBM DB2を実行しているホスト上にユーザーを1つ作成します。その後、次のステップに従って、そのユーザーを新規または既存のユーザー・グループに割り当てます。
-
IBM Data Studioを開きます。
-
ツリー・ビューから、変更するデータベースを選択し、図2-1に示すように管理者アカウントを使用して接続します。
図2-1 IBM Data Studioへの接続
-
ツリー・ビューから、「ユーザーとグループ」を展開して「ユーザー」を選択します。
-
右側のペインで、「新規オブジェクトの作成」を選択します。
-
新規ユーザーの「プロパティ」ウィンドウの「一般」タブで、オペレーティング・システムのユーザー名を入力します。
-
「権限」タブで、アカウントにCONNECTが付与されていることを確認します。
-
適用された変更内容を確認するには、図2-2に示されているように、新しく作成したユーザーを使用してデータベースへの接続を試行します。
図2-2 データベースへの接続
ノート:
これらのステップは、IBM DB2 SQLを使用してコマンドラインから実行することもできます。
さらに、オペレーティング・システム・ユーザー・グループに認可レベルと権限を割り当てます。IBM DB2でサポートされる認可レベルは、SYSADM、SYSCTRL、SYSMAINT、DBADMおよびLOADです。SYSADM、SYSCTRLおよびSYSMAINT認可レベルは、GRANT SQL文を使用して付与することはできません。これらの特別な認可レベルは、データベース・マネージャの構成ファイルからのみ設定できます。DBADM権限は、SYSADM認可レベルのユーザーのみが付与できます。
SYSMON認可レベルは、IBM DB2を管理するために必要です。このレベルは、IBM DB2で使用されるテーブル・ファンクション(SYSPROC.SNAPSHOT_DATABASE
など)にアクセスするために必要となります。
次のステップに従って、使用するユーザー・グループにSYSMON認可レベルを設定します。
ノート:
認可レベルと権限がIBM DB2でどのように実装されるかについては、IBMのWebサイトを参照してください。
IBM DB2でのヘルス・インジケータ(Health Indicator)メトリックとデータベースの監視(Database Monitoring)メトリックの構成
この項では、IBM DB2で実行する必要のある、インストール後の構成ステップについて説明します。
ヘルス・インジケータ(Health Indicator)メトリックに必要な構成
インスタンスおよびデータベース・オブジェクトのヘルス・インジケータは、データベース・マネージャの構成パラメータHEALTH_MON
を使用して有効または無効にできます。これにより、テーブル・ファンクションHEALTH_TBS_HI
、HEALTH_DB_HI
およびHEALTH_DBM_HI
に値が移入されます。これらのファンクションは、ヘルス・インジケータのしきい値に基づいてトリガーされたアラートを表示するために、プラグインによって使用されます。
ノート:
これらの設定を有効にすると、一部のリソース(CPUやメモリーなど)にオーバーヘッドが生じることがあります。したがって、これらのステップはヘルス・インジケータ(Health Indicator)メトリックを表示する必要がある場合にのみ実行してください。
HEALTH_MON
をCLP (Command Line Processor)によって有効または無効にするには、次のコマンドを実行します。
db2==> update dbm cfg using HEALTH_MON [on;off]
変更が反映されたかどうかを確認するために、次のコマンドを実行します。
db2==> get dbm cfg
出力は次のようになります。
..... ..... ..... Monitor health of instance and databases (HEALTH_MON) = ON ..... ..........
詳細は、IBMのWebサイトにアクセスしてください。
データベースの監視(Database Monitoring)メトリックのメトリック・コレクション・エラーを回避するために必要な構成
データベースの監視(Database Monitoring)メトリックのメトリック・コレクション・エラーを回避するには、GET_DBSIZE_INFO
パッケージを呼び出して、STMG_DBSIZE_INFO
表を作成し、必要なデータを移入する必要があります。
GET_DBSIZE_INFO
プロシージャは、データベースのサイズと最大容量を計算します。算出された値は、プロシージャの出力パラメータとして返され、SYSTOOLS.STMG_DBSIZE_INFO
表内にキャッシュされます。これらの値がキャッシュされるのは、計算のパフォーマンス・コストが高いためです。
SYSTOOLS.STMG_DBSIZE_INFO
表は、このプロシージャの初回実行時に自動的に作成されます。SYSTOOLS.STMG_DBSIZE_INFO
表にキャッシュされた値は、snapshot-timestampとrefresh-windowの各値に基づき、古い値でないことを確認されたうえで返されます。
キャッシュされた値が最新でない場合は、新たに算出された値がキャッシュされ、SYSTOOLS.STMG_DBSIZE_INFO
表に挿入されて返された後、snapshot-timestamp値が更新されます。GET_DBSIZE_INFO
で最後に取得されるパラメータはrefresh-windowです。
refresh-window (コール間の時間間隔)のデフォルト値は30分です。データベースの更新がより頻繁に行われる場合は、より短い時間に設定することもできます。
CLP(コマンドライン・プロセッサ)によりGET_DBSIZE_INFO
を呼び出すには、次のコマンドを実行します。
db2==>CALL GET_DBSIZE_INFO(?, ?, ?, -1)
この例の場合、refresh-windowは30分になります。
文の監視に必要な構成
文を監視するメトリックのメトリック収集エラーを回避するには、DB2のプロンプトで次のコマンドを実行して、監視文のスイッチがオンになるようにデータベース・マネージャ構成を更新します。
db2 => update dbm cfg using DFT_MON_STMT on
ロックおよびロック待機の監視に必要な構成
分析ページでロックおよびロック待機情報に関するメトリック収集エラーを回避するには、DB2のプロンプトで次のコマンドを実行して、監視プラグイン・ユーザーがDB2で待機ロック管理ビューを問合せできるように権限を設定します。
IBM DB2バージョン9.1および9.5の場合、ロックとロック待機のスイッチがオンになるようにデータベース・マネージャ構成を更新します。
db2 => update dvm cfg using DFT_MON_LOCK on
IBM DB2バージョン9.7以上の場合、DB2ユーザーがMON_LOCKWAITS
管理ビューに対する選択権限を持ち、DATAACCESS
権限を持つことを確認してください。[username]がターゲットの構成時に使用される監視ユーザー名である場合、次のコマンドを実行します。
db2 => GRANT DATAACCESS ON DATABASE TO USER [username] db2 => GRANT SELECT on TABLE SYSIBMADM.MON_LOCKWAITS TO USER [username]