30 トラブルシューティング

Identity and Access Managementエンタープライズ・デプロイメントで発生する可能性がある一般的な問題をトラブルシューティングできます。一般的な問題のために用意されている解決策は、問題の迅速な解決に役立ちます。

この章の内容は次のとおりです。

Oracle Access Management Access Managerのトラブルシューティング

Oracle Access Managerで発生する可能性があるいくつかの一般的な問題と、それらを解決するために実行できるアクションについて学習します。

Access Managerのメモリーが不足している

問題

Access Managerがしばらく実行した後、次のエラー・メッセージが出力されます。

Attempting to allocate 1G bytes
There is insufficient native memory for the Java Runtime Environment to continue. 

考えられる理由

  • システムで物理RAMまたはスワップ領域が不足している。

  • 32ビット・モードでプロセスのサイズ制限に到達した。

解決策

  • システムのメモリー・ロードを減らします。

  • 物理メモリーまたはスワップ領域を増やします。

  • スワップのバックエンドのデータストアが一杯かどうかを確認します。

  • 64ビットOSで64ビットJavaを使用します。

  • Javaヒープ・サイズを減らします(-Xmx/-Xms)。

  • Javaスレッドの数を減らします。

  • Javaスレッドのスタック・サイズを減らします(-Xss)。

  • 圧縮参照を無効にします(-XXcompressedRefs=false)。

  • コマンド行からコマンド行ツールadrciを実行できることを確認します。

    • 場所: oracle.dfw.impl.incident.ADRHelper.invoke(ADRHelper.java:1309)

    • 場所: oracle.dfw.impl.incident.ADRHelper.createIncident(ADRHelper.java:929)

    • 場所: oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl.createADRIncident(DiagnosticsDataExtractorImpl.java:1116)

  • OAMHOST1上およびOAMHOST2上で、IAD_MSERVER_HOME/binにあるファイルsetSOADomainEnv.shを編集し、次で開始される行を探します。

    PORT_MEM_ARGS=
    

    この行を次を読み取るように変更します。

    PORT_MEM_ARGS="-Xms768m -Xmx2560m"
    

Accessドメインの作成がタイムアウトになる

問題

Accessドメインの作成時に、次のようなエラーがログ・ファイルに表示されます:

[ERROR] Exiting due to failure - the job status is not Completed!

考えられる理由

設定に問題があります。

解決策

ドメイン作成のためにコマンドを実行する際のタイムアウト値を大きくします。たとえば:
./create-domain.sh -i $WORKDIR/create-domain-inputs.yaml -t 1200 -o output

ここで、1200はタイムアウトまでの待機時間(秒)です。デフォルト値は600です。

セッション数が最大許容値に達した

問題

Access Managerサーバーで次のようなエラー・メッセージが表示されます:
The user has already reached the maximum allowed number of sessions. Please close one of the existing sessions before trying to login again.

解決策

ログアウトせずに何回もログインすると、構成されているセッションの最大数を超えることがあります。Access Management管理コンソールを使用して、構成されているセッションの最大数を変更できます。

Access Management管理コンソールを使用してこの構成を変更するには、次の手順に従います。

  1. 「システム構成」「共通構成」「セッション」を選択します。
  2. どのユーザーにも想定されるすべての同時ログイン・セッションに対処できるように、「1ユーザー当たりの最大セッション数」フィールドの値を大きくします。このフィールドには、1以上の任意の値を指定できます。

Oracle Access Management Access Managerを初めてインストールしたときにポリシーが作成されない

問題

Access Managerを構成した後、管理サーバーの起動に長時間を要します。

解決策

Access Managerのデータベースを調整します。Access Managerを構成した後で管理サーバーを初めて起動すると、データベースにいくつかのデフォルト・ポリシーが作成されます。データベースが遠方にある場合やチューニングを必要とする場合は、この作業に膨大な時間を要することがあります。
Resources
Authentication Policies
   Protected Higher Level Policy
   Protected Lower Level Policy
   Publicl Policy
Authorization Policies
   Authorization Policies

これらの項目が表示されない場合は、最初の移入に失敗しています。管理サーバーのログ・ファイルで詳細を確認します。

保護されたリソースにアクセスしても、資格証明を要求するメッセージが表示されない

問題

保護されたリソースにアクセスすると、本来はAccess Managerからユーザー名とパスワードの入力を要求されます。たとえば、簡単なHTMLページを作成してリソースとして追加すると、資格証明の入力画面が表示されます。

解決策

資格証明の入力画面が表示されない場合は、次のステップを実行します:

  1. IAMAccessDomainのホストの別名が設定されていることを確認します。IAMAccessDomain:80、IAMAccessDomain:Null、IADADMIN.example.com:80およびlogin.example.com:443の別名が必要です。ここで、ポート80HTTP_PORT、ポート443HTTP_SSL_PORTです。
  2. Webゲートがインストールされていることを確認します。
  3. IAD_ASERVER_HOME/outputからWebゲートのLibディレクトリにObAccessClient.xmlがコピーされ、OHSが再起動されたことを確認します。
  4. ObAccessClient.xmlファイルは、最初に作成したときはフォーマットされていません。OHSを再起動するときに、ファイルを再調査してフォーマットされていることを確認します。OHSを初めて起動すると、このファイルの新しいバージョンがAccess Managerから取得されます。
  5. Access Managerサーバーを停止して、保護されたリソースにアクセスします。Access Managerサーバーが使用できないというエラーが表示されない場合は、WebGateを再インストールします。

Access Managementコンソールにログインできない

問題

Access Managementコンソールにログインできません。管理サーバーの診断ログに次のようなエラー・メッセージが含まれる場合があります。
Caused by: oracle.security.idm.OperationFailureException:
oracle.security.am.common.jndi.ldap.PoolingException [Root exception is oracle.ucp.UniversalConnectionPoolException:
Invalid life cycle state.
 Check the status of the Universal Connection Pool]
         at
oracle.security.idm.providers.stdldap.UCPool.acquireConnection(UCPool.java:112)

解決策

/tmp/UCP*のファイルを削除し、管理サーバーを再起動します。

oam_policy_mgrサーバー・ログに示されるOracle Coherenceクラスタの起動エラー

問題

oam_policy_mgr2サーバーでOAMアプリケーション・デプロイメントが失敗した状態になります。oam_policy_mgr2サーバー・ログで、クラスタ・サービスの開始中に、次のログのようなリクエスト・タイムアウト例外がレポートされます:

Oracle Coherence GE 3.7.1.13 <Warning> (thread=Cluster, member=n/a): Delaying 
formation of a new cluster; IpMonitor failed to verify the reachability of senior 
Member(Id=1, Timestamp=, Address=, MachineId=,
Location=site:,machine:IADADMINVHN,process:8499, Role=WeblogicServer); if this 
persists it is likely the result of a local or remote firewall rule blocking
either ICMP pings, or connections to TCP port 7>

Error while starting cluster: com.tangosol.net.RequestTimeoutException: Timeout 
during service start: ServiceInfo(Id=0, Name=Cluster, Type=Cluster
MemberSet=MasterMemberSet(
ThisMember=null
OldestMember=null
ActualMemberSet=MemberSet(Size=0
)
MemberId|ServiceVersion|ServiceJoined|MemberState
RecycleMillis=1200000
RecycleSet=MemberSet(Size=0
)
)
)
at
com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onStartupTimeout(Grid.CDB:3)

at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:28)

at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:6)

解決策

これは既知の問題です。一部の環境では、WebLogic管理サーバーと同じホストで実行されていないアクセス・ポリシー・マネージャ・サーバーは、Coherenceクラスタ・サービスを起動できないため、OAMアプリケーション・デプロイメントが失敗の状態となります。この問題を解決するには、次のステップを完了することで、影響を受けるアクセス・ポリシー・マネージャ・サーバーのサーバー・インスタンスを作成する必要があります。

  1. 次のURLを使用して、OAMコンソールにログインします:

    http://iadadmin.example.com/oamconsole

    IDストアを準備した場合は、作成したAccess Manager管理ユーザーとしてログインします。たとえば、oamadmin

  2. 「構成」をクリックします。
  3. 構成起動パッドから「サーバー・インスタンス」をクリックします。
  4. IAMAccessDomain管理サーバーと同じマシンで実行されていないアクセス・ポリシー・マネージャWebLogic管理対象サーバーの新しいサーバー・インスタンスをクリックします。たとえば:
    • 名前: oam_policy_mgr2

    • ポート: 14150

    • ホスト: OAMHOST2 (統合トポロジの場合、ホストはIAMHOST2)

    ノート:

    oam_serverのサーバー・インスタンスと同様のOAMプロキシ詳細を指定します。

  5. 「適用」をクリックします。

OAMサーバー起動時のログ・ファイルに示されるエラー

問題

OAMサーバーを起動すると、LCM健全性チェック・モジュールの失敗に起因する、次のようなエラーがログ・ファイルに示されます。

[oam_server1] [TRACE:16] [] [oracle.oam.config] [tid: DistributedCacheWorker:4] [userId: <anonymous>] [ecid: 
0000LGmRJqxB9DE5N7P5ie1N5mOd000004,1:16514] [APP: oam_server#11.1.2.0.0] [SRC_CLASS: oracle.security.am.admin.config.util.MapUtil] [SRC_METHOD: 
getDefaultedStringValue] property not found at path:[Ljava.lang.String;@43537067 Defaulting to value:,
[2016-04-20T06:55:39.982+00:00] [oam_server1] [TRACE:16] [] [oracle.oam.config] [tid: DistributedCacheWorker:4] [userId: <anonymous>] [ecid: 
0000LGmRJqxB9DE5N7P5ie1N5mOd000004,1:16514] [APP: oam_server#11.1.2.0.0] [SRC_CLASS: oracle.security.am.admin.config.util.MapUtil] [SRC_METHOD: getStringValue] THROW[[
oracle.security.am.admin.config.ConfigurationException: Cannot get java.lang.String value from configuration for key ResponseEscapeChar. Object null found.
at oracle.security.am.admin.config.util.MapUtil.handleFailedAttributeAccess(MapUtil.java:447)
at oracle.security.am.admin.config.util.MapUtil.getStringValue(MapUtil.java:130)
at oracle.security.am.admin.config.util.MapUtil.getDefaultedStringValue(MapUtil.java:147)
at oracle.security.am.engines.common.identity.provider.util.IdStoreConfig.initializeConfig(IdStoreConfig.java:76)
at oracle.security.am.engines.common.identity.provider.util.IdStoreConfig.<init>(IdStoreConfig.java:69)
at oracle.security.am.engines.common.identity.provider.util.IdStoreConfig.getConfig(IdStoreConfig.java:128)
at oracle.security.am.engines.common.identity.util.OAMUserAttribute.getStringValue(OAMUserAttribute.java:76)
at oracle.security.am.engines.common.identity.util.OAMUserAttribute.toString(OAMUserAttribute.java:114)
at java.lang.String.valueOf(String.java:2849)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at java.util.AbstractMap.toString(AbstractMap.java:523)
at java.lang.String.valueOf(String.java:2849)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at oracle.security.am.engines.common.identity.util.OAMIdentity.toString(OAMIdentity.java:678)
at java.lang.String.valueOf(String.java:2849)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at oracle.security.am.engines.sso.SSOSubject.toString(SSOSubject.java:238)
at java.lang.String.valueOf(String.java:2849)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at oracle.security.am.engines.sme.impl.SessionImpl.toString(SessionImpl.java:629)
at java.lang.String.valueOf(String.java:2849)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at oracle.security.am.engines.sme.mapimpl.db.DbOraSmeStore.loadSession(DbOraSmeStore.java:1705)
at oracle.security.am.engines.sme.mapimpl.db.DbOraSmeStore.loadSession(DbOraSmeStore.java:1691)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at oracle.security.am.foundation.mapimpl.coherence.store.DataConnectionUtility.invokeSqlOperationWithRetries(DataConnectionUtility.java:275)
at oracle.security.am.engines.sme.mapimpl.db.DbOraSmeStore.load(DbOraSmeStore.java:1284)
at com.tangosol.net.cache.ReadWriteBackingMap$CacheStoreWrapper.loadInternal(ReadWriteBackingMap.java:5676)
at com.tangosol.net.cache.ReadWriteBackingMap$StoreWrapper.load(ReadWriteBackingMap.java:4754)
at com.tangosol.net.cache.ReadWriteBackingMap.get(ReadWriteBackingMap.java:717)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.get(PartitionedCache.CDB:10)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onGetRequest(PartitionedCache.CDB:23)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$GetRequest.run(PartitionedCache.CDB:1)
at com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:1)
at com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:32)
at com.tangosol.coherence.component.util.DaemonPool$Daemon.onNotify(DaemonPool.CDB:66)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:745)
]]

解決策

これは、OAMサーバーがコヒーレンス・ポートを使用して相互に通信できない場合に発生します。ほとんどの場合、これはiptablesによって発生します。この問題の回避策は次のとおりです。

  1. OAMHOST1とOAMHOST2の両方の/etc/sysconfig/iptablesファイルを編集して、次の行を追加します。
    # Generated by iptables-save v1.4.7 on Tue Apr 19 10:02:45 2016
    *filter
    :INPUT ACCEPT [593:243587]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [614:423013]
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 9095 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 9097 -j ACCEPT
    COMMIT
    

    前述の一連の行で、90959097は使用するコヒーレンス・ポートです。

  2. ファイルを保存してサーバーを再起動します。

ブラウザでのリダイレクト・エラーが多すぎる

問題

あるアプリケーションから、SSOに同じOAMを使用する別のアプリケーションに移動すると、Webブラウザにリダイレクト・エラーが表示されます。検証するための2つの異なる構成があります。

解決策1:

  1. iadadmin.example.com/oamconsoleのOAMコンソールにログインします。
  2. 起動パッドから「エージェント」アイコンをクリックします。
  3. 結果ウィンドウの「Webゲート」タブで、「検索」をクリックします。検索パラメータを入力する必要はありません。
  4. 検索結果で、IAMSuiteAgentのリンクをクリックします。
  5. 「プライマリCookieドメイン」が、login.example.comドメインに使用されるドメインに設定されていることを確認します。たとえば: example.com。
  6. すべてのWebGate OHSインスタンスを再起動します。

解決策2:

すべてのOHSサーバーおよびOAMサーバーで、日付と時間が互いに60秒以内になるようにします。そうでない場合:

  1. すべてのOHSホストおよびOAMホストでNTP設定が同じであり、有効になるようにします。
  2. すべてのホストでntpdサービスを起動または再起動します。
  3. すべてのWebGate OHSインスタンス、OAMドメインAdminServerおよびすべての管理対象サーバーを再起動します。

Oracle Identity Governanceのトラブルシューティング

Oracle Identity Managerで発生する可能性があるいくつかの一般的な問題と、問題を解決するために実行できるアクションについて学習します。

OIMブートストラップ・プロセスが失敗する

問題

コンポジットのデプロイ後にOIMブートストラップ・プロセスが失敗します。エラーは次のように表示されます:
Deployment of SOA Composites :-/<INSTALL_LOCATION>/Oracle_Home/idm/server/workflows/composites/scajars/sca_DefaultRequestApproval_rev6.0.jar is successful>
<Jun 12, 2018 4:20:26,136 PM CEST> <Info> <oracle.iam.OIMPostConfigManager> <BEA-000000> <updating feature:DEPLOYSOACOMPOSITESwith state :COMPLETEwith executionTime190108>
java.sql.SQLException: Connection closed

これは、パフォーマンスの問題が原因です。

解決策

問題を一時的に解決するには、次のデータ・ソースで非アクティブ・タイムアウトを増やします:

  • oimJMSStoreDS
  • oimOperationsDB

アップグレードが完了したら、設定を元の値に戻すことができます。

  1. WebLogic Server管理コンソールにログインします。
  2. 「ロックして編集」をクリックします。
  3. 「サービス」「データ・ソース」の順にクリックし、<データ・ソース名>を選択します。
  4. 接続プール」タブをクリックします。
  5. 「詳細」セクションで、「非アクティブ接続タイムアウト」の値を増やします。
  6. 変更を保存してアクティブ化します。
  7. OIM管理対象サーバーを再起動します。

Oracle Identity Governance構成の実行時のjava.io.FileNotFoundException

問題

バグ12390838に対処するために次の内容が追加されました

Oracle Identity Manager構成を実行すると、java.io.FileNotFoundException: soaconfigplan.xml (Permission denied)のエラーが表示され、Oracle Identity Manager構成が失敗することがあります。

解決策

この問題を回避するには:

  1. ファイル/tmp/soaconfigplan.xmlを削除します。
  2. 構成を再度起動します(IGD_ORACLE_HOME/bin/config.sh)。

Oracle Identity Governanceでのユーザー作成時のResourceConnectionValidationxception

問題

バグ9816870に対処するために次の内容が追加されました

アクティブ/アクティブOracle Identity Manager構成において、Oracle Identity Managerでユーザーを作成(Oracle Identity Managerシステム管理コンソールにログインし、「管理」タブをクリックして、「ユーザーの作成」リンクをクリックし、フィールドに必要な情報を入力してから、「保存」をクリック)していて、そのリクエストを処理中のOracle Identity Managerサーバーに障害が発生した場合、Oracle Identity Managerログ・ファイルに、次のような「ResourceConnectionValidationxception」が記述されることがあります。

[2010-06-14T15:14:48.738-07:00] [oim_server2] [ERROR] [] [XELLERATE.SERVER]
[tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)'] [userId: xelsysadm] [ecid:
004YGJGmYrtEkJV6u3M6UH00073A0005EI,0:1] [APP: oim#11.1.1.3.0] [dcid:
12eb0f9c6e8796f4:-785b18b3:12938857792:-7ffd-0000000000000037] [URI:
/admin/faces/pages/Admin.jspx] Class/Method:
PooledResourceConnection/heartbeat encounter some problems: Operation timed
out[[
com.oracle.oim.gcp.exceptions.ResourceConnectionValidationxception: Operation
timed out
        at
oracle.iam.ldapsync.impl.repository.LDAPConnection.heartbeat(LDAPConnection.ja
va:162)
        at
com.oracle.oim.gcp.ucp.PooledResourceConnection.heartbeat(PooledResourceConnec
tion.java:52)
         .
         .
         .

解決策

この例外が発生しても、ユーザーは正しく作成されます。

OIG管理対象サーバーがCoherenceクラスタに参加できない

問題

ドメイン内の1つ以上の管理対象サーバーが起動に失敗しています。ログ・ファイルを調べると、それらがCoherenceクラスタに参加できないと示されています。

解決策1: ファイアウォール(iptables)要件の確認

一部のKubernetesディストリビューションでは、Coherenceがクラスタを形成するために必要とする一部のトラフィック・タイプをブロックするiptablesルールが作成されます。クラスタを形成できない場合は、次のコマンドを使用して、問題がないか確認できます:
iptables -t nat -v  -L POST_public_allow -n

次のような出力が表示されます:

Chain POST_public_allow (1 references)
pkts bytes target     prot opt in     out     source               destination
164K   11M MASQUERADE  all  --  *      !lo     0.0.0.0/0            0.0.0.0/0
   0     0 MASQUERADE  all  --  *      !lo     0.0.0.0/0            0.0.0.0/0
同じような出力が表示される場合、たとえば、このチェーンにエントリがある場合は、それらを削除する必要があります。次のコマンドを使用して、エントリを削除できます:
iptables -t nat -v -D POST_public_allow 1

そのコマンドは行ごとに実行する必要があります。そのため、この例では2回実行する必要があります。

完了したら、前のコマンドを再実行して、出力が空のリストになったことを確認します。

この変更を行った後、ドメインを再起動すると、Coherenceクラスタが正しく形成されるようになります。

解決策2: 再起動後もiptablesの更新を永続的にする

再起動後もiptables更新を永続的にするには、起動プロセス中に必要な更新を適用するsystemdサービスを作成することをお薦めします。

次に例を示しますが、自身の環境に合わせて調整する必要がある場合があります:

  • systemdサービスを作成します:
    echo 'Set up systemd service to fix iptables nat chain at each reboot (so Coherence will work)...'
    mkdir -p /etc/systemd/system/
    cat > /etc/systemd/system/fix-iptables.service << EOF
    [Unit]
    Description=Fix iptables
    After=firewalld.service
    After=docker.service
    
    [Service]
    ExecStart=/sbin/fix-iptables.sh
    
    [Install]
    WantedBy=multi-user.target
    EOF
  • iptablesを更新するスクリプトを作成します:
    cat > /sbin/fix-iptables.sh << EOF
    #!/bin/bash
    echo 'Fixing iptables rules for Coherence issue...'
    TIMES=$((`iptables -t nat -v -L POST_public_allow -n --line-number | wc -l` - 2))
    COUNTER=1
    while [ $COUNTER -le $TIMES ]; do
      iptables -t nat -v -D POST_public_allow 1
      ((COUNTER++))
    done
    EOF
  • サービスを起動します(または単に再起動します):
    echo 'Start the systemd service to fix iptables nat chain...'
    systemctl enable --now fix-iptables

Oracle Identity Managerのリコンシリエーション・ジョブが失敗する

問題

Oracle Identity Managerのリコンシリエーション・ジョブが失敗するか、次のいずれかのメッセージがログ・ファイルに示されます。

  • エラー1

    LDAP Error 53 : [LDAP: error code 53 - Full resync required. Reason: The provided cookie is older than the start of historical in the server for the replicated domain : dc=example,dc=com]
    
  • エラー2

    LDAP: error code 53 - Invalid syntax of the provided cookie
    

このエラーは、Oracle Unified Directoryが特定期間書き込まれなかったために、Oracle Unified Directory変更ログCookieのデータが期限切れになったことにより発生します。

解決策

  1. ブラウザを開いて、次の場所に移動します。

    http://igdadmin.example.com/sysadmin
    
  2. COMMON_IDM_PASSWORDを使用して、xelsysadmとしてログインします。

  3. 「システム管理」「スケジューラ」をクリックします。

  4. 「スケジュール済ジョブの検索」で、LDAP * (*の前にスペースあり)と入力し[Enter]を押します。

  5. 検索結果のジョブごとに、左側のジョブ名をクリックし、右側の「無効化」をクリックします。

    すべてのジョブに対してこれを行います。ジョブがすでに無効化されている場合には何もしません。

  6. LDAPHOST1で次のコマンドを実行します。

    cd LDAP_ORACLE_INSTANCE/OUD/bin
    ./ldapsearch -h LDAPHOST1 -p 1389 -D "cn=oudadmin" -b "" -s base "objectclass=*" lastExternalChangelogCookie
    
    Password for user 'cn=oudadmin': <OudAdminPwd>
    dn: lastExternalChangelogCookie: dc=example,dc=com:00000140c682473c263600000862;
    

    lastExternalChangelogCookie:に続く出力文字列をコピーします。この値は次のステップで必要になります。たとえば、

    dc=example,dc=com:00000140c682473c263600000862;
    

    16進数部は28文字の長さである必要があります。値が2つ以上の16進数部を持つ場合、28文字部分をスペースで分けます。たとえば:

    dc=example,dc=com:00000140c4ceb0c07a8d00000043 00000140c52bd0b9104200000042 00000140c52bd0ba17b9000002ac 00000140c3b290b076040000012c;
    
  7. 次の各LDAPリコンシリエーション・ジョブを1回ずつ実行し、最後の変更番号をリセットします。

    • LDAPロール削除のリコンシリエーション

    • LDAPユーザー削除のリコンシリエーション

    • LDAPロール作成および更新のリコンシリエーション

    • LDAPユーザー作成および更新のリコンシリエーション

    • LDAPロール階層のリコンシリエーション

    • LDAPロール・メンバーシップのリコンシリエーション

    ジョブを実行するには:

    1. OIMシステム管理コンソールにユーザーxelsysadmとしてログインします。

    2. 「システム構成」で、「スケジューラ」をクリックします。

    3. 「スケジュール済ジョブの検索」で、LDAP * (*の前にスペースあり)と入力し[Enter]を押します。

    4. 実行するジョブをクリックします。

    5. パラメータ「最終変更番号」をステップ6で取得した値に設定します。

      たとえば:

      dc=example,dc=com:00000140c4ceb0c07a8d00000043 00000140c52bd0b9104200000042 00000140c52bd0ba17b9000002ac 00000140c3b290b076040000012c;
      
    6. 「即時実行」をクリックします。

    7. リストのジョブごとに、このステップの最初から繰り返します。

  8. 最後の変更ログ番号がリセットされている増分リコンシリエーション・ジョブごとに、ジョブを実行し、ジョブが正常に完了したことを確認します。

  9. ジョブが正常に実行されたら、要件に従い、ジョブの定期的な実行を再有効化します。

増分ジョブを再有効化して正常に実行した後に、エラーが再度表示される場合(完全再同期が必要です。理由: 指定したCookieが古くなっています...)、OUD Cookieの保存期間を延ばします。この値に関する杓子定規はありませんが、問題を回避するには十分長くする一方、OUDでの不要なリソース消費を回避するには十分短くする必要があります。1-2週間で十分です。次のコマンドを各OUDインスタンスで実行して保存期間を2週間に延ばします。

cd OUD_ORACLE_INSTANCE/bin

./dsconfig set-replication-server-prop --provider-name "Multimaster Synchronization" --set replication-purge-delay:2w -D cn=oudadmin --trustAll -p 4444 -h LDAPHOSTn

Password for user 'cn=oudadmin':  <OudAdminPswd>
Enter choice [f]: f

Oracle Unified Directoryに対する実行時にOIMリコンシリエーション・ジョブが失敗する

問題

Oracle Unified Directory (OUD)に対する実行時にリコンシリエーション・ジョブが失敗します。OIM WebLogic Serverのログに次のエラーが示されます。

LDAP: error code 53 - Invalid syntax of the provided cookie

解決策

「Oracle Identity Managerのリコンシリエーション・ジョブが失敗する」に説明されている回避策を実行します。この回避策で問題が解決しない場合は、次の解決策を試します:

各OIMHOSTで、次のパラメータを使用してDOMAIN_HOME/config/fmwconfig/ovd/oim/adapters.os_xmlファイルを更新します:

<param name="eclCookie" value="false"/>

OIMおよびSOA管理対象サーバーを再起動します。

OIMセルフ・サービス・コンソールからレポートを開けない

問題

OIMセルフ・サービス・コンソールからレポートを開けません。

解決策

OIMでアイデンティティ監査機能を有効にする際、OIM-BI Publisher統合が問題なく機能するように、次の構成変更を実行します:

  1. IAMGovernanceDomainエンタープライズ管理コンソールにログインします。
  2. システムMBeanブラウザを開き、MBean "oracle.iam:Location=wls_oim1,name=Discovery,type=XMLConfig.DiscoveryConfig,XMLConfig=Config,Application=oim,ApplicationVersion=11.1.2.0.0"http://igdadmin.example.com/の値で更新します。

    ここで、igdadmin.example.comは、ガバナンス・ドメイン管理のロード・バランサのURLです。

保留中の違反の正しいリストが表示されない

問題

保留中の違反リストを表示すると、欠落しているエントリまたはリストに属さないエントリが表示されることがあります。

解決策

この問題が発生した場合は、通常、OIGドメインの再起動によって解決されます。問題が解決されない場合は、Oracleサポートにサービス・リクエスト(SR)を提出してください。

ドメインへのパッチ適用の失敗

問題

patch_oig_domain.shスクリプトを実行すると、OIGドメインへのパッチ適用が失敗します。

解決策

パッチの適用が失敗した場合は、次のコマンドを実行して問題を診断します:
$ kubectl describe domain <OIG_DOMAIN_NAME> -n <OIGNS>
たとえば:
kubectl describe domain governancedomain -n oigns

出力を使用して問題を診断し、解決します。また、詳細は、ログ・ディレクトリ(デフォルトでは$WORKDIR/kubernetes/domain-lifecycle内)を確認してください。

Oracle SOA Suiteのトラブルシューティング

Oracle SOA Suiteで発生する可能性があるトランザクション・タイムアウト・エラーと、問題を解決するために実行できるアクションについて学習します。

トランザクション・タイムアウト・エラー

問題

次のトランザクション・タイムアウト・エラーがログに表示されます:

Internal Exception: java.sql.SQLException: Unexpected exception while enlisting
 XAConnection java.sql.SQLException: XA error: XAResource.XAER_NOTA start()
failed on resource 'SOADataSource_soaedg_domain': XAER_NOTA : The XID
is not valid

解決策

トランザクション・タイムアウト設定を確認し、JTAトランザクション・タイムアウトがデータ・ソースXAトランザクション・タイムアウトよりも短いことを確認します(後者はデータベースでのdistributed_lock_timeoutよりも短い)。

出荷時の設定では、SOAデータ・ソースではXAタイムアウト値は設定されていません。Set XA Transaction Timeout構成パラメータはWebLogic Server管理コンソールでは確認されません。この場合、データ・ソースはドメイン・レベルのJTAタイムアウトを使用します。これは30に設定されています。また、データベースのdistributed_lock_timeoutのデフォルト値は60です。この結果、トランザクションにかかる時間がこれらの値よりも短いと想定されるシステムでは、SOA構成は正しく動作します。特定の操作に想定されるトランザクション時間に合せて、これらの値を調整します。

Coherenceクラスタのトラブルシューティング

問題

SOA/OIGポッドの起動時にCoherenceクラスタが形成に失敗します。

解決策

Coherenceの要件で説明されているステップを使用してクラスタが構成されていることを確認します。

OAM/OIG統合のトラブルシューティング

統合プロセス中に発生する可能性があるエラーと、そのエラーを修正するための解決策について学習します。

問題

バグ27567130に対処するために次の内容が追加されました

configureLDAPConnectorを実行中に、次のエラー・メッセージが表示されます:

2018-02-19 06:54:05] LDAPConnectorConfigTool.configureLDAPConnector:  exception: java.lang.reflect.UndeclaredThrowableException  [2018-02-19 06:54:05] javax.management.InstanceNotFoundException: Unable to  contact MBeanServer for  oracle.iam:Location=oim_server1,name=SSOIntegrationMXBean,type=IAMAppRuntimeMB  ean,Application=oim  at weblogic.utils.StackTraceDisabled.unknownMethod()

解決策

この原因は、OIM管理対象サーバーがoim_server1以外の名前で呼ばれていることです。次の回避策を実行することで、これから回復できます。

OIM管理対象サーバーが実行されていることを確認します。

  1. 次のURL http://igdadmin.example.com/emを使用して、Oracle Fusion Middleware Controlにログインします。
  2. WebLogicドメインを選択してシステムMBeanブラウザを起動してから、システムMBeanブラウザをクリックします。
  3. 「検索」をクリックして、Mbean名SSOIntegrationMXBeanを入力します。
  4. 「検索」をクリックします。
  5. MBeanが見つかったら、「操作」→「addContainerRules」をクリックします。
  6. 次の情報を入力します。
    Oracle_Home set to the value of IGD_ORACLE_HOME dirType. set to OUD   
    userContainer set to 
    cn=users,
    dc=example,
    dc=com    
    roleContatiner set to cn=groups,
    dc=example,dc=com
  7. 「起動」ボタンをクリックします。

Oracle Advanced Authenticationのトラブルシューティング

Oracle Advanced Authenticationで発生する可能性があるいくつかの一般的な問題と、問題を解決するために実行できるアクションについて学習します。

Oracle Databaseスキーマを作成するとエラーが発生する

問題

Oracle Databaseスキーマを作成すると、次のようなエラーが表示されます:

ORA-12521: TNS:listener does not currently know of instance requested in connect descriptor

解決策

database.nameパラメータが空であることを確認します。つまり、"="記号の後に値は表示されません。

OAAデプロイメントでエラーが発生する

問題

OAAをデプロイすると、次のメッセージが表示されます:

OAUTH validation failed
Oauth validation failed..
command terminated with exit code 1

解決策

詳細情報を得るには、OAA管理コンテナ内で次のコマンドを実行します:

/u01/oracle/scripts/validateOauthForOAA.sh -f
/u01/oracle/scripts/settings/installOAA.properties -d true

一般的なトラブルシューティング

WebLogicコンソールから管理対象サーバーを起動するときに発生する可能性があるエラーと、そのエラーを修正するための解決策について学習します。

WebLogicコンソールから管理対象サーバーを起動できない

問題

WebLogicコンソールから管理対象サーバーを起動すると、次のエラーが表示されます。

. For server WLS_BI1, the Node Manager associated with machine OIMHOST1 is not reachable.
. All of the servers selected are currently in a state which is incompatible with this operation or are not associated with a running Node Manager or you are not authorized to perform the action requested. No action will be performed.

解決策1

ターゲット・ホストでノード・マネージャが起動していることを確認します。稼動していない場合は起動します。

解決策2

ディレクトリSHARED_CONFIG_DIR/nodemanger/hostnameに配置されているファイルnodemanager.domainsに、ドメインがリストされていることを確認します。ない場合は、次の手順を実行します。

  1. ORACLE_HOME/oracle_common/common/bin/から次のコマンドを実行して、WebLogic Scripting Tool (WLST)を起動します。

    ./wlst.sh

  2. 次のコマンドを実行し、追加するドメインに接続します。

    connect('weblogic_user','password','t3://ADMINVHN:AdminPort')

    このコマンドで:

    weblogic_userは、WebLogic管理ユーザーです。たとえば、weblogicまたはweblogic_idmwなどです。

    passwordは、WebLogic管理ユーザーのパスワードです。

    ADMINVHNは、管理サーバーの仮想ホスト名です。たとえば、IGDADMINVHNまたはIADADMINVHNなどです。

    adminPortは、管理サーバーが実行されているポートです。たとえば、7101

    サンプル・コマンド:

    connect('weblogic_idm','<password>','t3://IGDADMINVHN.example.com:7001')

  3. 次のコマンドを使用して、ドメインを登録します。

    nmEnroll(domainDir=absolute_path_to_the_domain,nm_Home=absolute_path_to_the_nodemanager_home)

    たとえば:

    nmEnroll(domainDir='/u02/private/oracle/config/domains/IAMGovernanceDomain/',nmHome='/u01/oracle/config/nodemanger/hostname)')

    ノート:

    管理対象サーバーの場合は、常にドメインのホームをローカルの管理対象サーバーのディレクトリに指定する必要があります。

Kubernetesドメインのトラブルシューティング

Kubernetesドメインで発生する可能性があるいくつかの一般的な問題と、それらの問題を解決するために実行できるアクションについて学習します。

WebLogicドメインの作成に失敗する

問題

create-domain.shコマンドを実行すると、WebLogicドメインの作成に失敗します。

解決策

問題を診断するには:
  1. 次のコマンドを実行して、ドメイン作成ジョブを診断します:
    $ kubectl logs <domain_job> -n <domain_namespace>
    たとえば:
    $ kubectl logs accessinfra-create-fmw-infra-sample-domain-job-c6vfb -n accessns
    次も実行します:
    $ kubectl describe pod <domain_job> -n <domain_namespace>
    たとえば:
    $ kubectl describe pod accessinfra-create-fmw-infra-sample-domain-job-c6vfb -n accessns

    出力を使用して問題を診断し、問題を解決できます。

  2. 前述のコマンドのいずれかによって次のエラーが返された場合、PVおよびPVCのディレクトリに対する権限エラーがあることを示します:
    Failed to start container "create-fmw-infra-sample-domain-job": Error response from daemon: error while creating mount source path
    '/exports/IAMPVS/accessdomainpv ': mkdir /exports/IAMPVS/accessdomainpv : permission denied

    次を確認してください:

    1. ディレクトリに777権限があります: chmod -R 777 <work directory>/accessdomainpv
    2. 権限がある場合は、oracleユーザーが存在するかどうかと、UIDとGIDが1000に等しいかどうかを確認します。

      oracleユーザーが存在しない場合は作成して、UIDとGIDを1000に設定します。

    3. <work directory>/weblogic-kubernetes-operator/kubernetes/samples/scripts/create-access-domain-pv-pvc/create-pv-pvc-inputs.yamlファイルを編集し、weblogicDomainStoragePathパラメータのディレクトリの最後にスラッシュを追加します:
      weblogicDomainStoragePath: /exports/IAMPVS/accessdomainpv/

問題を解決したら、ジョブを削除して再試行します。

ジョブを削除するには、コマンドを使用します:
kubectl -n <NAMESPACE> get all -o wide
これにより、次のようにジョブの名前がリストされます:
accessdomain-create-oam-infra-domain-job-b6kfd
ここで、次のコマンドを使用して、リストされたジョブを削除します:
kubectl delete job -n <NAMESPACE> <JOBNAME>
たとえば:
kubectl delete job -n oamns accessdomain-create-oam-infra-domain-job

ドメインが起動しない

問題

ドメインが起動しません。

解決策

管理サーバー・ポッドが起動していることがわかる場合は、次のコマンドを使用して管理サーバーにログインし、サーバー・ログ・ファイルを確認します:
kubectl exec -n <NAMESPACE> -ti <DOMAIN_NAME>-adminserver -- /bin/bash
管理サーバーおよび管理対象サーバーが表示されない場合は、WLS Operatorログを確認します:
kubectl logs -n opns weblogic-operator-<ID>

WebLogic Operatorがネームスペースの管理に失敗する

問題

Operatorログにメッセージが表示されます
\":\"configmaps is forbidden: User \\\"system:serviceaccount:opns:op-sa\\\" cannot watch resource

解決策1

次のコマンドを使用して、Operatorが管理できるネームスペースを確認します:
kubectl get ns --selector="weblogic-operator=enabled"

ネームスペースがリストに表示されない場合は、ネームスペースにweblogic-operator=enabledのタグが付いていることを確認します。構成する製品のネームスペースを作成する手順を参照してください。

すべてのネームスペースがリストされている場合は、WebLogic Operatorインストールに指定された値を確認して、ラベルベースのネームスペース管理を有効にしていることを確認します。確認するには、次のコマンドを使用します:
helm get values --namespace opns weblogic-kubernetes-operator

解決策2

以前のリリースのWebLogic Operatorと同様に名前付きネームスペースを使用している場合、ネームスペースの管理は許可されません。次のコマンドを実行します:
helm upgrade --reuse-values --namespace <operator namspace> --set "domainNamespaces={<namespace>}" --wait weblogic-kubernetes-operator kubernetes/charts/weblogic-operator