Showing posts with label Hyperion Patching. Show all posts
Showing posts with label Hyperion Patching. Show all posts

Wednesday, July 8, 2020

// // Leave a Comment

HFM Patch Set Update 11.1.2.4.209 (Patch 29343616)

In April 2020 CPU (Critical Patch Update) alert, Oracle had released HFM (Hyperion Financial Management) PSU 11.1.2.4.209 (Patch 29343616). You can find the patch details on this link: https://blogs.oracle.com/proactivesupportepm/psu_hfm_11124209

I thought let's upgrade my Hyperion Financial Management (HFM) application from the existing version 11.1.2.4.204 to this latest patch level to be up to date with HFM bug fixes. So let's see how it goes.

Note: The demonstrating Hyperion Financial Management (HFM) environment has the 'Windows Server 2012 R2 Standard' operating system. 

As usual, the first thing to check was the prerequisites. Going through the README document of the patch, we come to know that the following prerequisites patches need to be installed before installing HFM PSU 11.1.2.4.209 (Patch 29343616):

HFM Patch Set Update 11.1.2.4.209 (Patch 29343616)

As I was already having HFM 11.1.2.4.204 version running in my Hyperion environment so I was fully confident that following 2 prerequisites patches must have been already installed on my HFM servers as part of HFM 11.1.2.4.204 (Patch 25192566) patching:
  1. Fusion Middleware (FMW) - WebServices  Patch 13866584
  2. Fusion Middleware (FMW) - WebLogic  Patch 16810628
Why is it so? because these two patches are required to be installed as prerequisite patches even for HFM 11.1.2.4.204 (Patch 25192566) patching. You can check the same on this link: https://blogs.oracle.com/proactivesupportepm/patch-set-update-for-oracle-hyperion-financial-management-11124204-is-available

Let's cross-check from the HFM server itself. 

As Fusion Middleware (FMW) - WebServices  Patch 13866584 is a file-replacement kind of patch, so it will not be registered under home E:\apps\OracleEPM\Middleware\oracle_common. But if you know your last HFM patching date, you can match it with the modification date of the file E:\apps\OracleEPM\Middleware\oracle_common\modules\oracle.webservices_11.1.1\oracle.webservices.standalone.client.jar to confirm the Patch 13866584 applied.

Fusion Middleware (FMW) - WebLogic  Patch 16810628 can be checked using a command as shown below:

HFM Patch Set Update 11.1.2.4.209 (Patch 29343616)

Now coming to the third prerequisite patch Fusion Middleware (FMW) Patch 30378046, its README document suggests:

Ensure the patch for bug 16964825 has already been applied before you proceed with the current patch.

If you remember, Oracle JDeveloper ADF Patch 16964825 is already included in HFM 11.1.2.4.100 installation itself. When upgrading Hyperion environment from 11.1.2.4 to 11.1.2.4.100 one of the prerequisites is to “Install the ADF patch 21240419”. The prerequisite to 21240419 is “patch 16964825(mandatory)”. 

So it must be there on my HFM server. Let's verify with opatch lsinventory in E:\apps\OracleEPM\Middleware\oracle_common that patch 16964825 is already present.

HFM Patch Set Update 11.1.2.4.209 (Patch 29343616)

Now its turn to install Fusion Middleware (FMW) Patch 30378046.

When I ran the OPatch command to install Fusion Middleware (FMW) Patch 30378046, it was throwing the following issue:

HFM Patch Set Update 11.1.2.4.209 (Patch 29343616)

Actually, Patch 30378046 was conflicting with the patch 20326778.  

In such cases Oracle recommendation is:

Obtain a copy of each patch and compare the 'inventory' file or the 'readme' file. These files contain a list of bugs fixed by each patch. Compare the bugs listed. Make sure that the patch being applied has all the bugs mentioned that are fixed in the existing patch.
If all the patches listed in the existing patch are included in the patch being applied you can safely continue the patch.

In some cases, the patch being applied may not contain all the bug fixes that are included with the existing patch. If you do not require the missing patches you can safely continue the new patch installation.

If you do require the missing patches then you should stop the patch installation and log a service request with Oracle Support requesting a "Merge Label Request, MLR" of the existing patch and the patch being applied.

Following the recommendation, I compared the two patches and noticed that following three bugs fixed in EXISTING Patch 20326778, are not included in the NEW Patch 30378046:
  • 17890124: BLR BACKPORT 17776065 TO 11.1.1.7.1: FF25, ALL RTL TEXT IS MISALIGNED FOR DVT HT
  • 18601128: BLR BACKPORT OF BUG 18233049 ON TOP OF 11.1.1.7.1 (BLR #3572140)
  • 18954287: BLR BACKPORT OF BUG 18820382 ON TOP OF 11.1.1.7.1 (BLR #3789756)
But, if you dig deep you will notice that these are BACKPORT Bugs and their sources (17776065, 18233049, 18820382) are included in the new Patch 30378046. So it's safe to move with installing over Patch 20326778. It was also making sense as Patch 30378046 is the latest patch available for JDeveloper ADF and the other Patch 20326778 was outdated by 5 years at least.

I did the same as shown below:

HFM Patch Set Update 11.1.2.4.209 (Patch 29343616)

As you can see OPatch itself will first uninstall the Patch 20326778 and then install the new Patch 30378046. 

For the fourth prerequisite ADF Patch 25113405, it was self-explanatory:

If you are applying this HFM PSU 11.1.2.4.209 Patch 29343616 to version 11.1.2.4.203 or an earlier version, this Financial Management patch requires Oracle Application Development Framework (ADF)  Patch 25113405.

Finally, its time to install the main Hyperion Financial Management PSU 11.1.2.4.209 Patch 29343616.  As all the prerequisites were clear, It got installed successfully without any issue:

HFM Patch Set Update 11.1.2.4.209 (Patch 29343616)

After applying the HFM Patch 29343616, don't forget to execute the sql commands as per your database type mentioned in the README document of HFM PSU 11.1.2.4.209 Patch 29343616

As I have HFM version 11.1.2.4.204 and Oracle Database 18c, so I ran the below commands by logging to HFM schema (Refer the README document of Patch 29343616 for more details):

1- Executed the following sql command to upgrade the schema against the Financial Management database:

<EPM_ORACLE_HOME>\products\FinancialManagement\Server\conf\Oracle_from_11.1.2.4.208_to_11.1.2.4.209_SchemaUpgrade.sql

2- For the 'Importing Applications' feature, executed the following sql commands:

<EPM_ORACLE_HOME>\products\FinancialManagement\Server\conf\Oracle_Create_ImportApp.sql
<EPM_ORACLE_HOME>\products\FinancialManagement\Server\conf\Oracle_Create_InsightDetails.sql

Make sure these sql commands are executed without any error message.

Post Hyperion services restart, all users should clear cached files from their browsers before login to Workspace.

That's all for this post.

I hope this article has helped you. 
Your suggestions/feedback are most welcome.
Keep learning and Have a great day!!!
Read More

Tuesday, June 2, 2020

// // Leave a Comment

Shell Command/Script to extract Oracle EPM/Hyperion already applied patches in Linux/Unix server

Hi Friends,

Topic: How to extract Oracle Hyperion patches currently applied in your Hyperion environment using shell/bash script

In this post, we will see how you can extract all the Oracle Hyperion patches currently applied in your Hyperion environment Linux servers. I am sure you would have seen Oracle Hyperion Essbase application installed and configured on Linux/Unix server in many Hyperion setups. 

When you plan to apply any newly released Oracle patches to upgrade your Hyperion applications patch level, you may need to first know the currently applied Oracle patches for that particular Hyperion application. 

For the Windows Servers, to know how to extract Oracle Hyperion patches currently applied in your Hyperion environment using a batch script, you may like to read this post: Batch script to extract Oracle Hyperion patches currently applied

Note: 
  • This post has been written and associated activities have been demonstrated on Oracle Hyperion version 11.1.2.4.
  • The demonstrating Hyperion Essbase application server has the 'Red Hat Enterprise Linux Server release 6.10' operating system.
Concept:

As you know, we all use ./opatch lsinventory command in order to see details of all the patches that are currently installed on a Hyperion Linux/Unix server.

The lsinventory command reports what has been installed on the system for a particular Oracle home directory, or for all installations. 

The following syntax is used for this command (on Linux/Unix machine):

./opatch lsinventory -oh /apps/OracleEPM/Middleware/EPMSystem11R1

where -oh option is your Oracle Home location. 


Shell script to extract Oracle Hyperion patches currently applied

The result of ./opatch lsinventory command contains a lot of data like various versions, paths, bugs fixed, overlaying patch details, etc as shown in the below image. So in order to list out only the Oracle patch numbers and when they were applied you need to go through all the details generated as a result of ./opatch lsinventory command then extract the required details manually.

Shell script to extract Oracle Hyperion patches currently applied

The below-mentioned shell/bash script does all these things for you automatically by extracting out only the Oracle patch numbers with the date when they were applied. It saves the output into a log file for your record along with saving your manual effort. 

On Command prompt:

If you want to see all the applied patch list directly on your EPM/Hyperion Linux/Unix server's command prompt, run the below commands:

To see all installed patches:
----------------------------------------
cd /apps/oracle/epm/Middleware/EPMSystem11R1/OPatch

For EPMSystem11R1 patches:
./opatch lsinventory -oh /apps/oracle/epm/Middleware/EPMSystem11R1 -jdk /apps/oracle/epm/Middleware/jdk160_35 -invPtrLoc /apps/oracle/epm/Middleware/EPMSystem11R1/oraInst.loc | grep -i applied

For oracle_common patches:
./opatch lsinventory -oh /apps/oracle/epm/Middleware/oracle_common -jdk /apps/oracle/epm/Middleware/jdk160_35 -invPtrLoc /apps/oracle/epm/Middleware/oracle_common/oraInst.loc | grep -i applied

How to extract Oracle EPM/Hyperion already applied patches in Linux/Unix server

To see a particular installed patch:
---------------------------------------------
cd /apps/oracle/epm/Middleware/EPMSystem11R1/OPatch

For EPMSystem11R1 patches:
./opatch lsinventory -oh /apps/oracle/epm/Middleware/EPMSystem11R1 -jdk /apps/oracle/epm/Middleware/jdk160_35 -invPtrLoc /apps/oracle/epm/Middleware/EPMSystem11R1/oraInst.loc | grep -i "applied" | grep -i "28314691"

For oracle_common patches:
./opatch lsinventory -oh /apps/oracle/epm/Middleware/oracle_common -jdk /apps/oracle/epm/Middleware/jdk160_35 -invPtrLoc /apps/oracle/epm/Middleware/oracle_common/oraInst.loc | grep -i "applied" | grep -i "18514458"

Shell/Bash Script:

Create a folder (/apps/Admin) in the Hyperion Linux/Unix server where you want to extract the installed Oracle patch list and then create a shell/bash script (/apps/Admin/test.shwith the below codes under that folder.

#!/bin/bash

cd /apps/OracleEPM/Middleware/EPMSystem11R1/OPatch

./opatch lsinventory -oh /apps/OracleEPM/Middleware/EPMSystem11R1 > /apps/Admin/Patch_History.txt

cd /apps/Admin

truncate -s 0 /apps/Admin/Installed_Patches_$HOSTNAME.txt

grep -w "Interim patches" /apps/Admin/Patch_History.txt >>/apps/Admin/Installed_Patches_$HOSTNAME.txt

grep -w "applied" /apps/Admin/Patch_History.txt >>/apps/Admin/Installed_Patches_$HOSTNAME.txt

When you run this test.sh script via bash command line, it will extract out the following things for you:
  1. Total number of Oracle patches
  2. Patch numbers of all the currently applied Oracle Hyperion patches
  3. Date of applying these patches
It will also save the output in a log file with your Linux/Unix server HOSTNAME appended in the log file name.

Below is the directory structure and the output format of the above-given script:

Shell script to extract Oracle Hyperion patches currently applied

You can run this script across all the Linux/Unix servers of your Hyperion environment to extract the list of applied Oracle Hyperion patches. 

In order to see which Oracle Hyperion applications your extracted patch numbers belong to, simply do the following:  
  • Go to https://support.oracle.com.
  • Select the Patches & Updates tab.
  • In Patch Search, enter the patch number. 
  • Make sure you are searching for a Patch Name or Number and select Search.
The corresponding Hyperion application name with patch details will be displayed. 

That's all for this post.

I hope this article has helped you. 
Your suggestions/feedback are most welcome.
Keep learning and Have a great day!!!
Read More

Monday, June 1, 2020

// // 1 comment

Batch Command/Script to extract Oracle EPM/Hyperion already applied patches in Windows server

Hi Friends,

Topic: How to extract Oracle Hyperion patches currently applied in your Hyperion environment using a batch script

In this post, we will see how you can extract all the Oracle Hyperion patches currently applied in your Hyperion environment Windows servers. 

When you plan to apply any newly released Oracle Hyperion patches to upgrade your Hyperion applications patch level, you may need to first know the currently applied Oracle patches for that particular Hyperion application. 

For the Linux/Unix Servers, to know how to extract Oracle Hyperion patches currently applied in your Hyperion environment using a shell/bash script, you may like to read this post: Shell script to extract Oracle Hyperion patches currently applied

Note: 
  • This post has been written and associated activities have been demonstrated on Oracle Hyperion version 11.1.2.4.
  • The demonstrating Hyperion environment has the 'Windows Server 2012 R2 Standard' operating system. 
Concept:

As you know, we all use opatch lsinventory command in order to see all the details of the patches that are currently installed on a particular Oracle Hyperion server.

The lsinventory command reports what has been installed on the system for a particular Oracle home directory, or for all installations. 

The following syntax is used for this command (on Windows machine):

opatch.bat lsinventory -oh E:\apps\OracleEPM\Middleware\EPMSystem11R1

where -oh option is your Oracle Home location. 


Batch script to extract all Oracle Hyperion patches currently applied

The result of opatch lsinventory command contains a lot of data like various versions, paths, bugs fixed, overlaying patch details, etc as shown in the below image. So in order to list out only the Oracle patch numbers and when they were applied you need to go through all the details generated as a result of opatch lsinventory command then extract the required details manually.

Batch script to extract all Oracle Hyperion patches currently applied

The below-mentioned batch script does all these things for you automatically by extracting out only the Oracle patch numbers with the date when they were applied. It saves the output into a log file for your record along with saving your manual effort. 

On Command prompt:

If you want to see all the applied patch list directly on your EPM/Hyperion Windows server's command prompt, run the below commands:

To see all installed patches:
----------------------------------------
cd E:\apps\OracleEPM\Middleware\EPMSystem11R1\OPatch

For EPMSystem11R1 patches:
opatch.bat lsinventory -oh E:\apps\OracleEPM\Middleware\EPMSystem11R1 -jdk E:\apps\OracleEPM\Middleware\jdk160_35 | findstr -i applied

For oracle_common patches:
opatch.bat lsinventory -oh E:\apps\OracleEPM\Middleware\oracle_common -jdk E:\apps\OracleEPM\Middleware\jdk160_35 | findstr -i applied

How to extract Oracle EPM/Hyperion already applied patches in Windows server

To see a particular installed patch:
---------------------------------------------
cd E:\apps\OracleEPM\Middleware\EPMSystem11R1\OPatch

For EPMSystem11R1 patches:
opatch.bat lsinventory -oh E:\apps\OracleEPM\Middleware\EPMSystem11R1 -jdk E:\apps\OracleEPM\Middleware\jdk160_35 | findstr "applied" | findstr "24738130"

For oracle_common patches:
opatch.bat lsinventory -oh E:\apps\OracleEPM\Middleware\oracle_common -jdk E:\apps\OracleEPM\Middleware\jdk160_35 | findstr "applied" | findstr "16964825"

Through Batch Script:

Create a folder (E:\Admin) in the server where you want to extract the installed Oracle patch list and then create a batch script (E:\Admin\test.batwith the below codes under that folder.

@echo off

cd E:\apps\OracleEPM\Middleware\EPMSystem11R1\OPatch

call opatch.bat lsinventory -oh E:\apps\OracleEPM\Middleware\EPMSystem11R1 >"E:\Admin\Patch_History.txt"

cd E:\Admin

rem. > "E:\Admin\Installed_Patches_%COMPUTERNAME%.txt"

findstr /L /C:"Interim patches" "E:\Admin\Patch_History.txt" >>"E:\Admin\Installed_Patches_%COMPUTERNAME%.txt"

echo. >>"E:\Admin\Installed_Patches_%COMPUTERNAME%.txt"

FOR /F "tokens=*" %%A IN (
  'findstr /L "applied" "E:\Admin\Patch_History.txt"'
) DO (
  echo %%A >>"E:\Admin\Installed_Patches_%COMPUTERNAME%.txt"
)

When you run this test.bat script via command prompt, it will extract out the following things for you:
  1. Total number of Oracle patches
  2. Patch numbers of all the currently applied Oracle Hyperion patches
  3. Date of applying these patches
It will also save the output in a log file with your SERVERNAME appended in the log file name.

Below is the folder structure and the output format of the above-given script:


Batch script to extract all Oracle Hyperion patches currently applied

You can run this script across all the Windows servers of your Hyperion environment to extract the list of applied Oracle Hyperion patches. 

In order to see which Oracle Hyperion applications your extracted patch numbers belong to, simply do the following:  
  • Go to https://support.oracle.com.
  • Select the Patches & Updates tab.
  • In Patch Search, enter the patch number. 
  • Make sure you are searching for a Patch Name or Number and select Search.
The corresponding Hyperion application name with patch details will be displayed. 

That's all for this post.

I hope this article has helped you. 
Your suggestions/feedback are most welcome.
Keep learning and Have a great day!!!
Read More

Sunday, March 22, 2020

// // 22 comments

Oracle WebLogic Server patching in Oracle Hyperion 11.1.2.4

Hi Friends!

As part of Oracle recommendations and organization's IT security requirements, we need to keep patch levels of various Oracle Hyperion components like Hyperion Essbase, Hyperion Planning, Hyperion Financial Management (HFM), Hyperion Financial Data Quality Management (FDMEE) etc. and also Oracle WebLogic server up to date.

In this post, we will see a detailed description of how to patch (Patch Set Update 10.3.6.0.190716) Oracle WebLogic Server in EPM (Hyperion) 11.1.2.4 for both Windows and Linux platforms.

We know that Oracle WebLogic Server 10.3.6.0 is the default version which comes with Oracle Hyperion 11.1.2.4 package. In this article, we will see patching Oracle WebLogic Server 10.3.6.0 of Oracle Hyperion 11.1.2.4 environment with Patch Set Update 10.3.6.0.190716 (Patch 29633432).

Before proceeding further, below are some important points to note: 
  1. We need to patch all Oracle WebLogic servers (Admin server and domain servers) of a particular Oracle Hyperion environment. 
  2. If previous Oracle WebLogic PSUs were applied before, the PSUs need to be rolled back first. (In our case it is not required as we are patching the Oracle WebLogic Server base version 10.3.6.0).
  3. You need to perform this patching activity in each and every server of your Oracle Hyperion environment.
  4. This article is applicable for both Windows and Linux servers i.e. same steps will apply on both.
 Prerequisites:

1- Download Oracle WebLogic Server Patch Set Update 10.3.6.0.190716 from Oracle Support portal link given below (This patch is for Generic platform so the same patch is applicable for both Windows and Linux operating systems): 
(Note: You need to have Oracle support login credentials in order to access the above page.)

You will see following patch download page after login on the above link:

Patching Oracle WebLogic Server in Oracle EPM (Hyperion) 11.1.2.4

2-The downloaded file name is p29633432_1036_Generic.zip. It is advisable to have this zip file placed in a common network path accessible from all the servers of your Oracle Hyperion environment for the easy movement of extracted files.

3-You, need to login on each Oracle Hyperion server with the same "USER/ACCOUNT" which was used to install & configure Oracle Hyperion 11.1.2.4 components on that server. 

4-Stop Oracle WebLogic servers (Admin server + domain servers) running on all servers of your Oracle Hyperion environment. Make sure there are no processes or services running which could be holding a lock on any jar file. If Node Manager is running, you should also stop that.

5-Stop all Oracle Hyperion services and any java processes used by Oracle Hyperion applications, running on all the servers of your Hyperion Environment.

6-In Task manager check any Oracle WebLogic or Oracle Hyperion service-related processes should not be running.

Installing Oracle WebLogic Server Patch Set Update 10.3.6.0.190716 (Patch 29633432)

1- On the server create directory cache_dir  under E:\apps\OracleEPM\Middleware\utils\bsu\ if it does not exist (E:\apps\OracleEPM\Middleware\utils\bsu\cache_dir).

2- Unzip p29633432_1036_Generic.zip to a common network path and then copy the extracted files to E:\apps\OracleEPM\Middleware\utils\bsu\cache_dir directory of your Oracle Hyperion servers (On both Windows server as well as Linux server. Path will be almost same).

After unzip, your cache_dir directory will have the following 3 files:
  1. MXLE.jar
  2. patch-catalog_26707.xml
  3. README.txt
Patching Oracle WebLogic Server in Oracle EPM (Hyperion) 11.1.2.4

You must make sure that the target directory for unzip has required write and executable permissions for the "USER/ACCOUNT" which was used to install & configure Oracle Hyperion on that server.

3- Open E:\apps\OracleEPM\Middleware\utils\bsu folder and Do the following to prevent 'Java OutofMemory Error' during the installation of the patch:
  • Take a backup of bsu.cmd/bsu.sh.
  • Edit bsu.cmd/bsu.sh file and change MEM_ARGS settings to 4GB (4096m):
          set MEM_ARGS=-Xms4096m -Xmx4096m
  • Now save the file bsu.cmd/bsu.sh.  
Patching Oracle WebLogic Server in Oracle EPM (Hyperion) 11.1.2.4

4- Open CMD and Goto E:\apps\OracleEPM\Middleware\utils\bsu and Execute the following command to install the path:

Command format:

bsu.cmd -install -patch_download_dir={MW_HOME}/utils/bsu/cache_dir -patchlist={PATCH_ID} -prod_dir={MW_HOME}/{WL_HOME}

Where WL_HOME is the path of the WebLogic home.

On Windows Server command will be:

bsu.cmd -install -patch_download_dir=E:\apps\OracleEPM\Middleware\utils\bsu\cache_dir -patchlist=MXLE -prod_dir=E:\apps\OracleEPM\Middleware\wlserver_10.3

On Linux Server command will be:

./bsu.sh -install -patch_download_dir=/apps/oracle/epm/Middleware/utils/bsu/cache_dir -patchlist=MXLE -prod_dir=/apps/oracle/epm/Middleware/wlserver_10.3

Once the command gets completed and the patch is successfully applied, you will see below SUCCESS message:

On Windows Server:
Patching Oracle WebLogic Server in Oracle EPM (Hyperion) 11.1.2.4

On Linux Server:
Patching Oracle WebLogic Server in Oracle EPM (Hyperion) 11.1.2.4

We see the patch has been successfully installed. Now its time to verify the same.

5- Post-Installation verification:

To check whether the Oracle WebLogic Server version has been updated or not do the following:

1-Goto this path:
E:\apps\OracleEPM\Middleware\wlserver_10.3\server\bin\ 

2- Run below command to set the Oracle WebLogic Environment variables:
setWLSEnv.cmd   (On Linux server: ./setWLSEnv.cmd)

3- Now run following command to check the version:
java weblogic.version (On Linux server too same command: java weblogic.version)

In the below output, 10.3.6.0.190716 is the currently installed Oracle WebLogic Server PSU. It confirms now our Oracle WebLogic Server has been upgraded from 10.3.6.0 to version 10.3.6.0.190716 :

Oracle WebLogic Server 10.3.6.0.190716 PSU Patch for BUG29633432

Patching Oracle WebLogic Server in Oracle EPM (Hyperion) 11.1.2.4

Do verify on each and every server of your Oracle Hyperion environment whether the Oracle WebLogic Server has been successfully upgraded or not.

6- Start Oracle WebLogic servers of your Oracle Hyperion environment.

7- Start all Oracle Hyperion services in your environment.

This completes the patching process.

That's all for this post.

I hope this article has helped you.
Your suggestions/feedback are most welcome.
Keep learning and Have a great day!!!
Read More