76 DBMS_HEAT_MAP

DBMS_HEAT_MAPパッケージは、ブロック、エクステント、セグメント、オブジェクトおよび表領域などの様々なレベルのストレージでヒート・マップを外部化するためのインタフェースを提供します。サブプログラムの2番目のセットは、バックグラウンドで実体化されたトップN表領域のヒート・マップを外部化します。

この章のトピックは、次のとおりです:

参照:

76.1 DBMS_HEAT_MAPの概要

ILM戦略を実装するために、Oracle Databaseのヒート・マップを使用すればデータのアクセスと変更を追跡できます。自動データ最適化(ADO)も使用すれば、データベース内の異なる層のストレージ間で、データの圧縮および移動を自動化できます。

ヒート・マップは、ブロック・レベルの変更回数を追跡し、セグメント・レベルの複数アクセスの統計を追跡します。SYSTEMおよびSYSAUX表領域のオブジェクトは追跡されません。DBMS_HEAT_MAPは、ブロック、エクステント、セグメント、オブジェクトおよび表領域などの様々なレベルのヒート・マップ統計へのアクセスを提供します。

76.2 DBMS_HEAT_MAPのセキュリティ・モデル

実行権限は、PUBLICに付与されます。このパッケージのプロシージャは、コール元のセキュリティ下で実行されます。ユーザーには、オブジェクトに関するANALYZE権限が必要です。

76.3 DBMS_HEAT_MAPサブプログラムの要約

この表では、DBMS_HEAT_MAPパッケージのサブプログラムをリストし、簡単に説明します。

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

サブプログラム 説明

BLOCK_HEAT_MAPファンクション

表セグメント内のブロックごとの最終変更時間を戻します。

EXTENT_HEAT_MAPファンクション

表セグメントのエクステント・レベルのヒート・マップ統計を戻します。

OBJECT_HEAT_MAPファンクション

オブジェクトに属するすべてのセグメントの最小、最大および平均のアクセス時間を戻します。

SEGMENT_HEAT_MAPプロシージャ

指定のセグメントのヒート・マップ属性を戻します。

TABLESPACE_HEAT_MAPファンクション

表領域内のすべてのセグメントの最小、最大および平均のアクセス時間を戻します。

76.3.1 BLOCK_HEAT_MAPファンクション

この表ファンクションは、表セグメント内のブロックごとの最終変更時間を戻します。データ以外のセグメント・タイプに対しては、何の情報も戻しません。

構文

DBMS_HEAT_MAP.BLOCK_HEAT_MAP (
   owner             IN VARCHAR2,
   segment_name      IN VARCHAR2,
   partition_name    IN VARCHAR2 DEFAULT NULL,
   sort_columnid     IN NUMBER DEFAULT NULL,
   sort_order        IN VARCHAR2 DEFAULT NULL) 
RETURN hm_bls_row PIPELINED;

パラメータ

表76-2 BLOCK_HEAT_MAPファンクションのパラメータ

パラメータ 説明

owner

セグメントの所有者

segment_name

パーティション化されていない表の表名またはパーティション化されている表の(サブ)パーティション。パーティション化された表として表名を指定した場合、戻される行はありません。

partition_name

デフォルトはNULLです。パーティション化された表の場合、パーティションまたはサブパーティションのセグメント名を指定してください。

sort_columnid

出力のソートに使用する列のID。有効な値は1..9です。無効な値は無視されます。

sort_order

デフォルトはNULLです。指定可能な値は、ASCまたはDESCです。

戻り値

表76-3 BLOCK_HEAT_MAPファンクションの戻り値(出力パラメータ)

パラメータ 説明

owner

セグメントの所有者

segment_name

パーティション化されていない表のセグメント名

partition_name

パーティション名またはサブパーティション名

tablespace_name

セグメントが設定されている表領域

file_id

セグメント内のブロックの絶対ファイル番号

relative_fno

セグメント内のブロックの相対ファイル番号

block_id

ブロックのブロック番号

write time

ブロックの最終変更時間

76.3.2 EXTENT_HEAT_MAPファンクション

この表ファンクションは、表セグメントのエクステント・レベルのヒート・マップ統計を戻します。データ以外のセグメント・タイプに対しては、何の情報も戻しません。最小変更時間と最大変更時間を含む、エクステント・レベルの集計が含まれます。

構文

DBMS_HEAT_MAP.EXTENT_HEAT_MAP (
   owner             IN VARCHAR2,
   segment_name      IN VARCHAR2,
   partition_name    IN VARCHAR2 DEFAULT NULL,
RETURN hm_els_row PIPELINED;

パラメータ

表76-4 EXTENT_HEAT_MAPファンクションのパラメータ

パラメータ 説明

owner

セグメントの所有者

segment_name

パーティション化されていない表の表名またはパーティション化されている表の(サブ)パーティション。パーティション化された表として表名を指定した場合、戻される行はありません。

partition_name

デフォルトはNULLです。パーティション化された表の場合、パーティションまたはサブパーティションのセグメント名を指定してください。

戻り値

表76-5 EXTENT_HEAT_MAPファンクションの戻り値(出力パラメータ)

パラメータ 説明

owner

セグメントの所有者

segment_name

パーティション化されていない表のセグメント名

partition_name

パーティション名またはサブパーティション名

tablespace_name

セグメントが設定されている表領域

file_id

セグメント内のブロックの絶対ファイル番号

relative_fno

セグメント内のブロックの相対ファイル番号

block_id

ブロックのブロック番号

blocks

エクステント内のブロック数

bytes

エクステント内のバイト数

min_writetime

ブロックの最終変更時間の最小値

max_writetime

ブロックの最終変更時間の最大値

avg_writetime

ブロックの最終変更時間の平均値

76.3.3 OBJECT_HEAT_MAPファンクション

この表は、オブジェクトに属するすべてのセグメントの最小、最大および平均のアクセス時間を戻します。

オブジェクトは表である必要があります。この表ファンクションは、表以外のオブジェクト表でコールするとエラーを発生します。

構文

DBMS_HEAT_MAP.OBJECT_HEAT_MAP (
   object_owner      IN VARCHAR2,
   object_name       IN VARCHAR2) 
 RETURN hm_object_table PIPELINED;

パラメータ

表76-6 OBJECT_HEAT_MAPファンクションのパラメータ

パラメータ 説明

object_owner

セグメントが設定されている表領域

object_name

セグメント・ヘッダー相対ファイル番号

戻り値

表76-7 OBJECT_HEAT_MAPファンクションの戻り値(出力パラメータ)

パラメータ 説明

segment_name

トップ・レベルのセグメントの名前

partition_name

パーティション名

tablespace_name

表領域の名前

segment_type

DBA_SEGMENTS.SEGMENT_TYPE内のセグメントのタイプ

segment_size

バイト単位のセグメント・サイズ

min_writetime

セグメントの最も古い書込み時間

max_writetime

セグメントの最新の書込み時間

avg_writetime

セグメントの平均書込み時間

min_readtime

セグメントの最も古い読取り時間

max_readtime

セグメントの最新の読取り時間

avg_writetime

セグメントの平均書込み時間

min_lookuptime

セグメントの最も古い索引参照時間

max_lookuptime

セグメントの最新の索引参照時間

avg_lookuptime

セグメントの平均索引参照時間

min_ftstime

セグメントの最も古い全表スキャン時間

max_ftstime

セグメントの最新の全表スキャン時間

avg_ftstime

セグメントの平均全表スキャン時間

76.3.4 SEGMENT_HEAT_MAPプロシージャ

このプロシージャは、指定のセグメントのヒート・マップ属性を戻します。

構文

DBMS_HEAT_MAP.SEGMENT_HEAT_MAP (
   tablespace_id          IN  NUMBER,
   header_file            IN  NUMBER,
   header_block           IN  NUMBER,
   segment_objd           IN  NUMBER,
   min_writetime          OUT DATE,
   max_writetime          OUT DATE,
   avg_writetime          OUT DATE,
   min_readtime           OUT DATE,
   max_readtime           OUT DATE,
   avg_readtime           OUT DATE,
   min_lookuptime         OUT DATE,
   max_lookuptime         OUT DATE,
   avg_lookuptime         OUT DATE,
   min_ftstime            OUT DATE,
   max_ftstime            OUT DATE,
   avg_ftstime            OUT DATE);

パラメータ

表76-8 SEGMENT_HEAT_MAPプロシージャのパラメータ

パラメータ 説明

tablespace_id

セグメントが設定されている表領域

header_file

セグメント・ヘッダー相対ファイル番号

header_block

セグメント・ヘッダー・ブロック番号

segment_objd

セグメントのDATAOBJ

戻り値

表76-9 SEGMENT_HEAT_MAPプロシージャの戻り値(出力パラメータ)

パラメータ 説明

min_writetime

セグメントの最も古い書込み時間

max_writetime

セグメントの最新の書込み時間

avg_writetime

セグメントの平均書込み時間

min_readtime

セグメントの最も古い読取り時間

max_readtime

セグメントの最新の読取り時間

avg_writetime

セグメントの平均書込み時間

min_lookuptime

セグメントの最も古い索引参照時間

max_lookuptime

セグメントの最新の索引参照時間

avg_lookuptime

セグメントの平均索引参照時間

min_ftstime

セグメントの最も古い全表スキャン時間

max_ftstime

セグメントの最新の全表スキャン時間

avg_ftstime

セグメントの平均全表スキャン時間

76.3.5 TABLESPACE_HEAT_MAPファンクション

この表は、表領域内のすべてのセグメントの最小、最大および平均のアクセス時間を戻します。

構文

DBMS_HEAT_MAP.TABLESPACE_HEAT_MAP (
    tablespace_name      IN VARCHAR2)
  RETURN hm_tablespace_table PIPELINED;

パラメータ

表76-10 TABLESPACE_HEAT_MAPプロシージャのパラメータ

パラメータ 説明

tablespace_name

表領域の名前

戻り値

表76-11 TABLESPACE_HEAT_MAPプロシージャの戻り値(出力パラメータ)

パラメータ 説明

segment_count

表領域内のセグメントの合計数

allocated_bytes

表領域内でセグメントによって使用される領域

min_writetime

セグメントの最も古い書込み時間

max_writetime

セグメントの最新の書込み時間

avg_writetime

セグメントの平均書込み時間

min_readtime

セグメントの最も古い読取り時間

max_readtime

セグメントの最新の読取り時間

avg_writetime

セグメントの平均書込み時間

min_lookuptime

セグメントの最も古い索引参照時間

max_lookuptime

セグメントの最新の索引参照時間

avg_lookuptime

セグメントの平均索引参照時間

min_ftstime

セグメントの最も古い全表スキャン時間

max_ftstime

セグメントの最新の全表スキャン時間

avg_ftstime

セグメントの平均全表スキャン時間