ヘッダーをスキップ
Oracle Identity Managerベスト・プラクティス・ガイド
リリース9.1.0.2
B56034-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

11 タスク・アーカイブ・ユーティリティの使用方法

この章では、タスク・アーカイブ・ユーティリティの使用方法について説明します。内容は次のとおりです。

11.1 タスク・アーカイブ・ユーティリティについて

Oracle Identity Managerでは、タスクはリソースのプロビジョニングを処理するプロセスを構成する1つ以上のアクティビティを意味します。たとえば、リソースへのアクセスを要求するプロセスには、複数の承認タスクおよびプロビジョニング・タスクが含まれます。Oracle Identity Managerでは、アクティブ・タスク表と呼ばれる次の表にタスク・データを格納します。

Oracle Identity Managerのデフォルトでは、完了したタスクはアクティブ・タスク表から削除されません。アクティブ・タスク表のサイズが大きくなるにつれて、特にオープン・タスクの管理および承認の保留時に、パフォーマンスが低下する可能性があります。タスクが正常に実行されたら、タスク・アーカイブ・ユーティリティを使用し、タスク・データをアーカイブしてアクティブ・タスク表から削除できます。タスク・アーカイブ・ユーティリティでタスク・データをアーカイブすると、パフォーマンスが改善され、データを安全に格納できます。

タスク・アーカイブ・ユーティリティは、アーカイブされたタスク・データを次のアーカイブ・タスク表に格納します。これらの表の構造は、アクティブ・タスク表と同じです。

タスク・アーカイブ・ユーティリティを使用すると、次のタイプのタスクをアーカイブできます。

タスク・アーカイブ・ユーティリティを使用してタスクをアーカイブする場合、アーカイブ前に、アーカイブ操作のタイプ、ユーザー・ステータス、タスク実行日および索引を削除するレコード数を指定できます。アーカイブ操作はアーカイブするタスク・データのタイプを示し、ユーザー・ステータスは削除、無効化またはその両方を行ったユーザーに関するデータをアーカイブするかどうかを決定します。タスク実行日はタスクを実行する日を示し、YYYYMMDD書式である必要があります。

指定したタスク実行日まで、実行されるすべてのタスクがアーカイブされます。アーカイブ・プロセスにかかる時間を短縮するために、アーカイブされるレコード数が200000を超えると、ユーティリティによりすべてのアクティブ・タスク表の索引が削除されます。アーカイブ・データがアクティブ・タスク表から削除された後に、索引は再作成されます。200000という値は必要な値に変更できます。OIM_TasksArch.batファイルまたはOIM_TasksArch.shファイルのコードの次の行で値を変更できます。

.batファイルの場合、set INDXRESP=200000

.shファイルの場合、indxopt=200000

Oracle Database版のタスク・アーカイブ・ユーティリティを構成するファイルは、次のディレクトリにあります。

OIM_HOME/xellerate/Database/Oracle/Utilities/TaskArchival

Microsoft SQL Server版のタスク・アーカイブ・ユーティリティを構成するファイルは、次のディレクトリにあります。

OIM_HOME/xellerate/Database/SQLServer/Utilities/TaskArchival

注意:

アクティブ・タスク表からアーカイブ・タスク表にアーカイブされたデータは、Oracle Identity Managerから使用できなくなります。このデータにアクセスするには、Oracle Identity Managerデータベースのアーカイブ・タスク表を問い合せる必要があります。

11.2 タスク・アーカイブ・ユーティリティのためのOracle Databaseの準備

タスク・アーカイブ・ユーティリティをOracle Databaseとともに使用するには、次の手順を実行する必要があります。

  1. SQL*Plusを起動し、Oracle DatabaseにSYSユーザーとして接続します。

  2. 次のコマンドを入力して、アーカイブ・タスク表用に別の表領域を作成します。DATA_DIRを、データファイルを格納するディレクトリで置き換え、必要に応じてサイズなどのパラメータを環境に合せて調整します。

    CREATE TABLESPACE TasksArch
        DATAFILE 'DATA_DIR\tasksarch_01.dbf' SIZE 1000M REUSE
        EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    

    注意:

    大量のデータをアーカイブする際は、大きなサイズのUNDO表領域を割り当てることをお薦めします。また、初期化パラメータparallel_max_serversおよびparallel_min_serversを構成して、パラレル実行を有効にしてください。パラレル実行は、アーカイブ・プロセスのパフォーマンスの向上に役立ちます。

  3. Oracle Identity Managerデータベース・ユーザーとしてOracle Databaseに接続します。

  4. 9.1.0より前のリリースのOracle Identity Managerでタスク・アーカイブ・ユーティリティを実行する場合は、次のコマンドを実行します。このコマンドにより、ORC_TASKS_ARCHIVED列がORC表に追加されます。タスク・アーカイブ・ユーティリティはこの列の値を1に更新します。これは特定のプロセスのインスタンスに関するタスクがアーカイブされることを示します。

    ALTER TABLE ORC ADD(ORC_TASKS_ARCHIVED VARCHAR2(1))
    
  5. 次のコマンドを入力してcr_taskarchival_ddl_table.sqlスクリプトを実行し、OIM_TASK_ARCH_DDLという表を作成します。この表は、タスク・アーカイブ・ユーティリティで使用されます。

    @ path/cr_taskarchival_ddl_table.sql
    
  6. 次のコマンドを入力してCreate_TasksArch_Tables.sqlスクリプトを実行し、アーカイブ・タスク表を作成します。

    @ path/Create_TasksArch_Tables.sql
    
  7. 次のコマンドを入力してOIM_SP_TASKS_ARCHIVAL.sqlスクリプトを実行し、タスク・アーカイブ・ユーティリティでタスク・データをアーカイブおよび削除するために使用するストアド・プロシージャを作成します。

    @ path/OIM_SP_TASKS_ARCHIVAL.sql
    
  8. Oracle DatabaseインスタンスがARCHIVELOGモードで実行されている場合、タスク・アーカイブ・ユーティリティを実行する前に、NOARCHIVELOGモードに切り替える必要があります。データベースのアーカイブ・モードの変更方法は、『Oracle Database管理者ガイド』を参照してください。

11.3 タスク・アーカイブ・ユーティリティのためのMicrosoft SQL Serverの準備

タスク・アーカイブ・ユーティリティをMicrosoft SQL Serverとともに使用するには、次の手順を実行する必要があります。

  1. カスタム索引をOSI、SCHまたはOSH表に追加した場合、path/Create_TasksArch_Indexes.sqlファイルにもそれらを追加する必要があります。

  2. SQL Query Analyzerを起動し、sysadminのメンバーであるユーザーか、dbcreatorサーバー・ロールまたはdb_ownerデータベース・ロールを持つユーザーとして、SQL Serverに接続します。

  3. 次のコマンドを入力します。DATA_DIRを、データファイルを格納するディレクトリで置き換え、必要に応じてSIZEMAXSIZEおよびFILEGROWTHの各パラメータを環境に合せて調整します。これらのコマンドにより、タスク・アーカイブ・ユーティリティでアーカイブ・タスク表からデータを格納するために使用するOIM_ARCH_TASKSファイル・グループが作成されます。

    USE master
    GO
    ALTER DATABASE oim_database_name
    ADD FILEGROUP OIM_ARCH_TASKS
    GO
    ALTER DATABASE oim_database_name
    ADD FILE
     (NAME = OIM_ARCH_TASKS,
      FILENAME = 'DATA_DIR\OIM_ARCH_TASKS.NDF',
      SIZE = 1000MB,
      MAXSIZE = 5000MB,
      FILEGROWTH = 25MB)
    TO FILEGROUP OIM_ARCH_TASKS
    GO
    
  4. SQL Serverから切断して、Oracle Identity Managerデータベース・ユーザーとして再接続します。

  5. 9.1.0より前のリリースのOracle Identity Managerでタスク・アーカイブ・ユーティリティを実行する場合は、次のコマンドを実行します。このコマンドにより、ORC_TASKS_ARCHIVED列がORC表に追加されます。タスク・アーカイブ・ユーティリティはこの列の値を1に更新します。これは特定のプロセスのインスタンスに関するタスクがアーカイブされることを示します。

    ALTER TABLE ORC ADD ORC_TASKS_ARCHIVED VARCHAR(1)
    
  6. path/Create_TasksArch_Tables.sqlスクリプトをロードして実行し、アーカイブ・タスク表を作成します。

  7. path/OIM_SP_TASKS_ARCHIVAL.sqlスクリプトをロードして実行し、タスク・アーカイブ・ユーティリティでタスク・データをアーカイブおよび削除するために使用するストアド・プロシージャを作成します。

11.4 タスク・アーカイブ・ユーティリティの実行

次の手順を実行して、タスク・アーカイブ・ユーティリティを実行します。

  1. Oracle Identity Managerデータベースにアクセスでき、リコンシリエーション・プロセスが実行されていないことを確認します。また、Oracle Identity Managerデータベースが他のセッションのトランザクションに対してオープンされていないことを確認します。


    注意:

    タスク・アーカイブ・ユーティリティは、オフピーク時間帯に実行することをお薦めします。

  2. OSI表、SCH表およびOSH表をバックアップします。

  3. 使用しているアプリケーション・サーバーに対応したOracle Identity Managerのインストレーション・ガイドの手順に従って、Oracle Identity Managerを停止します。

  4. Microsoft Windowsプラットフォームでは、短い日付書式をdddd M/d/yyyyとして指定する必要があります。また、時間書式をH:mm:ssとして指定する必要があります。日付書式および時間書式をカスタマイズするには、「コントロール パネル」で「地域と言語のオプション」コマンドを選択します。


    注意:

    日付書式および時間書式を変更すると、Microsoft Windowsプラット・フォームで実行中のすべてのアプリケーションに影響します。

  5. LinuxおよびUNIXプラットフォームでは、path/OIM_TasksArch.shファイルを実行します。Microsoft Windowsプラットフォームでは、path\OIM_TasksArch.batファイルを実行します。

  6. Oracle Databaseインストール環境で、求められた場合には次のパラメータの値を入力します。

    • Oracleホーム・ディレクトリ

    • Oracle Identity Managerデータベース名またはOracle Identity Managerデータベースがリモート・コンピュータで稼働している場合はTNS文字列

    • Oracle Identity Managerデータベース・ユーザー名およびパスワード

    Microsoft SQL Serverインストール環境で、求められた場合には次のパラメータの値を入力します。

    • SQL Serverデータベースが稼働しているサーバー名

    • Oracle Identity Managerデータベース名

    • Oracle Identity Managerデータベース・ユーザー名およびパスワード

  7. 求められた場合には、次のオプションのいずれかを選択します。

    • 無効化または削除されたユーザーの失効になったリソース・インスタンスに対するプロビジョニング・タスクをすべてアーカイブします。

    • 失効になったリソース・インスタンスに対するプロビジョニング・タスクをすべてアーカイブします。

    • リクエスト・ステータスが「リクエスト完了」、「リクエストが取り消されました」、または「オブジェクトの承認完了」である承認タスクをすべてアーカイブします。

    • 終了する。

  8. 無効化または削除されたユーザーの失効になったリソース・インスタンスに対するプロビジョニング・タスクをすべてアーカイブする場合、次のいずれかのオプションを選択します。

    • ステータスが「削除」であるユーザー

    • ステータスが「無効」であるユーザー

    • ステータスが「削除」および「無効」であるユーザー

    • メイン・メニューに戻る。

  9. 入力を求められたら、YYYYMMDDという書式でタスク実行日を入力します。指定したタスク実行日まで、実行されるすべてのタスクがアーカイブされます。現在の日付以前に実行されたすべてのタスクをアーカイブするには、日付を入力せずに[Enter]キーを押します。

  10. タスクをアーカイブするには、入力を求められたときにyまたはYの値を入力します。または、nまたはNを入力して、ユーティリティを終了します。


    注意:

    入力を求められたときに、YまたはNの値を入力する必要があります。値を選択しないで[Enter]キーを押すと、ユーティリティでは再度アーカイブされるタスク数が計算され、アーカイブを開始せずに確認が求められます。

  11. Microsoft Windowsプラットフォームでは、タスク・アーカイブ・ユーティリティの実行完了後に、短い日付書式を地域またはロケールの日付書式に再設定します。「コントロール パネル」で「地域と言語のオプション」コマンドを使用して日付書式を再設定します。


    注意:

    アクティブ・タスク表からデータが削除されるため、更新される統計用にアクティブ・タスク表およびその索引を分析する必要があります。Oracle Identity ManagerのデータベースとしてOracle Databaseを使用している場合のみ、この手順を実行してください。

11.5 タスク・アーカイブ・ユーティリティにより生成される出力ファイルの確認

表11-1に、タスク・アーカイブ・ユーティリティによって生成される出力ファイルを示します。

表11-1 タスク・アーカイブ・ユーティリティにより生成される出力ファイル

ファイル 説明

Err_DB_Conn_timestamp.log

ユーティリティが指定された資格証明を使用してデータベースに接続できなかった場合に生成されます。

Err_Arch_Tasks_timestamp.log

アーカイブ・プロセスまたは削除プロセスが失敗した場合に生成されます。

Arch_TaskData_timestamp.log

アーカイブ・プロセスまたは削除プロセスが成功した場合に生成されます。



注意:

ユーティリティを再度実行するときに、これらのエラー・ログ・ファイルは削除されます。