Chapter 35. Installing Oracle9i R2 (9.2.0.4.0) on Red Hat Enterprise Linux 3

In order to install an Oracle9i R2 database on Red Hat Enterprise Linux 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patch set and a few other patches must be applied after the installation of Oracle9i Release 2 (9.2.0.1.0). Please note, there exists errors that can only be fixed by applying the 9.2.0.4 patch set.

35.1. Installing Oracle9i R2 (9.2.0.1.0) on Red Hat Enterprise Linux 3

Note

Throughout this chapter, the symbol # represents a terminal owned by the root user. You can use the root account by using the commands su - root or sudo if you have permissions.
Install the following required RPMs (read Oracle Note:252217.1 for more information) for compatibility:
# rpm -ivh 					\
    compat-db-4.0.14-5.i386.rpm 			\
    compat-gcc-7.3-2.96.122.i386.rpm 		\
    compat-gcc-c++-7.3-2.96.122.i386.rpm 		\
    compat-libstdc++-7.3-2.96.122.i386.rpm 		\
    compat-libstdc++-devel-7.3-2.96.122.i386.rpm 	\
    openmotif21-2.1.30-8.i386.rpm 			\
    setarch-1.3-1.i386.rpm 				\
    tcl-8.3.5-92.i386.rpm
Relink gcc so that the older gcc will be used during the Oracle installation (see Oracle Note:252217.1 for more information):
su - root
# mv /usr/bin/gcc /usr/bin/gcc323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# mv /usr/bin/g++ /usr/bin/g++323      
# ln -s /usr/bin/g++296 /usr/bin/g++

Note

If you received an error stating g++ does not exist after executing the above commands, then gcc-c++ has not been installed.
When you execute runInstaller from the Oracle9i R2 (9.2.0) CD, you will get the following error message:
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
To resolve the __libc_wait symbol issue, download the p3006854_9204 patch p3006854_9204_LINUX.zip from http://metalink.oracle.com. See bug 3006854 for more information. To apply the patch, run:
# unzip p3006854_9204_LINUX.zip
Archive:  p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt

# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#

Important

If you get the following error when you run rhel3_pre_install.sh:
rhel3_pre_install.sh: line 36: gcc: command not found
The error means you must install or link gcc correctly. This will mean you cannot start any binaries any more, for example:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object
file: No such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object
To fix that, run the echo. echo is a built-in shell command and not a binary so it will still work.
# echo "" > /etc/ld.so.preload rm /etc/ld.so.preload
Now you can start the process over from the beginning of the chapter.
Now runInstaller can be started from the CD:
su - oracle
$ echo $LD_ASSUME_KERNEL    # it is important that this variable is set!
2.4.1
$ /mnt/cdrom/runInstaller
- Welcome Screen: Click Next
- Inventory Location: Click Next
- Unix Group Name: Use "oinstall"
Click Next When asked to run /tmp/orainstRoot.sh, run it before you click Continue
- File Locations: Use the default values
- Available Products: Select "Oracle9i Database 9.2.0.1.0"
- Installation Types: Select Custom since we only want to install the software for now
- Available Products: Click Next or add some more components.
- Components Locations: Accept default values and click Next
- Privileged Operating System Groups: You can use the default values: OSDBA Group = dba, OSOPER Group = dba
- Oracle Managent Server Repository: You can use the default choice
- Create database: Select No since we first have to patch Oracle before a database can be created.
- Summary: Start the Install
- Configuration tools: The tools won't come up. Simply ignore it.
- At the end of the installation, exit runInstaller.
You may get the following errors while using the installer.
"Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk."
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0xa4e): In function `Nls_FormatCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make: *** [dbsnmp] Error 1
Click ignore.
This will be fixed after you apply the patch 3119415 after the 9.2.0.4 patchset has been applied. You can not apply the patch 3119415 at this time since the file /u01/app/oracle/oraInventory/ContentsXML/comps.xml does not exist yet. We will show you how to apply patch 3119415 later.
"Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk. "
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO
collect2: ld returned 1 exit status
make: *** [ctxhx] Error 1
Click ignore. This will be fixed when you apply the 9.2.0.4 patch set.