Wednesday, March 7, 2012

Patching OBIEE 11g

Working with a company like Verizon gives us the opportunity to interact with Oracle Development and support team very closely. Recently as I was doing a proof of concept implementation using the  "Scorecard" functionality, I came across a couple of bugs.

Oracle Support provided me with a couple of patches for the bugs and I will take this opportunity to describe the process of getting the patch built and then installing them on the target machines.

Once the SR(Service Request) is acknowledged as a bug, the support representative will get the current status of your machine on which the patches needs to be installed. In my case this was my development machine a Windows 7 64bit machine. They want to ensure that the current version/built installed on the machine and if any other patches are installed on it or not. This enables them to build and ship a specific patch for the installation.

The installation comes with a utility called - OPatch which takes care of the various functions around patching. A detailed documentation of this is available at Oracle:Patching Oracle Software with OPatch.
I will describe the usage and my experience for OBIEE 11g.

Here are a few things to know before we start the discussion (Specific to OBIEE 11g): I am using the Windows directory convention. Please see my earlier blog ERP Things: OBIEE 11g - Demystifying the directory structure.
OBIEE home directory : This is the directory where the OBIEE Instances are installed. In my case this happens to be c:\Oracle\BI1g\Oracle_BI1 This should be set as the ORACLE_HOME
  • OPatch Directory : The opatch directory under the ORACLE_HOME
  • Java Directory relative to ORACLE_HOME %ORACLE_HOME%\jdk\jre\bin
For patching, make sure that these system variables are set properly:
  • ORACLE_HOME
  • PATH - this should include the ORACLE_HOME and the OPatch directory
Command to set these are (Windows version):

c:>Set ORACLE_HOME=C:\Oracle\BI11g\Oracle_BI1
c:>Set path=%PATH%;ORACLE_HOME;%ORACLE_HOME%\OPATCH

During your conversation with the support staff, they will ask you to send the current status of your installation. the SR will have an entry like this:
Have any patches been applied?
Set the ORACLE_HOME environment variable to point to the BI Home.
---------------------------------------------------------------------------------
a). Please logon to the middle tier where BI installed and make sure
your ORACLE_HOME and PATH variables are set.
PATH Variable should include the directory path for perl and opatch.
ORACLE_HOME environment variable should point to the BI Home
b). Then cd to $ORACLE_HOME/Opatch and run the command:
$opatch lsinventory
c). Upload the output file.
---------------------------------------------------------------------------------

This is the standard blurb they use irrespective of the OS you are on. So for Windows the translation is as follows:

a. Set the Path and Oracle path variables to point to the Oracle Home (see commands above)
b. cd to %ORACLE_HOME%\opatch and run the command "opatch lsinventory"
c. upload the output file

This will create a file in the ORACLE_HOME\cfgtoollogs\opatch\ directory (opatch_history.txt) copy the content of this file and update your SR, also make sure you upload this file to the SR. This will also backup any previous log files in the directory.

After some time, the support will provide you with a patch. Download the patch and expand it to a local directory. Repeat the steps to ensure that the path and oracle_home variables are set properly

The readme file with the patch will have the following instructions:
Pre Install Instructions:
---------------------------------------------------------------------------
- Set the ORACLE_HOME environment variable,
  for example "[MW_HOME]/Oracle_BI1" directory.


Install Instructions:
---------------------

1. Unzip the patch zip file into the PATCH_TOP.
   unzip -d PATCH_TOP pxxxxxxx_xxxxxx_MSWIN-x86-64.zip
2. Set your current directory to the directory where the patch is located.
   cd PATCH_TOP/xxxxxxxx
3. Run OPatch to apply the patch.
   Run following command:
   - opatch apply -jre $ORACLE_HOME/jdk/jre

---------------------------------------------------------------------------

Here is my set of instructions:
1. Shut down the BI Server - Use the
C:\Oracle\BI11g\instances\instance1bifoundation\OracleBIApplication\coreapplication\StartStopServices.cmd stop_all
2. Set your current directory to the directory where the patch is located.
   cd PATCH_TOP/xxxxxxxx
2. Replace the command in the 3rd step to this and run this:
opatch apply -jre %ORACLE_HOME%\jdk\jre
3. Restart the services

If everything goes well, you system will be patched! Run the
opatch lsinventory
command once more to capture the latest patch information!

 Though I have not tried this, in case something goes wrong use this rollback the patch.
 opatch rollback -id xxxx  -jre $ORACLE_HOME\jdk\jre


Sachin
JainSys

What is Zero Trust Architecture?