6 Oracle Unified Directoryへの移行のトラブルシューティング

移行に失敗した場合は、ログ・ファイルおよびこの章のガイドラインを使用して原因をトラブルシューティングします。

6.1 Oracle Unified Directoryへの移行のトラブルシューティングのためのチェックリスト

Oracle Unified Directoryの移行の問題をトラブルシューティングする際は、次のチェックリストを使用します。

  • Oracle Unified Directoryディレクトリ・サーバーおよびレプリケーション・ゲートウェイ・インスタンスが実行されていることを確認します。詳細は、『Oracle Unified Directoryの管理』サーバーの起動に関する項を参照してください。
  • レプリケーション・ゲートウェイが設定済で正しく機能していることを確認し、Oracle Unified Directoryサーバーにエントリを追加します。新しく追加したエントリがOracle Directory Server Enterprise Editionサーバーに正常にレプリケートされたことを確認します。詳細は、『Oracle Unified Directoryのインストール』レプリケーション・ゲートウェイ設定の確認に関する項を参照してください。
  • Oracle Directory Integration Platformの同期が構成されている場合は、サーバーが実行されていることを確認します。『Oracle Directory Integration Platformの管理』スタックの起動に関する項を参照してください。
  • 監査、エラーおよびデバッグのログが構成されていることを確認します。詳細は、『Oracle Unified Directoryの管理』ログの構成に関する項を参照してください。
  • OUDのdsreplicationコマンドまたはODSEEコンソールを使用して、レプリケーション・ステータス情報をモニターします。詳細は、『Oracle Unified Directoryの管理』レプリケートされたトポロジのモニターに関する項を参照してください。
  • dirtracerツールを使用して、実行中、ハングまたは停止中のOracle Directory Server Enterprise Editionプロセスに関するデバッグ情報を収集します。dirtracerスクリプトの詳細は、Oracle Directory Server Enterprise Editionのトラブルシューティング・ガイドトラブルシューティング・ツールの使用に関する項を参照してください。
  • Remote Diagnostic Agent (RDA)を使用して、Oracle Unified Directory (OUD)のログ、構成ファイル、スクリプトおよび環境情報を収集します。

    ノート:

    RDAのダウンロードおよびインストールの詳細は、My Oracle Supportにログインしてください。「ナレッジ・ベースの検索」フィールドに314422.1を入力します。これは、RDAインストールについて説明しているドキュメントのIDです。
    1. OUD情報の収集用にRDAを構成します。

      UNIX

      rda.sh -S -p OudStd -e OFM.OUD.N_TAIL=0

      Windows

      rda.cmd -S -p OudStd -e OFM.OUD.N_TAIL=0
  • デフォルトの構成ファイル(output.cfg)を使用する、同じコマンドを使用してRDAを実行します

    UNIX

    rda.sh

    Windows

    rda.cmd

6.2 レプリケーションのトラブルシューティング

この項では、Oracle Directory Server Enterprise EditionからOracle Unified Directoryへの移行後の、レプリケーション・ゲートウェイに関連する問題について説明します。

6.2.1 データでレプリケート対象サーバーを初期化した後にresult=32エラーが発生する可能性がある

ODSEEおよびOUDデータを使用してレプリケート対象サーバーを初期化すると、次のエラーがアクセス・ログに表示されます(instance_dir/OUD/logsにあります):

ADD RES conn=-1 op=16462142 msgID=16462143 result=32 etime=1

この問題は、ODSEEのnsuniqueid属性値が、OUDのentryUUID属性値と一致しない場合に発生します。

問題を解決するには、ODSEE環境とOUD環境の両方で属性値が同じであることを確認します。

例:

$ ldapsearch -p 11389 -D cn="Directory Manager" -j pwd-file -b dc=example,dc=com uid=employeeName nsuniqueid
dn: uid=uid=employeeName,ou=People,dc=example,dc=com
nsuniqueid: b725320e-455e11e7-80b1e853-9d225af6

$ ldapsearch -p 1389 -D cn="Directory Manager" -j pwd-file -b dc=example,dc=com employeeName entryUUID
dn: employeeName,ou=People,dc=example,dc=com
entryUUID: b725320e-455e-11e7-80b1-e8539d225af6

6.2.2 グラフィカル・ユーザー・インタフェース(GUI)を使用したレプリケーション・ゲートウェイの設定後にエラーが発生する

インストーラを実行してレプリケーション・ゲートウェイ・サーバー・インスタンスを設定し、設定が完了すると、次のエラーが表示される場合があります:

ReplicationGatewaySetupException: Error initializing. Could not find a peer to start the initialization after several tries. Details: Error during the initialization with contents from server <HOSTNAME>.<DOMAIN>:<ADMIN_PORT>. Last log details: [10/Jan/2018:10:18:45 -0700] severity="NOTICE" msgCount=0 msgID=9896349 message="Initialize From Replica task replication-gateway-setup-initialize5 started execution". Task state: STOPPED_BY_ERROR. Check the error logs of <HOSTNAME>.<DOMAIN>:<ADMIN_PORT> for more information.

この問題は、Oracle Unified Directoryレプリケーション・ゲートウェイとOracle Unified Directoryディレクトリ・サーバー・インスタンス間でファイアウォールが有効になっていて、すべてのtransmission control protocol (TCP)ネットワーク・ポートが受信接続に対してブロックされている場合に発生することがあります。

この問題を解決するには、ファイアウォール設定を確認し、すべてのOracle Unified Directoryネットワーク・ポートが受信接続に対して開いていることを確認します。

6.2.3 コマンドライン・インタフェース(CLI)を使用したレプリケーション・ゲートウェイの設定時にエラーが発生する

oud-replication-gateway-setup --cliを実行してレプリケーション・ゲートウェイを設定し、必要な構成の詳細を入力すると、次のエラーが表示される場合があります:

Initializing basic replication gateway configuration ..... Done.
Starting Replication Gateway .......... Done.
Updating Registration Information ..... Done.
Configuring Oracle Unified Directory server <OUD_HOST_1> .....Done.
Initializing Registration Information .....
Error initializing.  Could not find replication ID in the server <OUD_HOST_1> for base DN cn=admin data.
If you want to report this error, provide the contents of file $MW_HOME/$OUD_GW_INST/OUD/logs/oud-setup
Error initializing.  Could not find replication ID in the server <OUD_HOST_1> for base DN cn=admin data.

この問題は、Oracle Enterprise User Security (EUS)のサーバー・インスタンス(レプリケーション・ゲートウェイ)を有効にし、cn=oraclecontextおよびcn=oracleschemaversion命名コンテキストがインスタンスに作成されている場合に発生します。

この問題を解決するには、EUSオプションを指定せずにディレクトリ・サーバー・インスタンスを作成し、このインスタンスをレプリケーション・ゲートウェイとして設定します。

関連項目:

6.2.4 moddnプロパティを有効にするとレプリケーション・サーバーが起動に失敗する

ODSEEからOUDへのレプリケーションが失敗し、ODSEEに次のエラーが表示されます:

ERROR - Replication - conn=-1 op=-1 msgId=-1 - [S] Unable to start a replication session with MODDN enabled. The consumer <HOSTNAME>:<PORT>/ou=people,<SUFFIX_DN> does not support MODDN operations.

このエラーは、moddnenabledsuffixes属性がOUDで使用できない場合に発生します。

この問題を解決するには、次の手順に従います。

  1. stop-dsコマンドを実行して、レプリケーション・サーバーを停止します。

  2. OUD config.ldifファイルのバックアップを作成します(instance-path/config/ config.ldifにあります)。

  3. テキスト・エディタでconfig.ldifファイルを開き、ODSEEパラメータを使用してds-cfg-base-dnパラメータを更新します。

    例:

    dn: cn=Replication Gateway Domain 1,cn=domains,cn=Gateway Plugin,cn=Plugins,cn=config
    ds-cfg-base-dn: ou=people,<SUFFIX_DN>
  4. start-dsコマンドを実行して、レプリケーション・サーバーを再起動します。

6.2.5 レプリケーション・ゲートウェイがリソース制限属性のレプリケートに失敗する

OUDおよびODSEEレプリケーション・ゲートウェイ・サーバー・インスタンスは、次のリソース制限属性をレプリケートしません:

  • nsSizeLimit

  • nsTimeLimit

  • nsLookThroughLimit

  • nsIdleTimeout

構文

この問題を解決するには、リソース制限属性を有効にします:

  1. レプリケーション・ゲートウェイを使用する場合、リソース制限に関連する各(O)DSEE属性名(nsSizeLimitnsTimeLimitnsLookThroughLimitおよびnsIdleTimeout)が、対応する各OUD属性の別名として宣言されるように、OUDスキーマ(02-config.ldif)を変更する必要があります。

    ノート:

    OUDの対応する属性は、 ds-rlim-size-limitds-rlim-time-limitds-rlim-lookthrough-limitおよびds-rlim-idle-time-limitです。

    OUDスキーマ(02-config.ldif)を更新します:

    1. 次の例に示すように、テキスト・エディタで02-config.ldifファイル(OUD_ORACLE_HOME/config/schema/02-config.ldifにあります)を開き、nsSizeLimitリソース制限属性を追加します。

      attributeTypes: ( 1.3.6.1.4.1.26027.1.1.394
      NAME ( 'ds-rlim-size-limit' 'nsSizeLimit' )
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
      SINGLE-VALUE
    2. start-dsコマンドを実行して、OUDインスタンスを再起動します。

    3. 前述のステップを繰り返し、nsTimeLimitnsLookThroughLimitおよびnsIdleTimeoutのために02-config.ldifを更新する必要があります。

  2. (O)DSEEでは、-1を使用してリソース制限を無効にします。OUDでは0を使用します。この違いに対処するには、OUDで仮想属性を作成して、(O)DSEE属性の値が-1に等しくなったときにOUD属性の内容を上書きするという方法があります。

    create-virtual-attributeサブコマンドを実行して、新しい仮想属性を作成します:

    dsconfig create-virtual-attribute --name "mapping nsSizeLimit "
    --type user-defined --set attribute-type:ds-rlim-size-limit \
    --set filter:”(nsSizeLimit=-1)” \
    --set conflict-behavior:virtual-overrides-real \
    --set value:"0"
    --set enabled:true

    前述のステップを繰り返して、nsTimeLimitnsLookThroughLimitおよびnsIdleTimeout属性の仮想属性を作成する必要があります。

  3. dsconfigコマンドを実行して、OUDレプリケーション・ゲートウェイ・サーバーからnsSizeLimit属性を削除します:

    dsconfig set-plugin-prop
    --plugin-name "Gateway Plugin"
    --remove dsee-specific-attribute-types:nsSizeLimit
    --hostname myhost.example.com
    --port 29444
    --trustStorePath
    /<path to root>/<Middleware_Home>/OUD target instance/OUD/config/admin-truststore
    --bindDN cn=Directory Manager
    --bindPasswordFile pwdFile
    --no-prompt

    前述のステップを繰り返して、OUDレプリケーション・ゲートウェイ・サーバーからnsTimeLimitnsLookThroughLimitおよびnsIdleTimeout属性を削除する必要があります。

  4. 次の例に示すように、ODSEE 00core.ldifファイル(instance-path/config/schema/にあります)をテキスト・エディタで開き、ds-rlim-size-limit OUD属性を追加します:

    attributeTypes: ( 2.16.840.1.113730.3.1.571 NAME ( 'nsSizeLimit'
    'ds-rlim-size-limit' ) DESC 'Binder-based search operation size limit
    (entries)' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE USAGE
    directoryOperation X-DS-USE 'internal' X-ORIGIN 'Sun ONE Directory Server' )

    前述のステップを実行して、対応するOUD属性をODSEEリソース制限属性に追加します。

6.2.6 非互換の(O)DSEEパスワード・ポリシー

ds2oud --diagnoseコマンドの実行後、次の警告メッセージが表示されます:

Warning : Incompatible password policy, the replication gateway only supports DS6-mode : You are currently using DS5-mode

この警告は、DS5-compatibility-modeパスワード・ポリシーを使用している場合に発生します。

この問題を解決するには、(O)DSEEからデータをエクスポートする前にDS6-modeに切り替える必要があります。

  1. dsconf pwd-compatコマンドを実行して、DS5-compatible-modeからDS6-migration-modeに変更します。

    例:

    dsconf pwd-compat -p 12000 -h <hostname> to-DS6-migration-mode
    Enter "cn=Directory Manager" password:
    ## Beginning password policy compatibility changes.
    ## Password policy compatibility changes finished.
  2. DS6-ModeでのDS5-Modeパスワード・ポリシー操作属性のプログラムによる実行に関する項(Oracle Directory Server Enterprise Edition管理者ガイド)の説明に従って、DS5-modeパスワード・ポリシー操作属性を削除します

  3. dsconf pwd-compatコマンドを実行して、DS6-migration-modeからDS6-modeに変更します。

    例:

    dsconf pwd-compat -p 12000 -h <hostname> to-DS6-mode
    Enter "cn=Directory Manager" password:
    ## Beginning password policy compatibility changes.
    ## Password policy compatibility changes finished.

パスワード・ポリシーの詳細は、Oracle Directory Server Enterprise Edition管理者ガイドディレクトリ・サーバーのパスワード・ポリシーに関する項を参照してください。

6.2.7 (O)DSEE pwdLastAuthTime操作属性への複数変更後の違反エラー

レプリケーション・ゲートウェイの作成後に(O)DSEE pwdLastAuthTime操作属性を複数変更すると、次のエラー・メッセージが表示される場合があります:

category=SYNC severity=MILD_ERROR msgID=14876739 msg=Could not replay operation ModifyOperation

operation ModifyOperation(connID=-1, opID=362, dn=cn=<ADMIN>,ou=<OU>,dc=<SUFFIX_DN>) with 
ChangeNumber 000001610af1f2e0000500000005 
error Constraint Violation Entry cn=<ADMIN>,ou=<OU>,dc=<SUFFIX_DN> cannot 
be updated because the request did not contain any modifications

この問題を解決するには:

  1. dsconfigコマンドを実行して、OUDレプリケーション・ゲートウェイ・サーバーからpwdLastAuthTime操作属性を削除します:

    $./dsconfig set-plugin-prop --plugin-name Gateway\ Plugin --remove dsee-specific-attribute-types:pwdlastauthtime
  2. start-dsコマンドを使用して、OUDサーバーを再起動します。

  3. OUDエラー・ログ(INSTANCE_DIR/OUD/logsにあります)を確認します。

6.3 移行プロセスで問題が発生した場合のトラブルシューティング

移行プロセスでいずれかのステップが失敗した場合は、移行プロセスを終了し、「完全なバックアップの作成」で作成したバックアップ・ファイルを使用して、環境を元の状態にリストアします。

関連項目:

『Oracle Unified Directoryのインストール』Oracle Unified Directoryインスタンスのアンインストールに関する項の説明に従って、Oracle Unified Directoryサーバー・インスタンスをアンインストールします。