7 Oracle Internet Directory

この章では、Oracle Internet Directoryに関連する問題について説明します。内容は次のとおりです。

内容は次のとおりです

7.1 Oracle Internet Directoryの一般的な問題および回避策

この項では、一般的な問題および回避策について説明します。次のトピックが含まれています:

7.1.1 (バグ25875893) スキーマ・オプションを使用するとODSスキーマ詳細が自動入力されない

問題

アップグレード・アシスタントで11gリリース1(11.1.1.9.0)からアップグレードする際、ドメインで使用されるすべてのスキーマ・オプションを選択すると、スキーマ詳細がODSスキーマ画面に自動移入されません。

回避策

回避策として、データベース・タイプ、文字列などのODSスキーマ詳細を手動で指定する必要があります。

7.1.2 (バグ25814730) OID12cPS3: Solarisでシステム共有メモリーが不足しているため起動に失敗する

問題

システム共有メモリーが不足しているため、SolarisプラットフォームでOIDサーバーの起動に失敗します。

回避策

この問題を修正するには、DBがコロケートされている場合にSolarisシステム・プラットフォームで共有メモリーを増やす必要があります。OIDのみをインストールする場合、1.5GBの共有メモリーが必要です。

たとえば、ルート・ユーザーとしてproject.max-shm-memoryを12GB(8GBから)に増やすと、OIDインスタンスが起動されます。

prctl -n project.max-shm-memory -v 12gb -r -i project default
$ prctl -n project.max-shm-memory $$
process: 7423: bash 

NAME    PRIVILEGE       VALUE    FLAG   ACTION                   RECIPIENT
project.max-locked-memory
        privileged      12.0GB      -   deny                          -
        system          16.0EB    max   deny                          -

7.1.3 (バグ26564247)PS3 OID: ODSM URLのヘルプ・リンクが機能しない

問題

ODSMにログインして「ヘルプ」をクリックしたときに、ヘルプ・ページにアクセスできません。

回避策

ODSMヘルプを介してヘルプにアクセスすることはできませんが、OIDドキュメント・ライブラリからページにアクセスできます。Oracle Directory Services Managerの概要に関する項を参照してください

7.1.4 (バグ19898973)集合属性でサポートされていない部分文字列フィルタ

問題

Oracle Internet Directoryでは、集合属性の部分文字列フィルタをサポートしていません。たとえば、次の部分文字列フィルタはサポートされていません。

tenantguid=*234*

回避策

ただし、同等のフィルタ、tenantguid=12345が部分文字列属性でサポートされています。

7.1.5 (バグ14079791) rootDSE lastchangenumber属性での検索が1つの属性で同時に機能する

問題

ldapsearchをrootDSEで実行し、lastchangenumber属性およびその他の属性をフェッチすると、lastchangenumberが取得されません。

たとえば、次に示すコマンドを実行すると、lastchangenumber属性は取得されません。

ldapsearch -p port -D "cn=orcladmin" -w password -b "" -s base "objectclass=*"
changelog lastchangenumber

回避策

この問題を回避するには、次のようにして、rootDSE上でlastchangenumber属性のみにldapsearchを実行します。

ldapsearch -p <port> -h <hostname> -b ' ' -s base '(objectclass=*)' lastchangenumber

lastchangenumber=4714

7.1.6 (バグ17348090)集合属性のAND演算を含むフィルタでの検索の非サポート

問題

検索フィルタに集合属性式のみが含まれる場合、AND(&)演算を実行すると、サーバーは期待される結果を返しません。

たとえば、次のコマンドを集合属性のみで実行し、AND操作を実行すると、サーバーは期待される結果を返しません。

ldapsearch -b 'cn=u1,cn=collandbug' '&(description=coll1 desc) 
(description=coll2 desc)' dn 

回避策

この問題への対処方法はありません。

7.1.7 (バグ17435510) Oracle Databaseでジョブ削除のエラーを修正するためのパッチが必要

問題

いくつかのOracle Databaseバージョン、たとえば、10.1.0.5.0rec.jul10、10.2.0.4.5.psu、10.2.0.5.1psu、11.1.0.7.4psuおよび11.2.0.1.2psuでは、Oracle Internet Directoryでジョブを削除する際の障害を修正するために、パッチが必要です。

このパッチを適用していない場合、パージ・ジョブが正しく機能しません。また、次の現象が発生する可能性があります。

  • Oracle Internet Directoryの変更ログがパージされず、パージ・ログにORA-23421エラーが表示されます。

  • 変更ログのパージ・ジョブを実行する際にorclpurgenowを1に設定するとハングします。

回避策

リストしたOracle Databaseのいずれかのバージョンを使用し、このようなジョブ削除の問題を経験している場合、最新のパッチ・セット更新(PSU)を使用するOracle Databaseに適用すると、RDBMS bug 9294838が解決します。RDBMSパッチを使用するデータベースに適用してください。 Oracle Internet Directoryをインストールした後に、パッチを適用できます。

7.1.8 (バグ18196425) ODSMがエクスポート中にチェイン・コンテナに疑似エントリを追加して重複エントリを表示する

問題

ODSMで、Oracle Directory Server Enterprise Edition (ODSEE)とのサーバー・チェーンをバックエンドとして設定すると、次の問題が発生します。

  • ODSMを使用してエントリを作成すると、ODSMはチェーンを介してリモート・サーバーにエントリを追加するふりをします。しかし、エントリはリモート・サーバーであるODSEEには追加されません。

  • 前述のエントリをリモート・バックエンドに直接追加し、「データ・エクスプローラ」タブを使用して親エントリに移動してから、同じエントリをLDIFにエクスポートすると、重複エントリが表示されます。

回避策

この問題への対処方法はありません。

7.1.9 (バグ18695967) ODSMがカスタム必須フィールドでカスタムobjectclassのエントリを作成しない

問題

「スキーマ」タブでカスタム属性とカスタムobjectclassを作成し、索引付けされたカスタム属性を選択します。次に、「データ・ブラウザ」タブでobjectclass="custom object class"のエントリを作成する場合、カスタム属性フィールドに必須値を入力できません。

回避策

この問題への対処方法はありません。

7.1.10 (バグ19521548) Oracle Internet Directoryの10.1.4.3から11.1.1.9.0へのアップグレードがAIXの構成中に失敗する

問題

AIXでOracle Internet Directoryを10.1.4.3から11.1.1.9.0にアップグレードする場合、この問題が発生します。アップグレードは構成中に失敗し、次のエラーが発行されます。

javax.net.ssl.SSLException: Received fatal alert: illegal_parameter

回避策

この問題を回避するには、次の例に示すように、Javaオプションを追加して、Oracle Internet Directory 11.1.1.9.0の構成中にECDH暗号化を無効化します。

ORACLE_HOME/config.sh -Doracle.ldap.odi.sslsocketfactory.disable-ecc=true

7.1.11 (バグ12833947) Internet Explorer 7でのODSMの問題

問題

ODSMインタフェースは、Internet Explorer 7で説明されているように表示されないことがあります。

たとえば、「ログアウト」リンクが表示されないことがあります。

回避策

これが問題の原因となる場合は、Internet Explorer 8または9にアップグレードするか、別のブラウザを使用してください。

7.1.12 (バグ16964666)クローニングしたOracle Internet Directoryインスタンスの失敗または低速実行

問題

クローニングしたOracle Internet Directory環境では、好ましくないホスト名はエラー、失敗またはパフォーマンスの低下を引き起こす可能性があります。

Oracle Internet Directoryインスタンスをクローニングして、クローニングされたターゲット・インスタンスがソース・インスタンスから好ましくないホスト名を取得した場合に、この問題が発生する可能性があります。このようなホストには、ファイアウォールの外にあるものや、そうでない場合はターゲット・インスタンスにアクセスできないものがあります。

クローニングされたOracle Internet Directoryインスタンスではクラスタ環境内にあることが前提となっており、通知および他の変更のために好ましくないホストにアクセスしようとします。しかし、クローニングされたインスタンスはいくつかのホストにはアクセスできず、その後失敗してエラーを返すか低速で実行されます。

たとえば、クローニングされたOracle Internet Directoryターゲット・インスタンスに対する次の操作の実行中に、この問題が発生する可能性があります。

  • Oracle Virtual Machine (VM)を作成するためにfaovmdeploy.sh createTopologyコマンドを実行

  • 異なるOracle Virtual Machine内でEnterprise Managerエージェントをデプロイ

回避策

この問題を修正するには、クローニングされたOracle Internet Directoryインスタンスから、好ましくないホスト名を次のように削除します。

  1. 必要な環境変数を設定します次に、例を示します。
    export ORACLE_INSTANCE=/u01/oid/oid_inst
    export ORACLE_HOME=/u01/oid/oid_home
    export PATH=$ORACLE_HOME/bin:$ORACLE_INSTANCE/bin:$PATH
    export TNS_ADMIN=$ORACLE_INSTANCE/config
    
  2. Oracle Databaseに接続し、好ましくないOracle Internet Directoryホスト名を持つエントリを削除します。たとえば、次の問合せで、sourceHostnameの好ましくないホスト名を置き換えます。
    sqlplus ods@oiddb
    delete from ods_shm where nodename like '%sourceHostname%';
    delete from ods_shm_key where nodename like '%sourceHostname%';
    delete from ods_guardian where nodename like '%sourceHostname%';
    delete from ods_process_status where hostname like '%sourceHostname%';
    commit;
    
  3. クローニングされたOracle Internet Directoryコンポーネントを停止してから再起動します。次に、例を示します。
    opmnctl stopproc ias-component=oid1
    opmnctl startproc ias-component=oid1
    
  4. 好ましくないOracle Internet Directoryホスト名を持つcnエントリを検索します。次に、例を示します。
    ldapsearch -h oid_host -p oid_port -D cn=orcladmin -w admin_password -b
    "cn=subregistrysubentry" -s sub "objectclass=*" dn
    cn=oid1_1_hostName1,cn=osdldapd,cn=subregistrysubentry
    cn=oid1_1_hostName2,cn=osdldapd,cn=subregistrysubentry
    cn=oid1_1_myhost.example.com,cn=osdldapd,cn=subregistrysubentry
    
  5. 前のステップの結果から、好ましくないホスト名を持つエントリを削除します。次に、例を示します。
    ldapdelete h oid_host -p oid_port -D cn=orcladmin -w admin_password
    "cn=oid1_1_hostName1,cn=osdldapd,cn=subregistrysubentry"
    ldapdelete h oid_host -p oid_port -D cn=orcladmin -w admin_password
    "cn=oid1_1_hostName2,cn=osdldapd,cn=subregistrysubentry"
    
  6. 好ましくないホスト名が削除されたことを確認します。次に、例を示します。
    ldapsearch h oid_host -p oid_port -D cn=orcladmin -w admin_password -b
    "cn=subregistrysubentry" -s sub "objectclass=*" dn
    cn=oid1_1_myhost.example.com,cn=osdldapd,cn=subregistrysubentry
    

関連項目:

『Oracle Fusion Middleware管理者ガイド』のOracle Fusion Middlewareのクローニングに関する説明。

7.1.13 (バグ16498988) Oracle Internet DirectoryがISMを使用するSolaris SPARCシステム上で起動できない

問題

Oracle Internet Directoryは、Intimate Shared Memory (ISM)を使用する次のOracle Solaris SPARCシステム上で起動できません: 5.11 11.1 sun4v sparc sun4v

回避策

この問題の回避策として、次の手順に示されるように値を設定します。

  • Oracle Internet Directoryについて、オペレーティング・システムの許容される物理ロック・メモリーの合計(project.max-locked-memory)を2GB以上に設定して、値がサポートされるページ・サイズと合うようにします。pagesize -aコマンドは、Solarisシステムのサポートされるすべてのページ・サイズをリストします。

  • orclecachemaxsize属性をproject.max-locked-memoryよりも小さくなるように設定し、その値がOSによってサポートされるページ・サイズと合うことを確認します。たとえば、値を256MBに設定します。

次の手順では、Oracle Internet Directoryサービスは"oracle"という名前のオペレーティング・システム・ユーザーによって管理されていると仮定されています。

  1. Solaris SPARCシステムにルート・ユーザーとしてログインします。

  2. OIDユーザーのプロジェクト・メンバーシップを確認します。

    OIDユーザーがデフォルト・プロジェクトに属する場合、次のようになります。

    1. 2GB以上に設定された最大ロック・メモリーの値で新しいプロジェクトを作成し、OIDユーザーを新しく作成したプロジェクトと関連付けます。Solaris 10および11でプロジェクトID 3はデフォルト・プロジェクトを表します。次に例を示します。

      # id -p oracle
      uid=2345(oracle) gid=529(dba) projid=3(default)
      # projadd -p 150 -K "project.max-locked-memory=(priv,2G,deny)" oidmaxlkmem
      # usermod -K project=oidmaxlkmem oracle
      
    2. リソース・コントロールの値project.max-locked-memoryが、予期したとおり2GBに設定されたことを確認します。次に例を示します。

      # su - oracle
      
      $ id -p oracle
      uid=2345(oracle) gid=529(dba) projid=150(oidmaxlkmem)
      
      $ prctl -n project.max-locked-memory -i project 150
      project: 150: oidmaxlkmem
      NAME    PRIVILEGE       VALUE    FLAG   ACTION                   RECIPIENT
      project.max-locked-memory
              privileged      2.00GB      -   deny                             -
              system          16.0EB    max   deny                             -
      

    OIDユーザーが非デフォルト・プロジェクトに属する場合、次のようになります。

    1. 対応するプロジェクトを変更してproject.max-locked-memoryリソース・コントロールを含め、値を2GB以上に設定します。次に例を示します。

      # id -p oracle
      uid=2345(oracle) gid=529(dba) projid=125(oraproj)
      
      # projmod -a -K "project.max-locked-memory=(priv,2G,deny)" oraproj
      
    2. リソース・コントロールの値project.max-locked-memoryが、予期したとおり2GBに設定されたことを確認します。次に例を示します。

      # projects -l oraproj
      oraproj
              projid : 125
              comment: ""
              users  : (none)
              groups : (none)
              attribs: project.max-locked-memory=(priv,2147483648,deny)
                       project.max-shm-memory=(priv,34359738368,deny)
      
      # su - oracle
      $ id -p
      uid=2345(oracle) gid=529(dba) projid=125(oraproj)
      
      $ prctl -n project.max-locked-memory -i project 125
      project: 125: oraproj
      NAME    PRIVILEGE       VALUE    FLAG   ACTION  RECIPIENT
      project.max-locked-memory
              privileged      2.00GB      -   deny    -
              system          16.0EB    max   deny    -
      
  3. エントリ・キャッシュ最大サイズ(orclecachemaxsize属性)を、OSによって許可される最大ロック・メモリー・サイズよりも小さい値でOSがサポートするページ・サイズに合う値に設定します。

    たとえば、SQL*Plusを使用して値を256MBに設定します。

    sqlplus ods@oiddb
    update ds_attrstore set attrval='256m'
      where entryid=940 and attrname='orclecachemaxsize';
    commit;
    
  4. config.shスクリプトを実行してOracle Internet Directoryを構成します。

7.1.14 ODSMブラウザ・ウィンドウが使用できなくなる

問題

Fusion Middleware ControlからODSMを起動し、新規ODSMを選択すると、ブラウザ・ウィンドウが使用できなくなることがあります。たとえば、ウィンドウが繰り返しリフレッシュしたり、空白ページとして表示されたり、ユーザー入力を受け付けなかったり、nullポインタ・エラーを表示します。

回避策

回避策として、URL: http://host:port/odsmに移動して、hostおよびportでODSMが実行されている場所を指定します(例: http://myserver.example.com:7005/odsm)。これにより、ODSMウィンドウを使用してサーバーにログインできるようになります。

7.1.15 (バグ9050432) Bulkmodifyでエラーが生成される

問題

Oracle Internet DirectoryでOracle Database 11gリリース1 (11.1.0.7.0)を使用している場合、bulkmodify操作の実行中にORA-600エラーが表示される場合があります。

回避策

この問題を修正するには、バグ番号7019313およびバグ番号7614692用の修正をOracle Databaseに適用します。

7.1.16 (バグ8464130)トルコ文字の点付きのIが正しく処理されない

問題

不具合により、Oracle Internet Directoryでは、トルコ語文字セットに含まれる点付きの大文字のIを正しく処理できません。そのため、ODSMまたはコマンドライン・ユーティリティで問題が発生する可能性があります。

回避策

この問題への対処方法はありません。

7.1.17 (バグ10383377) OPSS ldapsearchのSQLでCPU%が高くなる可能性がある

問題

OPSSの1レベルldapsearch操作のSQLでフィルタorcljaznprincipal=valueおよび必須属性を使用すると、DB CPUパーセンテージが過度に高くなる可能性があります。

回避策

この検索パフォーマンスがマシンおよび他のプロセスのパフォーマンス全体に影響する場合、Oracle Databaseで次のステップを実行することにより、問題を解決できます。

  1. Oracle DatabaseにユーザーODSとしてログインし、次のSQLを実行します。
    BEGIN
    DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'ODS',
                                  TABNAME=>'CT_ORCLJAZNPRINCIPAL',
                                  ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE,
                                  CASCADE=>TRUE);
    END;
    /
    
  2. ALTER SYSTEM文を使用して共有プールをフラッシュします。詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

7.1.18 Oracle Enterprise ManagerでOIDレプリケーションを設定できない

問題

レプリケーションを設定するためのウィザードが、Oracle Enterprise Manager Fusion Middleware Control 12cの「管理」メニューで使用できなくなりました。

回避策

コマンドライン・ツールでLDAPベースのレプリケーションを設定できます。『Oracle Internet Directoryの管理』レプリケーションを設定および変更するためのコマンドライン・ツールに関する項を参照してください。

7.1.19 Oracle Enterprise ManagerでOIDのチューニングとサイズ設定の必要性を見積もることができない

問題

サイズ設定とチューニングの必要性を見積もるためのウィザードが、Oracle Enterprise Manager Fusion Middleware Control 12cの「管理」メニューで使用できなくなりました。

回避策

Oracle Internet Directoryのサイズ変更とチューニングの推奨事項は、『Oracle Internet Directoryの管理』「Oracle Internet Directoryのチューニングとサイズ設定」を参照してください。

7.1.20 Oracle Enterprise ManagerでOIDのウォレットを管理できない

問題

ウォレット・オプションが、Oracle Enterprise Manager Fusion Middleware Control 12cの「セキュリティ」メニューで使用できなくなりました。

回避策

orapkiツールまたはキーストア・サービスを使用してウォレットを作成できるため、『Oracle Fusion Middlewareの管理』ウォレットの管理に関する項キーストロークの管理に関する項を参照してください。

7.1.21 IBM AIXでは、RCUツールの実行中にOIDスキーマのロードに失敗することがある

問題

影響を受けるプラットフォーム: IBM AIX

AIXオペレーティング・システムにOracle Internet Directory 12 cが正常にインストールされた後で、RCUツールを使用したOIDスキーマのロードが失敗し、次のエラーが表示されます:

Error initializing SQLPlusEngine:
java.io.IOException: java.io.IOException: java.io.IOException: java.io.IOException: java.io.IOException: 
java.io.IOException: java.io.IOException: java.io.IOException: java.io.IOException: java.io.IOException: 
java.io.IOException: java.io.IOException: Error initializing sqlplus.
at oracle.sysman.assistants.common.dbutil.sqlplus.SQLPlusEngine.setDefaultEngineSettings(SQLPlusEngine.java:2144)
at oracle.sysman.assistants.common.dbutil.sqlplus.SQLPlusEngine.initialize(SQLPlusEngine.java:352)
at oracle.sysman.assistants.rcu.backend.action.SQLPlusAction.perform(SQLPlusAction.java:214)
at oracle.sysman.assistants.rcu.backend.task.AbstractCompTask.execute(AbstractCompTask.java:255)
at oracle.sysman.assistants.rcu.backend.task.ActualTask.run(TaskRunner.java:346)
at java.lang.Thread.run(Thread.java:785)

Oracle Internet Directory 12 cは、IBM AIX Databaseクライアントの12.1.0.2.0バージョンにバンドルされています。この問題は、IBM AIX Database 12.1.0.2クライアント・ライブラリのIOCP APIシンボル依存性に関連しています。この問題を解決するには、OIDサーバーがインストールされているマシンでIOCPモジュールを使用可能にします。

回避策

IBM POWER Systems (64ビット)のIBM AIXで、インストール・プロセスを開始する前に、I/O完了ポート(IOCP)を使用可能にします。IOCPポートを使用可能にするには、IOCPポートのステータスを 「使用可能」に設定します。

IOCPモジュールが有効化どうかをチェックするには、lsdevコマンドを実行します。

$ lsdev | grep iocp

デフォルトでは、IOCPは「定義済」に設定されているため、使用可能ではありません。次のサンプル出力は、IOCPステータスが「定義済」に設定されていることを示しています:

iocp0      Defined       I/O Completion Ports

IOCPを使用可能にするには、次のプロシージャを使用してIOCPステータスを「使用可能」にします:

  1. rootとしてログインし、次のコマンドを実行します。

    # smitty iocp
  2. I/O完了ポートの特性の変更/表示を選択します。

  3. システム再起動時に構成された状態を「定義済」から「使用可能」に変更します。

  4. lsdevコマンドを実行して、IOCPステータスがAvailableに設定されていることを確認します。

    $ lsdev | grep iocp 
    iocp0      Available       I/O Completion Ports
  5. システムの再起動を実行して変更を確定します。

7.2 Oracle Internet Directoryの構成の問題および回避策

この項では、構成に関する問題およびその回避方法について説明します。次のトピックが含まれています:

7.2.1 SSLサポートのためのTLSプロトコルの受入れ

問題

Oracle Internet DirectoryをSSLモードで構成する際、SSLv3が無効になっている場合に、TLSモードのみを有効にしようとすると、Oracle Internet Directory構成はハングします。これが発生するのは、orclsslciphersuite属性にサポートされていない暗号化スイートが移入されている場合です。

回避策

これを回避するには、orclsslciphersuite属性からサポートされていない暗号化スイートを削除します。サポートされる暗号化スイート・リストの詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドのサポートされる暗号化スイートに関する項を参照してください。

さらに、Oracle Internet DirectoryをSSLモードで構成する場合は、SSLv3とTLS 1.0を完全に無効にして、TLSを有効にする必要があります。TLSのみを有効にする(およびSSLv3を無効にする)場合は、orclcryptoversion属性の値を24に変更する必要があります。この値はTLS 1.1とTLS 1.2を参照します。詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドサポートされるプロトコル・バージョンに関する項を参照してください。

ldapmodifyコマンドを実行して、次のようにorclcryptoversionの値を24に更新します。

ldapmodify -D "cn=orcladmin" -q -p portNum -h hostname -f ldifFile

ldifFileには、次が含まれます。

dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry
changetype: modify
replace: orclcryptoversion
orclcryptoversion: 24

7.2.2 Oracle Internet Directoryリモート・インスタンス作成時の警告

問題

最初のマシンで、リモート・ノードをターゲットとするOracle Internet Directoryインスタンスを作成すると、管理サーバー・ログに次の警告が表示されます。

 <Warning> <Management> <BEA-141296> <Unable  to contact Node Manager on "oidhost2". 
Activation for system component "oid2"  is deferred until "oidhost2" becomes available.  
java.lang.RuntimeException: Node Manager is not available on machine oidhost2 

回避策

この警告は無視できます。

7.3 ドキュメントの訂正箇所

この項では、ドキュメントの訂正箇所を示します。次のトピックが含まれています:

7.3.1 アイデンティティ管理のチュートリアルのレプリケーションの指示が不完全

『Oracle Identity Managementスタート・ガイド』からリンクされているアイデンティティ管理のチュートリアルOracle Internet Directoryリプリケーションに関する項から重要な情報が欠落しています。

特に、新しいコンシューマ・ノードが空でない限り、この指示は実行されません。新しいコンシューマ・ノードに事前ロードされたデータがある場合、レプリケーション・ログに様々な競合解決および無効な属性名形式のメッセージが表示されます。

詳細は、『Oracle Fusion Middleware Oracle Internet Directoryの管理』LDAPベースのレプリケーションの構成ルールに関する項を参照してください。