TT_STATS
パッケージでは、TimesTen Classicデータベース・メトリック(統計、状態およびその他の情報)のスナップショットを収集し、特定の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
システム表に格納されます。永続表領域が不足する可能性を最小限にするために、TT_STATS
パッケージには、格納できるスナップショットの最大数および格納されるスナップショットの合計サイズを指定するための構成パラメータが含まれます。このリリースでは、いずれかの制限を超えた場合にエラーが発生し、スナップショットの取得に失敗します。TimesTenではデフォルトの制限が指定されていますが、SET_CONFIG
プロシージャを使用してこれを変更できます。(「SET_CONFIGプロシージャ」を参照してください。)
このパッケージを実行すると、多数の読取りおよび挿入が行われる場合があるため、パッケージ操作中にデータベースのパフォーマンスが影響を受ける可能性があることに注意してください。
ここでは、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
パラメータを指定することなくコールできます。その場合は、一般的なレベルのメトリックとみなされるものが取得されます。
例
基本的なメトリックのみを取得します。
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));
このプロシージャは、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);
このプロシージャは、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);
特定の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
構成パラメータに特定の値を設定します。
パラメータ
表10-7 SET_CONFIGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
設定する このリリースでは、次の
いずれかの制限を超えた場合にエラーが発生し、スナップショットの取得に失敗します。 「GET_CONFIGプロシージャ」も参照してください。 |
|
特定のパラメータに設定する値 |