Monday, July 30, 2012

Custom RPM's on a Oracle Database Appliance

Oracle Database Appliance comes bundled with a lot of things but there are still time when you will need to install custom RPM's to enahnce some of the capabilities of the ODA.  Cases might include 3rd party agents that include specific requirements or Oracle open source packages like yast that are needed to manage the ODA from the linux Administration perspective via Enterprise Manager Cloud Control.
Initially when i needed to do this i added a yum repository and downloaded the RPM directly . Oracle Strongly recommends against that practice since it can allow someone to update all the RPM's from the public yum repository or the up2date and cause the Oracle Database Appliance functionality fail.
Oracle has published 2 MOS notes detailing the 2 recommended methods to get RPM's from the oracle repositories

Method 1. 

Note ID 1461818.1 describes the process to download the RPM's to a different linux server which should have the same architecture and kernel and then copy them to the Oracle Database Appliance for install . This methods sets up the public yum repository on the alternate server and using

 
   yum install --downloadonly --downloaddir="directory_path" "rpm name"

This methods allows for download of the rpm  which can then be copied onto the Oracle Database Appliance and applied. If you have multiple Oracle Database Appliances this is an ideal way to download once and apply to many . This will also allow you to  be able to catalog the RPM's since you might have to uninstall the RPM's prior to an ODA Patch install.

Method 2

The  second method is described in MOS Note  ID  1461798.1. This Notes explains how to download RPM's directly onto the ODA. Oracle Strongly Warns against a couple of things here
  1. Do not set the yum repository directly on the database appliance 
  2. Try not to install RPM's with complex dependencies since a rollback will be complicated
  3. If not sure what to Open an SR with Oracle prior to installing the RPM's 
Download the zip file from   MOS Note  ID  1461798.1 called ODA Rpm_config.zip
 
unzip it under /opt/oracle/oak/odarpm   <-- New directory

#yumsetup
.
It will setup the yum repository and test connectivity ot the internet.
If you are usng a Proxy server. you will have to setup the http_proxy variable

 
export http_proxy="http://proxyserver:port"
  ./getrpm [RPM_NAME]   -- get the rpm
   yum deplist [RPM Name]  -- validate dependencies
   rpm -ivh [/PATH/RPM_NAME] -- Install the rpm
Always catalog all the rpm and their dependencies you have installed since this will complicate the ODA patching process and might cause components to fail. My Personal recommendation to use Method 1. designate a box that is non prod as the primary source of RPM's and deploy to all ODA's from that Box.

Google Search