A Oracle Identity Managerのアップグレードのトラブルシューティング

Oracle Identity Manager14c (14.1.2.1.0)へのアップグレード中またはアップグレード後にエラーが発生した場合は、次のトラブルシューティング手順を確認してください。

エラーCFGFWK-60953: アプリケーションまたはライブラリが新しいMWホームに再配置されませんでした

元のMiddlewareホームにデプロイメントが残っている場合、再構成テンプレートでエラーが発生する可能性があります。再構成ウィザードを実行する前に、Middlewareホームからデプロイメントを削除する必要があります。

12.2.1.3.0 で作成されてから12.2.1.4.0にアップグレードされたドメインで再構成ウィザードを実行すると、ドメインに余分なデプロイメントが残っている場合にエラーが発生する可能性があります。

エラーの詳細に従って再構成テンプレートを修正してください。この場合、これは"jax-rs(2,2.22.4.0)"ライブラリであり、14cにアップグレードされる環境が12.2.1.3.0から12.2.1.4.0にアップグレードされた場合にのみ見られます。
  1. 12c WebLogic管理コンソールを使用した、OAM WebLogicドメインのWLS管理コンソールへのアクセスおよびログイン
  2. 「デプロイメント」を選択します
  3. 「jax-rs(2,2.22.4.0)」というデプロイメントにナビゲートし、チェックボックスを選択します。
  4. 「削除」をクリックします。

Reconfig.sh OPSS処理フェーズでORA-00001が生成される

OPSSスキーマは、順序を使用して、その表の一部の次の値を生成します。順序の次の値の1つまたは一部が表の最大値より小さい場合は、それらを変更する必要があります。

OPSSスキーマで、次を実行します。

SELECT sequence_name, last_number FROM all_sequences WHERE sequence_owner = '<Prefix>_OPSS'; 

SELECT sequence_name......問合せでは、様々な表に使用される次の順序番号としてデータベースに示されるものが表示されます。

次の問合せを実行します。

Select max(entryid) from jps_dn;
Select max(jps_attrs_id) from jps_attrs; 
Select max(logid) from jps_changelog;

これらのいずれかがsequence_name問合せからのものより大きい数値を返す場合は、その順序を1つ大きい値に増やします。

ALTER SEQUENCE xxx INCREMENT BY N 

xxxは、last_number以上の順序です

Nは、jps-dn, jps_attrsおよびjps_changelog問合せで返された値より大きくします

再構成ウィザードをもう一度実行します。

Oracle Identity ManagerサーバーでOutOfMemoryErrorが発生する

アップグレード後にサーバーを起動する際、OutOfMemoryErrorが発生します。

OIMサーバー・ログにこの問題に関する次のエラーが示されます。

[oim_server1] [NOTIFICATION] [] 
[oracle.iam.oimdataproviders.impl] [tid: [ACTIVE].ExecuteThread: '9' for 
queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 
5679ce10-f0df-457f-88f1-6bc04e10aa13-000013b1,0] [APP: oim-runtime] 
[partition-name: DOMAIN] [tenant-name: GLOBAL] [DSID: 
0000Lg0PPYTBd5I_Ipt1if1OpGGi00000U] RM_DEBUG_PERF - 2017-03-24 06:09:51.087 - 
search criteria = arg1 = (usr_key) EQUAL arg2 = (1)[[ 
 query = Select usr.usr_key, usr.usr_status  from usr where usr.usr_key = ? 
 time = 1 
]] 
[2017-03-24T06:09:52.286-07:00] [oim_server1] [NOTIFICATION] [] 
[oracle.iam.oimdataproviders.impl] [tid: [ACTIVE].ExecuteThread: '9' for 
queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 
5679ce10-f0df-457f-88f1-6bc04e10aa13-000013b1,0] [APP: oim-runtime] 
[partition-name: DOMAIN] [tenant-name: GLOBAL] [DSID: 
0000Lg0PPYTBd5I_Ipt1if1OpGGi00000U] 
oracle.iam.oimdataproviders.impl.OIMUserDataProvider 
[2017-03-24T06:11:52.171-07:00] [oim_server1] [ERROR] [ADFC-50018] 
[oracle.adfinternal.controller.application.AdfcExceptionHandler] [tid: 
[ACTIVE].ExecuteThread: '27' for queue: 'weblogic.kernel.Default 
(self-tuning)'] [userId: xelsysadm] [ecid: 
5679ce10-f0df-457f-88f1-6bc04e10aa13-000013e0,0] [APP: 
oracle.iam.console.identity.self-service.ear] [partition-name: DOMAIN] 
[tenant-name: GLOBAL] [DSID: 0000Lg0RtM9Bd5I_Ipt1if1OpGGi00000V] ADFc: No 
exception handler was found for an application exception.[[ 
java.lang.OutOfMemoryError: GC overhead limit exceeded ]

この問題を解決するには、次のようにします(Linuxの場合)。

  1. /etc/security/limits.confファイルの次のパラメータに対して、指定した値が設定されていることを確認します。
    FUSION_USER_ACCOUNT soft nofile 32767
    FUSION_USER_ACCOUNT hard nofile 327679
  2. /etc/ssh/sshd_configファイルで、UsePAMYesに設定されていることを確認します。
  3. sshdを再起動します。
  4. システムをログアウト(または再起動)し、再度ログインします。
Oracle Identity Manager 12cサーバーを起動する前に、次のコマンドを実行して開いているファイルの制限値を増やしてメモリーの問題が発生しないようにします。

limit maxproc 16384

UPDATE_WORKFLOW_POLICIESブートストラップ後タスクの失敗

アップグレード後にOIM管理対象サーバーを起動すると、UPDATE_WORKFLOW_POLICIESブートストラップ後タスクが失敗します。

OIM管理対象サーバーに次のエラー・メッセージが表示されます。
Update WF policies started. Update SOA composite name from
default/DefaultRequestApproval!5.0 to default/DefaultRequestApproval!6.0>
<Apr 13, 2021 5:09:50,451 PM UTC> <Error> <OIM Authenticator> <BEA-000000>
<Authentication of user xelsysadm failed because of invalid password>

CSFキーのOIM管理者パスワードが正しくないため、OIM管理対象サーバーが失敗します。

解決方法

OIM管理者(xelsysadm)パスワードが、次のCSFキーと同一で正しいことを確認します。

表A-1 OIM管理対象サーバーのCSFキー

シリアル番号 CSFマップ CSFキー

1.

oracle.wsm.security

OIMAdmin

2.

oim

sysadmin

CSFキーのパスワードを修正するには:

  1. WebLogic管理者の資格証明を使用して、Oracle Enterprise Manager Consoleにログインします。
  2. 「WebLogicドメイン」ドロップダウン・メニューから、「セキュリティ」「資格証明」を順に選択します。
  3. 「資格証明」ページで、oim CSFマップを展開し、sysadmin CSFキーを選択してから、「編集」アイコンをクリックして、ポップアップ・ウィンドウでXELSYSADM資格証明を変更します。
  4. oracle.wsm.security CSFマップの下のOIMAdmin CSFキーについてステップ3を繰り返します。

アップグレードされた設定のOIM管理対象サーバーを再起動すると、MDSのカスタマイズが削除される

14c (14.1.2.1.0)へのアップグレードが成功した後にMDSのカスタマイズが行われ、OIM管理対象サーバーの再起動後にそのカスタマイズが失われた場合、MDSの変更をリカバリできません。MDSのカスタマイズを再度実行する必要があります。

管理対象サーバーを再起動するたびにこの問題が発生しないようにするには、アップグレードの前に、既存の14c (14.1.2.1.0)_ORACLE_HOME>/idm/server/apps/oim.ear/metadata.tarファイルを、14c (14.1.2.1.0)バイナリのインストール後に同じ場所にあるファイルで置き換えます。

ノート:

この問題は、12cへのアップグレードが成功した後に行われたが、OIM管理対象サーバーの再起動後に失われたMDSのカスタマイズにのみ適用されます。

アップグレード前のタスクの一環として、14c (14.1.2.1.0)バイナリのインストール後、元の14c (14.1.2.1.0)_ORACLE_HOME>/idm/server/apps/oim.ear/metadata.tarファイルのバックアップがすでに取得されています。「metadata.marファイルの手動バックアップ」を参照してください。

バイナリのインストール後に元のファイルのバックアップが存在しない場合は、14c (14.1.2.1.0)バイナリを一時的な場所にインストールし、ファイルを抽出する必要があります。

HA設定の場合、元の14c (14.1.2.1.0)_ORACLE_HOME>/idm/server/apps/oim.ear/metadata.tarファイルは、アップグレード・ブートストラップが実行されなかったセカンダリ・ノードに存在します。

'fuser'コマンドが見つからないためにOPatchが失敗する

fuserコマンドが見つからない場合、OPatchは失敗します。

OPatchは、コマンドラインで次のエラーで失敗します:

Verifying environment and performing prerequisite checks...
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Exception occured : fuser could not be located:
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: <PATH>/fmw/cfgtoollogs/opatch/opatch20xx-0x-20_11-40-12AM_1.log

この問題を解決するには、次のオプションを使用できます:

OPatchがfuserを無視し、パッチ適用を続行するための引数を渡します:

  1. 環境変数OPATCH_NO_FUSER=trueを設定します。この変数を"true"に設定すると、アクティブな実行可能ファイルのチェックをスキップするようにOPatchに通知されます。
  2. WebLogicインスタンスを停止します。
  3. OPatchユーティリティを実行します。
一時的なfuserを設定します:
  1. PATHに/tmpを設定します。
  2. "fuser"という名前の空のファイルを作成します。
  3. WebLogicインスタンスを停止します。
  4. OPatchユーティリティを実行します。
'fuser'ユーティリティをインストールします:
  1. マシンに'fuser'ユーティリティをインストールします(OS管理者に問い合せてください)。
  2. 'fuser'が/sbin/fuserまたは/bin/fuserにあることを確認します。
  3. WebLogicインスタンスを停止します。
  4. OPatchユーティリティを実行します。

アップグレード後に管理サーバーの起動が遅くなる

アップグレード後に管理サーバーが起動するまでに時間がかかります。

スレッド・ダンプには次の情報が表示されます:
[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default
(self-tuning)'" #76 daemon prio=5 os_prio=0 tid=0x00007f4fcc008000 nid=0x20c6
runnable [0x00007f4fbc2d6000]
  java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:255)
at sun.security.provider.NativePRNG$RandomIO.readFully(NativePRNG.java:424)
at
sun.security.provider.NativePRNG$RandomIO.implGenerateSeed(NativePRNG.java:441
)
- locked <0x0000000640b92be8> (a java.lang.Object)
at sun.security.provider.NativePRNG$RandomIO.access$500(NativePRNG.java:331)
at sun.security.provider.NativePRNG.engineGenerateSeed(NativePRNG.java:226)
at java.security.SecureRandom.generateSeed(SecureRandom.java:546)
at
com.bea.security.utils.random.AbstractRandomData.ensureInittedAndSeeded(Abstra
ctRandomData.java:92)
- locked <0x000000075b7af6b8> (a
com.bea.security.utils.random.SecureRandomData)
at
com.bea.security.utils.random.AbstractRandomData.getRandomLong(AbstractRandomD
ata.java:117)
- locked <0x000000075b7af6b8> (a
com.bea.security.utils.random.SecureRandomData)

この問題を解決するには、setDomainEnv.sh/cmdファイルのJAVA_OPTIONSセクションで-Djava.security.egd=file:/dev/./urandomパラメータを設定し、サーバーを再起動します。

Upgrade Assistantの実行後にOIMサーバーを起動するとNPEが発生する

ドメイン構成をアップグレードするためのUpgrade Assistantの実行後にOIMサーバーを起動すると、Nullポインタ例外(NPE)が発生します。

OIMサーバーの起動に失敗し、次のエラー・メッセージが表示されます:
Exception[[
java.lang.NullPointerException
   at
oracle.iam.rcu.LoadTemplateDataLogger.writeLog(LoadTemplateDataLogger.java:31)

   at
oracle.iam.rcu.LoadTemplates.loadAllTempalteImplementation(LoadTemplates.java:
113)
   at oracle.iam.rcu.LoadTemplates.loadAllTemplates(LoadTemplates.java:168)
   at
oracle.iam.OIMPostConfigManager.config.OIMConfigManager.seedNotificationTempla
te(OIMConfigManager.java:2866)
   at
oracle.iam.OIMPostConfigManager.config.OIMConfigManager.executeAndRegisterTask
(OIMConfigManager.java:1754)
   at
oracle.iam.OIMPostConfigManager.config.OIMConfigManager.configureOIM(OIMConfig
Manager.java:1558)
   at
oracle.iam.OIMPostConfigManager.config.OIMConfigManager.doExecute(OIMConfigMan
ager.java:1179)
   at
oracle.iam.OIMPostConfigManager.appListener.BootStrapListener.preStart(BootStr
apListener.java:134) 

このエラーを解決するには、setDomainEnv.shファイルのORACLE_HOMEの値に/idmを含める必要があります。

たとえば: /u01/oracle/product/ORACLE_HOME/idm

カスタム・アプリケーションJARが存在するため、OIMブートストラップが失敗する

OIM_HOME内にカスタム開発ライブラリまたはJARが配置されている場合、Oracle Identity Manager 14c (14.1.2.1.0)へのアップグレード中にOIMブートストラップが失敗します。

失敗すると、次のようなエラー・メッセージが生成されます:
<Server state changed to FORCE_SHUTTING_DOWN.>
<Nov 19, 2020 4:04:50,356 PM EST> <Notice> <Log Management> <BEA-170037> <The
log monitoring service timer has been stopped.>
<Nov 19, 2020 4:06:16,377 PM EST> <Warning> <JMX> <BEA-149513> <JMX Connector
Server stopped at
service:jmx:iiop://idmoimtl3.chop.edu:14000/jndi/weblogic.management.mbeanserv
ers.runtime.>
<Nov 19, 2020 4:15:43,045 PM EST> <Error> <netuix> <BEA-423142> <The control
com.bea.netuix.servlets.controls.layout.Layout could not be rendered properly
due to the following error:>
<Nov 19, 2020 4:15:44,356 PM EST> <Warning> <Socket> <BEA-000449> <Closing
the socket, as no data read from it on 10.250.116.181:54,532 during the
configured idle timeout of 5 seconds.>
<Nov 19, 2020 4:17:57,525 PM EST> <Warning> <J2EE> <BEA-160188> <Unresolved
application library references, for application
oracle.iam.console.identity.self-service.ear, defined in
weblogic-application.xml: [Extension-Name: oracle.iam.ui.model, exact-match:
false].>
<Nov 19, 2020 4:17:57,810 PM EST> <Warning> <J2EE> <BEA-160188> <Unresolved
WebApp library references defined in weblogic.xml, of module
'oracle.iam.console.identity.self-service.war' [Extension-Name:
oracle.iam.ui.view, exact-match: false], [Extension-Name:
oracle.iam.ui.oia-view, exact-match: false], [Extension-Name:
oracle.iam.ui.custom, exact-match: false], [Extension-Name:
oracle.idm.msm.ui.library, exact-match: false].>
java.lang.ClassNotFoundException:
oracle.iam.ui.platform.view.backing.SkinBean at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoad
er.java:1029) at
weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.ja
va:990)  at
weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.
java:611) at
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.ja
va:543) at
weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(Annot
ationProcessingManager.java:105) at
weblogic.servlet.tools.WARModule.processAnnotations(WARModule.java:513) at
weblogic.servlet.tools.WARModule.processAnnotations(WARModule.java:605) at
weblogic.servlet.tools.WARModule.merge(WARModule.java:553) at
weblogic.application.compiler.ToolsModuleWrapper.merge(ToolsModuleWrapper.java
:96) at
weblogic.application.utils.CustomModuleManager.merge(CustomModuleManager.java:
78) at
weblogic.application.compiler.flow.MergeModuleFlow.compile(MergeModuleFlow.jav
a:38) at
weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:
70) at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.jav
a:45) at
weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)  
weblogic.application.compiler.flow.AppMergerFlow.mergeInput(AppMergerFlow.java
:75)at
weblogic.application.compiler.flow.AppMergerFlow.compile(AppMergerFlow.java:40
) at
weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:
70) at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.jav
a:45) at
weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37) at
weblogic.application.compiler.AppMerge.runBody(AppMerge.java:168) at
weblogic.utils.compiler.Tool.run(Tool.java:159) at
weblogic.utils.compiler.Tool.run(Tool.java:116) at
weblogic.application.compiler.AppMerge.merge(AppMerge.java:198) at
weblogic.deploy.api.internal.utils.AppMerger.merge(AppMerger.java:94)at
weblogic.deploy.api.internal.utils.AppMerger.getMergedApp(AppMerger.java:58)
at
weblogic.deploy.api.model.internal.WebLogicDeployableObjectFactoryImpl.createD
eployableObject(WebLogicDeployableObjectFactoryImpl.java:186) at
weblogic.deploy.api.model.internal.WebLogicDeployableObjectFactoryImpl.createD
eployableObject(WebLogicDeployableObjectFactoryImpl.java:167)at
com.bea.console.utils.DeploymentConfigurationHelper$1.execute(DeploymentConfig
urationHelper.java:860) at
com.bea.console.utils.DeploymentUtils.runDeploymentAction(DeploymentUtils.java
:5690) at
com.bea.console.utils.DeploymentConfigurationHelper.initDeploymentConfiguratio
n(DeploymentConfigurationHelper.java:848) at
com.bea.console.utils.DeploymentConfigurationHelper.completeInitialization(Dep
loymentConfigurationHelper.java:444) at
com.bea.console.utils.DeploymentConfigurationManager.getDeploymentConfiguratio
n(DeploymentConfigurationManager.java:151) at
com.bea.console.utils.DeploymentConfigurationManager.getDeploymentConfiguratio
n(DeploymentConfigurationManager.java:104) at

この問題を解決するために、Oracleでは、カスタム開発されたJARまたはライブラリをOIM_HOME内に保持しないようにして、ファイル・システムの依存関係を回避することをお薦めします。ファイル・システムの依存関係によって、アウトオブプレースOracleホームのアップグレード中にこのようなカスタム・ライブラリを維持するオーバーヘッドが追加されます。これは、そのようなカスタムJARが古いOracleホーム(アップグレード・プロセス前のOracleホーム)に残るためです。

このような問題を回避するには、カスタム・ライブラリをデータベースにアップロードする必要があります。カスタム・ライブラリがOIMプラグイン圧縮(.zip)形式の場合は、プラグイン・ユーティリティを使用して登録します。カスタム・ライブラリがJARの場合は、JARのアップロード・ユーティリティを使用してデータベースに同じものをアップロードします。

何らかの理由で前述の推奨事項に従わない場合は、カスタム開発したJARを古いOracleホームから適切な場所の新しいOracleホームに手動でコピーできます。

パスワード・リセット電子メールの不正なリンク

OIGシステムで生成されたパスワード・リセット電子メールにはapplewebdata://<ANY_RANDOM_GUID>/null形式のリンクがありますが、これは正しくありません。

この問題を解決するには、次の手順を実行して、OIMExternalFrontEndURLパラメータをOIMのDiscovery MBeanの正しい値で更新します。
  1. Enterprise Managerコンソールにログインします。
  2. システムMBeanブラウザにナビゲートします。
  3. 「アプリケーション定義のMBean」で、「oracle.iam」に移動し、「サーバー <server>」を選択して「アプリケーション: oim」をクリックします。さらに、「XMLConfig」をクリックして「構成」を選択し、「XMLConfig.DiscoveryConfig」を選択して、「検出」をクリックします。
  4. OIMExternalFrontEndURLパラメータを適切な値で更新します。このパラメータは空白にできません。