ヘッダーをスキップ
Oracle® TimesTen In-Memory Database PL/SQLパッケージ・リファレンス
11gリリース2 (11.2.2)
B66725-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 TT_STATS

TT_STATSパッケージでは、TimesTenデータベース・メトリック(統計、状態およびその他の情報)のスナップショットを収集し、特定の2つのスナップショットを比較してレポートを生成することができます。

この章の内容は次のとおりです。


注意:

また、ttStatsユーティリティ・プログラムもあります。このユーティリティは、TT_STATSパッケージがスナップショットの収集およびレポートの生成を行うための便利なフロントエンドとして機能するとともに、メトリックをリアルタイムに監視できます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttStatsに関する説明を参照してください。


TT_STATSの使用

ここでは、TT_STATSパッケージについて次の項目を説明します。


概要

TT_STATSパッケージには、TimesTenシステム・メトリックのスナップショットを取得レベルに応じて収集および比較する機能が備えられています。各スナップショットは、TimesTenで基本的なメトリックまたは一般的なメトリックとみなされるもの、あるいは使用可能なすべてのメトリックで構成されます。

生成されるレポートは、Oracle Databaseのパフォーマンス分析ツールに例えた場合、Oracle Automatic Workload Repository (AWR)レポートに類似しています。

このパッケージには、次を実現するためのプロシージャおよびファンクションが含まれています。


注意:

このリリースでは、格納可能なスナップショットの最大数および最大合計サイズに関する構成パラメータのみがサポートされています。


セキュリティ・モデル

デフォルトでは、インスタンス管理者のみが、TT_STATS PL/SQLパッケージのファンクションまたはプロシージャを実行する権限を持っています。ADMINユーザーを含む他のユーザーは、次の例に示すように、インスタンス管理者またはADMINユーザーによってTT_STATSパッケージに対するEXECUTE権限を付与される必要があります。

GRANT EXECUTE ON SYS.TT_STATS TO scott;

注意:

ADMINユーザーは、デフォルトではパッケージを実行できませんが、自身に権限を付与してパッケージを実行することができます。


使用上の注意

SYS.SYSTEMSTATS表の各メトリックはレベルが指定されており、このレベルに応じて、スナップショットの取得レベルが設定されます。使用可能なレベルは、「NONE」「BASIC」「TYPICAL」(ほとんどの場合に適したデフォルト)および「ALL」です。詳細は、「CAPTURE_SNAPSHOTプロシージャおよびファンクション」を参照してください。

ただし、取得レベルはSYS.SYSTEMSTATS表のメトリックにのみ適用されることに注意してください。SYSTEMSTATS以外のメトリックでは、取得レベルに関係なく、同じデータのセットが収集されます。


注意:

ttStatsConfig組込みプロシージャを使用して取得レベルを変更することもできます。『Oracle TimesTen In-Memory Databaseリファレンス』のttStatsConfigに関する説明を参照してください。

スナップショットは、TimesTenの複数のSYS.SNAPSHOT_xxxxxシステム表に格納されます。(これらの表のリストは、『Oracle TimesTen In-Memory Databaseシステム表およびビュー・リファレンス』の内部的な使用または将来の使用のために予約された表またはビューに関する説明を参照してください。) 永続表領域が不足する可能性を最小限にするために、TT_STATSパッケージには、格納できるスナップショットの最大数および格納されるスナップショットの合計サイズを指定するための構成パラメータが含まれます。このリリースでは、いずれかの制限を超えた場合にエラーが発生し、スナップショットの取得に失敗します。TimesTenではデフォルトの制限が指定されていますが、SET_CONFIGプロシージャを使用してこれを変更できます。(「SET_CONFIGプロシージャ」を参照してください。)

このパッケージを実行すると、多数の読取りおよび挿入が行われる場合があるため、パッケージ操作中にデータベースのパフォーマンスが影響を受ける可能性があることに注意してください。


注意:

標準出力に送信される出力(SHOW_SNAPSHOTSプロシージャおよびGET_CONFIGプロシージャのバージョンからの出力など)を表示するには、ttIsqlから次のコマンドを実行します。
set serveroutput on;


TT_STATSサブプログラムの要約

ここでは、TT_STATSパッケージのプロシージャおよびファンクションについて、一覧を示した後、説明します。

表10-1 TT_STATSパッケージのサブプログラム

サブプログラム 説明

CAPTURE_SNAPSHOTプロシージャおよびファンクション


TimesTenメトリックのスナップショットを取得します。また、ファンクションはスナップショットIDも戻します。

DROP_SNAPSHOTS_RANGEプロシージャ


特定の範囲のスナップショットIDまたはタイムスタンプに従ってスナップショットを削除します。

GENERATE_REPORT_HTMLプロシージャ


特定の2つのスナップショットのデータに基づいて、レポートをHTML形式で生成します。

GENERATE_REPORT_TEXTプロシージャ


特定の2つのスナップショットのデータに基づいて、レポートをプレーン・テキスト形式で生成します。

GET_CONFIGプロシージャ


特定のTT_STATS構成パラメータの値またはすべての構成パラメータの値を取得します。

SET_CONFIGプロシージャ


特定のTT_STATS構成パラメータに特定の値を設定します。

SHOW_SNAPSHOTSプロシージャ


データベースに現在格納されているすべてのスナップショットのスナップショットIDおよびタイムスタンプを表示します。



注意:

このリリースでは、永続メモリー・セグメントに格納可能なスナップショットの数および合計サイズを制限するためのTT_STATS構成パラメータのみがサポートされています。


CAPTURE_SNAPSHOTプロシージャおよびファンクション

このプロシージャは、特定の取得レベルに従ってTimesTenメトリックのスナップショットを取得するか、一般的なレベルとみなされるスナップショットをデフォルトで使用します。スナップショットは、TimesTenのSYS.SNAPSHOT_xxxxシステム表に格納されます。

このファンクションは、同様に動作するとともに、スナップショットのID番号も戻します。


注意:

  • 後述のように、取得レベルはSYS.SYSTEMSTATSからのメトリックに対してのみ適用されます。

  • 格納できるスナップショットの最大数および格納されるすべてのスナップショットの最大合計サイズには、制限が定義されています。新しい値の設定方法など、詳細は、「SET_CONFIGプロシージャ」を参照してください。


構文

TT_STATS.CAPTURE_SNAPSHOT (
   capture_level     IN VARCHAR2 DEFAULTED,
   description       IN VARCHAR2 DEFAULTED);

TT_STATS.CAPTURE_SNAPSHOT (
   capture_level     IN VARCHAR2 DEFAULTED,
   description       IN VARCHAR2 DEFAULTED)
  RETURN BINARY_INTEGER;

パラメータ

表10-2 CAPTURE_SNAPSHOTプロシージャのパラメータ

パラメータ 説明

capture_level

希望するメトリックの取得レベル

次の選択肢を使用できます。

  • NONE: SYS.SYSTEMSTATS以外のメトリックのみ。

  • BASIC: 最小限の基本的なセットのメトリック。

  • TYPICAL (デフォルト): 一般的なセットのメトリック。このレベルは、ほとんどの場合に適しています。基本的なセットは、一般的なセットのサブセットです。

  • ALL: 使用可能なすべてのメトリック。

レポートで任意の2つのスナップショットを使用する場合は、各スナップショットに同じレベルを使用します。

注意: SYS.SYSTEMSTATS以外のメトリックでは、取得レベルに関係なく同じデータが収集されます。

description

スナップショットの説明(オプション)

他のスナップショットと区別するなど、スナップショットに任意の説明または注意を付与するには、これを使用します。


使用上の注意

戻り値

このファンクションは、スナップショットのIDにBINARY_INTEGER値を戻します。

基本的なメトリックのみを取得します。

call tt_stats.capture_snapshop('BASIC');

デフォルトの一般的なレベルのメトリックを取得します。

call tt_stats.capture_snapshot;

次の例では、ファンクションを使用して、デフォルトの一般的なレベルのメトリックを取得し、スナップショットIDを表示します。

declare
   id   number;
begin
   id := tt_stats.capture_snapshot();
   dbms_output.put_line('Snapshot with ID (' || id || ') was captured.');
end;

DROP_SNAPSHOTS_RANGEプロシージャ

このプロシージャは、特定の範囲のスナップショットIDまたはタイムスタンプに従って、以前に取得した、TimesTenメトリックのスナップショットを削除します。


注意:

SHOW_SNAPSHOTSプロシージャを使用すると、現在格納されているすべてのスナップショットのIDおよびタイムスタンプを表示できます。

構文

TT_STATS.DROP_SNAPSHOTS_RANGE (
   snapshot_low      IN BINARY_INTEGER,
   snapshot_high     IN BINARY_INTEGER);

TT_STATS.DROP_SNAPSHOTS_RANGE (
   ts_old            IN TIMESTAMP(6),
   ts_new            IN TIMESTAMP(6));

パラメータ

表10-3 DROP_SNAPSHOTS_RANGEプロシージャのパラメータ

パラメータ 説明

snapshot_low

削除する範囲に含まれる最初のスナップショットを表すスナップショットID

snapshot_high

削除する範囲に含まれる最後のスナップショットを表すスナップショットID

ts_old

削除する範囲に含まれる最初のスナップショットを表すタイムスタンプ

ts_new

削除する範囲に含まれる最後のスナップショットを表すタイムスタンプ


使用上の注意

この例では、スナップショットIDを指定し、IDが1、2および3のスナップショットを削除します。

call tt_stats.drop_snapshots_range(1,3);

GENERATE_REPORT_HTMLプロシージャ

このプロシージャは、TimesTenメトリックの特定の2つのスナップショットからデータを使用して、変更率、開始値、終了値など、各メトリックに関する情報を含むレポートをHTML形式で作成します。

レポートには、メモリー使用量、接続およびロード・プロファイルの概要が含まれ、その後に(必要に応じて)SQL文、トランザクション、PL/SQLメモリー、レプリケーション、ログとログの保持、チェックポイント、キャッシュ・グループ、キャッシュ・グリッド、ラッチ、ロック、XLAおよびTimesTen接続属性に関するメトリックが続きます。

作成されるHTMLレポートの詳細な例は、『Oracle TimesTen In-Memory Databaseリファレンス』のttStatsに関する説明を参照してください。

「GENERATE_REPORT_TEXTプロシージャ」も参照してください。


注意:

  • SHOW_SNAPSHOTSプロシージャを使用すると、現在格納されているすべてのスナップショットのIDおよびタイムスタンプを表示できます。

  • 同じ取得レベルで取得されるスナップショットを使用します。「CAPTURE_SNAPSHOTプロシージャおよびファンクション」を参照してください。

  • レポートは、Oracle Automatic Workload Repository (AWR)レポートに類似しています。

  • SYSTEMSTATSメトリックでは、特定の取得レベル内のメトリックのみが意味のある累積値を持ちます。特定のレベル以外のSYSTEMSTATSメトリックは、0 (ゼロ)の値になります。


構文

TT_STATS.GENERATE_REPORT_HTML (
   snapshot_id1     IN  BINARY_INTEGER,
   snapshot_id2     IN  BINARY_INTEGER,
   report           OUT TT_STATS.REPORT_TABLE);

パラメータ

表10-4 GENERATE_REPORT_HTMLプロシージャのパラメータ

パラメータ 説明

snapshot_id1

分析する1つ目のスナップショットのID

snapshot_id2

分析する2つ目のスナップショットのID

report

HTML形式のレポートを含む連想配列(索引付き表)

各行のタイプはVARCHAR2(32767)です。

アプリケーションは、必要に応じて、レポートの内容を行単位で出力できます。


使用上の注意


GENERATE_REPORT_TEXTプロシージャ

このプロシージャは、TimesTenメトリックの特定の2つのスナップショットを分析および比較して、変更率、開始値、終了値など、各メトリックに関する情報を含むレポートをプレーン・テキスト形式で作成します。

レポートには、メモリー使用量、接続およびロード・プロファイルの概要が含まれ、その後に(必要に応じて)SQL文、トランザクション、PL/SQLメモリー、レプリケーション、ログとログの保持、チェックポイント、キャッシュ・グループ、キャッシュ・グリッド、ラッチ、ロック、XLAおよびTimesTen接続属性に関するメトリックが続きます。

「GENERATE_REPORT_HTMLプロシージャ」も参照してください。


注意:

  • SHOW_SNAPSHOTSプロシージャを使用すると、現在格納されているすべてのスナップショットのID (およびタイムスタンプ)を表示できます。

  • 同じ取得レベルで取得されるスナップショットを使用します。「CAPTURE_SNAPSHOTプロシージャおよびファンクション」を参照してください。

  • レポートは、Oracle Automatic Workload Repository (AWR)レポートに類似しています。

  • SYSTEMSTATSメトリックでは、特定の取得レベル内のメトリックのみが意味のある累積値を持ちます。特定のレベル以外のSYSTEMSTATSメトリックは、0 (ゼロ)の値になります。


構文

TT_STATS.GENERATE_REPORT_TEXT (
   snapshot_id1     IN  BINARY_INTEGER,
   snapshot_id2     IN  BINARY_INTEGER,
   report           OUT TT_STATS.REPORT_TABLE);

パラメータ

表10-5 GENERATE_REPORT_TEXTプロシージャのパラメータ

パラメータ 説明

snapshot_id1

分析する1つ目のスナップショットのID

snapshot_id2

分析する2つ目のスナップショットのID

report

プレーン・テキスト形式のレポートを含む連想配列(索引付き表)

各行のタイプはVARCHAR2(32767)です。

アプリケーションは、必要に応じて、レポートの内容を行単位で出力できます。


使用上の注意


GET_CONFIGプロシージャ

特定のTT_STATS構成パラメータの値またはすべての構成パラメータの値を取得します。OUTパラメータを含まないバージョンでは、標準出力に情報が送信されます。

構文

TT_STATS.GET_CONFIG (
   name      IN   VARCHAR2 DEFAULTED);

TT_STATS.GET_CONFIG (
   name      IN   VARCHAR2 DEFAULTED,
   params    OUT  TT_STATS.REPORT_TABLE);

パラメータ

表10-6 GET_CONFIGプロシージャのパラメータ

パラメータ 説明

name

値を取得するTT_STATS構成パラメータの名前

このリリースでは、次のTT_STATSパラメータがサポートされています。

  • MAX_SNAPSHOT_COUNT: これは、格納できるスナップショットの最大数を表します。

  • MAX_SNAPSHOT_RETENTION_SIZE: これは、格納されるすべてのスナップショットの最大合計サイズをMBで表します。

パラメータ名が指定されていない場合 (nameが空の場合)は、すべての構成パラメータの値が表示されます。

「SET_CONFIGプロシージャ」も参照してください。

params

特定のTT_STATSパラメータの値またはすべてのパラメータの値を含む連想配列(索引付き表)

各行のタイプはVARCHAR2(32767)です。



SET_CONFIGプロシージャ

このプロシージャは、特定のTT_STATS構成パラメータに特定の値を設定します。

構文

TT_STATS.SET_CONFIG (
   name      IN  VARCHAR2,
   value     IN  BINARY_INTEGER);

パラメータ

表10-7 SET_CONFIGプロシージャのパラメータ

パラメータ 説明

name

設定するTT_STATS構成パラメータの名前

このリリースでは、次のTT_STATSパラメータがサポートされています。

  • MAX_SNAPSHOT_COUNT: これは、格納できるスナップショットの最大数を表します。デフォルト値は256です。

  • MAX_SNAPSHOT_RETENTION_SIZE: これは、格納されるすべてのスナップショットの最大合計サイズをMBで表します。デフォルト値は256MBです。

いずれかの制限を超えた場合にエラーが発生し、スナップショットの取得に失敗します。

「GET_CONFIGプロシージャ」も参照してください。

value

特定のパラメータに設定する値


使用上の注意

格納されるスナップショットの制限数として500を指定します。

call tt_stats.set_config('MAX_SNAPSHOT_COUNT', 500);

SHOW_SNAPSHOTSプロシージャ

このプロシージャは、データベースに現在格納されている、TimesTenメトリックのすべてのスナップショットのIDおよびタイムスタンプを表示します。

OUTパラメータを含まないバージョンでは、標準出力に情報が送信されます。

構文

TT_STATS.SHOW_SNAPSHOTS;

TT_STATS.SHOW_SNAPSHOTS (
   resultset    OUT TT_STATS.REPORT_TABLE);

パラメータ

表10-8 SHOW_SNAPSHOTSプロシージャのパラメータ

パラメータ 説明

resultset

現在格納されている各スナップショットのIDおよびタイムスタンプを示すデータのペアを含む連想配列(索引付き表)

各行のタイプはVARCHAR2(32767)です。