Thursday, 2 April 2020

EPM 11.2.1: Downloads, Verification and Unzipping

So Oracle Hyperion EPM 11.2.1 has been released! For more information on that read here:
https://blogs.oracle.com/proactivesupportepm/enterprise-performance-management-epm-1121-is-available

To download the files needed for the release you need to head over to Oracle eDelivery: https://edelivery.oracle.com

As noted in the blog post initially all the files will say "11.2.0" but in the checkout screen you can see whether they are 11.2.1 or not.
The below table details which files have changed from the initial release with bold:

ZIP File Name Download Description SHA1 Hash
V44413-01.zip Oracle WebLogic Server 12.1.3.0.0 for Microsoft Windows x64 (64-bit) 02B2EB70A5B208EE20083E9DA833983D98F00DD5
V44425-01.zip Oracle Data Integrator 12.1.3.0.0 for Microsoft Windows x64 (64-bit) A4B97264516F1A75AA33F5FAA0D49AAB32C0558C
V886440-01.zip Oracle Fusion Middleware 12c (12.2.1.3.0) SOA Suite and Business Process Management 8D65D949C862CB4652D2D28D69BEEDD4DF918B39
V886442-01_1of2.zip Oracle Fusion Middleware 12c (12.2.1.3.0) SOA Quick Start (Part 1) 2B308A22414861073937345379CBEAE6346A37FA
V886442-01_2of2.zip Oracle Fusion Middleware 12c (12.2.1.3.0) SOA Quick Start (Part 2) E2F05CA1060C266D119FEF7055158354FAF638D8
V886451-01_1of2.zip Oracle Fusion Middleware 12c (12.2.1.3.0) Data Integrator (Part 1) D80310331C0003F27752AB4AEB8747A3FB609DB3
V886451-01_2of2.zip Oracle Fusion Middleware 12c (12.2.1.3.0) Data Integrator (Part 2) 76450D1FC463B7EBF2057C6C548D694409854211
V933015-01.zip Oracle Fusion Middleware 12c (12.2.1.3.0) Internet Directory for Microsoft Windows x64 (64-bit) CF09129C9E1D974749094E230792DB4C0B2C5F7E
V933018-01_1of2.zip Oracle Fusion Middleware 12c (12.2.1.3.0) Identity and Access Management Quick Install (Part 1) 64CD01DC271999DF0B399E59805C3A21F65E5898
V933018-01_2of2.zip Oracle Fusion Middleware 12c (12.2.1.3.0) Identity and Access Management Quick Install (Part 2) C953B5CD7EC299BD7A89C14218AEEB0C2AD37877
V995408-01.zip Oracle Enterprise Performance Management System - Client Installers 11.2.1.0.0 F0685848B18D9D0295E51E53CB42ABD1F2F46D3C
V984490-01.zip Oracle Data Relationship Management Analytics 11.2.0.0.0 1F66F76BC62FCA2E3F4A1735BE58B428D47C9051
V995412-01.zip Oracle Enterprise Performance Management System - Part 1 11.2.1.0.0 97A3C5315AB937B31A07B166A29861F75CB672D7
V995413-01.zip Oracle Enterprise Performance Management System - Part 2 11.2.1.0.0 D7D5930FA751C39A95A92F35813435409E01193B
V995409-01.zip Oracle Enterprise Performance Management System - Oracle HTTP Server 11.2.1.0.0 72401D681B71669B5C065038B1B8F4021DCBBF97
V995414-01.zip Oracle Enterprise Performance Management System - Part 3 11.2.1.0.0 D5DD2039B6E20EBE034A65E7188AFF5172F1C3D9
V995415-01.zip Oracle Enterprise Performance Management System - Part 4 11.2.1.0.0 C80BB9E329D6E4DBE67064D5FFC86348408638CB
V995416-01.zip Oracle Enterprise Performance Management System - Part 5 11.2.1.0.0 7F04EB81FF8CB6E4E7F44171FDC29EC7BA3CC349
V995417-01.zip Oracle Enterprise Performance Management System - Part 6 11.2.1.0.0 FF9CA25A4EDACB94CFA00B7A0752D45AFD23FC7F
V995418-01.zip Oracle Data Relationship Management 11.2.1.0.0 DA2C08973EE0E748E6A83B0B07700A8A832F6513
V995465-01.zip Oracle Enterprise Performance Management System - Installation Documents and Readmes 11.2.1.0.0 8A0C0D79A1D5C976E162C79ABA9C06BC618098BD


I have a recommendation for people who have issues with Oracle's download manager or using the wget option - if you use Firefox as your browser you can install the Download Star add-in to download the ZIP files in an organised manner. Use the naming mask ${text} and choose to skip on conflict.

You only really need to download the ZIP files below. As before, use sha1sum to calculate the hashes:

sha1sum *.zip
f0685848b18d9d0295e51e53cb42abd1f2f46d3c *V995408-01.zip
72401d681b71669b5c065038b1b8f4021dcbbf97 *V995409-01.zip
97a3c5315ab937b31a07b166a29861f75cb672d7 *V995412-01.zip
d7d5930fa751c39a95a92f35813435409e01193b *V995413-01.zip
d5dd2039b6e20ebe034a65e7188aff5172f1c3d9 *V995414-01.zip
c80bb9e329d6e4dbe67064d5ffc86348408638cb *V995415-01.zip
7f04eb81ff8cb6e4e7f44171fdc29ec7ba3cc349 *V995416-01.zip
ff9ca25a4edacb94cfa00b7a0752d45afd23fc7f *V995417-01.zip
da2c08973ee0e748e6a83b0b07700a8a832f6513 *V995418-01.zip
8a0c0d79a1d5c976e162c79aba9c06bc618098bd *V995465-01.zip


As before we use 7za.exe to extract the files correctly:

We can copy the DRMA ZIP file from our 11.2 downloads: V984490-01.zip. Next make sure 7za.exe is in the PATH and run the following commands:

7za x -y -oClient_Installers V995408-01.zip
7za x -y -oDRM V984490-01.zip
7za x -y V995412-01.zip
7za x -y V995413-01.zip
7za x -y V995414-01.zip
7za x -y V995415-01.zip
7za x -y V995416-01.zip
7za x -y V995417-01.zip
7za x -y V995409-01.zip
7za x -y -oDRM V995418-01.zip
7za x -y -oDocumentation V995465-01.zip

We should now have a folder with all of the correct ZIP files.

Wednesday, 26 February 2020

Oracle OpenWorld Europe 2020 Summary

The following are some of my notes from the Oracle OpenWorld Europe 2020 conference.

There was some news on the support dates for 11.1.2.4:
  • Hyperion 11.1.2.4 Premier Support extended through to December, 2021 - this replaces Extended Support.
Basically it will be Premier Support until December 2021 and then straight into Sustaining Support. I posted the definitions of each support level in a previous blog post.

The roadmap for 11.2 patches has been released - I have copied it below:

.100 .200 .xxx
Scheduled for March Scheduled for mid year Scheduled for end of year
3rd party Certification
+ Chrome
+ Edge Chromium
+ Windows 2016
3rd party Certification
+ OEL 7 (UL 0+)
+ Red Hat 7 (UL 0+)
+ Solaris 11 update 2+
+ AIX 7.1 TL 1+, 7.2 TLO+
3rd party Certification
+ SQL Server 2017
+ SQL Server 2019

FMW 12.2.1.4
Defect Fixing Defect Fixing Defect Fixing

Apart from that there was just some information on migration. I would recommend downloading the session slides here:
https://events.rainfocus.com/widget/oracle/owlonglobal2020/cataloglondonow20

EPM 11.2: Explore Button Not Appearing

This is a post about an issue we had in our environment, it seems likely an Oracle Support document will be created for this problem but I just wanted to post it here as well. The fix wasn't actually discovered by me, but by a colleague.

The problem is that in Workspace on EPM 11.2 the Explore button simply does not appear. Inspecting the configtool logs shows errors like this:

...
[2020-01-02T16:23:04.675+00:00] [EPMCFG] [ERROR] [EPMCFG-07211] [oracle.EPMCFG] [tid: 65] [ecid: 7eeb9fd7-2d0f-4d3f-a525-322664eb6983-00000006,0:2:3:3:3:4:3:2] [SRC_CLASS: com.hyperion.avalanche.config.DocRepHubRegistration] Error registering instance file: Product not found.

...
[2020-01-02T16:23:04.706+00:00] [EPMCFG] [ERROR] [EPMCFG-07164] [oracle.EPMCFG] [tid: 65] [ecid: 7eeb9fd7-2d0f-4d3f-a525-322664eb6983-00000006,0:2:3:3:3:4:3:2] [SRC_CLASS: com.hyperion.avalanche.config.DocRepHubRegistration] Exception generated when calling CSS API: EPMCSS-20570: Failed to provision identity native://DN=cn=911,ou=People,dc=css,dc=hyperion,dc=com?USER. Application DOCREP:DocRepApp not found in system. Provide valid application id to provision user/group.
...

The issue here is that the application was created in the Shared Services registry but it is not linked to the Default Application Group. This was validated by checking the HSS registry report:




The roles for the document repository did exist in HSS:


So all that was required was to use the epmsys_registry utility to link the application to the project, using the project's object ID:

cd /d e:\Oracle\Middleware\user_projects\FND1\bin
epmsys_registry.bat createlink #e6811d83f677e6702c765b8316f6702f84S7ffb #DocRepApp.DOCREP

The validation that the link was successful can be taken from the HSS registry report:



After these changes the Explore button appeared in Workspace:

Tuesday, 28 January 2020

OHS Service Wrapper

I mentioned it in my last post but I can now announce I have successfully created and tested a Windows service wrapper for OHS.

Using this you can control OHS via a Windows service, rather than relying on running scripts. This is useful for environments where interactive login with the Windows service account is not allowed.

You can find the project here:
https://github.com/justdan96/ohsw

Because this can be used with other things - not just OHS - and also so I don't potentially get sued I've decided to name the project "Oh! Service Wrapper". Because it's surprisingly useful!

This is just the first version so it really is a "use at your own risk" deal. Feedback, questions and improvements are welcome via the GitHub repository.

It's written in Golang so compilation is straightforward and there are no external dependencies. When I get around to it I'll create a GitHub action to create Windows executables automatically.

Monday, 13 January 2020

EPM 11.2: OHS Changes

Yet another blog post on EPM 11.2! This time we are looking at the changes for EPM 11.2 related specifically to OHS.

The first thing you may be wondering is: how do you start the OHS server? Well it's a change from the previous few versions as OHS no longer uses OPMN for this task. Instead it uses Node Manager. If you followed the official installation and configuration guide you should have a service like the below:

With that service running we have some helper scripts to get OHS online. Browse to MIDDLEWARE_HOME\user_projects\FND1\httpConfig\ohs\bin\. Then run the following command to start OHS and store the epm_admin credentials so you aren't prompted later:

startComponent.cmd ohs1 storeUserConfig

To stop OHS simply run the command:

stopComponent.cmd ohs1

From now on you can start OHS with:

startComponent.cmd ohs1

It is a bit annoying to not have a nice Windows service to start that will bring OHS online but I might work on that soon.
If you completed the above, your OHS server is starting however it isn't listening on port 19000 but rather port 7777 then you need to copy all the files and folders from MIDDLEWARE_HOME\user_projects\epmsystem1\httpConfig\ohs\config\fmwconfig\components\OHS\ohs_component\ to MIDDLEWARE_HOME\user_projects\epmsystem1\httpConfig\ohs\config\fmwconfig\components\OHS\instances\ohs1.

The OHS configuration files are read from httpConfig\ohs\config\fmwconfig\components\OHS\instances\ohs1 - but the configtool only updates the files in httpConfig\ohs\config\fmwconfig\components\OHS\ohs_component. Don't ask me why they have duplicate folders! I picked up this tip from a comment by Dan C on the epmonprem.pro blog, so I can't take credit for that discovery.

Next if you want to know specifically which version of OHS (and the underlying version of Apache) is being used you can run the commands below. Change paths to suit your environment:

cd /d E:\Oracle\Middleware\ohs\ohs\bin
SET PATH=E:\Oracle\Middleware\ohs\ohs\bin;E:\Oracle\Middleware\ohs\bin;E:\Oracle\Middleware\ohs\oracle_common\bin;%PATH%
httpd.exe -version

You should see output like the below:

Server version: Oracle-HTTP-Server-12.2.1.3.0/2.4.25 (Win64)
Server built:   Aug 17 2017 20:40:27

If you need to change any configuration in OHS just be sure that the previous version of Hyperion used OHS 11.1.1.7, Apache 2.2, and some syntax is no longer valid. A common bit of customisation that I do, that thankfully still works in OHS 12.2.1.3, is changing the EPM logo in the logon page.

First browse to E:\Oracle\Middleware\EPMSystem11R1\common\epmstatic\bpmui\ and then create the path below:
E:\Oracle\Middleware\EPMSystem11R1\common\epmstatic\bpmui\themes\theme_skyros\images_global\

Next take a copy of the logon_panel.gif file, edit it and place it in this location. We will use an OHS configuration setting to ensure that our edited image is used, rather than the version in the Workspace WAR file.

Browse to E:\Oracle\Middleware\user_projects\FND1\httpConfig\ohs\config\fmwconfig\components\OHS\instances\ohs1\ and edit the file "epm_rewrite_rules.conf". Add the following line:

RewriteRule ^/workspace/bpmstatic/themes/theme_skyros/images_global/logon_panel.gif /epmstatic/bpmui/themes/theme_skyros/images_global/logon_panel.gif [PT]

Restart OHS. You will now see your updated logo!

Friday, 3 January 2020

EPM 11.2 Reusing a Single RCU Repository

Edit: some news here - Oracle Support is saying that actually the RCU doesn't need to be run for each server in your environment. To paraphrase slightly:

"EPM 11.2 requires Repository Creation Utility (RCU) to create schemas to support Oracle Enterprise Performance Management System Java web applications.
After running the RCU on your first server and before running EPM System Configurator on your second, the RCUschema.properties file on each EPM machine must be updated (on all your servers). There is no need to run the RCU on your other servers.
EPM Configurator "Deploy to Application Server" tasks will fail until Repository Creation Utility (RCU) has been run to create supporting Weblog schemas and EPM_ORACLE_HOME/common/config/11.1.2.0/RCUSchema.properties has been updated properly."

This appears to contradict what the documentation says, so we may have to wait for official clarification.




So the RCU is a new requirement for EPM installations with 11.2. Previously it was required for the EPMA batch client or the DRM web API deployment but now it is required for every EPM environment you wish to deploy.

One thing in the installation guide stuck out to me: "You must run RCU on each machine in your environment."

Excuse me: what?

I've had dealings with the RCU before, and never do you need to run it twice. The repository is created and then used. So I read that line with... let's say some scepticism. Once I actually went through the EPM configuration I found that, yes, the configtool will error out if you try to reuse a previously configured RCU repository. So you can't scale out without creating another prefix in the RCU for every server you have. I also found the RCU had shortcomings of its own.

What I say next is not official or supported in any way. It is of academic interest only, currently. But there is actually a reason why you can't reuse the RCU repository.

When you first run the configtool on your 2nd machine it will try to push some configuration into the tables you configured in the RCU. This configuration already exists, so that fails.

Subsequent runs of the RCU will then attempt to query the EPMSystem domain configuration to find those same tables. However the domain configuration hasn't been properly set up on that machine yet, so it will again fail. If it can find the domain configuration then it will work.

I have tested a method to get around this - it works flawlessly in my testing. The method is this:

  1. On your second machine, attempt the "Deploy to Application Server" tasks for your chosen applications. Let it run, fail and complete.
  2. Then browse to "E:\Oracle\Middleware\user_projects\domains\EPMSystem\" directory and rename the "config" folder to "config_old".
  3. Next copy the "config" folder from the location above on your first server, to the same location on your second server.
  4. Finally re-run the configtool, selecting the same "Deploy to Application Server" tasks. This time it will succeed.
As I said - this is just for information. I will probably raise an SR to get Oracle to address this issue, since it seems like just a silly mistake that the configtool tries to read the domain configuration when it isn't available on that machine.

EPM 11.2 WebLogic Server Startup Error

Just a quick one, if you are trying to start up a WebLogic service on EPM 11.2 (Planning, for instance) and you see in the sysout log the following error:

java.lang.IllegalArgumentException: Unable to use KSS for Demo Key Stores, KSS is unavailable

You should know that the reason for this is an entry missing in the classpath. Without this entry the service startup will fail.

To correct that, go to the Windows registry and browse to HKEY_LOCAL_MACHINE\SOFTWARE\Hyperion Solutions\Planning0\HyS9Planning_PLN1 (or equivalent).

Then look in the list of JVMOption properties for one with a value starting with "-Djava.class.path=". If you look at this value and scroll right to the end you should see a semicolon by itself. After that semicolon, insert:

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


Then the next time you start up the service it will work!