TT_STATS
パッケージでは、TimesTenデータベース・メトリック(統計、状態およびその他の情報)のスナップショットを収集し、特定の2つのスナップショットを比較してレポートを生成することができます。
この章の内容は次のとおりです。
概要
セキュリティ・モデル
使用上の注意
注意: また、ttStats ユーティリティ・プログラムもあります。このユーティリティは、TT_STATS パッケージがスナップショットの収集およびレポートの生成を行うための便利なフロントエンドとして機能するとともに、メトリックをリアルタイムに監視できます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttStatsに関する説明を参照してください。 |
ここでは、TT_STATS
パッケージについて次の項目を説明します。
TT_STATS
パッケージには、TimesTenシステム・メトリックのスナップショットを取得レベルに応じて収集および比較する機能が備えられています。各スナップショットは、TimesTenで基本的なメトリックまたは一般的なメトリックとみなされるもの、あるいは使用可能なすべてのメトリックで構成されます。
生成されるレポートは、Oracle Databaseのパフォーマンス分析ツールに例えた場合、Oracle Automatic Workload Repository (AWR)レポートに類似しています。
このパッケージには、次を実現するためのプロシージャおよびファンクションが含まれています。
メトリックのスナップショットを取得レベルに応じて取得する。
メトリックの前後の値またはそれらの値の差異を示すレポートをHTMLまたはプレーン・テキストで生成する。
現在格納されているスナップショットのスナップショットIDおよびタイムスタンプを表示する。
IDまたはタイムスタンプの範囲に基づいてスナップショットを削除する。
特定のTT_STATS
構成パラメータの値を取得または設定する。
すべての構成パラメータの値を表示する。
注意: このリリースでは、格納可能なスナップショットの最大数および最大合計サイズに関する構成パラメータのみがサポートされています。 |
デフォルトでは、インスタンス管理者のみが、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
パッケージのプロシージャおよびファンクションについて、一覧を示した後、説明します。
表10-1 TT_STATSパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
CAPTURE_SNAPSHOTプロシージャおよびファンクション |
TimesTenメトリックのスナップショットを取得します。また、ファンクションはスナップショットIDも戻します。 |
|
特定の範囲のスナップショットIDまたはタイムスタンプに従ってスナップショットを削除します。 |
|
特定の2つのスナップショットのデータに基づいて、レポートをHTML形式で生成します。 |
|
特定の2つのスナップショットのデータに基づいて、レポートをプレーン・テキスト形式で生成します。 |
|
特定の |
|
特定の |
|
データベースに現在格納されているすべてのスナップショットのスナップショットIDおよびタイムスタンプを表示します。 |
注意: このリリースでは、永続メモリー・セグメントに格納可能なスナップショットの数および合計サイズを制限するためのTT_STATS 構成パラメータのみがサポートされています。 |
このプロシージャは、特定の取得レベルに従ってTimesTenメトリックのスナップショットを取得するか、一般的なレベルとみなされるスナップショットをデフォルトで使用します。スナップショットは、TimesTenのSYS.SNAPSHOT_
xxxx
システム表に格納されます。
このファンクションは、同様に動作するとともに、スナップショットのID番号も戻します。
注意:
|
構文
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
希望するメトリックの取得レベル 次の選択肢を使用できます。
レポートで任意の2つのスナップショットを使用する場合は、各スナップショットに同じレベルを使用します。 注意: |
|
スナップショットの説明(オプション) 他のスナップショットと区別するなど、スナップショットに任意の説明または注意を付与するには、これを使用します。 |
使用上の注意
前述のように、取得レベルはSYS.SYSTEMSTATS
表のメトリックにのみ適用されます。SYSTEMSTATS
以外のメトリックでは、取得レベルに関係なく同じデータが収集されます。
SYSTEMSTATS
メトリックでは、特定の取得レベル内のメトリックのみが意味のある累積値を持ちます。特定のレベル以外のSYSTEMSTATS
メトリックは、0 (ゼロ)の値になります。
このプロシージャまたはファンクションは、capture_level
パラメータを指定することなくコールできます。その場合は、一般的なレベルのメトリックとみなされるものが取得されます。
戻り値
このファンクションは、スナップショットの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;
このプロシージャは、特定の範囲のスナップショットIDまたはタイムスタンプに従って、以前に取得した、TimesTenメトリックのスナップショットを削除します。
構文
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
削除する範囲に含まれる最初のスナップショットを表すスナップショットID |
|
削除する範囲に含まれる最後のスナップショットを表すスナップショットID |
|
削除する範囲に含まれる最初のスナップショットを表すタイムスタンプ |
|
削除する範囲に含まれる最後のスナップショットを表すタイムスタンプ |
使用上の注意
すべてのスナップショットを削除するには、両方の入力パラメータに0 (ゼロ)を指定します。
snapshot_low
がsnapshot_high
より大きい場合も許容されます。その場合も、低い値から高い値までの範囲に含まれるスナップショットは削除されます。
同様に、ts_new
がts_old
より古いタイムスタンプである場合も許容されます。
例
この例では、スナップショットIDを指定し、IDが1、2および3のスナップショットを削除します。
call tt_stats.drop_snapshots_range(1,3);
このプロシージャは、TimesTenメトリックの特定の2つのスナップショットからデータを使用して、変更率、開始値、終了値など、各メトリックに関する情報を含むレポートをHTML形式で作成します。
レポートには、メモリー使用量、接続およびロード・プロファイルの概要が含まれ、その後に(必要に応じて)SQL文、トランザクション、PL/SQLメモリー、レプリケーション、ログとログの保持、チェックポイント、キャッシュ・グループ、キャッシュ・グリッド、ラッチ、ロック、XLAおよびTimesTen接続属性に関するメトリックが続きます。
作成されるHTMLレポートの詳細な例は、『Oracle TimesTen In-Memory Databaseリファレンス』のttStatsに関する説明を参照してください。
「GENERATE_REPORT_TEXTプロシージャ」も参照してください。
注意:
|
構文
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
分析する1つ目のスナップショットのID |
|
分析する2つ目のスナップショットのID |
|
HTML形式のレポートを含む連想配列(索引付き表) 各行のタイプは アプリケーションは、必要に応じて、レポートの内容を行単位で出力できます。 |
使用上の注意
スナップショットIDは、任意の順番で入力できます。プロシージャによって、順序が判別されます。
このプロシージャは、TimesTenメトリックの特定の2つのスナップショットを分析および比較して、変更率、開始値、終了値など、各メトリックに関する情報を含むレポートをプレーン・テキスト形式で作成します。
レポートには、メモリー使用量、接続およびロード・プロファイルの概要が含まれ、その後に(必要に応じて)SQL文、トランザクション、PL/SQLメモリー、レプリケーション、ログとログの保持、チェックポイント、キャッシュ・グループ、キャッシュ・グリッド、ラッチ、ロック、XLAおよびTimesTen接続属性に関するメトリックが続きます。
「GENERATE_REPORT_HTMLプロシージャ」も参照してください。
注意:
|
構文
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
分析する1つ目のスナップショットのID |
|
分析する2つ目のスナップショットのID |
|
プレーン・テキスト形式のレポートを含む連想配列(索引付き表) 各行のタイプは アプリケーションは、必要に応じて、レポートの内容を行単位で出力できます。 |
使用上の注意
スナップショットIDは、任意の順番で入力できます。プロシージャによって、順序が判別されます。
特定の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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
値を取得する このリリースでは、次の
パラメータ名が指定されていない場合 ( 「SET_CONFIGプロシージャ」も参照してください。 |
|
特定の 各行のタイプは |
このプロシージャは、特定のTT_STATS
構成パラメータに特定の値を設定します。
構文
TT_STATS.SET_CONFIG ( name IN VARCHAR2, value IN BINARY_INTEGER);
パラメータ
表10-7 SET_CONFIGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
設定する このリリースでは、次の
いずれかの制限を超えた場合にエラーが発生し、スナップショットの取得に失敗します。 「GET_CONFIGプロシージャ」も参照してください。 |
|
特定のパラメータに設定する値 |
使用上の注意
これらの設定の有効範囲は広く、データベースに対するすべての接続に影響を与えます。
例
格納されるスナップショットの制限数として500を指定します。
call tt_stats.set_config('MAX_SNAPSHOT_COUNT', 500);
このプロシージャは、データベースに現在格納されている、TimesTenメトリックのすべてのスナップショットのIDおよびタイムスタンプを表示します。
OUT
パラメータを含まないバージョンでは、標準出力に情報が送信されます。
構文
TT_STATS.SHOW_SNAPSHOTS;
TT_STATS.SHOW_SNAPSHOTS (
resultset OUT TT_STATS.REPORT_TABLE);
パラメータ