ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Identity Manager開発者ガイド
11g リリース1(11.1.1)
B66705-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

34 バルク・ロード・ユーティリティの使用

Oracle Identity Managerは、組織内で多数あるユーザー・データのリポジトリの1つである場合があります。Oracle Identity Managerの使用を開始するとき、他のリポジトリのデータをOracle Identity Managerにロードすることが必要になる場合があります。バルク・ロード・ユーティリティは、このような要件の解決策となります。

バルク・ロード・ユーティリティは、大量のデータをOracle Identity Managerにロードするプロセスを自動化することを目的としています。データのロードに必要な停止時間の短縮に役立ちます。このユーティリティは、Oracle Identity Managerのインストール後に使用することも、Oracle Identity Managerの本番期間中に随時使用することもできます。

このドキュメントの内容は次のとおりです。

34.1 バルク・ロード・ユーティリティの機能

バルク・ロード・ユーティリティの機能は次のとおりです。

34.2 バルク・ロード・ユーティリティのインストール

このユーティリティをインストールするには、次の手順を実行します。

  1. インストール・パッケージの次のディレクトリを圧縮し、Oracle Identity Managerデータベース・ホスト・コンピュータ上のディレクトリにコピーします。

    MIDDLEWARE_HOME/Oracle_IDM1/server/db/oim/oracle/Utilities/oimbulkload


    注意:

    ユーティリティは、リモート・ホストから実行できます。Oracle Identity Managerデータベース・ホストのディレクトリからこのユーティリティを実行することは、必須ではありません。


  2. ZIPファイルの内容を抽出します。

    ZIPファイルの内容を抽出すると、oimbulkloadディレクトリが作成されます。このディレクトリ内に、次のディレクトリが作成されます。

    • sqls: このディレクトリには、バルク・ロード操作中に使用されるSQLスクリプトが含まれています。

    • scripts: このディレクトリには、バルク・ロード操作中に使用される.shスクリプトと.batスクリプトが含まれています。

    • csv_files: 入力ソースとして1つまたは複数のCSVファイルを使用する場合、CSVファイルはこのディレクトリに格納する必要があります。

    • lib: このディレクトリには、oimBulkLoad.jarファイルが含まれています。

    • sample_data: このディレクトリには、次のサンプルCSVファイルが含まれています。

      • OIMユーザーのロード操作の場合:

        master.txt

        OIDusers.csv

        HRusers.csv

      • アカウントのロード操作の場合:

        parentAD.csv

        childAD.csv

      • ロールに関連したロード操作の場合:

        Role.csv(ロール・ロード)

        Rolec.csv(ロール・カテゴリ)

        Roleh.csv(ロール階層)

        Rolem.csv(ロール・メンバーシップ)

    • Logs_ YYYYMMDD_hhmi: このログ・ディレクトリには、バルク・ロード操作のサマリーが格納されるログ・ファイルが含まれています。このディレクトリは実行時に作成されます。

次の項では、ユーティリティおよびバルク・ロード操作の詳細を説明します。

34.2.1 ユーティリティを構成するスクリプト

ユーティリティを構成する主なスクリプトは次のとおりです。

  • oim_blkld.bat and oim_blkld.sh

    このスクリプトには、バルク・ロード操作を実行するためのコードが含まれています。このスクリプトを実行すると、他のスクリプトやストアド・プロシージャがコールされます。

  • oim_blkld_setup.sql

    このスクリプトは、Oracle Identity Manager表領域にデータファイルを追加するために使用されます。詳細は、このドキュメントの「Oracle Identity Manager表領域でのデータファイルの作成」で説明します。

34.2.2 バルク・ロード操作中に使用される一時表

バルク・ロード操作中には、次の一時表が使用されます。

  • OIM_BLKLD_TMP_SUFFIX

    入力ソースとしてCSVファイルを使用する場合、ユーティリティによってOIM_BLKLD_TMP_SUFFIX表が自動的に作成され、最初にCSVファイルのデータがこの表にロードされます。表名の接尾辞は、次のように決定されます。

    • ファイル名の最初の6文字が考慮されます。

    • 最初の6文字を判断する際には、ファイル名の特殊文字およびファイル拡張子(.csv)は無視されます。

    • 最初の6文字に一意の数字が追加されます。

    • たとえば、ファイル名がacc_Data.csvの場合、バルク・ロード操作中に作成される表の名前はoim_blkld_tmp_accDat1となります。

    複数のCSVファイルがある場合、ファイルごとに1つの表が作成されます。各CSVファイル名の最初の6文字が表名に追加されるため、各ファイル名の最初の6文字が必ず一意になるようにします。このガイドラインについては、このドキュメントで後述します。


    注意:

    入力ソースとしてデータベース表を使用する場合、その表には任意の名前を指定できます。この表の名前を、ユーティリティの入力パラメータの1つとして指定します。


  • OIM_BLKLD_EX_SUFFIX

    OIM_BLKLD_EX_SUFFIX表は、バルク・ロード操作中に失敗した(Oracle Identity Managerにロードされなかった)データ・レコードを保持するために使用されます。OIM_BLKLD_TMP_SUFFIX表ごとに、1つのOIM_BLKLD_EX_SUFFIX表が作成されます。表のEXCEPTION_MSG列には、表内の各レコードの失敗の理由が格納されます。

    入力ソースとしてCSVファイルを使用する場合、CSVファイル名の最初の6文字は、表名に接尾辞として追加されます。たとえば、CSVファイルの名前がusrdt120508.csvの場合、表名はOIM_BLKLD_EX_ usrdt1となります。複数のCSVファイルがある場合、CSVファイルごとに1つの一時表が作成されます。


    注意:

    複数のCSVファイルがある場合、各CSVファイル名の最初の6文字が必ず一意になるようにします。


  • OIM_BLKLD_LOG

    バルク・ロード操作中、ユーティリティにより、進捗メッセージおよびエラー・メッセージがOIM_BLKLD_LOG表に挿入されます。この表に問い合せることで、バルク・ロード操作の進捗を監視できます。この手順の詳細は、このドキュメントで後述します。

34.2.3 ユーティリティで提供されるオプション

バルク・ロード・ユーティリティを実行すると、次のオプションのいずれかを選択するように要求されます。


注意:

選択するオプションによっては、ユーティリティからさらに入力を要求されます。


  • ユーザー・データのロード

    ユーティリティでOIMユーザー・データをロードする場合は、このオプションを選択します。つまり、データはOracle Identity ManagerのUSR表にインポートされます。また、ロードするデータの入力ソース(CSVファイルまたはデータベース表)を選択できます。

  • アカウント・データのロード

    ユーティリティでアカウント・データをロードする場合は、このオプションを選択します。つまり、データはOracle Identity Managerの関連するUD_表にインポートされます。また、ロードするデータの入力ソース(CSVファイルまたはデータベース表)を選択できます。

  • ロール・データのロード

    ユーティリティでロール・データをロードする場合は、このオプションを選択します。つまり、データはOracle Identity ManagerのUGP表にインポートされます。また、ロードするデータの入力ソース(CSVファイルまたはデータベース表)を選択できます。

  • ロール・メンバーシップのロード

    ユーティリティでロール・メンバーシップ・データをロードする場合は、このオプションを選択します。つまり、データはOracle Identity ManagerのUSG表にインポートされます。また、ロードするデータの入力ソース(CSVファイルまたはデータベース表)を選択できます。

  • ロール階層のロード

    ユーティリティでロール階層データをロードする場合は、このオプションを選択します。つまり、データはOracle Identity ManagerのGPG表にインポートされます。また、ロードするデータの入力ソース(CSVファイルまたはデータベース表)を選択できます。

  • ロール・カテゴリのロード

    ユーティリティでロール・データをロードする場合は、このオプションを選択します。つまり、データはOracle Identity ManagerのROLE_CATEGORY表にインポートされます。また、ロードするデータの入力ソース(CSVファイルまたはデータベース表)を選択できます。

  • 監査スナップショットの生成

    ユーティリティでロードしたデータの監査スナップショットを生成する場合は、このオプションを選択します。

34.3 バルク・ロード操作用のデータベースの準備

バルク・ロード操作用にデータベースを準備する場合は、次の項目を実行します。

34.3.1 一時表の表領域の作成

「バルク・ロード操作中に使用される一時表」で説明したとおり、バルク・ロード操作中には一時データベース表が使用されます。Oracle Identity Managerデータベースのデフォルトの表領域を使用するかわりに、これらの一時表を収容する表領域を作成することをお薦めします。

データベースのドキュメントの表領域作成手順に従ってください。

34.3.2 Oracle Identity Manager表領域でのデータファイルの作成

Oracle Identity Managerのインストール中に作成されるOracle Identity Manager表領域のデータファイルのデフォルトのサイズは、500MBです。ロードするデータを収容するために、このデータファイルへの領域の追加が必要になる場合があります。または、データファイルを作成します。

Oracle Identity Manager表領域でデータファイルを作成するには、次の手順を実行します。

  1. SQL*Plusセッションを開始します。

  2. Oracle Identity ManagerデータベースにSYSDBAとして接続します。

  3. oim_blkld_setup.sqlスクリプトを実行します。スクリプトから次の情報の入力を要求されます。

    • Oracle Identity Manager表領域の名前

    • Oracle Identity Manager表領域に追加されるデータファイルのフルパスおよび名前

    • Oracle Identity Managerデータベースのユーザー名

34.4 ユーティリティの実行


注意:

既存の表と競合する名前がある場合、ユーティリティにより、既存の一時表が各実行の開始時に上書きされます。必要に応じて、ユーティリティの前の実行時に作成された一時データベース表の名前を変更します。


ユーティリティを実行するには:

  1. Oracle Identity Managerを停止します。

  2. 次のいずれかのスクリプトを実行します。


    注意:

    非ASCIIデータが含まれているCSVファイルをロードするには、oim_blkld.shスクリプトまたはoim_blkld.batスクリプトを実行する前に、NLS_LANG環境パラメータを次の形式のUTF8キャラクタ・セットに設定します。

    NLS_LANG = LANGUAGE_TERRITORY.UTF8

    例:

    NLS_LANG = American_America.UTF8


    • UNIXコンピュータの場合:

      OIMBulkload/script/oim_blkld.sh

    • Microsoft Windowsコンピュータの場合:

      OIMBulkload\script\oim_blkld.bat

  3. 「ユーティリティで提供されるオプション」の説明に従って、ユーザー、アカウント、ロール関連のデータなど、ロードするデータに応じてメイン・メニューのオプションのいずれか1つを選択します。

  4. 2番目のメニューから、次のように選択します。

    • 入力ソースとしてCSVファイルを使用する場合、CSVファイルを選択します。

    • 入力ソースとしてデータベース表を使用する場合、DB表を選択します。

  5. 要求されたら、「ユーティリティの入力パラメータの値の確認」で説明されている入力パラメータの値を指定します。


    注意:

    OIMユーザー・データのロードに必要な入力パラメータの詳細は、「ユーティリティの入力パラメータの値の確認」を参照してください。アカウント、ロール、ロール階層、ロール・メンバーシップおよびロール・カテゴリ・データのロードに必要な入力パラメータの詳細は、対応する項を参照してください。


  6. 「操作の進捗の監視」で説明する手順に従い、操作のパフォーマンスを監視します。

34.5 OIMユーザー・データのロード

OIMユーザー・データをロードする手順の概要は次のとおりです。

  1. バルク・ロード用のデータベースを準備していない場合は、準備します。詳細は、「バルク・ロード操作用のデータベースの準備」を参照してください。

  2. パスワードが、バルク・ロード操作中に作成されるすべてのOIMユーザーに対してデフォルトのパスワードとして使用されるOIMユーザーを作成します。

  3. バルク・ロード操作の入力ソースを作成します。

    データベース表を入力ソースとして使用する場合は、表を作成して、ユーザー・データを表にコピーします。

    CSVファイルを入力ソースとして使用する場合は、CSVファイルを作成し、このファイルにユーザー・データをコピーします。また、データのロード順にロード元となるファイルの名前が含まれるmaster.txtファイルを作成します。

  4. ユーティリティの入力パラメータの値を確認します。

  5. Oracle Identity Managerを停止します。

  6. oim_blkld.shスクリプトまたはoim_blkld.batスクリプトを実行します。oim_blkld.shスクリプトまたはoim_blkld.batスクリプトの実行の詳細は、「ユーティリティの実行」を参照してください。

  7. バルク・ロード操作の進捗を監視します。

  8. バルク・ロード操作の結果を確認します。

  9. 必要に応じて、最初の実行でロードされなかったデータをリロードします。

  10. Oracle Identity Managerを再起動します。

  11. バルク・ロード操作の結果を検証します。

  12. 操作のパフォーマンス・データを収集します。

  13. 操作中に作成された一時表およびファイルを削除します。

  14. 監査スナップショットを生成します。

次の項では、OIMユーザー・データのロードに必要な手順の詳細について説明します。

34.5.1 ユーティリティによって追加されたOIMユーザーのデフォルト・パスワードの設定

このユーティリティでは、バルク・ロード操作中に作成されたOIMユーザーに割り当てるパスワードを暗号化しません。かわりに、操作中に作成されたすべてのOIMユーザーに、既存のOIMユーザーのパスワードを割り当てます。


注意:

各OIMユーザーは、最初のログインでパスワードを変更する必要があります。


ユーティリティを実行すると、パスワードを新規OIMユーザーのデフォルトのパスワードとして使用する既存のOIMユーザーのログイン名を指定するように要求されます。ユーティリティを実行する前に、このOIMユーザーを次のように作成します。


注意:

Oracle Identity Managerでは、バルク・ロード操作専用のユーザーを作成し、後で必要でなくなったときにこのユーザーを削除できます。このようにしない場合は、既存の任意のOIMユーザーを使用して、バルク・ロード操作を実行できます。


  1. Oracle Identity Manager管理およびユーザー・コンソールに、ユーザーの作成権限を持つユーザーとしてログインします。

  2. 「管理」をクリックします。

  3. 「ようこそ」ページで「ユーザーの作成」をクリックします。

  4. 次のフィールドの値を指定します。

    • ユーザー・ログイン

    • 名(オプション)

    • 組織: 「Xellerateユーザー」を選択します。

    • パスワード

    • パスワードの確認

  5. 「保存」をクリックします。

34.5.2 バルク・ロード操作用の入力ソースの作成

使用する入力ソースに応じて、次のいずれかの項で示されているガイドラインに従います。

34.5.2.1 入力ソースとしてのCSVファイルの使用

バルク・ロード操作用の入力ソースとしてCSVファイルを使用する場合は、CSVファイルの作成時に次のガイドラインに従います。

  • CSVファイルは、oimbulkload/csv_filesディレクトリに置く必要があります。

  • CSVファイルの1行目は制御行と呼ばれます。この行には、Oracle Identity ManagerデータベースにおけるUSR表の列名のカンマ区切りリストが含まれている必要があります。


    注意:

    「パスワード」列または暗号化されたその他の列が、列リストに含まれていないことを確認してください。このドキュメントで前述したように、ユーティリティでは、Oracle Identity ManagerにロードするすべてのOIMユーザーに、指定した既存のOIMユーザーのパスワードが割り当てられます。


  • ファイルの2行目以降には、制御行にある列の値が含まれている必要があります。1行目の列の順序と、残りの行の値が同じである必要があります。

    CSVファイルの内容のサンプルを次に示します。

    USR_LOGIN,USR_FIRST_NAME,USR_LAST_NAME,UD_ADUSER_OBJECTGUID
    john_doe, John, Doe, jdoe
    jane_doe, Jane, Doe, janedoe
    richard_roe, Richard, Roe, rroe
    
  • 列にカンマを含む値がある場合は、その値を二重引用符(")で囲む必要があります。

  • CSVファイルには、USR表で必須と指定されているすべての列の値が含まれている必要があります。次の表に、USR表のロードに必要な必須列を示します。

    必須列 説明

    USR_FIRST_NAME

    ユーザーの名

    USR_LAST_NAME

    ユーザーの姓



    注意:

    • USR_LOGINは、Oracle Identity Manager 11gリリース1(11.1.1)では必須列ではありません。

    • 一部のキー必須列は無視できます。たとえば、ORG_NAMEによって移入される、USR表のACT_KEY列は無視できます。


  • CSVファイルの各行では、USR表のUSR_LOGIN列に一意の値が必要です。複数のファイルがある場合、USR_LOGINの値がCSVファイル全体にわたり一意であることを確認します。USR_LOGIN値の一意性のチェックは、Oracle Identity Managerの既存のOIMユーザーについても行う必要があります。

    USR_LOGIN値が一意であることを確認する作業には、時間がかかる場合があります。別の方法として、最初にバルク・ロード操作を実行し、一意でないUSR_LOGIN値を修正してから、変更されたユーザー・レコードについてロード操作を再試行できます。ユーティリティでは、実行時にUSR_LOGIN値の一意性をチェックし、このチェックにパスしなかったレコードをOIM_BLKLD_EX表にコピーするので、これが可能になります。最初の実行でロードされなかったレコードについて、バルク・ロード操作を再試行する手順については、このドキュメントで後述します。

  • 各ユーザー・レコードに組織名を含める場合、制御行にORG_NAMEを追加し、2行目以降でユーザーごとに組織名を入力します。ORG_NAMEが含まれていない場合は、ユーザーをXellerateユーザー組織に割り当てる必要があります。


    注意:

    CSVファイルのORG_NAME列に表示されているすべての組織名が、Oracle Identity Managerに存在する必要があります。


  • 各ユーザー・レコードにマネージャ名を含める場合、制御行にMANAGER_NAMEを追加し、2行目以降でユーザーごとにマネージャのUSR_LOGIN値を入力します。

    すべてのCSVファイルからすべてのユーザー・データをOracle Identity Managerにロードした後、ユーティリティでは、マネージャを調べるためにUSR_LOGIN値を参照します。MANAGER_NAME列で指定したUSR_LOGIN値がOracle Identity Managerに存在しない場合、ユーザー・レコードの参照は失敗し、レコードは例外表のOIM_BLKLD_EXにコピーされます。バルク・ロード操作の最後に、「例外の修正およびデータ・レコードのリロード」で説明する手順を実行すると、最初の実行で失敗したユーザー・レコードをリロードできます。

  • CSVファイルに次の列の値が含まれていない場合、次のデフォルト値がOracle Identity Managerに挿入されます。

    ORG_NAME: Xellerate Users

    USR_TYPE: End-User

    USR_STATUS: Active

    USR_EMP_TYPE: Full-Time

  • ロードするユーザー・データが含まれるCSVファイルの名前を含むマスターTXTファイルを作成します。このファイルには任意の名前(master.txtなど)を指定できます。マスター・ファイルをoimbulkload/csv_filesディレクトリに保存します。

    複数のCSVファイルをロードする場合は、マスター・ファイルの別々の行に各データCSVファイルの名前を入力します。CSVファイル名のリストを、ユーティリティでファイルからデータをロードする順序に並べ替えます。たとえば、3つのデータCSVファイル(London_Users.csv、NewYork_Users.csvおよびTokyo_Users.csv)を作成したとします。マスター・ファイルで、データCSVファイルの名前を次の順序で入力します。

    Tokyo_Users.csv
    London_Users.csv
    NewYork_Users.csv
    

    ユーティリティを実行すると、データはこの順序でロードされます。これは、LondonおよびNew Yorkのユーザー・データがTokyoユーザーに依存している可能性があるためです。これは、マネージャ-ユーザー階層を保証するためです。

  • CSVファイルがMicrosoft Windowsで生成され、Linux環境でロードされる場合は、\n\rなどの特殊文字を削除して実行時エラーを回避します。

34.5.2.2 入力ソースとしてのデータベース表の作成

OIMユーザー・データのロード用の入力ソースとしてデータベース表を使用する場合は、データベース表の作成時に次のガイドラインに従います。

  • Oracle Identity Managerデータベースに表を作成します。

  • 表には、次の主キー列が含まれている必要があります。

    OIM_BLKLD_USRSEQ NUMBER(19)

    ユーティリティでは、この列が主キーとして使用されます。必要に応じて、データベース順序を使用して、この列に値を移入できます。

  • 残りの列は、使用するUSR表の列と同じである必要があります。つまり、作成する表に含めないオプションのUSR_列は無視します。

  • 表に次の列の値が含まれていない場合、次のデフォルト値がOracle Identity Managerに挿入されます。

    ORG_NAME: Xellerate Users

    USR_TYPE: End-User

    USR_STATUS: Active

    USR_EMP_TYPE: Full-Time

表34-1に、サンプル・データベース表の構造を示します。

表34-1 サンプル・データベース表の構造

名前 NULLかどうか タイプ

USR_LOGIN

NOT NULL

VARCHAR2(256)

USR_FIRST_NAME


VARCHAR2(150)

USR_LAST_NAME

NOT NULL

VARCHAR2(150)

. . .

. . .

. . .

OIM_BLKLD_USRSEQ

NOT NULL

NUMBER(19)


34.5.3 ユーティリティの入力パラメータの値の確認

ユーティリティの入力パラメータは次のとおりです。

  • Oracleホーム

    Oracle Identity Managerデータベース用のホスト・コンピュータでのORACLE_HOME環境変数の値。

  • データベース接続文字列

    データベースに接続するための接続文字列。次の形式で入力する必要があります。

    //HOST_IP_ADDRESS:PORT_NUMBER/SERVICE_NAME

  • OIM DBユーザー

    Oracle Identity Managerデータベース・ユーザーのデータベース・ログインID。

  • OIM DBパスワード

    Oracle Identity Managerデータベース・ユーザーのパスワード。

    データベース・ユーザー・パスワードは、要求されたときに2回入力します。

  • マスター・ファイル名

    ロードされるCSVデータファイルの名前を含むファイルの名前。

    このパラメータは、入力ソースが1つまたは複数のCSVファイルの場合のみ使用されます。マスター・ファイルとCSVデータファイルは、oimbulkload/csv_filesディレクトリに置きます。詳細は、「入力ソースとしてのCSVファイルの使用」を参照してください。

  • 一時表名

    入力ソースとして使用される一時表の名前。

    このパラメータは、バルク・ロード操作用の入力ソースがデータベース表である場合にのみ使用されます。詳細は、「入力ソースとしてのデータベース表の作成」を参照してください。

  • 制御行

    データベース表からOracle Identity Managerにロードされる列の名前のカンマ区切りリスト。

    このパラメータは、バルク・ロード操作用の入力ソースがデータベース表である場合にのみ使用されます。

  • 表領域名

    バルク・ロード操作中に一時表が作成される表領域の名前。ユーザーが表領域名を指定しない場合は、デフォルトの表領域が使用されます。

    詳細は、「バルク・ロード操作用のデータベースの準備」を参照してください。

  • 日付書式

    CSVファイルの日付列で使用される日付書式。

    このパラメータは、入力ソースが1つまたは複数のCSVファイルの場合のみ使用されます。

    日付書式は、次の項目に一致する必要があります。

    • dd-mm-yyyyやMM-DD-YYYYなど、Oracleでサポートされている日付書式

    • CSVファイルで指定されている日付書式

  • バッチ・サイズ

    ユーティリティで単一トランザクションとして処理する必要のあるユーザー・レコード数。

    バッチ・サイズは、バルク・ロード操作のパフォーマンスに影響を与える可能性があります。このパラメータのデフォルト値は10000です。

  • デバッグ・フラグ

    このパラメータの値として、YまたはNを指定できます。このパラメータをYに設定すると、ユーティリティでは、バルク・ロード操作中に発生したイベントに関する詳細な情報が記録されます。詳細は、「操作中に記録されるデータ」を参照してください。

  • デフォルト・パスワードのユーザーID

    「ユーティリティによって追加されたOIMユーザーのデフォルト・パスワードの設定」で説明した手順を実行して作成するOIMユーザーのログイン名。

34.5.4 操作の進捗の監視

バルク・ロード操作中に、操作の進捗に関する情報をOIM_BLKLD_LOG表に問い合せることができます。たとえば、次の問合せを実行すると、OIMユーザー・データをロードするバルク・ロード操作中に生成される進捗メッセージを確認できます。

SELECT MSG FROM OIM_BLKLD_LOG
WHERE MODULE = 'USER' AND LOG_LEVEL = 'PROGRESS_MSG'
ORDER BY MSG_SEQ_NO;

バルク・ロード操作中に発生するエラーは、OIM_BLKLD_LOG表に問い合せることで表示できます。次に、エラー・メッセージを取得する問合せの例を示します。

SELECT MSG FROM OIM_BLKLD_LOG 
WHERE MODULE = 'USER' AND LOG_LEVEL = 'ERROR'
ORDER BY MSG_SEQ_NO;

34.5.5 操作中に記録された例外の処理

バルク・ロード処操作理の最後に、ユーティリティでは、次のファイルに操作に関連する統計を記録します。

oimbulkload/logs_YYYYMMDD_hhmm/oim_blkld_user_load_summary.log

操作中に例外が発生したかどうかを確認するには、このログ・ファイルを開き、Number of Records Rejectedラベルの数を確認します。拒否レコードの数がゼロより大きい場合、操作中に例外がスローされたことになります。ユーティリティに拒否されたユーザー・レコードは、例外表(OIM_BLKLD_EX_SUFFIX)に記録されます。拒否レコードごとに、そのレコードをロードできなかった理由に関する情報が、OIM_BLKLD_EX_SUFFIX表のEXCEPTION_MSG列に格納されます。

例34-1に、OIMユーザー・データを格納するバルク・ロード操作の最後にログ・ファイルに記録される統計の例を示します。

例34-1 OIMユーザー・データのロード後に生成されるログ・ファイルの例

****************************************************************

Processing File: u10.csv
================================================================
U S E R    L O A D    S T A T I S T I C S    F O R   F I L E : u10.csv
================================================================
Start Time:   08-AUG-08 11.44.12.228000 AM
End Time:     08-AUG-08 11.44.13.368000 AM
Number of Records Processed:  10
Number of Records Loaded:     8
Number of Records Rejected:   2
================================================================
The name of the TMP table used during the load:
OIM_BLKLD_TMP_U101

The name of the Exception table used during the load:
OIM_BLKLD_EX_U101

****************************************************************
Processing File: u10b.csv

================================================================
U S E R    L O A D    S T A T I S T I C S    F O R   F I L E : u10b.csv
================================================================
Start Time:   08-AUG-08 11.44.15.368000 AM
End Time:     08-AUG-08 11.44.15.540000 AM
Number of Records Processed:  16
Number of Records Loaded:     15
Number of Records Rejected:   1
================================================================
The name of the TMP table used during the load:
OIM_BLKLD_TMP_U10B2

The name of the Exception table used during the load:
OIM_BLKLD_EX_U10B2
================================================================

================================================================
Time taken in re-building indexes and enabling FK constraints
================================================================
Start time:      08-AUG-08 11.44.15.556000 AM
End Time:        08-AUG-08 11.46.50.586000 AM
================================================================

この例では、拒否レコードの数は2です。すべてのレコードがユーティリティによって拒否されたことがログ・ファイルに示されている場合、これらのレコードのロード操作の再試行の詳細は、「例外の修正およびデータ・レコードのリロード」を参照してください。


注意:

各バルク・ロード操作の最後に、例外表のバックアップを作成することをお薦めします。


34.5.6 例外の修正およびデータ・レコードのリロード

前述のように、バルク・ロード操作中に発生するエラーは、OIM_BLKLD_LOG表に問い合せることで表示できます。次に、エラー・メッセージを取得する問合せの例を示します。

SELECT MSG FROM OIM_BLKLD_LOG 
WHERE MODULE = 'USER' AND LOG_LEVEL = 'ERROR'
ORDER BY MSG_SEQ_NO;

例外表OIM_BLKLD_EX_SUFFIXは、バルク・ロード操作中に入力ソースとして使用したデータ表ごとに作成されます。操作基準を満たさないレコードは、この例外表にコピーされます。各例外表の名前に追加される接尾辞は、対応するデータ表の名前に追加される接尾辞と同じです。

拒否レコードをリロードするには、次の手順を実行します。

  1. 拒否レコードが格納されている例外表のバックアップを作成します。


    注意:

    この手順はオプションですが、バックアップを作成することをお薦めします。


  2. 例外表の各レコードを確認し、EXCEPTION_MSG列に記録されているメッセージに基づいて、データのエラーを修正します。

  3. 例外表のすべての拒否レコードのエラーを修正したら、表名をOIM_BLKLD_TMP_SUFFIXに変更し、これを入力ソースとして使用します。

  4. ユーティリティを実行して、OIM_BLKLD_TMP_SUFFIX表からレコードをロードします。詳細は、「ユーティリティの実行」を参照してください。

  5. oim_blkld_user_load_summary.logファイルでNumber of Records Rejectedラベルの値が0になるまで、手順1から4を繰り返します。

  6. Oracle Identity Managerを再起動します。

34.5.7 バルク・ロード操作の結果の検証

バルク・ロード操作の結果を検証するには、ユーティリティによって追加されたOIMユーザーの1人について、次の手順を実行できるかどうかをチェックします。


注意:

これらの手順ではシステムにフットプリントが残るため、バルク・ロードの検証は、テスト・ユーザーを使用して実行する必要があります。システムにフットプリントが残らないようにするには、変更を元に戻します。たとえば、リソースをOIMユーザーにプロビジョニングした場合は、バルク・ロード操作の結果のテスト後に、リソースをプロビジョニング解除します。


  • OIMユーザーとしてログインします。パスワードの変更を要求されます。

  • OIMユーザー用のリソースをプロビジョニングします。

  • OIMユーザーをロールに追加します。

  • OIMユーザーのアカウント・プロファイルを変更します。

  • OIMユーザーにプロビジョニングされたリソースを失効させます。

  • 前にOIMユーザーを追加したロールからそのユーザーの割当てを解除します。

  • アカウント・プロファイルを再び変更し、プロファイルを元の状態に戻します。

  • そのユーザーに関する「ユーザー・リソース・アクセス」レポート(操作上のレポート)および「ユーザー・リソース・アクセス履歴」レポートを生成できるかどうかをチェックします。

  • アテステーションを作成し、診断ダッシュボードを使用してそのステータスをチェックします。

34.6 アカウント・データのロード

アカウント・データをロードする手順の概要は次のとおりです。

  1. バルク・ロード操作用のデータベースを準備していない場合は、準備します。詳細は、「バルク・ロード操作用のデータベースの準備」を参照してください。

  2. バルク・ロード操作の入力ソースを作成します。

    データベース表を入力ソースとして使用する場合は、表を作成して、アカウント・データを表にコピーします。

    CSVファイルを入力ソースとして使用する場合は、CSVファイルを作成し、このファイルにアカウント・データをコピーします。

  3. ユーティリティの入力パラメータの値を確認します。

  4. Oracle Identity Managerを停止します。

  5. oim_blkld.shスクリプトまたはoim_blkld.batスクリプトを実行します。

  6. バルク・ロード操作の進捗を監視します。

  7. バルク・ロード操作の結果を確認します。

  8. 必要に応じて、最初の実行でロードされなかったデータをリロードします。

  9. Oracle Identity Managerを再起動します。

  10. バルク・ロード操作の結果を検証します。

  11. 操作のパフォーマンス・データを収集します。

  12. 操作中に作成された一時表およびファイルを削除します。

  13. 監査スナップショットを生成します。

アカウント・データのバルク・ロード操作の要件および機能

アカウント・データのバルク・ロード操作の要件および機能は次のとおりです。

次の項では、アカウント・データのロードに必要な手順の詳細について説明します。

34.6.1 バルク・ロード操作用の入力ソースの作成

使用する入力ソースに応じて、次のいずれかの項で示されているガイドラインに従います。

34.6.1.1 入力ソースとしてのCSVファイルの使用

バルク・ロード操作用の入力ソースとしてCSVファイルを使用する場合は、CSVファイルの作成時に次のガイドラインに従います。

  • CSVファイルは、oimbulkload/csv_filesディレクトリに置く必要があります。

  • CSVファイルの1行目は制御行と呼ばれます。この行には、アカウント・データをロードするアカウント(UD_*)表の列名のカンマ区切りリストが含まれている必要があります。UD_表を検索するには、Design Consoleのプロセス・フォームに移動します。プロセス・フォームの詳細は、第12章「プロビジョニング・プロセスの開発」を参照してください。


    注意:

    「パスワード」列または暗号化されたその他の列が、列リストに含まれていないことを確認してください。


  • ファイルの2行目以降には、制御行にある列の値が含まれている必要があります。1行目の列の順序と、残りの行の値が同じである必要があります。

  • 列にカンマを含む値がある場合は、その値を二重引用符(")で囲む必要があります。

  • CSVファイルには、アカウント表で必須と指定されているすべての列の値が含まれている必要があります。アカウント表のキー必須列は無視する必要があります。

  • 親表および子表にアカウント・データをロードする場合、1つの親CSVファイルと、子表ごとに1つのCSVファイルを作成する必要があります。たとえば、1つの親表と3つの子表にデータをロードする場合、1つの親CSVファイルと3つの子CSVファイルを作成する必要があります。

  • アカウント・データを親表および子表にロードする場合、少なくとも1つの列を両方の表で同じにします。この列は、親CSVファイルと子CSVファイル間のリンク属性に対応します。次の例では、この方法が示されています。

    親CSVファイルの内容のサンプルを次に示します。

    UD_ADUSER_UID,UD_ADUSER_ORGNAME,UD_ADUSER_FNAME,UD_ADUSER_LNAME,UD_ADUSER_MNAME,UD_ADUSER_FULLNAME,UD_ADUSER_OBJECTGUID
    ADTEST1,"7~CN=ForeignSecurityPrincipals,DC=vivek01,DC=com",adtest1,adtest1,,adtest1,102
    

    子CSVファイルの内容のサンプルを次に示します。

    UD_ADUSER_UID,UD_ADUSER_ORGNAME,UD_ADUSRC_GROUPNAME
    ADTEST1,"7~CN=ForeignSecurityPrincipals,DC=vivek01,DC=com",group2
    

    UD_ADUSER_UID列は、親ファイルと子ファイルの両方で共通です。

  • CSVファイルがMicrosoft Windowsで生成され、Linux環境でロードされる場合は、\n\rなどの特殊文字を削除して実行時エラーを回避します。

34.6.1.2 入力ソースとしてのデータベース表の作成

アカウント・データのロード用の入力ソースとしてデータベース表を使用する場合は、データベース表の作成時に次のガイドラインに従います。

  • Oracle Identity Managerデータベースに表を作成します。

  • 表には、次の主キー列が含まれている必要があります。

    OIM_BLKLD_USRSEQ NUMBER(19)

    ユーティリティでは、この列が主キーとして使用されます。必要に応じて、データベース順序を使用して、この列に値を移入できます。

  • 残りの列は、使用するアカウント(UD_)表の列と同じである必要があります。つまり、作成する表に含めないオプションのUD_列は無視します。

表34-2に、サンプルの親表の構造を示します。

表34-2 サンプル・データベース表の構造

名前 NULLかどうか タイプ

UD_ADUSER_UID


VARCHAR2(20)

UD_ADUSER_ORGNAME


VARCHAR2(256)

UD_ADUSER_FNAME


VARCHAR2(80)

UD_ADUSER_LNAME


VARCHAR2(80)

UD_ADUSER_MNAME


VARCHAR2(80)

UD_ADUSER_FULLNAME


VARCHAR2(240)

OIM_BLKLD_SEQ

NOT NULL

NUMBER(19)


表34-3に、サンプルの子表の構造を示します。

表34-3 サンプルの子データベース表の構造

名前 NULLかどうか タイプ

UD_ADUSER_UID


VARCHAR2(20)

UD_ADUSER_ORGNAME


VARCHAR2(256)

UD_ADUSRC_GROUPNAME


VARCHAR2(32)

OIM_BLKLD_SEQ

NOT NULL

NUMBER(19)


34.6.2 ユーティリティの入力パラメータの値の確認

ユーティリティの入力パラメータは次のとおりです。

  • Oracleホーム

    Oracle Identity Managerデータベース用のホスト・コンピュータでのORACLE_HOME環境変数の値。

  • データベース接続文字列

    データベースに接続するための接続文字列。次の形式で入力する必要があります。

    //HOST_IP_ADDRESS:PORT_NUMBER/SERVICE_NAME

  • OIM DBユーザー

    Oracle Identity Managerデータベース・ユーザーのデータベース・ログインID。

  • OIM DBパスワード

    Oracle Identity Managerデータベース・ユーザーのパスワード。

  • オブジェクト名(OBJ_NAME)

    ロードされるアカウント・データに対応するリソース・オブジェクトの名前。

  • CSVファイル名

    入力ソースとして使用されるCSVファイルの名前。

    このパラメータは、入力ソースがCSVファイルの場合のみ使用されます。詳細は、「入力ソースとしてのCSVファイルの使用」を参照してください。親CSVファイルおよび子CSVファイルからデータをロードする場合、カンマ区切りリストを使用して、ファイル名を入力します。親CSVファイルの名前を最初に指定し、その後に子CSVファイルの名前を指定する必要があります。

  • 一時表名

    入力ソースとして使用される一時表の名前。

    このパラメータは、バルク・ロード操作用の入力ソースがデータベース表である場合にのみ使用されます。詳細は、「入力ソースとしてのデータベース表の作成」を参照してください。

  • 制御行

    データベース表からOracle Identity Managerにロードされる列の名前のカンマ区切りリスト。

    このパラメータは、バルク・ロード操作用の入力ソースがデータベース表である場合にのみ使用されます。

  • 表領域名

    バルク・ロード操作中に一時表が作成される表領域の名前(エンドユーザーが表領域名を指定しない場合、デフォルトの表領域が使用されます)。

    詳細は、「バルク・ロード操作用のデータベースの準備」を参照してください。

  • 日付書式

    CSVファイルの日付列で使用される日付書式。

    このパラメータは、入力ソースが1つまたは複数のCSVファイルの場合のみ使用されます。

    日付書式は、次の項目に一致する必要があります。

    • dd-mm-yyyyやMM-DD-YYYYなど、Oracleでサポートされている日付書式

    • CSVファイルで指定されている日付書式

  • バッチ・サイズ

    ユーティリティで単一トランザクションとして処理する必要のあるユーザー・レコード数。

    バッチ・サイズは、バルク・ロード操作のパフォーマンスに影響を与える可能性があります。このパラメータのデフォルト値は10000です。

  • デバッグ・フラグ

    このパラメータの値として、YまたはNを指定できます。このパラメータをYに設定すると、ユーティリティでは、バルク・ロード操作中に発生したイベントに関する詳細な情報が記録されます。詳細は、「操作中に記録されるデータ」を参照してください。

  • ITリソース名

    ターゲット・システム用に作成されたITリソースの名前。

34.6.3 操作の進捗の監視

バルク・ロード操作中に、操作の進捗に関する情報をOIM_BLKLD_LOG表に問い合せることができます。たとえば、次の問合せを実行すると、アカウント・データをロードするバルク・ロード操作中に生成される進捗メッセージを確認できます。

SELECT MSG FROM OIM_BLKLD_LOG
WHERE MODULE = 'ACCOUNT' AND LOG_LEVEL = 'PROGRESS_MSG'
ORDER BY MSG_SEQ_NO;

たとえば、次の問合せを実行すると、アカウント・データをロードするバルク・ロード操作中に生成される進捗メッセージを確認できます。

SELECT MSG FROM OIM_BLKLD_LOG
WHERE MODULE = 'ACCOUNT' AND LOG_LEVEL = 'PROGRESS_MSG'
ORDER BY MSG_SEQ_NO;

バルク・ロード操作中に発生するエラーは、OIM_BLKLD_LOG表に問い合せることで表示できます。次に、エラー・メッセージを取得する問合せの例を示します。

SELECT MSG FROM OIM_BLKLD_LOG 
WHERE MODULE = 'ACCOUNT' AND LOG_LEVEL = 'ERROR'
ORDER BY MSG_SEQ_NO;

34.6.4 操作中に記録された例外の処理

バルク・ロード処操作理の最後に、ユーティリティでは、次のファイルに操作に関連する統計を記録します。

oimbulkload/logs_YYYYMMDD_hhmm/oim_blkld_account_load_summary.log

操作中に例外が発生したかどうかを確認するには、このログ・ファイルを開き、Number of Records Rejectedラベルの数を確認します。拒否レコードの数がゼロより大きい場合、操作中に例外がスローされたことになります。ユーティリティに拒否されたユーザー・レコードは、例外表(OIM_BLKLD_EX_SUFFIX)に記録されます。拒否レコードごとに、そのレコードをロードできなかった理由に関する情報が、OIM_BLKLD_EX_SUFFIX表のEXCEPTION_MSG列に格納されます。

例34-2に、アカウント・データを格納するバルク・ロード操作の最後にログ・ファイルに記録される統計の例を示します。

例34-2 アカウント・データのロード後に生成されるログ・ファイルの例

=============================================================
A C C O U N T    L O A D    S T A T I S T I C S
=============================================================
Start Time:   22-JUL-08 03.59.30.206000 PM
End Time:     22-JUL-08 04.03.21.126000 PM
Number of Records Processed:  100026
Number of Records Loaded:     100000
Number of Records Rejected:   26
=============================================================
 
The names of the TMP tables used during the load:
OIM_BLKLD_TMP_P100001
OIM_BLKLD_TMP_C100002
The names of the Exception tables used during the load:
OIM_BLKLD_EX_P100001
OIM_BLKLD_EX_C100002

この例では、拒否レコードの数は26です。すべてのレコードがユーティリティによって拒否されたことがログ・ファイルに示されている場合、これらのレコードのロード操作の再試行の詳細は、「例外の修正およびデータ・レコードのリロード」を参照してください。


注意:

各バルク・ロード操作の最後に、例外表のバックアップを作成することをお薦めします。


34.6.5 例外の修正およびデータ・レコードのリロード


注意:

複数のターゲット・システムのCSVファイルからデータをロードする場合、次の方法のいずれかを使用できます。

  • 方法1: CSVファイルのすべてのセットに対してユーティリティを実行し、この項で説明する手順を実行します。

  • 方法2: CSVファイルの1つのセットに対してユーティリティを実行し、この項で説明する手順を実行します。その後、次のセットのCSVファイルに対してこの手順を繰り返します。


前述のように、バルク・ロード操作中に発生するエラーは、OIM_BLKLD_LOG表に問い合せることで表示できます。次に、エラー・メッセージを取得する問合せの例を示します。

SELECT MSG FROM OIM_BLKLD_LOG 
WHERE MODULE = 'ACCOUNT' AND LOG_LEVEL = 'ERROR'
ORDER BY MSG_SEQ_NO;

例外表OIM_BLKLD_EX_SUFFIXは、バルク・ロード操作中に入力ソースとして使用したデータ表ごとに作成されます。操作基準を満たさないレコードは、この例外表にコピーされます。各例外表の名前に追加される接尾辞は、対応するデータ表の名前に追加される接尾辞と同じです。

拒否レコードをリロードするには、次の手順を実行します。

  1. 拒否レコードが格納されている例外表のバックアップを作成します。


    注意:

    この手順はオプションですが、バックアップを作成することをお薦めします。


  2. 例外表の各レコードを確認し、EXCEPTION_MSG列に記録されているメッセージに基づいて、データのエラーを修正します。

  3. 例外表のすべての拒否レコードのエラーを修正したら、表名をOIM_BLKLD_TMP_SUFFIXに変更し、これを入力ソースとして使用します。

  4. ユーティリティを実行して、OIM_BLKLD_TMP_SUFFIX表からレコードをロードします。詳細は、「ユーティリティの実行」を参照してください。

  5. oim_blkld_account_load_summary.logファイルでNumber of Records Rejectedラベルの値が0になるまで、手順1から4を繰り返します。

  6. Oracle Identity Managerを再起動します。

34.6.6 バルク・ロード操作の結果の検証

バルク・ロード操作の結果を検証するには、ユーティリティによってアカウントが追加されたOIMユーザーの1人について、次の手順を実行できるかどうかをチェックします。

  • OIMユーザーとしてログインし、新規に作成されたアカウントが、そのユーザーのリソース・プロファイルに表示されているかどうかをチェックします。

  • 新規に作成されたアカウントの資格証明を使用して、ターゲット・システムにログインします。

34.7 ロール、ロール階層、ロール・メンバーシップおよびロール・カテゴリ・データのロード

ロール関連データをロードする手順の概要は次のとおりです。

  1. バルク・ロード操作用のデータベースを準備していない場合は、準備します。詳細は、「バルク・ロード操作用のデータベースの準備」を参照してください。

  2. バルク・ロード操作の入力ソースを作成します。

    データベース表を入力ソースとして使用する場合は、表を作成して、ロール関連データを表にコピーします。

    CSVファイルを入力ソースとして使用する場合は、CSVファイルを作成し、このファイルにロール関連データをコピーします。また、データのロード順にロード元となるファイルの名前が含まれるmaster.txtファイルを作成します。

  3. ユーティリティの入力パラメータの値を確認します。

  4. Oracle Identity Managerを停止します。

  5. oim_blkld.shスクリプトまたはoim_blkld.batスクリプトを実行します。

  6. バルク・ロード操作の進捗を監視します。

  7. バルク・ロード操作の結果を確認します。

  8. 必要に応じて、最初の実行でロードされなかったデータをリロードします。

  9. Oracle Identity Managerを再起動します。

  10. バルク・ロード操作の結果を検証します。

  11. 操作のパフォーマンス・データを収集します。

  12. 操作中に作成された一時表およびファイルを削除します。

  13. 監査スナップショットを生成します。

次の項では、OIMユーザー・データのロードに必要な手順の詳細について説明します。

34.7.1 バルク・ロード操作用の入力ソースの作成

使用する入力ソースに応じて、次のいずれかの項で示されているガイドラインに従います。

34.7.1.1 入力ソースとしてのCSVファイルの使用

バルク・ロード操作用の入力ソースとしてCSVファイルを使用する場合は、CSVファイルの作成時に次のガイドラインに従います。

  • CSVファイルは、oimbulkload/csv_filesディレクトリに置く必要があります。

  • CSVファイルの1行目は制御行と呼ばれます。

  • この行には、Oracle Identity Managerデータベースにおける選択したロール・アップロード(ロール、ロール階層、ロール・メンバーシップおよびロール・カテゴリ)に基づく列名のカンマ区切りリストが含まれている必要があります。

  • ファイルの2行目以降には、制御行にある列の値が含まれている必要があります。1行目の列の順序と、残りの行の値が同じである必要があります。ロール(UGP)CSVファイルの内容のサンプルを次に示します。

    USR_ROLE_NAME,UGP_NAMESPACE,USR_LOGIN Administrators, null, XELSYSADM operators, null, XELSYSADM

  • 列にカンマを含む値がある場合は、その値を二重引用符(")で囲む必要があります。

  • CSVファイルには、各ロール表で必須と指定されているすべての列の値が含まれている必要があります。

  • CSVファイルには、アップロード・ロール・データ、ロール階層、ロール・メンバーシップ・データおよびロール・カテゴリ・データに応じて、必須と指定されているすべての列の値が含まれている必要があります。

    • ロール(UGP): UGP_ROLENAME、UGP_NAMESPACE、USR_LOGIN(UGP_NAMESPACEは不要な場合はNULLのままにしておくことができます)

    • ロール階層(GPG): UGP_NAME、GPG_UGP_NAME

    • ロール・メンバーシップ(USG): UGP_NAME、USR_LOGIN

    • ロール・カテゴリ(ROLE_CATEGORY): ROLE_CATEGORY_NAME

    CSVファイルの各行では、必須列の組合せの一意の値が必要です。

  • CSVファイルに次の列の値が含まれていない場合、次のデフォルト値がOracle Identity Managerに挿入されます。

    • ロール(UGP)の場合

      UGP_ROLE_CATEGORY_KEY: ROLE_CATEGORY_NAMEがデフォルトのROLE_CATEGORY表からのROLE_CATEGORY_KEY。

      UGP_DISPLAY_NAME: UGP_NAMEがデフォルトとなります。

    • ロール階層(GPG)の場合

    • ロール・メンバーシップ(USG)の場合

      RUL_KEY: RUL_NAMEがデフォルトのRUL表からのRUL_KEY。

      USG_PRIORITY: アップロード用に指定されている行に基づくUGP_KEYに基づくグループおよびランク。

    • ロール・カテゴリ(ROLE CATEGORY)

      なし

  • ロードするロール・データが含まれるCSVファイルの名前を含むマスターTXTファイルを作成します。このファイルには任意の名前(master.txtなど)を指定できます。マスター・ファイルをoimbulkload/csv_filesディレクトリに保存します。

    複数のCSVファイルをロードする場合は、マスター・ファイルの別々の行に各データCSVファイルの名前を入力します。CSVファイル名のリストを、ユーティリティでファイルからデータをロードする順序に並べ替えます。たとえば、3つのデータCSVファイル( Role1.csv、Role2.csvおよびRole3.csv)を作成したとします。マスター・ファイルで、データCSVファイルの名前を次の順序で入力します。

    Role1.csv

    Role2.csv

    Role3.csv

    ユーティリティを実行すると、データはこの順序でロードされます。

  • CSVファイルがMicrosoft Windowsで生成され、Linux環境でロードされる場合は、\n\rなどの特殊文字を削除して実行時エラーを回避します。

34.7.1.2 入力ソースとしてのデータベース表の作成

OIMユーザー・データのロード用の入力ソースとしてデータベース表を使用する場合は、データベース表の作成時に次のガイドラインに従います。

  • Oracle Identity Managerデータベースに表を作成します。

  • 表には、次の主キー列が含まれている必要があります。

    OIM_BLKLD_USRSEQ NUMBER(19)

    ユーティリティでは、この列が主キーとして使用されます。必要に応じて、データベース順序を使用して、この列に値を移入できます。

  • 残りの列は、使用する各ロール表の列と同じである必要があります。

表34-4に、サンプル・データベース・ロール表の構造を示します。

表34-4 サンプル・データベース表の構造

ロール NULL タイプ

UGP_ROLENAME

NOT NULL

VARCHAR2(2000)

UGP_NAMESPACE


VARCHAR2(512)

...

...

...

OIM_BLKLD_USRSEQ

NOT NULL

NUMBER(19)


34.7.2 ユーティリティの入力パラメータの値の確認

ユーティリティの入力パラメータは次のとおりです。

  • Oracleホーム

    Oracle Identity Managerデータベース用のホスト・コンピュータでのORACLE_HOME環境変数の値。

  • データベース接続文字列

    データベースに接続するための接続文字列。次の形式で入力する必要があります。

    //HOST_IP_ADDRESS:PORT_NUMBER/SERVICE_NAME

  • OIM DBユーザー

    Oracle Identity Managerデータベース・ユーザーのデータベース・ログインID。

  • OIM DBパスワード

    Oracle Identity Managerデータベース・ユーザーのパスワード。

  • オブジェクト名(OBJ_NAME)

    ロードされるアカウント・データに対応するリソース・オブジェクトの名前。

  • CSVファイル名

    入力ソースとして使用されるCSVファイルの名前。

    このパラメータは、入力ソースがCSVファイルの場合のみ使用されます。詳細は、「入力ソースとしてのCSVファイルの使用」を参照してください。親CSVファイルおよび子CSVファイルからデータをロードする場合、カンマ区切りリストを使用して、ファイル名を入力します。親CSVファイルの名前を最初に指定し、その後に子CSVファイルの名前を指定する必要があります。

  • 一時表名

    入力ソースとして使用される一時表の名前。

    このパラメータは、バルク・ロード操作用の入力ソースがデータベース表である場合にのみ使用されます。詳細は、「入力ソースとしてのデータベース表の作成」を参照してください。

  • 制御行

    データベース表からOracle Identity Managerにロードされる列の名前のカンマ区切りリスト。

    このパラメータは、バルク・ロード操作用の入力ソースがデータベース表である場合にのみ使用されます。

  • 表領域名

    バルク・ロード操作中に一時表が作成される表領域の名前(エンドユーザーが表領域名を指定しない場合、デフォルトの表領域が使用されます)。

    詳細は、「バルク・ロード操作用のデータベースの準備」を参照してください。

  • 日付書式

    CSVファイルの日付列で使用される日付書式。

    このパラメータは、入力ソースが1つまたは複数のCSVファイルの場合のみ使用されます。

    日付書式は、次の項目に一致する必要があります。

    • dd-mm-yyyyやMM-DD-YYYYなど、Oracleでサポートされている日付書式

    • CSVファイルで指定されている日付書式

  • バッチ・サイズ

    ユーティリティで単一トランザクションとして処理する必要のあるユーザー・レコード数。

    バッチ・サイズは、バルク・ロード操作のパフォーマンスに影響を与える可能性があります。このパラメータのデフォルト値は10000です。

  • デバッグ・フラグ

    このパラメータの値として、YまたはNを指定できます。このパラメータをYに設定すると、ユーティリティでは、バルク・ロード操作中に発生したイベントに関する詳細な情報が記録されます。詳細は、「操作中に記録されるデータ」を参照してください。

  • ITリソース名

    ターゲット・システム用に作成されたITリソースの名前。

34.7.3 操作の進捗の監視

バルク・ロード操作中に、操作の進捗に関する情報をOIM_BLKLD_LOG表に問い合せることができます。たとえば、次の問合せを実行すると、OIMロール・データをロードするバルク・ロード操作中に生成される進捗メッセージを確認できます。

SELECT MSG FROM OIM_BLKLD_LOG
WHERE MODULE = 'ROLE' AND LOG_LEVEL = 'PROGRESS_MSG'
ORDER BY MSG_SEQ_NO;

バルク・ロード操作中に発生するエラーは、OIM_BLKLD_LOG表に問い合せることで表示できます。次に、エラー・メッセージを取得する問合せの例を示します。

SELECT MSG FROM OIM_BLKLD_LOG
WHERE MODULE = 'ROLE' AND LOG_LEVEL = 'ERROR'
ORDER BY MSG_SEQ_NO;

34.7.4 操作中に記録された例外の処理

バルク・ロード処操作理の最後に、ユーティリティでは、次のファイルに操作に関連する統計を記録します。

oimbulkload/logs_YYYYMMDD_HHMM/oim_blkld_ENTITY_NAME_load_summary.log

ログ・ファイル名のENTITY_NAMEは、ロードされるエンティティを表します。例:

  • ロールの場合、ログ・ファイル名はoim_blkld_role_load_summary.logです。

  • ロール・メンバーシップの場合、ログ・ファイル名はoim_blkld_rolemem_load_summary.logです。

操作中に例外が発生したかどうかを確認するには、このログ・ファイルを開き、Number of Records Rejectedラベルの数を確認します。拒否レコードの数がゼロより大きい場合、操作中に例外がスローされたことになります。ユーティリティに拒否されたユーザー・レコードは、例外表(OIM_BLKLD_EX_SUFFIX)に記録されます。拒否レコードごとに、そのレコードをロードできなかった理由に関する情報が、OIM_BLKLD_EX_SUFFIX表のEXCEPTION_MSG列に格納されます。

例34-3に、OIMロール・データを格納するバルク・ロード操作の最後にログ・ファイルに記録される統計の例を示します。

例34-3 OIMロール・データのロード後に生成されるログ・ファイルの例

***************************************************************************************************
Processing File: Role.csv
==========================================================================================
R O L E    L O A D    S T A T I S T I C S    F O R   F I L E : Role.csv
==========================================================================================
Start Time:   17-NOV-09 02.48.18.447767 AM
End Time:     17-NOV-09 02.48.19.228710 AM
Number of Records Processed:  2
Number of Records Loaded:     2
Number of Records Rejected:   0
==========================================================================================

The name of the TMP table used during the load:
OIM_BLKLD_TMP_ROLE1

The name of the Exception table used during the load:
OIM_BLKLD_EX_ROLE1
==========================================================================================
===============================================================================
Time taken in re-building indexes and enabling FK constraints
===============================================================================

Start time:      17-NOV-09 02.48.19.243781 AM

この例では、拒否ロードの数は2です。すべてのレコードがユーティリティによって拒否されたことがログ・ファイルに示されている場合、これらのレコードのロード操作の再試行の詳細は、「例外の修正およびデータ・レコードのリロード」を参照してください。


注意:

このユーティリティを使用して、リモートのOracle Identity Managerデータベースにデータをロードすることはできません。


34.7.5 例外の修正およびデータ・レコードのリロード

前述のように、バルク・ロード操作中に発生するエラーは、OIM_BLKLD_LOG表に問い合せることで表示できます。次に、エラー・メッセージを取得する問合せの例を示します。

SELECT MSG FROM OIM_BLKLD_LOG
WHERE MODULE = 'ROLE' AND LOG_LEVEL = 'ERROR'
ORDER BY MSG_SEQ_NO;

例外表OIM_BLKLD_EX_SUFFIXは、バルク・ロード操作中に入力ソースとして使用したデータ表ごとに作成されます。操作基準を満たさないレコードは、この例外表にコピーされます。各例外表の名前に追加される接尾辞は、対応するデータ表の名前に追加される接尾辞と同じです。

拒否レコードをリロードするには、次の手順を実行します。

  1. 拒否レコードが格納されている例外表のバックアップを作成します。


    注意:

    この手順はオプションですが、バックアップを作成することをお薦めします。


  2. 例外表の各レコードを確認し、EXCEPTION_MSG列に記録されているメッセージに基づいて、データのエラーを修正します。

  3. 例外表のすべての拒否レコードのエラーを修正したら、表名をOIM_BLKLD_TMP_SUFFIXに変更し、これを入力ソースとして使用します。

  4. ユーティリティを実行して、OIM_BLKLD_TMP_SUFFIX表からレコードをロードします。詳細は、「ユーティリティの実行」を参照してください。

  5. oim_blkld_role_load_summary.logファイルまたはロール・メンバーシップ、ロール階層およびロール・カテゴリについて、対応するログ・ファイルでNumber of Records Rejectedラベルの値が0になるまで、手順1から4を繰り返します。

  6. Oracle Identity Managerを再起動します。

34.7.6 バルク・ロード操作の結果の検証

バルク・ロード操作の結果を検証するには、ユーティリティによって追加されたOIMロールの1つについて、次の手順を実行できるかどうかをチェックします。

  1. Oracle Identity Manager管理およびユーザー・コンソールにログインし、新規に作成されたロールがロールの検索結果に表示されていることを確認します。

  2. 新規に作成されたロール階層およびロール・メンバーの場合は、ロールの詳細ページでそれぞれ「階層」タブおよび「メンバー」タブをクリックします。

  3. 新規に作成されたロール・カテゴリを検証するには、Oracle Identity Administrationの「ようこそ」ページで「拡張検索 - ロール・カテゴリ」をクリックします。拡張検索を実行して、新規に作成されたロールを見つけます。

34.8 操作中に記録されるデータ

バルク・ロード操作中、ユーティリティにより、進捗メッセージおよびエラー・メッセージがOIM_BLKLD_LOG表に挿入されます。この表のデータは、新規バルク・ロード操作の開始時に削除されません。この表の列の1つには、この表にメッセージが記録されたときのタイムスタンプが保持されます。

表34-5に、OIM_BLKLD_LOG表の構造を示します。

表34-5 OIM_BLKLD_LOG表の構造

NULL タイプ 説明

MSG_SEQ_NO

NULL

NUMBER(19)

この列には、メッセージがこの表に挿入される順序を示す番号が格納されます。この列には、OIM_BLKLD_LOG_SEQ順序を使用して、値が移入されます。この列を使用すると、メッセージを表に記録された順序で問い合せることができます。

MODULE

NOT NULL

VARCHAR2(20)

この列には、次の値のいずれかが格納されます。

ROLE: この値は、OIMロール・データのロード中にメッセージが記録されたことを示します。

ROLE HIERARCHY: この値は、ロール階層データのロード中にメッセージが記録されたことを示します。

ROLE MEMBERSHIP: この値は、OIMロール・メンバーシップ・データのロード中にメッセージが記録されたことを示します。

ROLE CATEGORY: この値は、OIMロール・カテゴリ・データのロード中にメッセージが記録されたことを示します。

LOG_LEVEL

NOT NULL

VARCHAR2(20)

この列には、次の値のいずれかが格納されます。

ERROR: デバッグに役立つ詳細な情報イベントを示します。

DEBUG: アプリケーションの続行が可能なエラー・イベントを示します。エラーを使用して、すべての未処理例外がログに記録されます。

PROGRESS_MSG: 中間の進捗メッセージを示します。

LOAD_SOURCE

NOT NULL

VARCHAR2(40)

この列は、行が挿入されたバルク・ロード操作用のデータのソースを示します。値は、次のいずれかです。CSV File: FILE_NAME

DB Table

MSG

NOT NULL

VARCHAR2(4000)

この列には、LOG_LEVEL列に格納されている値に対応するメッセージが格納されます。

CREATE_DATE


DATE

この列には、レコードが作成されたときのタイムスタンプが格納されます。この列のエントリの形式は次のとおりです。

yyyy/mm/dd hh24:mi:ss

例:

2008/06/23 21:49:16:32


34.9 バルク・ロード操作からのパフォーマンス・データの収集

このドキュメントで前述したように、バルク・ロード操作中に、次のログ・ファイルが作成されます。

このファイルに記録されたレコードは、バルク・ロード操作に関するパフォーマンス関連の情報の照合に使用できます。バルク・ロード操作後には、次の情報を収集できます。

この情報は、ユーティリティの今後の実行時に使用できます。


関連項目:

エラー・イベントを格納するログ・レベルの詳細は、表34-5「OIM_BLKLD_LOG表の構造」を参照してください。


34.10 バルク・ロード操作後のクリーンアップ

バルク・ロード操作の結果を保存しない場合は、次のようにします。

34.11 監査スナップショットの生成

必要に応じて、バルク・ロード操作後またはバルク・ロード操作中にいつでも、Oracle Identity Managerデータの監査スナップショットを生成できます。監査スナップショットは、バルク・ロード・ユーティリティのオプション7を選択して生成することもできます。ユーティリティでは、Oracle Identity Managerとともに出荷されている監査エンジンを使用します。内部的には、監査ユーティリティの実行時に、GenerateSnapshotスクリプトがコールされます。同様に、監査スナップショットを生成するオプションを選択すると、GenerateSnapshotスクリプトがコールされます。


注意:

監査ユーティリティの実行時には、Oracle Identity Managerが起動し、稼働中であることが必要です。


監査スナップショットを生成する前に、次の手順を実行します。

  1. OIM_HOME/bin/GenerateSnapshot.sh(またはGenerateSnapshot.bat)ファイルをテキスト・エディタで開きます。

  2. このファイル内の次の行を検索します。

    • GenerateSnapshot.batファイルの場合:

      SET XEL_HOME=..

    • GenerateSnapshot.shファイルの場合:

      XEL_HOME=..

  3. この行を次の行で置き換えます。

    • GenerateSnapshot.batファイルの場合:

      SET XEL_HOME=OIM_HOME_DIRECTORY_PATH

    • GenerateSnapshot.shファイルの場合:

      XEL_HOME=OIM_HOME_DIRECTORY_PATH

  4. ファイルを保存して閉じます。

    監査スナップショットを生成する手順の詳細は、Oracle Fusion Middleware Oracle Identity Managerユーザーズ・ガイドの監査に関する説明を参照してください。