MON_GET_MEMORY_SET 表関数 -メモリー・セット情報の取得

MON_GET_MEMORY_SET 表関数は、インスタンス・レベルと、インスタンス内のすべてのアクティブなデータベースの両方について、割り振り済みメモリー・セットからメトリックを取り出します。

構文

Read syntax diagramSkip visual syntax diagramMON_GET_MEMORY_SET(memory_set_type ,db_name,member)

スキーマは SYSPROC です。

表関数パラメーター

memory_set_type
この関数を呼び出すときのメモリー・セットのタイプを指定する、タイプ VARCHAR(32) の入力引数。 この引数が NULL または空ストリングである場合、インスタンス・レベルとデータベース・レベルのすべてのメモリー・セットについてメトリックが取得されます。 その他の場合には、指定のメモリー・セットのメトリックが取得されます。
以下のパラメーター値が受け入れられます。
範囲 説明
DBMS インスタンス データベース・マネージャー (DBM) メモリー・セット
FMP インスタンス fenced モード・プロセス (FMP) メモリー・セット
PRIVATE インスタンス 専用メモリー・セット
データベース データベース データベース・メモリー・セット
APPLICATION データベース アプリケーション・メモリー・セット
FCM ホスト - 1 つのインスタンスにつき、1 台のマシンに割り振られる FCM メモリー・セットは 1 つのみです。 高速コミュニケーション・マネージャー (FCM) メモリー・セット
ヌル すべて インスタンス・レベルとデータベース・レベルのすべてのメモリー・セット
db_name
この関数を呼び出すときに現在接続されているデータベースと同じインスタンス内の有効なデータベース名を指定する、 タイプ VARCHAR(128) の入力引数。
データベースのディレクトリー項目のタイプは、LIST DATABASE DIRECTORY コマンドによって戻されるとおり、INDIRECT または HOME のいずれかでなければなりません。 データベースはアクティブでなければなりません。 また、現在接続されているデータベースからメトリックを取得するために、CURRENT_SERVER 特殊レジスターを指定することもできます。 このレジスター値には、別名ではなく、データベースの実際の名前が含まれます。
引数が NULL または空ストリングの場合、インスタンス内のアクティブなデータベースすべてからメトリックが取得されます。 この入力引数が適用されるのは、データベース・レベルのメモリー・セットのみです。
member
どのメンバーのデータが戻されるかを指定する、タイプ INTEGER の入力引数。 現行のデータベース・メンバーには -1、すべてのアクティブ・メンバーには -2 を指定します。 NULL 値を指定すると、-1 が暗黙的に設定されます。

許可

このルーチンを実行するには、以下のいずれかの権限が必要です。
  • ルーチンに対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限

デフォルトの PUBLIC 特権

なし

例 1: 現在のインスタンスと現在接続されているデータベースに関するメモリー・セットのメトリックを取得します。

SELECT varchar(memory_set_type, 20) as set_type,
       varchar(db_name, 20) as dbname,
       memory_set_used,
       memory_set_used_hwm
    FROM TABLE( 
       MON_GET_MEMORY_SET(NULL, CURRENT_SERVER, -2))

以下は、この照会の出力の例です。

SET_TYPE     DBNAME           MEMORY_SET_USED MEMORY_SET_USED_HWM
------------ ---------------- --------------- -------------------
DBMS         -                          86080               87360
FMP          -                              0                 704
PRIVATE      -                          10624               16256
DATABASE     TESTDB                    928000              928000
APPLICATION  TESTDB                      1472                2752
 
  5 record(s) selected

使用上の注意

パーティション・データベース環境の場合、高速コミュニケーション・マネージャー (FCM) メモリー・セットはホストごとに割り振られます。 つまり、1 つホスト・マシン上のすべてのメンバーが、1 つのセットを共有します。 MON_GET_MEMORY_SET 関数は、それぞれのメンバーからデータを取得します。 FCM メモリー・セットは 1 つのホスト上のすべてのメンバーで共有されるので、そのホスト上の各メンバーの FCM メモリーに関して報告されるメトリックは、同じ共有メモリー・セットについての情報を示します。 このため、FCM メモリーのメトリックを調べる場合は、それぞれ固有のホストに関するデータを調べてください。 複数のメンバーで使用するホストの場合、そのホスト上の 1 人のメンバーからのデータのみを使用してください。 FCM メモリーのメトリックは、特定のホスト上のすべてのメンバーに関して集約した合計を表すためです。

戻される情報

表 1. MON_GET_MEMORY_SET について戻される情報
列名 データ・タイプ 説明
メンバー SMALLINT member - データベース・メンバー
HOST_NAME VARCHAR(255) host_name - ホスト名
DB_NAME VARCHAR(128) db_name データベース名
MEMORY_SET_TYPE VARCHAR(32) memory_set_type-メモリー・セット・タイプ。 可能なタイプのリストについては、memory_set_type 入力パラメーターを参照してください。
MEMORY_SET_ID BIGINT memory_set_id-メモリー・セット ID
MEMORY_SET_SIZE BIGINT memory_set_size-メモリー・セット・サイズ。 値は KB 単位です。
MEMORY_SET_COMMITTED BIGINT memory_set_committed-現在コミットされているメモリー。 値は KB 単位です。
MEMORY_SET_USED BIGINT memory_set_used-このセットによって使用されているメモリー。 値は KB 単位です。
MEMORY_SET_USED_HWM BIGINT memory_set_used_hwm-メモリー・セット最高水準点。 値は KB 単位です。