Showing posts with label patch. Show all posts
Showing posts with label patch. Show all posts

Tuesday, June 13, 2006

Patching Oracle (9.2.0.6) to enable asynchronous I/O support w/RHEL

Patch Installation Instructions:
# --------------------------------
# To apply the patch, unzip the PSE container file:
#
# % unzip p3208258_9206_LINUX.zip
#
# Set your current directory to the directory where the patch
# is located:
#
# % cd 3208258
#
# Ensure that the directory containing the opatch script appears in
# your $PATH; then enter the following command:
#
# % opatch apply
#
# Patch Special Instructions:
# ---------------------------
# This patch is required to Enable asynchronous I/O support with Oracle running
# on RHEL 3. It should be applied only to 9.2.0.6.
#
# Instances under the ORACLE_HOME being patched do not need shutting
# down while opatch is run. opatch just copies libaio.so to locations in
# $ORACLE_HOME/lib/stubs.
#
# Once opatch has finished the following steps need to be completed. This
# does involve shutting down the Instances. Follow the steps below.
#
# 1. Ensure all instances in the ORACLE_HOME being patched are cleanly
# shutdown
#
# 2. cd to $ORACLE_HOME/rdbms/lib
#
# 3. Relink Oracle with asynchronous I/O enabled:
#
# % make -f ins_rdbms.mk async_on
#
# 4. Set the following init.ora parameters:
#
# set 'disk_asynch_io=true' # for raw devices and filesystem files
# set 'filesystemio_options=asynch' # for filesystem files
#
# 5. Restart All instances.

Error relinking Oracle RDBMS on Linux for Asynch IO support

Applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.4 to 9.2.0.7
Linux x86
Red Hat Advanced Server
Symptoms

While installing the 9.2.0.7.0 patchset on the linux x86 RedHat Server following error were encountered during the relink phase.

$ORACLE_HOME/install/make.log
------------------------------------------

/usr/lib/gcc/i386-redhat-linux/3.4.3/libgcc_s.so: undefined reference to `dl_iterate_phdr@GLIBC_2.2.4'
collect2: ld returned 1 exit status
make: *** [trcroute] Error 1

On checking
Note 303859.1 Requirements for Installing Oracle 9iR2 on RHEL 4
We find all the required packages has been already installed.

[root@incq038ad ~]# rpm -qa compat-oracle-rhel4
compat-oracle-rhel4-1.0-5

Cause

The problem is caused because System Administrator has installed the latest O/S updates from the RedHat.
And the Oracle patch "compat-oracle-rhel4-1.0-5" has been overwritten.

[root@incq038ad ~]# ls -l /usr/bin/gcc*
-rwxr-xr-x 2 root root 93120 May 17 01:36 /usr/bin/gcc
-rwxr-xr-x 2 root root 86364 Dec 1 2004 /usr/bin/gcc32
-rwxr-xr-x 1 root root 94784 May 17 01:36 /usr/bin/gcc.orig

[root@incq038ad ~]# rpm -qs compat-oracle-rhel4
normal /usr/bin/g++.tmp_1
normal /usr/bin/gcc.tmp_1
Solution

Please redownload the Patch 4198954 from Oracle Metalink.
And follow the instruction from the README to reapply the patch.

This time when you will reapply the patch you will receive the following error.

[root@incq035ad 4198954]# rpm -Uvh compat-oracle-rhel4-1.0-5.i386.rpm
Preparing... ########################################### [100%]
package compat-oracle-rhel4-1.0-5 is already installed

Please use the following command to reapply the patch.

[root@incq035ad 4198954]# rpm -Uvh --force compat-oracle-rhel4-1.0-5.i386.rpm
Preparing... ########################################### [100%]
1:compat-oracle-rhel4 ########################################### [100%]

[root@incq035ad bin]# ls -l /usr/bin/gcc*
-rwxr-xr-x 1 root root 914 Feb 23 2005 /usr/bin/gcc
-rwxr-xr-x 2 root root 84780 Dec 1 2004 /usr/bin/gcc32
-rwxr-xr-x 1 root root 93120 Sep 26 10:28 /usr/bin/gcc.orig

References
Note 303859.1 - Requirements for Installing Oracle 9iR2 on RHEL 4