DB2 Version 10.1 for Linux, UNIX, and Windows

SNAPSUBSECTION 管理ビューおよび SNAP_GET_SUBSECTION 表関数 - subsection 論理モニター・グループ・スナップショット情報の検索

SNAPSUBSECTION 管理ビューおよび SNAP_GET_SUBSECTION 表関数は、アプリケーション・サブセクション情報として、subsection 論理モニター・グループの情報を戻します。

管理ビューまたは表関数のどちらを使用しているかによって、以下のいずれかのセクションを参照してください。

SNAPSUBSECTION 管理ビュー

この管理ビューでは、現在接続されているデータベースの subsection 論理モニター・グループ・スナップショット情報を検索できます。

SNAPAGENT、SNAPAGENT_MEMORY_POOL、SNAPAPPL、SNAPAPPL_INFO、および SNAPSTMT 管理ビューと共に使用すると、SNAPSUBSECTION 管理ビューは、GET SNAPSHOT FOR APPLICATIONS on database-alias CLP コマンドと同等の情報を提供しますが、すべてのデータベース・メンバーからデータを検索します。

スキーマは SYSIBMADM です。

戻される可能性のある情報の完全なリストは、表 1 を参照してください。

許可

このビューを使用するには、以下のいずれかの許可が必要です。
  • SNAPSUBSECTION 管理ビューに対する SELECT 特権
  • SNAPSUBSECTION 管理ビューに対する CONTROL 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限
この表関数を使用するには、以下のいずれかが必要です。
  • SNAP_GET_SUBSECTION 表関数に対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限
さらに、スナップショット・モニター・データにアクセスするには、以下のいずれかの権限も必要です。
  • SYSMON
  • SYSCTRL
  • SYSMAINT
  • SYSADM

デフォルトの PUBLIC 特権

制限のないデータベースでは、このビューが自動的に作成されると、SELECT 特権が PUBLIC に付与されます。

すべてのデータベース・メンバーで実行するサブセクションの状況を取得します。
SELECT DB_NAME, STMT_TEXT, SS_STATUS, DBPARTITIONNUM 
   FROM SYSIBMADM.SNAPSUBSECTION 
   ORDER BY DB_NAME, SS_STATUS, DBPARTITIONNUM
以下はこの照会の出力例です。
DB_NAME     STMT_TEXT                  SS_STATUS     DBPARTITIONNUM
-------...- ----------------------...- ---------...- --------------
SAMPLE      select * from EMPLOYEE     EXEC                       0
SAMPLE      select * from EMPLOYEE     EXEC                       1

SNAP_GET_SUBSECTION 表関数

SNAP_GET_SUBSECTION 表関数は SNAPSUBSECTION 管理ビューと同じ情報を戻しますが、特定のデータベース・メンバー、すべてのデータベース・メンバーの集約、またはすべてのデータベース・メンバーのいずれかの特定のデータベースを対象とした情報を検索することができます。

戻される可能性のある情報の完全なリストは、表 1 を参照してください。

SNAP_GET_AGENT、SNAP_GET_AGENT_MEMORY_POOL、SNAP_GET_APPL、 SNAP_GET_APPL_INFO、および SNAP_GET_STMT 表関数と共に使用すると、SNAP_GET_SUBSECTION 表関数は、GET SNAPSHOT FOR ALL APPLICATIONS CLP コマンドと同等の情報を提供しますが、すべてのデータベース・メンバーからデータを検索します。

構文

構文図を読む構文図をスキップする
>>-SNAP_GET_SUBSECTION--(--dbname--+----------+--)-------------><
                                   '-, member-'      

スキーマは SYSPROC です。

表関数パラメーター

dbname
現在接続されているデータベースと同じインスタンス内の有効なデータベース名を指定する、タイプ VARCHAR(128) の入力引数。 "Indirect" または "Home" のディレクトリー項目タイプを持つデータベース名を指定します。 このディレクトリー項目タイプは、LIST DATABASE DIRECTORY コマンドで確認できます。 現在接続されているデータベースからのスナップショットを取得するには、空ストリングを指定します。 現在接続されているデータベースと同じインスタンス内のすべてのデータベースからのスナップショットを取得するには、NULL 値を指定します。
member
有効なデータベース・メンバー番号を指定する、タイプ INTEGER のオプションの入力引数。現在のデータベース・メンバーの場合は -1、すべてアクティブなデータベース・メンバーの集合の場合は -2 を指定します。dbnameNULL に設定せずに、memberNULL に設定すると、member は暗黙的に -1 に設定されます。この入力オプションを使用しない場合、つまり dbname のみを指定する場合、データはすべてのアクティブなデータベース・メンバーから戻されます。アクティブなデータベース・メンバーとは、アプリケーションによるデータベースへの接続およびデータベースの使用が可能なメンバーのことです。

dbnamemember の両方を NULL に設定すると、SNAP_WRITE_FILE プロシージャーにより作成されるファイルからのデータの読み取りが試行されます。このファイルはいつでも作成される可能性があるため、データは現行のものであるとは限らないことに注意してください。 対応するスナップショット API 要求タイプを持つファイルが存在しない場合、SNAP_GET_SUBSECTION 表関数は、現在接続中のデータベースおよびデータベース・メンバー番号のスナップショットを取得します。

許可

以下のいずれかの権限が必要です。
  • SNAP_GET_SUBSECTION 表関数に対する EXECUTE 特権
  • DATAACCESS 権限
さらに、スナップショット・モニター・データにアクセスするには、以下のいずれかの権限も必要です。
  • SYSMON
  • SYSCTRL
  • SYSMAINT
  • SYSADM

デフォルトの PUBLIC 特権

制限のないデータベースでは、この関数が自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。

すべてのデータベース・メンバーで実行するサブセクションの状況を取得します。
SELECT DB_NAME, STMT_TEXT, SS_STATUS, DBPARTITIONNUM 
   FROM TABLE(SYSPROC.SNAP_GET_SUBSECTION( '', 0 )) as T 
   ORDER BY DB_NAME, SS_STATUS, DBPARTITIONNUM
以下はこの照会の出力例です。
DB_NAME     STMT_TEXT                  SS_STATUS     DBPARTITIONNUM
-------...- ----------------------...- ---------...- --------------
SAMPLE      select * from EMPLOYEE     EXEC                       0
SAMPLE      select * from EMPLOYEE     EXEC                       1

戻される情報

表 1. SNAPSUBSECTION 管理ビューおよび SNAP_GET_SUBSECTION 表関数によって戻される情報
列名 データ・タイプ 説明または対応するモニター・エレメント
SNAPSHOT_TIMESTAMP TIMESTAMP スナップショットがとられた日時。
DB_NAME VARCHAR(128) db_name - データベース名
STMT_TEXT CLOB(16 M) stmt_text - SQL 動的ステートメント・テキスト
SS_EXEC_TIME BIGINT ss_exec_time - サブセクション実行経過時間
TQ_TOT_SEND_SPILLS BIGINT tq_tot_send_spills - オーバーフローした表キュー・バッファーの合計数
TQ_CUR_SEND_SPILLS BIGINT tq_cur_send_spills - オーバーフローした表キュー・バッファーの現在数
TQ_MAX_SEND_SPILLS BIGINT tq_max_send_spills - 表キュー・バッファー・オーバーフローの最大数
TQ_ROWS_READ BIGINT tq_rows_read - 表キューから読み取られた行数
TQ_ROWS_WRITTEN BIGINT tq_rows_written - 表キューに書き込まれた行数
ROWS_READ BIGINT rows_read - 読み取り行数
ROWS_WRITTEN BIGINT rows_written - 書き込み行数
SS_USR_CPU_TIME_S BIGINT ss_usr_cpu_time - サブセクションに使用されたユーザー CPU 時間 (秒単位)*
SS_USR_CPU_TIME_MS BIGINT ss_usr_cpu_time - サブセクションに使用されたユーザー CPU 時間 (小数のマイクロ秒単位)*
SS_SYS_CPU_TIME_S BIGINT ss_sys_cpu_time - サブセクションに使用されたシステム CPU 時間 (秒単位)*
SS_SYS_CPU_TIME_MS BIGINT ss_sys_cpu_time - サブセクションに使用されたシステム CPU 時間 (小数のマイクロ秒単位)*
SS_NUMBER INTEGER ss_number - サブセクション番号
SS_STATUS VARCHAR(20) ss_status - サブセクションの状況。このインターフェースは、sqlmon.h での定義に基づくテキスト ID を戻します。これは次のいずれかです。
  • EXEC
  • TQ_WAIT_TO_RCV
  • TQ_WAIT_TO_SEND
  • COMPLETED
SS_NODE_NUMBER SMALLINT ss_node_number - サブセクション・ノード番号
TQ_NODE_WAITED_FOR SMALLINT tq_node_waited_for - 表キュー上のノード待機
TQ_WAIT_FOR_ANY INTEGER tq_wait_for_any - 表キュー上のノード送信待機
TQ_ID_WAITING_ON INTEGER tq_id_waiting_on - ノード上の表キュー待機
DBPARTITIONNUM SMALLINT dbpartitionnum - データベース・パーティション番号モニター・エレメント
MEMBER SMALLINT member - データベース・メンバー・モニター・エレメント
* この列の元になるモニター・エレメントの合計消費時間を計算するには、このモニター・エレメントに関する _S で終わっている列で報告されている整数秒と、このモニター・エレメントに関する _MS で終わっている列に報告されている小数秒を、次の式を使用して加算しなければなりません: (monitor-element-name_S × 1,000,000 + monitor-element-name_MS) ÷ 1,000,000. 例えば、(ELAPSED_EXEC_TIME_S × 1,000,000 + ELAPSED_EXEC_TIME_MS) ÷ 1,000,000。