Db2 Genius Hub は、Db2 の監視、パフォーマンス分析、運用管理を AI で支援する管理コンソールです。バージョン 1.1.3 では MCP Server が追加され、外部の AI アシスタントから Db2 Genius Hub の機能を利用できるようになりました。
本記事では、MCP クライアントとして IBM Bob を使用し、実際にデータベースを操作してみました。専用のコンソールを開くことなく、IBM Bob との対話を通じてデータベースの状態を確認・分析します。
Db2 Genius Hub
本記事では、Db2 Genius Hub の詳細な説明は割愛します。概要や基本的な機能については、以下の記事で詳しく紹介されていますので、あわせてご参照ください。
Db2 Genius Hub MCP Server
Db2 Genius Hub MCP Server は、MCP クライアントから Db2 Genius Hub や Db2 データベースを操作するための MCP Server です。監視、パフォーマンス分析、運用管理といった機能に、自然言語で対話しながらアクセスできます。
詳細については、以下の公式ドキュメントや解説記事をご参照ください。
提供されるツール
Db2 Genius Hub MCP Server には 30 種類以上のツールが用意されており、用途ごとに以下のカテゴリに分類されています。
認証 ・ セッション管理
| ツール名 | 説明 |
|---|---|
authenticate |
データベース認証情報で認証済みセッションを確立する |
connect_to_profile |
Genius Hub の特定のデータベースプロファイルに接続する |
get_session_info |
現在のセッションと接続情報を表示する |
logout |
セッションを終了しリソースを解放する |
パフォーマンス監視
| ツール名 | 説明 |
|---|---|
get_cpu_summary |
CPU 使用率の傾向やパターンを監視する |
get_memory_summary |
メモリ消費量と最適化の余地を確認する |
analyze_io_usage |
ディスク I/O のパフォーマンス指標を分析する |
get_query_throughput |
クエリの処理スループットを測定する |
get_response_time |
クエリのエンドツーエンド応答時間を監視する |
get_timespent |
クエリ実行時間の内訳を詳細に分析する |
クエリ分析 ・ 最適化
| ツール名 | 説明 |
|---|---|
execute_safe_sql |
読み取り専用 SQL を安全に実行する |
get_explain_plan |
クエリの実行計画を分析する |
tune_query |
クエリ最適化の推奨(索引・統計など)を取得する |
similarity_search |
ベクトル検索で類似クエリを検索する |
ロック ・ 並行性
| ツール名 | 説明 |
|---|---|
get_locks |
データベースのロックを特定・分析する |
analyze_blocking_transactions |
ブロッキングトランザクションのパターンを検出する |
メタデータ ・ スキーマ
| ツール名 | 説明 |
|---|---|
fetch_tables |
テーブル・ビュー・スキーマオブジェクトを一覧する |
fetch_db_history |
データベース履歴・変更ログを照会する |
fetch_dic_db_profiles |
利用可能なデータベースプロファイルを一覧する |
list_models |
クエリチューニング用の AI モデルを一覧する |
ストレージ ・ 領域管理
| ツール名 | 説明 |
|---|---|
get_tablespace |
表領域の使用状況と健全性を監視する |
ワークロード管理
| ツール名 | 説明 |
|---|---|
wlm_get_query_queue_state |
クエリキューの状態を監視する |
wlm_queue_analyzer |
WLM のキューイングパターンを分析する |
ヘルス ・ 診断
| ツール名 | 説明 |
|---|---|
health_check |
データベースの総合的なヘルスチェックを行う |
perform_database_health_check |
推奨事項を含む詳細なヘルスチェックを行う |
get_server_status |
MCP Server のステータスと統計を取得する |
get_whats_changed |
データベースの最近の変更を追跡・分析する |
システム情報
| ツール名 | 説明 |
|---|---|
get_bufferpool_statistics |
バッファプールのパフォーマンス指標を取得する |
get_instance_info |
データベースインスタンスの構成と状態を取得する |
get_hadr_status |
HADR(高可用性障害復旧)のステータスを取得する |
ツール検索
| ツール名 | 説明 |
|---|---|
search_tools |
BM25 アルゴリズムで利用可能なツールを検索する |
search_tools_regex |
正規表現でツールを検索する |
接続方法
Db2 Genius Hub MCP Server の起動方法や MCP クライアントとの接続手順については、以下の公式ドキュメントで詳しく説明されています。
IBM Bob から Db2 Genius Hub を使ってみる
ここからは、実際に IBM Bob から Db2 Genius Hub MCP Server を使ってみます。今回は監視対象として、Db2 標準のサンプルデータベース( SAMPLE )を用意しました。30 種類以上用意されているツールの中から、代表的なものをいくつか試してみます。
プロファイルに接続する
まずは、対象のデータベースに接続します。
sample_db プロファイルに接続して
connect_to_profile ツールが実行され、SAMPLE データベースへの接続が確立されました。以降の操作は、この接続を通じて実行されます。
データベースの状態を確認する
接続できたので、まずはデータベース全体の健全性を確認してみます。
このデータベースの総合ヘルスチェックをして
perform_database_health_check が実行され、データベースの各項目が一度に診断されました。総合ステータスは「WARNING」で、バッファプール BP4CONSOLE のヒット率低下と、バックアップ履歴が取得できないことが指摘されています。
さらに、単に診断結果を返すだけでなく、「バッファプールのサイズ拡大を検討する」といった推奨アクションまで提示される点が特徴です。
結果は HTML レポートとしても自動生成されました。
データベースの中身を調べる
続いて、データベース内のデータを確認してみます。
従業員を部署ごとに人数集計して
execute_safe_sql ツールが指示を SQL に変換して実行し、部署ごとの従業員数を集計してくれました。さらに、最大部署、最小部署といった結果の要約もあわせて返されています。
続いて、もう少し具体的な問い合わせも試してみます。
給与が一番高い従業員トップ 5 を見せて
こちらも SQL を記述することなく、給与上位 5 名の社員番号、氏名、部署、給与が一覧で表示されました。「1 位の給与が突出している」といった分析コメントも添えられています。
クエリを分析する
最後に、DBA が日常的に行うクエリチューニングの入口として、実行計画を確認してみます。
このクエリの実行計画を見せて
get_explain_plan ツールが、先ほど実行した給与トップ 5 のクエリに対する実行計画を取得しました。アクセスフロー( TBSCAN → SORT → TBSCAN → RETURN )、総コスト、各ステップの内容がわかりやすく整理されており、こちらも HTML レポートとして出力されています。
実行計画を表示するだけでなく、その内容の解釈まで返してくれる点が特徴です。DBA が実行計画を読み解いて判断するような内容まで、わかりやすく解説してくれます。
こうした結果は対話の中で得られるため、追加の指示でレポートを調整したり、得られた内容を次の作業につなげたりといった発展的な使い方も期待できます。自然言語での対話を通じて、実行計画の取得から解釈までを一貫して行えるのは大きな利点です。
まとめ
本記事では、IBM Bob を MCP クライアントとして利用し、Db2 Genius Hub MCP Server を介して Db2 を操作してみました。専用の管理コンソールを開くことなく、IBM Bob との対話だけでデータベースの健全性チェック、データの調査、さらには実行計画の確認まで行えることを確認できました。
特に印象的だったのは、単に数値や実行結果を返すだけでなく、その内容の解釈や推奨アクションまで提示してくれる点です。「どの画面を開けばよいか」「この数値をどう読み解けばよいか」といったことを意識せず、自然言語で質問するだけで必要な情報が得られるのは、大きなメリットだと感じました。
得られた結果を他のツールや後続の作業と組み合わせる発展的な使い方も期待でき、今後どのように業務に取り入れていけるか、引き続き試していきたいと思います。






