Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

35.3. Patching Oracle Intelligent Agent on Red Hat Enterprise Linux 3

When you run "agentctl start" (Oracle 9.2.0.4), dbsnmp will crash:
$ su - oracle
$ agentctl start

DBSNMP for Linux: Version 9.2.0.4.0 - Production on 07-JAN-2004 19:11:14

Copyright (c) 2003 Oracle Corporation.  All rights reserved.

Starting Oracle Intelligent Agent.../u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156:  1855 Segmentation fault      nohup $ORACLE_HOME/bin/dbsnmp $*
>>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156:  1868 Segmentation fault      nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156:  1880 Segmentation fault      nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156:  1892 Segmentation fault      nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
To resolve this problem, apply the patch p3238244_9204_LINUX.zip from http://metalink.oracle.com, search for 3238244 to see the bug and patch information.
Before you apply the patch, make sure the instance is down!
Make sure the opatch script appears in your $PATH. To verify if opatch is in your $PATH, run the following commands:
$ su - oracle
$ which opatch
/tmp/OPatch/opatch
$
Please note, the patch needs "fuser" which should be located in /sbin, if it is not you will need to install it. To apply now the patch, run:
$ su - oracle
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ export PATH=$PATH:/sbin
$ opatch apply
Now you need to relink dbsnmp. This is the binary that crashed when running agentctl start. To find which makefile handles the linking of dbsnmp, you can run:
$ su - oracle
$ find $ORACLE_HOME -name "*.mk" | xargs grep -l dbsnmp
/u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk
/u01/app/oracle/product/9.2.0/network/lib/env_oemagent.mk
$
To relink dbsnmp and all associated executable files which are maintained by the ins_oemagent.mk makefile, run:
$ su - oracle
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
Now you should be able to start the agent:
$ su - oracle
$ agentctl start

Note

Do not forget to undo the links to /usr/bin/gcc and /usr/bin/g++ if you do not need them any more. You may also want to undo the changes in /etc/ld.so.preload file.