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.

Tuesday, September 14, 2021

EPRCS Series: Tips & Tricks: Does your doclet generate overlapped preview?

 Working on Narrative Reporting Tool with word format can be tricky. Does your preview overlap and look like this?



It is merging two doclets due to incorrect formatting. Let us fix this:

1. Open the doclet > Check Out

2. Simple trick is to insert a textbox to easily move the content around the doclet.

3. Format the textbox as shown below to make it invisible and appear as a part of the doclet



4. Layout for the textbox:

 


5. Embed the content/table/referenced ranges inside the textbox
6. Check-in
7. Preview the report again:




Share:

Tuesday, September 7, 2021

EPRCS Series : Uploading Additional Fonts

 Oracle recommends uploading any custom fonts or additional fonts to the EPRCS cloud instance to generate a pixel-perfect 'preview'. 

On the reference doclet click on "Valdiate Fonts" and view the warning.



Only .ttf are supported. You can upload as follows

1. Go to Library > Fonts

2. You can create a separate folder to organize it

3. Select the TTF file or zip file and upload.

If there are any duplicates it will warn and import the rest of the fonts. 



Share:

Thursday, July 29, 2021

What's new with EPM 11.2.6 ?

As promised Oracle has released a new version of EPM this July and here is a quick summary of the fixes.



New Release:

  • MS SQL Server 2019 supported
  • Essbase Studio removed from EPM Installer 
  • Automation of the process of uninstalling or updating Fusion Middleware patches as needed during Apply Update.
  • Premier Support is provided through at least 2030
  • Updated Oracle HTTP Server
  • Support for any identity management product that supports header-based authentication
  • Certification of Oracle Hyperion Planning Release 11.2.x with OGNL 3.2.18.
  • Install and configure all the WebLogic instances on the same OS except for Essbase which can be on a different OS
  • Documentation of database password change procedure in the Oracle Enterprise Performance Management System Deployment Options Guide .

 


Install and configure all the WebLogic instances on the same OS except for Essbase which can be on a different OS. 

 

Supported Upgrade Paths:

 



 EPM 11.1.2.4 to EPM 11.2.X

 

 


 What's in store for EPM 11.2.7?

·       Support for Visual Basic will be removed for all FDMEE customers in Release 11.2.7. Customers should migrate to Jython as the scripting language

·       FDMEE-SAP adapter, SAP adapter will be certified

 

 

 

Share:

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:

Thursday, April 22, 2021

Format EPMA Hierarchy into DRM Format Hierarchy

EPMA is deprecated from the EPM 11.2.X Version so one impending question is "What about our EPMA applications?" 

There are two options 
  • Convert EPMA applications to Classic application
  • Use DRM to manage the metadata

I intend to write a series on each step required to convert EPMA app to DRM compliant application and one of the first step is re-formatting the ADS file exported from the EPMA into a DRM readable format.


                                

Pre-requisites
Description:
               The formatting is done as below
  • The Dimension section is converted to 'hierarchy' in the DRM
    • !Section=Dimensions to [hier]
  • The Hierarchies section is converted to 'relations' in the DRM
    • !Hierarchies=Scenario to [relation]
  • Delimiter supported is | and ;
  • There is no header line in the exported DRM format file as it does not support header description
  • The field names should not have a comma 
Steps:
     
  • Set Java in the environment variables
  • Command : java DRM_ADS ads_orig.txt ads_drmformat.txt 

       

Share:

Monday, April 12, 2021