プライマリ・コンテンツに移動
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
12c リリース1 (12.1)
B71281-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

79 DBMS_ILM

DBMS_ILMパッケージでは、自動データ最適化(ADO)ポリシーを使用して情報ライフサイクル管理(ILM)計画を実装するためのインタフェースが提供されます。


関連項目:

  • このパッケージを使用した自動データ最適化(ADO)の管理の詳細は、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。

  • 「DBMS_ILM_ADMIN」

  • DBMS_HEAT_MAP


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

DBMS_ILMの使用

概要

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

DBMS_ILMパッケージでは、即時評価のほか、自動データ最適化(ADO)関連のタスクの実行がサポートされます。このパッケージでは、ADOアクションをスケジューリングする次の2つの方法がサポートされます。

  • データベース・ユーザーがオブジェクト・セット上でADOポリシーの即時実行をスケジュールします。

  • データベース・ユーザーがオブジェクト・セットでのADOポリシーの評価結果を確認します。次に、ユーザーは、このセットのオブジェクトを追加または削除して、ADOポリシーの評価結果を再確認します。ユーザーは、この手順を繰り返して、ADO実行の対象となるオブジェクト・セットを決定します。さらに、このオブジェクト・セットでは、ユーザーによってADOアクションの即時スケジューリングを実行できます。

次のプロシージャでは2つの使用モードがサポートされます。プロシージャの説明の前に、特定の評価を追跡可能なエンティティとしてのADOタスクの概念とADOポリシーの(評価および実行の)概念について説明します。個々のADOタスクは次のいずれかの状態になります。

  • 非アクティブ

  • アクティブ

  • 完了

セキュリティ・モデル

DBMS_ILMパッケージは、実行者の権限で実行されます。

定数

DBMS_ILMパッケージでは、表79-1「DBMS_ILMの定数」に示す定数が使用されます。

表79-1 DBMS_ILMの定数

定数 タイプ 説明

ILM_ALL_POLICIES

'ALL POLICIES'

VARCHAR2(20)

オブジェクトのADOポリシーをすべて選択します。

ILM_EXECUTION_OFFLINE

1

NUMBER

ADOアクションの実行中にオブジェクトをオフラインにできるように指定します。

ILM_EXECUTION_ONLINE

2

NUMBER

ADOアクションの実行中にオブジェクトがオンラインになるように指定します。

SCOPE_DATABASE

1

NUMBER

データベース内のすべてのADOポリシーを選択します。

SCOPE_SCHEMA

2

NUMBER

現在のスキーマ内のすべてのADOポリシーを選択します。

SCHEDULE_IMMEDIATE

1

NUMBER

即時実行するADOタスクをスケジュールします。

ARCHIVE_STATE_ACTIVE

'0'

VARCHAR2(1)

行をアクティブにする表で行アーカイブが有効化されたもののORA_ARCHIVE_STATE列の値を表示します。

ARCHIVE_STATE_ARCHIVED

'1'

VARCHAR2(1)

行を非アクティブにする表で行アーカイブが有効化されたもののORA_ARCHIVE_STATE列の値を表示します。


例外

次の表に、DBMS_ILMパッケージで発生する例外を示します。

表79-2 DBMS_ILMの例外

例外 エラー・コード 説明

INVALID_ARGUMENT_VALUE

38327

引数の値が無効です。

INVALID_ILM_DICTIONARY

38328

ディクショナリ状態に整合性がありません。

INTERNAL_ILM_ERROR

38329

内部エラー。

INSUFFICIENT_PRIVILEGES

38330

権限が不十分です。


DBMS_ILMサブプログラムの要約

表79-3 DBMS_ILMパッケージのサブプログラム

サブプログラム 説明

ADD_TO_ILMプロシージャ


引数で指定されたオブジェクトを特定のADOタスクに追加して、このオブジェクト上のADOポリシーを評価します。

ARCHIVESTATENAMEファンクション


行アーカイブが有効化された表のORA_ARCHIVE_STATE列の値を戻します。

EXECUTE_ILMプロシージャ


ADOタスクを実行します。

EXECUTE_ILM_TASKプロシージャ


以前に評価されたADOタスクを実行します。

PREVIEW_ILMプロシージャ


引数で指定された有効範囲のすべてのADOポリシーを評価します。

REMOVE_FROM_ILMプロシージャ


引数で指定されたオブジェクトを特定のADOタスクから削除します。

STOP_ILMプロシージャ


特定のADOタスクに作成されたADO関連のジョブを停止します。


ADD_TO_ILMプロシージャ

このプロシージャは、引数で指定されたオブジェクトを特定のADOタスクに追加して、このオブジェクト上のADOポリシーを評価します。このプロシージャは、非アクティブ状態のADOタスクでのみ実行できます。このオブジェクト上のADOポリシーの評価結果は、ロールとアクセスに応じた適切なビュー(USER_ILMTASKSまたはDBA_ILMTASKSUSER_ILMEVALUATIONDETAILSまたはDBA_ILMEVALUATIONDETAILSUSER_ILMRESULTSまたはDBA_ILMRESULTS)を使用して確認できます。

構文

DBMS_ILM.ADD_TO_ILM (
   task_id           IN    NUMBER,
   owner             IN    VARCHAR2,
   object_name       IN    VARCHAR2,
   subobject_name    IN    VARCHAR2 DEFAULT NULL);

パラメータ

表79-4 ADD_TO_ILMプロシージャのパラメータ

パラメータ 説明

task_id

特定のADOタスクを識別します。

owner

オブジェクトの所有者

object_name

オブジェクト名。

subobject_name

サブオブジェクトの名前(パーティション化された表の場合はパーティション名)。


ARCHIVESTATENAMEファンクション

このファンクションでは、行アーカイブが有効化された表のORA_ARCHIVE_STATE列の値を戻します。

構文

DBMS_ILM.ARCHIVESTATENAME (
   value      IN  VARCHAR2) 
 RETURN VARCHAR2;

パラメータ

表79-5 ARCHIVESTATENAMEファンクションのパラメータ

パラメータ 説明

value

アーカイブ状態名が戻される対象の値。


使用上の注意

0の場合はARCHIVE_STATE_ACTIVEを戻し、それ以外はARCHIVE_STATE_ARCHIVEDを戻します。


関連項目:

『Oracle Database VLDBおよびパーティショニング・ガイド』のインデータベース・アーカイブの使用に関する項を参照してください。

EXECUTE_ILMプロシージャ

このプロシージャは、ADOタスクを実行します。

このプロシージャには、2つのオーバーロードがあります。最初のオーバーロードは、オブジェクトのセットに対してADOタスクを実行し、事前にこれらの評価を実行しません。2番目のオーバーロードは、特定のオブジェクトに対してADOポリシーを実行します。

構文

DBMS_ILM.EXECUTE_ILM (
   task_id             OUT    NUMBER,
   ilm_scope           IN     NUMBER DEFAULT SCOPE_SCHEMA,
   execution_mode      IN     NUMBER DEFAULT ILM_EXECUTION_ONLINE);

DBMS_ILM.EXECUTE_ILM (
   owner               IN     VARCHAR2,
   object_name         IN     VARCHAR2,
   task_id             OUT    NUMBER, 
   subobject_name      IN     VARCHAR2 DEFAULT NULL,
   policy_name         IN     VARCHAR2 DEFAULT ILM_ALL_POLICIES,
   execution_mode      IN     NUMBER DEFAULT ILM_EXECUTION_ONLINE);

パラメータ

表79-6 EXECUTE_ILMプロシージャのパラメータ

パラメータ 説明

task_id

特定のADOタスクを識別します。

ilm_scope

ADO実行の対象となるオブジェクト・セットを決定します。デフォルトは、スキーマ内のオブジェクトのみが対象となります。

execution_mode

ADOタスクをオンライン(ILM_EXECUTION_ONLINE)またはオフライン(ILM_EXECUTION_OFFLINE)で実行します。

owner

オブジェクトの所有者

object_name

オブジェクト名。

subobject_name

サブオブジェクトの名前(パーティション化された表の場合はパーティション名)。

policy_name

オブジェクト上で評価されるADOポリシーの名前。オブジェクト上のすべてのADOポリシーを評価する場合は、パッケージ定数のILM_ALL_POLICIESを使用する必要があります。


使用上の注意

  • EXECUTE_ILMプロシージャは、ADOを実行するタイミングの制御がさらに必要なユーザーや、次のメンテナンス・ウィンドウまで待つ必要がないユーザーが使用できます。

  • このプロシージャの実行方法は、ADOタスクと関連ジョブの作成の前後に自動コミットを行うという点で、DDLと類似しています。

EXECUTE_ILM_TASKプロシージャ

このプロシージャは、以前に評価されたADOタスクを実行し、アクティブ状態に移行させます。

構文

DBMS_ILM.EXECUTE_ILM_TASK (
   task_id             IN     NUMBER,
   execution_mode      IN     NUMBER DEFAULT ILM_EXECUTION_ONLINE);
   execution_schedule  IN     NUMBER DEFAULT SCHEDULE_IMMEDIATE);

パラメータ

表79-7 EXECUTE_ILM_TASKプロシージャのパラメータ

パラメータ 説明

task_id

特定のADOタスクを識別します。

execution_mode

ADOタスクをオンライン(ILM_EXECUTION_ONLINE)またはオフライン(ILM_EXECUTION_OFFLINE)で実行します。

execution_schedule

ADOタスクを実行するタイミングを特定します。現在は、ADOジョブの即時スケジューリングのみが選択可能です。


PREVIEW_ILMプロシージャ

このプロシージャは、ILM_SCOPE引数を使用して指定されたオブジェクト上でADOポリシーを評価します。これは、特定のADOタスクを識別するtask_idとして数値を戻します。これを使用して、ロールとアクセスに応じた適切なビュー(USER_ILMTASKSまたはDBA_ILMTASKSUSER_ILMEVALUATIONDETAILSまたはDBA_ILMEVALUATIONDETAILSUSER_ILMRESULTSまたはDBA_ILMRESULTS)でポリシー評価の結果を確認できます。

PREVIEW_ILMプロシージャではADOタスクが非アクティブ状態のままになります。1度結果をプレビューすると、このタスクにオブジェクトの追加または削除ができます。

構文

DBMS_ILM.PREVIEW_ILM (
   task_id           OUT    NUMBER,
  ilm_scope          IN     NUMBER DEFAULT SCOPE_SCHEMA);

パラメータ

表79-8 PREVIEW_ILMプロシージャのパラメータ

パラメータ 説明

task_id

特定のADOタスクを識別します。

ilm_scope

実行の有効範囲を識別します。「定数」の説明に従って、SCOPE_DATABASEまたはSCOPE_SCHEMAのいずれかを指定する必要があります。


REMOVE_FROM_ILMプロシージャ

このプロシージャは、引数で指定されたオブジェクトを特定のADOタスクから削除します。このプロシージャは、非アクティブ状態のADOタスクでのみ実行できます。

構文

DBMS_ILM.REMOVE_FROM_ILM (
   task_id           IN    NUMBER,
   owner             IN    VARCHAR2,
   object_name       IN    VARCHAR2,
   subobject_name    IN    VARCHAR2 DEFAULT NULL);

パラメータ

表79-9 REMOVE_FROM_ILMプロシージャのパラメータ

パラメータ 説明

task_id

特定のADOタスクを識別します。

owner

オブジェクトの所有者

object_name

オブジェクト名。

subobject_name

サブオブジェクトの名前(パーティション化された表の場合はパーティション名)。


STOP_ILMプロシージャ

このプロシージャは、特定のADOタスクに作成されたADO関連のジョブを停止します。

構文

DBMS_ILM.STOP_ILM (
   task_id               IN         NUMBER,
   p_drop_running_jobs   IN         BOOLEAN DEFAULT FALSE);

パラメータ

表79-10 STOP_ILMプロシージャのパラメータ

パラメータ 説明

task_id

特定のADOタスクを一意に識別する番号。

p_drop_running_jobs

実行中のジョブが削除されるかどうか。