About Me

Anjum Ara I am a technology enthusiast, an ardent reader. My latest interest is virtualization. In my free time, I love understanding child nutrition, child holistic development. I bake, read, paint, and do whatever it takes to improve myself every day.

Sunday, May 30, 2021

Starting OHS with stored nodemanager password EPM 11.2.5

 


The password can be saved in a key file to avoid the password prompt each time on starting the OHS. 

                  

                           startComponent.cmd OHS_component StoreUserConfig





Java Version


 D:\Oracle\Middleware\jdk\bin>java -version

java version "1.8.0_251"

Java(TM) SE Runtime Environment (build 1.8.0_251-b08)

Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

Share:

Wednesday, May 19, 2021

First Light - EPM 11.2.4 to EPM 11.2.5 Maintenance Update

The EPM 11.2.X application can be upgraded to the latest version EPM 11.2.5 running the installer and selecting  "Apply Update" option and then running the configurator.




The update was straightforward but I found a few experiences worth sharing. 

1. Weblogic Admin server and the managed servers did not start.  

The FAN (Fast Application Notification) is auto-enabled encountered the following error 

A MultiException has 2 exceptions. They are:

1. java.lang.IllegalArgumentException: ONS configuration failed

2. java.lang.IllegalStateException: Unable to perform operation: post construct on oracle.security.jps.wls.JpsDefaultService

to resolve this add below option to the setDomainEnv.cmd

set JAVA_OPTIONS=%JAVA_OPTIONS% -Doracle.jdbc.fanEnabled=false

and restart the Admin server.

This was strange as we have 2 environments, PROD & DEV both are on Oracle DB cluster with GRID infrastructure enabled but it occurred in only one environment. In the recent Weblogic the auto-ONS is enabled for FAN, unless you need to explicitly configure the option is not required.

Read more on this Oracle blog : ONS Configuration in Weblogic

2. FDMEE - ODI related artifacts vanished

If you have created custom ODI objects like packages they are deleted. The best solution is to backup the FDMEE schema before applying the update or take a smart export of the ODI objects.


3. Managed servers did not start via the service panel

  • Missing JRF path in registry needs to be fixed

                    Follow these steps to fix it JRF & ONS/FAN 

  • Create logs folder manually in the managed server location for the first time to start the services via the start.bat script or through the service panel




4. Java folder no longer comes with version details

  • The java folder is not numbered unlike before it comes with a generic 'jdk' folder which I believe is great for all future Java updates

                  New folder             D:\Oracle\Middleware\jdk

  • The version of Java is Java 1.8.0_251

                  


5. ODI studio packaged with this EPM version work directly 

The ODI studio packaged with the EPM 11.2.5 works straight out of the box  

        Location        D:\Oracle\Middleware\odi\studio


6. The script startManagedWeblogic.cmd points to incorrect Weblogic Admin Server Hostname

The script picks up the incorrect hostname instead of the Admin Server hostname 

             set ADMIN_URL=http://<adminserver>:<adminserverPort>


7. The status of the managed servers deployed on distributed environment shows "UNKNOWN" in Enterprise Manager






Share:

Disable Fast Application Notification (FAN) in Weblogic shipped with EPM 11.2.5

The EPM managed services won't start even with setting up the setDomainEnv.cmd to disable the FAN notifications. Tried all my luck to redeploy, change the configuration in oracle_common and recreate the domain, set the domain properties finally tried to set the java arguments in the registry and it worked.

Here is some explanation why this is caused:

To support Fast Application Notifications (FAN), Oracle databases configure GRID (Oracle Grid Infrastructure). GRID is typically associated with (and required by) Oracle RAC databases but can also be used in other configurations. Oracle Autonomous Database-Serverless (ATP-S) does not provide GRID.

When connecting to a database that does not have GRID, the only type of WebLogic Server data source that is supported is the Generic Data Sources. Multi Data Sources and Active GridLink data sources cannot be used because they work with RAC.

WebLogic Server 12.2.1.3.0 shipped with the 12.2.0.1 Oracle driver. When connecting with this driver to a database that does not have GRID, you will encounter the following exception


Issue:


Logs:

A MultiException has 2 exceptions.  They are:

1. java.lang.IllegalArgumentException: unable to create ONS subscriber with properties provided

2. java.lang.IllegalStateException: Unable to perform operation: post construct on oracle.security.jps.wls.JpsDefaultService


Solution

I had this issue on Windows server hence updating only the Windows OS solution currently.

1. Go to Windows Registry 

2. Navigate to the Hyperion Component 

3. Add a Key JVMOptionX (X is the 1 more than the existing JVMOptionCount) and add the following value

 -Doracle.jdbc.fanEnabled=false

4. Update the JVMOptionCount to X+1 than the existing value. In this case it is Decimal 33 

Example:



5. Start the application services




Share:

Tuesday, May 18, 2021

Starting managed servers on a new distributed environment EPM 11.2.X

 In a NEW distributed environment where the Weblogic Admin server is on a different server than the managed services like Planning, FR etc the services won't start unless we add this following entries in the Windows Registry. The java class path needs to point to the weblogic jrf. 


Managed server logs

Error

SecurityProvider service class name for Trust Service Identity Asserter is not specified

Solution:

1. Go to 

 D:\Oracle\Middleware\user_projects\epmsystem1\bin\deploymentScripts\installServiceScripts

2. Edit the .reg files for each managed server edit the file and add this entry to the Java Class Path

Djava.class.path

D:\\Oracle\\Middleware\\oracle_common\\modules\\internal\\features\\jrf_wlsFmw_oracle.jrf.wls.classpath.jar;

example:
"JVMOption7"="-Djava.class.path=D:\\Oracle\\Middleware\\oracle_common\\modules\\features\\com.oracle.db.jdbc7-dms.jar;D:\\Oracle\\Middleware\\jdk1.8.0_181\\lib\\tools.jar;D:\\Oracle\\Middleware\\wlserver\\server\\lib\\weblogic.jar;D:\\Oracle\\Middleware\\oracle_common\\modules\\thirdparty\\ant-contrib-1.0b3.jar;D:\\Oracle\\Middleware\\wlserver\\modules\\features\\oracle.wls.common.nodemanager.jar;D:\\Oracle\\Middleware\\oracle_common\\modules\\internal\\features\\jrf_wlsFmw_oracle.jrf.wls.classpath.jar;D:\\Oracle\\Middleware\\oracle_common\\modules\\datadirect\\*;D:\\Oracle\\Middleware\\wlserver\\common\\derby\\lib\\derbynet.jar;D:\\Oracle\\Middleware\\wlserver\\common\\derby\\lib\\derbyclient.jar;D:\\Oracle\\Middleware\\wlserver\\common\\derby\\lib\\derby.jar;D:\\Oracle\\Middleware/oracle_common/modules/groovy-all-1.6.0.jar;"

3. Import the registry (Best practice: backup registry before importing)
4. Restart the services from the service panel

Update 
-------
Easier method

1. Go to Windows Registry Run> Regedit.msc
2. Find the HKEY_LOCAL_MACHINE > SOFTWARE > HYPERION SOLUTIONS >COMPONENTNAME (HyS9CALC_epmsystemKDD_DEV)
3. Find the JVMOption key for Djava.class.path edit it and add 
D:\Oracle\Middleware\oracle_common\modules\internal\features\jrf_wlsFmw_oracle.jrf.wls.classpath.jar;
4. Restart the services

Note: Start the services from the Services Panel and not command line. 










Detailed log

There are 1 nested errors:


weblogic.security.service.SecurityServiceRuntimeException: weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: com.bea.common.engine.SecurityServiceRuntimeException: [Security:097533]SecurityProvider service class name for Trust Service Identity Asserter is not specified.

at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initializeRealms(CommonSecurityServiceManagerDelegateImpl.java:925)

at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.preInitialize(CommonSecurityServiceManagerDelegateImpl.java:1241)

at weblogic.security.service.SecurityServiceManager.preInitialize(SecurityServiceManager.java:570)

at weblogic.security.PreSecurityService.start(PreSecurityService.java:141)

at weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:76)

at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1287)

at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:333)

at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:375)

at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)

at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305)

at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)

at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)

at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)

at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:698)

at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:78)

at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212)

at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235)

at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358)

at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)

at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305)

at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)

at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)

at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)

at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:698)

at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:78)

at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212)

at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235)

at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358)

at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)

at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305)

at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)

at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)

at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)

at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:698)

at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:78)

at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212)

at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235)

at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358)

at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)

at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305)

at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)

at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)

at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)

at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:698)

at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:78)

at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212)

at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235)

at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358)

at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)

at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:305)

at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)

at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)

at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)

at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90)

at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1237)

at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1168)

at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$UpOneLevel.run(CurrentTaskFuture.java:786)

at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:681)

at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)

at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)

at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)

at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)

at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:655)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)

Caused by: weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: com.bea.common.engine.SecurityServiceRuntimeException: [Security:097533]SecurityProvider service class name for Trust Service Identity Asserter is not specified.

at weblogic.security.service.CSSWLSDelegateImpl.initializeServiceEngine(CSSWLSDelegateImpl.java:341)

at weblogic.security.service.CSSWLSDelegateImpl.initialize(CSSWLSDelegateImpl.java:218)

at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.InitializeServiceEngine(CommonSecurityServiceManagerDelegateImpl.java:2017)

at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initializeRealm(CommonSecurityServiceManagerDelegateImpl.java:499)

at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.loadRealm(CommonSecurityServiceManagerDelegateImpl.java:846)

at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initializeRealms(CommonSecurityServiceManagerDelegateImpl.java:908)

... 67 more

Caused by: com.bea.common.engine.ServiceInitializationException: com.bea.common.engine.SecurityServiceRuntimeException: [Security:097533]SecurityProvider service class name for Trust Service Identity Asserter is not specified.

at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:365)

at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:315)

at com.bea.common.engine.internal.ServiceEngineImpl.lookupService(ServiceEngineImpl.java:257)

at com.bea.common.engine.internal.ServicesImpl.getService(ServicesImpl.java:72)

at weblogic.security.service.internal.WLSIdentityServiceImpl.initialize(WLSIdentityServiceImpl.java:47)

at weblogic.security.service.CSSWLSDelegateImpl.initializeServiceEngine(CSSWLSDelegateImpl.java:297)

... 72 more

Caused by: com.bea.common.engine.SecurityServiceRuntimeException: [Security:097533]SecurityProvider service class name for Trust Service Identity Asserter is not specified.

at com.bea.common.security.internal.legacy.service.SecurityProviderImpl.init(SecurityProviderImpl.java:42)

at com.bea.common.engine.internal.ServiceEngineImpl.findOrStartService(ServiceEngineImpl.java:363)

... 77 more



Share: