db2
db2luw

DB2DBA: DB2 11.1新機能 - dsmtop

dsmtopとは

DB2にはdb2topというツールが付属しており、ターミナル上で手軽にDB2のモニタリング行うことが出来ます。

DB2 11.1ではこのdb2topを大幅に機能強化したdsmtopというツールが新たに提供されるようになりました。これに伴い、db2topは非推奨扱いとなっています。

主な機能強化

  • pureScale、BLU、WLMといったDB2の新しい機能のモニタリングビュー追加
  • Windows版のサポート追加(一部機能制約あり)
  • リモートDBのモニタリング機能追加
  • ショートカットキーだけでなくメニューからの操作が可能になった
  • 上下のページスクロールが可能になった
  • スナップショットモニターを利用した実装からモニタリング表関数を利用した実装への変更によるオーバーヘッド低減

スクリーンショット

dsmtopの機能やdb2topからの変更点を、スクリーンショットで簡単に紹介します。

せっかくなので、新たにサポートされたWindows版でやってみましたが、Linux/Unix版でもUIはほぼ同じです。

起動

ローカルDBに接続する場合、以下のコマンドで起動できます。Type 2 JDBCドライバで接続されるため、DBがカタログされている必要があります。

$ dsmtop -d <database_name>

リモートDBに接続する場合は、以下のようにオプションで接続先等を指定します。Type 4 JDBCドライバで接続されます。

$ dsmtop  -d <database_name>  -n <host_name>  -r <port_number>

ローカルDBにType 4 JDBCドライバで接続するにはリモートDBと同様にホスト名(localhost)を指定するか、-jオプションに4を指定します。

$ dsmtop -d <database_name> -n localhost
$ dsmtop -d <database_name> -j 4

Type 4接続の場合、以下の画面からユーザーIDやパスワード等を入力します。起動時のオプションで指定することもできます。

dsmtop_connect.png

トップ画面(Overview)

見た目はずいぶん変わりましたが、db2topと同じようにDB全体の状態を示すメトリクスが並んでいます。

dsmtop_overview.png

ショートカットキー

db2topと似ていますが、モニタリングビューへのショートカットはAltキーが必要になるなど、一部変更されていますね。

dsmtop_shortcuts.png

オプション

メニュー画面で設定できるようになり、分かりやすくなりました。

dsmtop_options.png

各種モニタリングビュー

モニタリングビューもメニューから選択可能になっています。メニューは分類、階層化されています。

dsmtop_view-0.png

pureScaleやHADRのモニタリング機能がメニューに用意されています。

dsmtop_view-1.png
dsmtop_view-2.png

テーブル、テーブルスペースといったオーバーヘッドの大きいビューはデフォルトでは無効化されていました。起動時のコマンドオプション-xもしくはオプションメニューのShow expensive viewsで有効化できます。

dsmtop_view-3.png

以下はDatabase memory poolsビューをスクロールしている様子です。dでスクロールダウン、uでスクロールアップで、他のビューでも利用できます。普通のツールであれば当たり前の機能なのですが、db2topでは左右の表示カラムのスクロールしか出来ませんでした(ターミナルに表示可能なだけの情報しか得られませんでした)。

dsmtop_memory-1.png
dsmtop_memory-2.png
dsmtop_memory-3.png

DB2 10.1 / 10.5での利用

dsmtopはdeveloperWorksで単体でも配布されており、ダウンロードして導入すればDB2 10.1 / 10.5でも利用可能です。

権限に関する注意

スナップショットモニターを利用した実装からモニタリング表関数を利用した実装に変更されたことに伴い、ツールを利用するため必要な権限が変わっています。

db2topおよびその内部で利用されるスナップショットモニター(GET SNAPSHOTコマンド)はSYSADM/SYSCTL/SYSMAINT/SYSMONの権限で実行できました。一方、dsmtop内で利用されるモニタリング表関数はDBADM/DATAACCESS/SQLADMの権限が必要になります。

参考資料