ヘッダーをスキップ
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
11g リリース2(11.2)
B56262-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

36 DBMS_COMPRESSION

DBMS_COMPRESSIONパッケージは、アプリケーションの正しい圧縮レベルを簡単に選択できるインタフェースを提供します。


関連項目:

  • 『Oracle Database管理者ガイド』

  • 『Oracle Database概要』

  • 『Oracle Database SQL言語リファレンス』

  • 『Oracle Database 2日でデータ・ウェアハウス・ガイド』

  • 『Oracle Databaseデータ・ウェアハウス・ガイド』

  • 『Oracle Database VLDBおよびパーティショニング・ガイド』

  • 『Oracle Databaseリファレンス』


この章では、次の項目について説明します。


DBMS_COMPRESSIONの使用方法


概要

DBMS_COMPRESSIONパッケージは、データベース環境内で圧縮に関連する情報を収集します。これには、パーティション化された表およびパーティション化されていない表について圧縮率を推測し、以前に圧縮された表に関する行レベルの圧縮情報を収集するツールが含まれます。これによって、圧縮に関連した決定を行うための適切な情報が得られます。


セキュリティ・モデル

DBMS_COMPRESSSIONパッケージは、ユーザーSYS所有のパッケージであり、SYSによって作成される必要があります。実行権限は、PUBLICに付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。


定数

DBMS_COMPRESSIONパッケージでは、表36-1「DBMS_COMPRESSIONの定数 - 圧縮タイプ」に示す定数が使用されます。

表36-1 DBMS_COMPRESSIONの定数 - 圧縮タイプ

定数 タイプ 説明

COMP_NOCOMPRESS

NUMBER

1

圧縮なし

COMP_FOR_OLTP

NUMBER

2

OLTP圧縮

COMP_FOR_QUERY_HIGH

NUMBER

4

問合せ操作のための高圧縮レベル

COMP_FOR_QUERY_LOW

NUMBER

8

問合せ操作のための低圧縮レベル

COMP_FOR_ARCHIVE_HIGH

NUMBER

16

アーカイブ操作のための高圧縮レベル

COMP_FOR_ARCHIVE_LOW

NUMBER

32

アーカイブ操作のための低圧縮レベル

COMP_BLOCK

NUMBER

64

圧縮

COMP_RATIO_MINROWS

NUMBER

1000000

HCC比が見積もられるオブジェクトの必要最低限の行数

COMP_RATIO_ALLROWS

NUMBER

-1

オブジェクトのすべての行を使用してHCC比が見積もられたことを示します。



注意:

ハイブリッド列圧縮は特定のOracleストレージ・システムの機能です。詳細は、『Oracle Database概要』を参照してください。


ビュー

DBMS_COMPRESSIONパッケージは、『Oracle Databaseリファレンス』で説明されているビューを使用します。COMPRESS_FORまたはDEF_COMPRESS_FORを含む20のカタログ・ビューには、次のいずれかになる有効な表示値のリストがあります。

  • BASIC

  • OLTP

  • QUERY LOW

  • QUERY HIGH

  • ARCHIVE LOW

  • ARCHIVE HIGH

影響を受けるビューは次のとおりです。

  • ALL_ALL_TABLES

  • ALL_OBJECT_TABLES

  • ALL_PART_TABLES

  • ALL_TABLES

  • ALL_TAB_PARTITIONS

  • ALL_TAB_SUBPARTITIONS

  • DBA_ALL_TABLES

  • DBA_OBJECT_TABLES

  • DBA_PART_TABLES

  • DBA_TABLES

  • DBA_TAB_PARTITIONS

  • DBA_TAB_SUBPARTITIONS

  • DBA_TABLESPACES

  • USER_OBJECT_TABLES

  • USER_PART_TABLES

  • USER_TABLES

  • USER_TAB_PARTITIONS

  • USER_TABLESPACES


DBMS_COMPRESSIONサブプログラムの要約

表36-2 DBMS_COMPRESSIONパッケージのサブプログラム

サブプログラム 説明

GET_COMPRESSION_RATIOプロシージャ


表の圧縮比を分析し、表の圧縮率に関する情報を提供します。

GET_COMPRESSION_TYPEファンクション


特定の行に対する圧縮タイプを戻します。



GET_COMPRESSION_RATIOプロシージャ

このプロシージャは、表の圧縮比を分析し、表の圧縮率に関する情報を提供します。ユーザーは様々なパラメータを入力して、異なる圧縮タイプを選択的に分析できます。

構文

DBMS_COMPRESSION.GET_COMPRESSION_RATIO (
   scratchtbsname        IN     VARCHAR2,
   ownname               IN     VARCHAR2,
   tabname               IN     VARCHAR2,
   partname              IN     VARCHAR2,
   comptype              IN     NUMBER,
   blkcnt_cmp            OUT    PLS_INTEGER,
   blkcnt_uncmp          OUT    PLS_INTEGER,
   row_cmp               OUT    PLS_INTEGER,
   row_uncmp             OUT    PLS_INTEGER,
   cmp_ratio             OUT    NUMBER,
   comptype_str          OUT    VARCHAR2,   subset_numrows        IN     NUMBER DEFAULT COMP_RATIO_MINROWS); 

パラメータ

表36-3 GET_COMPRESSION_RATIOプロシージャのパラメータ

パラメータ 説明

scratchtbsname

分析に使用できる一時スクラッチ表領域。

ownname

分析する表のスキーマ。

tabname

分析する表の名前。

partname

パーティション化された表の場合は、関連したパーティション名。

comptype

分析を実行する対象の圧縮タイプ。

blkcnt_cmp

表の圧縮されたサンプルに使用されるブロック数。

blkcnt_uncmp

表の圧縮解除されたサンプルに使用されるブロック数。

row_cmp

表の圧縮されたサンプルにあるブロック内の行数。

row_uncmp

表の圧縮解除されたサンプルにあるブロック内の行数。

cmp_ratio

圧縮比、blkcnt_uncmpblkcnt_cmpで割った値。

comptype_str

圧縮タイプを説明する文字列。

subset_numrows

圧縮比を見積もるためにサンプリングされた行数。


使用上の注意

プロシージャは、スクラッチ表領域に異なる表を作成し、これらのオブジェクトで分析を実行します。ユーザー指定の表では何も変更しません。


GET_COMPRESSION_TYPEファンクション

このファンクションは、特定の行に対する圧縮タイプを戻します。行が連鎖している場合は、ファンクションは先頭の圧縮タイプのみを戻し、先頭は異なる圧縮が可能であるため、中間や末尾は調べません。

構文

DBMS_COMPRESSION.GET_COMPRESSION_TYPE (
   ownname    IN    VARCHAR2, 
   tabname    IN    VARCHAR2, 
   row_id     IN    ROWID)
  RETURN NUMBER;

パラメータ

表36-4 GET_COMPRESSION_TYPEファンクションのパラメータ

パラメータ 説明

ownname

表のスキーマ名。

tabname

表の名前。

rowid

行のROWID。


戻り値

圧縮のタイプを示すフラグ(「DBMS_COMPRESSIONの定数: 圧縮タイプ」を参照)。