スナップショットをSQLを用いて取得するには
提供:DB2逆引きWiki
【DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#運用監視編】 【DB2逆引きリファレンス目次#スナップショットの利用】
目次 |
前提
- データベース接続が必要
- 以下のいずれかが必要: SYSADM権限, SYSCTRL権限, SYSMAINT権限
解説
インスタンスやデータベースの現在のスナップショット(活動状況)は、SQLの表関数を利用して取得することができます。 スナップショットを取得する対象毎に表関数が用意されています(表5-1-2)。
| 関数名 | 用途 |
|---|---|
| SNAPSHOT_AGENT | アプリケーションスナップショットからエージェントに関する情報を取得します。 |
| SNAPSHOT_APPL | アプリケーションスナップショットから一般情報を取得します。 |
| SNAPSHOT_BP | バッファプールスナップショットから情報を取得します。 |
| SNAPSHOT_CONTAINER | 表スペーススナップショットからコンテナー構成情報を取得します。 |
| SNAPSHOT_DATABASE | データベーススナップショットから情報を取得します。 |
| SNAPSHOT_DBM | データベースマネージャースナップショットから情報を取得します。 |
| SNAPSHOT_DYN_SQL | 動的SQLスナップショットから情報を取得します。 |
| SNAPSHOT_LOCK | ロックスナップショットから情報を取得します。 |
| SNAPSHOT_LOCKWAIT | アプリケーションスナップショットからロック待機情報を取得します。 |
| SNAPSHOT_QUIESCERS | 表スペーススナップショットから、表スペースの静止を実行しているユーザーについての情報を取得します。 |
| SNAPSHOT_RANGES | 範囲スナップショットから情報を取得します。 |
| SNAPSHOT_STATEMENT | アプリケーションスナップショットからステートメントに関する情報を取得します。 |
| SNAPSHOT_SUBJECT | アプリケーションスナップショットからアクセスのサブセクションに関する情報を取得します。 |
| SNAPSHOT_SWITCHES | データベーススナップショットからスイッチ状況に関する情報を取得します。 |
| SNAPSHOT_TABLE | 表スナップショットから活動状況に関する情報を取得します。 |
| SNAPSHOT_TBS | 表スペーススナップショットから活動状況に関する情報を取得します。 |
| SNAPSHOT_TBS_CFG | 表スペーススナップショットから構成情報を取得します。 |
表5-1-2: スナップショットを取得する表関数
SNAPSHOT_DBMをのぞくすべての関数は、いずれもデータベース名およびパーティション番号を引数としてとります。 SNAPSHOT_DBMは、パーティション番号のみ引数としてとります。
- データベース名
- スナップショット取得の対象となるデータベースを指定します。すべてのデータベースを対象とするにはNULLを指定します。
- パーティション番号
- スナップショット取得の対象とするパーティションの番号を指定します。接続しているパーティションを対象にする場合は-1、すべてのパーティションを対象にする場合は-2を指定します。
使用例
接続しているインスタンスのすべてのデータベースについて、データベーススナップショットから情報を取得する例。
db2 ==> SELECT * FROM TABLE(SNAPSHOT_DATABASE('', -1)) AS SNAPSHOT_DATABASE↓
注意
- スナップショットに含まれる特定の情報についてはモニタースイッチをONにする必要があります。