23 オフライン・データ・パージ・フレームワークの使用

Oracle Identity Governanceには、数回のイテレーションで大量のデータ・セットをパージし、同じ操作で大規模記憶領域を再利用するための新しいオフライン・データ・パージ・フレームワークが用意されています。

Oracle Identity Governanceでは、リアルタイムの継続的なデータ・パージ・ソリューションが提供され、様々なエンティティのライフ・サイクル管理用に生成されるデータを保持することでパフォーマンスとスケーラビリティの標準を満たしてきました。ただし、数回のイテレーションで大量のデータ・セットをパージし、同じ操作で大規模記憶領域を再利用するには、オフライン・データ・パージ・フレームワークが必要です。

この章の構成は、次のとおりです。

23.1 オフライン・データ・パージ・フレームワークについて

オフライン・データ・パージ・フレームワークは、より少ないイテレーションで大量のデータ・セットをパージするのに役立ちます。

オフライン・データ・パージ・フレームワークを使用すると、リコンシリエーション、プロビジョニング・タスク、編成などのOracle Identity Governanceエンティティの進行中ステータスのデータなど、パージ不可データをパージできます。

このフレームワークは次の状況で使用することをお薦めします。

  • デフォルトのオンライン・データ・パージ・スケジュール済タスクや、大量のパージ可能蓄積データを実行していない場合

  • Oracle Identity Governanceエンティティ(リコンシリエーション、プロビジョニング・タスクおよび編成)のパージ不可データをパージしたい場合

  • オンライン・データ・パージのデフォルトのスケジュール済タスクを実行したいが、パージ可能データの量が非常に多い場合

  • 保存期間に基づいて、Oracle Identity Governanceエンティティ(リコンシリエーション、プロビジョニング・タスクおよび編成)のすべてのデータをパージしたい場合

オフライン・データ・パージ・フレームワークの主な機能の一部を次に示します。

  • オフライン・データ・パージ・フレームワークは、Oracle Identity Governanceではデフォルトで無効になっています。

  • Create Table As Select (CTAS)アプローチは、データをパージするため、またパージしたデータ・セットの記憶領域を自動再利用するためにも使用されます。

  • オフライン・データ・パージ・フレームワークでは、Oracle Identity Governanceエンティティ・タイプ、パージ基準およびパージ保存期間に基づくデータ・パージがサポートされます。

  • 表23-1に、Oracle Identity Governanceエンティティでサポートされているパージ条件(パージの保存期間に基づく)を示します。

    表23-1 Oracle Identity Governanceエンティティに対してサポートされるパージ基準

    エンティティ パージ可能イベント パージ不可イベント すべてのデータ
    リコンシリエーション

    Event Closed、Creation Succeeded、Update Succeeded、Delete Succeeded

    パージ可能イベント以外のすべてのイベント

    はい(保存期間に基づく)

    プロビジョニング・タスク

    CompletedおよびCancelled

    該当なし

    該当なし

    編成

    Completed、Failed、Cancelled、Compensated、Cancelled_With_Compensation

    パージ可能イベント以外のすべてのイベント

    はい(保存期間に基づく)

  • オフライン・データ・パージ操作は、Oracle DBMSスケジューラ・ジョブを実行することで実行できます。

  • オフライン・データ・パージ・フレームワークは、既存のPL/SQL診断ロギングおよびデバッグ・フレームワークを使用して、オフライン・データ・パージ操作の進捗状況を追跡します。

  • オフライン・データ・パージ操作のサマリーと詳細情報は、2つの個別の診断ロギング表DIAG_LOGおよびDIAG_LOG_DTLSに取得されます。

23.2 オフライン・データ・パージ・フレームワークを実行するための前提条件

オフライン・データ・パージ操作を実行する前に、次の前提条件を満たす必要があります。

  • オフライン・データ・パージ操作を実行する前に、パージするデータのバックアップを作成します。

  • メインストリームのOracle Identity Governance操作でのパージで識別されるデータがビジネスで使用されていないことを確認します。

  • OIM、UNDOおよびTEMP表領域には十分な領域を確保することをお薦めします。これらの表領域で必要な追加領域を計算するには:

    • データをパージする必要がある表の累積サイズを計算します。表は次のとおりです。

      • 編成の場合: ORCHPROCESS

      • プロビジョニング・タスクの場合: OSI、OSH、SCH、OTI

      • リコンシリエーションの場合: RA_XELLERATE_ORG、RA_LDAPROLEHIERARCHY、RA_LDAPROLEMEMBERSHIP、RA_MLS_LDAPROLE、RA_LDAPROLE、RA_MLS_LDAPUSER、RA_LDAPUSER、RECON_ROLE_MEMBER_MATCH、RECON_ROLE_HIERARCHY_MATCH、RECON_ROLE_MATCH、RECON_ORG_MATCH、RECON_CHILD_MATCH、RECON_ACCOUNT_MATCH、RECON_USER_MATCH、RECON_HISTORY、RECON_EVENT_ASSIGNMENT、RECON_BATCHES、RECON_JOBS、RECON_EVENTSおよびその他のRA_*表

    • 前のステップの結果に基づいて、OIM表領域に2倍のサイズを割り当てることができます。UNDOおよびTEMP表領域に必要な領域は、OIM表領域よりも小さくなります。

  • OIMデータベース・スキーマの最新の統計を収集してください。

  • パージ操作中にOracle Identity Governanceサーバーが停止していることを確認します。

  • 事前に本番環境で必要となる停止時間の長さを知るために、典型的なデータや類似の構成可能なOracle DBMSスケジュール済ジョブ・パラメータを使用して、低環境でオフライン・データ・パージ操作を実行することをお薦めします。

  • OIM.DBDiagnosticLevelOffPurgeシステム・プロパティの値として診断レベルを設定して、オフライン・データのパージ操作中の診断ロギングを有効化します。このシステム・プロパティの詳細は、「Oracle Identity Governanceのデフォルトのシステム・プロパティ」を参照してください。

    診断データが取得された後、システム・プロパティの値を FINISHからデフォルト値のNONEにリセットします。システム・プロパティ値の変更の詳細は、「システム・プロパティの編集」を参照してください。

23.3 オフライン・データ・パージ操作の構成および実行

オフライン・データ・パージ操作を実行するには:

ノート:

構成を開始する前に、すべての前提条件が満たされていることを確認してください。

  1. SQLPLUSシェル、SQL Developerまたはその他任意のインタフェース・ツールを使用して、Oracle Identity Governanceデータベース・スキーマにログインします。
  2. OIM_OFFLINE_DATAPURGE Oracle DBMSスケジュール済ジョブを構成します。

    表23-2に、OIM_OFFLINE_DATAPURGE Oracle DBMSスケジュール済ジョブの構成可能なパラメータを示します。

    表23-2 OIM_OFFLINE_DATAPURGE DBMSスケジュール済ジョブの構成パラメータ

    パラメータ 説明 デフォルト値

    OIGエンティティ

    値は次のいずれかになります。

    • 1: 編成

    • 2: プロビジョニング・タスク

    • 3: リコンシリエーション

    NULL

    リコンシリエーション・エンティティ

    パージ基準

    値は次のいずれかになります。

    • 1: パージ可能イベントのパージ

    • 2: パージ不可イベントのパージ

    • 3: すべてのデータ

    NULL

    パージ保存期間(日数)

    パージの保存期間を日単位で示します。値recon_events.re_createに基づきます。

    NULL

    編成エンティティ

    パージ基準

    値は次のいずれかになります。

    • 1: パージ可能イベントのパージ

    • 2: パージ不可イベントのパージ

    • 3: すべてのデータ

    NULL

    パージ保存期間(日数)

    パージの保存期間を日単位で示します。値orchprocess.modifiedonに基づきます。

    NULL

    プロビジョニング・タスク・エンティティ

    パージ基準

    値は次のいずれかになります。

    • パージ可能/パージ不可/すべてのデータ・イベントをパージする場合、1または2または3

    NULL

    パージ保存期間(日数)

    パージの保存期間を日単位で示します。値'sch.sch_createに基づきます。

    NULL

    1. 次の構文を使用して、Oracle DBMSスケジュール済ジョブの次の属性を目的の値に置き換えます。

      • <OIM_ENTITY>: OIGエンティティ・タイプ(1、2または3)

      • <PURGE_CRITERIA>: パージ基準(1、2または3)

      • <RETENTION_PERIOD>: 保存期間(日数)

      SQL> BEGIN dbms_scheduler.set_attribute( name => 'OIM_OFFLINE_DATAPURGE', attribute => 'job_action', value => '
      BEGIN oim_pkg_offline_datapurge.oim_sp_offline_dataprg_wrapper(p_oim_entity => <OIM_ENTITY>, p_purge_criteria => <PURGE_CRITERIA>, p_retention_period => <RETENTION_PERIOD>); 
      END;'
       );
       END;
      /
      

      たとえば、次のシナリオでは、365日より古い編成エンティティ・タイプのパージ不可データはすべてデータベースからパージされます。

      SQL> BEGIN 
      	    dbms_scheduler.set_attribute
      	    (
      	        name => 'OIM_OFFLINE_DATAPURGE',
      	        attribute => 'job_action',
      	        value => 'BEGIN oim_pkg_offline_datapurge.oim_sp_offline_dataprg_wrapper(p_oim_entity => 1, p_purge_criteria => 1, p_retention_period => 365); END;'
      	    );
      	END;
      	/
      
    2. 次のSQLコマンドを実行して、Oracle DBMSスケジュール済ジョブを実行します。

      SQL> EXEC dbms_scheduler.run_job('OIM_OFFLINE_DATAPURGE');
    3. 次のSQLコマンドを実行し、既存のPL/SQL診断ロギングおよびデバッグ表を使用してパージ操作の進捗状況を追跡します。

      SQL> SELECT * FROM diag_log ORDER BY 1 DESC;
      SQL> SELECT * FROM diag_log_dtls ORDER BY 2 DESC, 1;

    オフライン・データ・パージ操作が正常に完了した後:

    • アクティブなデータベース表には、パージ操作後に保持する必要があるデータのみが表示されます。

    • OIM_OFFLINE_DATAPURGE DBMSスケジュール済ジョブのパラメータ値は、NULLにリセットされます。

    関連項目: