Installing Oracle9i 32-Bit On Red Hat Enterprise Linux Advanced Server
Installing Oracle9i 32-Bit On Red Hat Enterprise Linux Advanced Server
Oracle 9iR2 (9.2.0.6.0) 32-bit Database on Red Hat Advanced Server 4 (x86, kernel
2.6.9-5.EL, glibc-2.3.4-2)
Oracle 9iR2 (9.2.0) 32-bit Database on Red Hat Advanced Server 3 (x86, kernel 2.4.21-
4.EL, glibc 2.3.2-95.3)
Oracle 9iR2 (9.2.0) 32-bit Database on Red Hat Advanced Server 2.1 (x86, kernel 2.4.9-
e.3, glibc 2.2.4-26)
Oracle 9iR2 (9.2.0) 32-bit Database on Red Hat 9 (x86, kernel kernel-2.4.20-6, glibc
2.3.2-5)
Oracle 9iR2 (9.2.0) 32-bit Database on Red Hat 8.0 (x86, kernel 2.4.18-18.8.0, glibc
2.2.93-5)
Oracle 9iR2 (9.2.0) 32-bit Database on Red Hat 7.3 (x86, kernel 2.4.18-3, glibc 2.2.5-34)
Oracle 9iR1 (9.0.1) 32-bit Database on Red Hat 7.3 (x86, kernel 2.4.18-3, glibc 2.2.5-34)
Oracle 9iR1 (9.0.1) 32-bit Database on Red Hat 7.2 (x86, kernel 2.4.7-10, glibc 2.2.4-13)
Oracle 9iR1 (9.0.1) 32-bit Database on Red Hat 7.1 (x86, kernel 2.4.2-2, glibc 2.2.2-10)
People recommended this installation guide also for Red Hat Fedora Core 2.
Validation/Certification:
* Documentations
* Downloading and Installing Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9
* Unpacking Downloaded Oracle9i Installation Files and Burning Oracle9i CDs
* Setting Swap Space
* Setting Shared Memory
* Checking /tmp Space
* Sizing Oracle Disk Space
* The "binutils" Issue
* Checking Packages (RPMs)
* JDK
* Creating Oracle User Accounts
* Creating Oracle Directories
* Setting Oracle Environments
* Starting runInstaller
* Running Oracle Installation on RH 7.1, 7.2, 7.3, 8.0, 9, and on RH AS 2.1
* Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3
Installing Oracle9iR2 on RH AS 3
Patching Oracle9iR2 on RH AS 3
Patching Oracle Intelligent Agent on RH AS 3
* Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 4
Installing Oracle9iR2 on RH AS 4
Patching Oracle9iR2 on RH AS 4
* Startup and Shutdown of the Oracle 9i Database
* Oracle Installation Problems, Tips and Hints
* Oracle Installation Errors
Documentations
Oracle9i Database Documentation for Linux
Tuning and Optimizing Red Hat Linux Advanced Server for Oracle9i Database
Oracle9iR2 on Linux: Performance, Reliability and Manageability Enhancements on Red
Hat Linux Advanced Server 2.1
An Overview of Red Hat Advanced Server V2.1 Reliability, Availability, Scalability, and
Manageability (RASM) Features
NOTE: You cannot download Red Hat Linux Advanced Server 2.1, you can only
download the source code. If you want to get the binary CDs, you will have to buy it at
http://www.redhat.com/software/linux/advanced/.
You don't have to install all RPMs when you want to run an Oracle9i database on Red
Hat Linux.
For instance, if you install Red Hat Advanced Server, you are fine when you select the
Installation Type "Advanced Server" and when you don't select the Package Group
"Software Development". There are only a few other RPMs that are required for
installing Oracle9i. These other RPMs are covered in this article.
Or when you install Oracle9i on Red Hat Linux 7.x, 8.0, or 9, you are fine when you
select the installation type "Server".
NOTE: If you do not have enough swap space or RAM during the Oracle installation, in
particular during the database creation, your Oracle server (Linux) will temporarily
become unresponsive to any events for several minutes.
For more information on correctly sizing the swap space for your database, see Sizing
Swap Space.
You can also add temporary swap space by creating a temporary swap file instead of
using a raw device. Here is the procedure:
su - root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
To disable the temporary swap space execute the following commands:
su - root
swapoff tmpswap
rm tmpswap
I did not experience this problem with Oracle 9i (9.2.0), but only with Oracle 9i (9.0.1).
The binutils package that comes with Red Hat 7.1, 7.2, 7.3, and with RedHat 2.1
Advanced Server doesn't work with Oracle 9i (9.0.1) Universal Installer. Here are the
options you have for 9.0.1:
• I recommend the following approach:
Download the following binutil RPM version and downgrade binutil on the
Oracle server:
ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-
2.10.0.18-1.i386.rpm
su - root
rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm
When you are done with the Oracle installation, you upgrade your binutil RPM
back to the version you had before you downgraded. E.g. on the Red Hat 7.2
server I did:
rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm
• Here is Oracle's official solution for Oracle 9iR1 or 9iR1 iAS on RedHat 2.1
Advanced Server which I don't like:
http://otn.oracle.com/software/products/oracle9i/files/binutils_readme.html
To see if these development packages are installed on your server, run the following
command:
rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
For instance, most of these packages will be missing when you installed RedHat 2.1
Advanced Server and if you did not select the "Software Development" package. For the
RedHat 2.1 Advanced Server I executed the following commands to install the missing
RPMs from the two CDs:
su - root
rpm -ivh cpp-2.96-108.1.i386.rpm \
glibc-devel-2.2.4-26.i386.rpm \
kernel-headers-2.4.9-e.3.i386.rpm \
gcc-2.96-108.1.i386.rpm \
binutils-2.11.90.0.8-12.i386.rpm
To see if these development packages are installed on your server, run the following
command:
rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
For instance, when I installed Red Hat 9.0 and when I used the default packages for the
Installation Type "Server", I had to install the following RPMs afterwards:
su - root
rpm -ivh binutils-2.13.90.0.18-9.i386.rpm \
cpp-3.2.2-5.i386.rpm \
gcc-3.2.2-5.i386.rpm \
glibc-devel-2.3.2-5.i386.rpm \
glibc-kernheaders-2.4-8.10.i386.rpm
NOTE: Before you install Oracle9iR2 on Red Hat 9, make sure that you also read the
information about the error message "Error in invoking target install of make
file /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk" in the
Oracle Installation Errors section!
Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3):
Ensure the following required packages are installed on your server by running the
following command:
rpm -q make \
binutils \
gcc \
cpp \
glibc-devel \
glibc-headers \
glibc-kernheaders \
compat-db \
compat-gcc \
compat-gcc-c++ \
compat-libstdc++ \
compat-libstdc++-devel \
gnome-libs \
openmotif21 \
setarch
Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 4 (RHEL AS 4):
See also Oracle9i Release Notes Release 2 (9.2.0.4.0) for Linux x86 for the list of
required RPMs.
Ensure the following required packages are installed on your server by running the
following command:
rpm -q make \
compat-db \
compat-gcc-32 \
compat-gcc-32-c++ \
compat-oracle-rhel4 \
compat-libcwait \
compat-libgcc-296 \
compat-libstdc++-296 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
gnome-libs \
gnome-libs-devel \
libaio-devel \
libaio \
make \
openmotif21 \
xorg-x11-deprecated-libs-devel \
xorg-x11-deprecated-libs
JDK
Skip this step for Oracle9iR2.
I successfully installed Oracle9iR2 without installing JDK on the system. Oracle comes
now with its own Java. This means that you don't have to execute the following steps
which were required for older Oracle versions:
According to the JDK documentation, install JDK under /usr/local. Then create a
symbolic link to the JDK under /usr/local/java:
su - root
bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local
ln -s /usr/local/jdk118_v3 /usr/local/java
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
# Oracle Environment
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in
$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
You can put these environment settings at the end of the ~oracle/.bash_profile file if
you use bash. By this way you don't have to set the environment variables again when
you login as "oracle", or when you switch to the user "oracle" by executing "su -
oracle".
Starting runInstaller
Before you continue, make sure you have set the Oracle environment variables, see
above.
Before you run runInstaller, execute e.g. 'xterm' to see if your X setup is really
working! If you install Oracle on your desktop PC and not on a remote node, then you
can skip step 1 and 3.
NOTE 1:
If you use for example Red Hat Fedora Core 3 as your desktop and you want to install the
database on another machine, then you need to set the DisallowTCP entry in
/etc/X11/gdm/gdm.conf for the GNOME Display Manager to read:
DisallowTCP=false
After that you need to restart your X server. I usually do this with the init command:
su - root
init 3
init 5
NOTE 2:
Don't run runInstaller for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3)
yet! See Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3 for
more information.
Installing Oracle9iR2 on RH AS 3
Install the following RPMs (see Oracle Note:252217.1 for more information):
su - root
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 # if g++ doesn't exist, then gcc-
c++ was not installed
ln -s /usr/bin/g++296 /usr/bin/g++
When you execute runInstaller from the Oracle 9iR2 (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
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#
NOTE: If you get the following error when you run rhel3_pre_install.sh:
rhel3_pre_install.sh: line 36: gcc: command not found
Then you forgot to install or link gcc, see above. This means you can't start any binaries
any more:
# 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 file: No such file or directory
#
To fix that, run the echo command which is a built-in shell command:
# echo "" > /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x
159d): In function `Nls_ScanCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x
1603): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make: *** [dbsnmp] Error 1
Click ignore. This will be fixed by applying the patch 3119415 after the 9.2.0.4 patchset
has been applied. You won't be able to apply the patch 3119415 at this time since the file
/u01/app/oracle/oraInventory/ContentsXML/comps.xml doesn't exist yet.
Patching Oracle9iR2 on RH AS 3
To patch Oracle9iR2, download the Oracle 9i Release 2 Patch Set 3 Version 9.2.0.4.0 for
Linux x86 from http://metalink.oracle.com.
Copy the downloaded "p3095277_9204_LINUX.zip" file to e.g. /tmp and run the
following command:
su - oracle
$ cp p3095277_9204_LINUX.zip /tmp
$ cd /tmp
$ unzip p3095277_9204_LINUX.zip
Archive: p3095277_9204_LINUX.zip
inflating: 9204_lnx32_release.cpio
inflating: README.html
inflating: patchnote.css
$
$ cpio -idmv < 9204_lnx32_release.cpio
Disk1/stage/locks
Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/bin.1.
1.jar
Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/lib.1.
1.jar
...
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x1
24e): In function `OraProcess_Oid':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x1
76c): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make: *** [dbsnmp] Error 1
Click ignore. This will be fixed by applying the patch 3119415 after the 9.2.0.4 patchset
has been applied. The patch 3119415 cannot be applied while the patch process for the
9.2.0.4 patchset is running.
After the 9.2.0.4 patchset has been applied, download the patch
p3119415_9204_LINUX.zip from http://metalink.oracle.com. See bug 3119415 for more
information. Also, download the opatch Release 2.2.0 utility from
http://metalink.oracle.com. See bug 2617419 for more information.
When you run "agentctl start" (Oracle 9.2.0.4), dbsnmp will crash:
$ su - oracle
$ agentctl start
Before you apply the patch, make sure the instance is down!
Also make sure the opatch script appears in your $PATH. See "Patching Oracle9iR2 on
Red Hat AS 3" for information on getting and installing opatch. To verify if opatch is in
your $PATH, run the which command:
$ su - oracle
$ which opatch
/tmp/OPatch/opatch
$
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
$
I relinked dbsnmp and all associated executables which are maintained by the
ins_oemagent.mk makefile:
$ su - oracle
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
Installing Oracle9iR2 on RH AS 4
Before you continue, ensure all the required RPMs are installed, see Packages (RPMs)
for Red Hat Enterprise Linux Advanced Server 4 (RHEL AS 4).
Download the patch 3948480 (Oracle9i Patch Set Release 2 (9.2.0.6) Patch Set 5) from
http://metalink.oracle.com and execute the following commands:
su - oracle
$ cp p3948480_9206_LINUX.zip /tmp
$ cd /tmp
$ unzip p3948480_9206_LINUX.zip
Archive: p3948480_9206_LINUX.zip
creating: Disk1/
creating: Disk1/stage/
creating: Disk1/stage/Patches/
...
After the 9.2.0.6 patchset has been applied, download the patch 4190568 from
http://metalink.oracle.com. Also, download the opatch utility for release 10.1.0.2 (patch
2617419) from http://metalink.oracle.com.
If you intend to use Direct I/O Support, you must also download and apply patch
2448994.
svrmgrl is not supported any more. You can now do everything with sqlplus.
For example, for the Oracle SID "test" I changed the line in /etc/oratab from:
test:/u01/app/oracle/product/9.2.0:N
to read:
test:/u01/app/oracle/product/9.2.0:Y
In some cases for 9.2.0 I also had to copy the init file for my SID "test" from
/u01/app/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and
dbshut working:
cp /u01/app/oracle/admin/test/pfile/inittest.ora.642002224936
$ORACLE_HOME/dbs/inittest.ora
But first make sure if your init file already exists in $ORACLE_HOME/dbs!
If you do so, the installation will fail because you won't be able to change the
CDs.
• When the system stops responding during the Oracle installation in particular
during the database creation, then that's probably because you don't have enough
RAM or enough swap space. I saw the whole system not responding or to "hang"
for several minutes when I did not have enough swap space. If this happens,
simply wait until the system starts to respond again.
• The Oracle installation also runs make etc. In a production environment you might
not have compilers and other development packages installed. Therefore make
sure you have temporarily the following packages installed: gcc, cpp, glibc-devel,
compat-libstdc++, kernel-headers (for RH 7.1, 7.2, 2.1AS), glibc-kernheaders (for
RH 7.3, 8.0, 9.0), binutils. See also Checking Packages (RPMs) for more
information.
• If for any reason the Oracle9i installation didn't finish successfully, you might
want to clean up the following files and directories before you start over again:
/etc/oraInst.loc /etc/oratab /tmp/<OtherOracleOwnedFiles>
$ORACLE_BASE/*
• Other Problems:
You might want to check out the Oracle on Linux Discussion Forum.
• Log Files
First check always the error logs for 9.2.0 in /tmp/OraInstall (e.g
/tmp/OraInstall2002-07-04_09-50-19PM), and for 9.0.1 in /tmp/OraInstall. When
you get make problems, check also the file $ORACLE_HOME/install/make.log.
I saw this error only when I installed Oracle9iR2 (9.2.0). This was also the only problem
I experienced with Oracle 9i R2 on Red Hat 8.0. However, this does not necessarily
mean that you won't experience other problems described here.
Here is the full line with the added "`cat $(LIBHOME)/sysliblist`" string:
This error message came up when the Oracle Database Configuration Assistant was
running. I executed the following command to temporarily increase the maximum shared
memory size:
su - root
# cat /proc/sys/kernel/shmmax
33554432
# echo `expr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmax
1073741824
#
Then click "Retry" for the Oracle Database Configuration Assistant.
I saw this error when I've run the "Database Configuration Assistant" and "sqlplus".
When the "Database Configuration Assistant" gave me this error during Oracle9iR2
(9.2.0) installation on Red Hat 2.1 AS, I simply removed the shared memory segments
owned by the Oracle user and I restarted the "Database Configuration Assistant". I'm not
sure if this is the right way but it always worked for me. Here is what I did to get the
"Database Configuration Assistant" running again:
I executed the ipcs command to get the address of the shared memory segments that
have been allocated by Oracle:
$ su - root
# ipcs
#
Then I removed all shared memory segments that were owned by the Oracle user during
the installation with the following command:
# ipcrm shm 458755 491524 524293 557062 589831 622600 655369 688138
720907
After that I restarted the "Database Configuration Assistant". Once the installation was
done I immediately restarted the DB as well.
Caveat: I'm not sure if this procedure can cause any further problems if this is done
during the installation. But so far I haven't seen any issues with this approach.
sqlplus:
If you get this problem in connection with sqlplus, then simply make sure that the
database is down and exit sqlplus. After that, follow the procedure above by removing
all shared memory segments that belong to the Oracle user. To my knowledge, this
should not cause any problems.
For more information on shared memory segments, see Determining Which Semaphore
Sets and Shared Memory Segments Belong to Each Oracle Database or Instance.
NOTE:
To solve this problem permanently, increase the kernel shmmax size. For more
information, see Setting Shared Memory and Setting Shared Memory.
I saw this error only when I installed Oracle 9i (9.0.1). People have sent me emails
pointing out that the following solution also works for Mandrake 8.1, Mandrake 8.2, and
for SuSE 8.0.
Here is Oracle's official solution for Oracle 9iR1 and 9iR1 iAS on RedHat 2.1
Advanced Server:
http://otn.oracle.com/software/products/oracle9i/files/binutils_readme.html
If you see this error on Red Hat Enterprise Linux 3, follow the guideline at Running
Oracle Installation on Red Hat Enterprise Linux Advanced Server 3.
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x
159d): In function `Nls_ScanCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x
1603): more undefined references to `__ctype_b' follow
The issue here is that __ctype_b() is actually gone for __ctype_b_loc() because Red
Hat uses a new locale model. However, in libc.so, __ctype_b is still exported as
compatibility symbol; at least that's the case with RH 9 glibc-2.3.2-5. And here is the
reason why some people have this problem with Red Hat 9 and why some don't:
When you bought the Red Hat 9 CDs in a store, then you will probably find glibc-
2.3.2-5.i686.rpm on the first CD. This glibc version exports __ctype_b():
$ rpm -ql glibc-2.3.2-5 | grep libc.so
/lib/i686/libc.so.6
/lib/libc.so.6
/lib/tls/libc.so.6
$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
001315f8 D __ctype_b
00022340 T __ctype_b_loc
$ nm -a /lib/libc.so.6 | grep __ctype_b
00133c58 D __ctype_b
000223a0 T __ctype_b_loc
$
But when you downloaded Red Hat 9 from redhat.com or from one of the mirror sites,
then you will find glibc-2.3.2-11.9.i686.rpm on the image. This glibc version does
not export __ctype_b(). This is also the case with glibc-devel-2.3.2-
27.9.i386.rpm.
$ rpm -ql glibc-2.3.2-11.9 | grep libc.so
/lib/i686/libc.so.6
/lib/libc.so.6
/lib/tls/libc.so.6
$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
00131718 D __ctype_b@GLIBC_2.0
000223a0 T __ctype_b_loc
$ nm -a /lib/libc.so.6 | grep __ctype_b
00133d58 D __ctype_b@GLIBC_2.0
000223f0 T __ctype_b_loc
$
First check if the glibc packages on your RH 9 system work with the Oracle installer:
$ rpm -q glibc-2.3.2-5 glibc-common-2.3.2-5 glibc-devel-2.3.2-5
If you got the following error mesages:
package glibc-2.3.2-5 is not installed
package glibc-common-2.3.2-5 is not installed
package glibc-devel-2.3.2-5 is not installed
then you have glibc packages on your system that don't work with the Oracle installer and
you need to follow the "Work Around" procedure here.
But if your system has the 2.3.2-5 glibc versions installed, then you are fine and you don't
need to follow the described "Work Around" procedure!
Since I was not able to find the glibc-2.3.2-5 RPMs available for download, I'm
making the RPMs available on my website. These RPMs are copies of the glibc RPMs
that came with the RH 9 CDs I bought in the store. I do not recommend to use any of the
"compat" RPMs from older Red Hat distributions since RH 9 contains major changes.
First make sure if these downloaded RPM's are not corrupt and if they were really built
and signed by Red Hat. You never know if someone fiddled with these RPMs or replaced
them. To ensure the integrity and origin of these Red Hat's RPMs, run the following
commands:
$ su - root
# rpm --import /usr/share/rhn/RPM-GPG-KEY # add Red Hat's PGP public
key to the RPM database
# rpm --checksig glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-5.i386.rpm
glibc-devel-2.3.2-5.i386.rpm
glibc-2.3.2-5.i686.rpm: (sha1) dsa sha1 md5 gpg OK
glibc-common-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
glibc-devel-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
#
Downgrade glibc, glibc-common, and glibc-devel:
# rpm -Uvh --oldpackage glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-
5.i386.rpm glibc-devel-2.3.2-5.i386.rpm
If you get the following error:
error: Failed dependencies:
glibc = 2.3.2-11.9 is needed by (installed) glibc-debug-2.3.2-
11.9
glibc = 2.3.2-11.9 is needed by (installed) glibc-utils-2.3.2-
11.9
glibc-devel = 2.3.2-11.9 is needed by (installed) glibc-debug-
2.3.2-11.9
glibc-devel = 2.3.2-11.9 is needed by (installed) nptl-devel-
2.3.2-11.9
then you can temporarily remove these RPMs (glibc-debug, glibc-utils, nptl-devel) from
your system until you upgrade the glibc RPMs after your Oracle installation:
# rpm -e glibc-debug glibc-utils nptl-devel
After Oracle has been installed, you can upgrade glibc, glibc-common, and glibc-
devel again. For example:
# rpm -Uvh glibc-2.3.2-11.9.i686.rpm glibc-common-2.3.2-11.9.i386.rpm
glibc-devel-2.3.2-11.9.i386.rpm
According to Red Hat, binary compatibility in Red Hat Linux is always guaranteed for
binaries and shared libraries accross releases, but not for .o files nor .a files. However,
compatibility is guaranteed for .o files and .a files. _within_ a realease. Since glibc-2.3.2-
5 and glibc-2.3.2-11.9 are from the same release, compatibility should be guaranteed for
.o files (Oracle's .o files which have been created during the Oracle installation) and .a
files.
This means that Oracle should be fine when you upgrade glibc after the Oracle
installation.
If you have any problems or issues with this solution, or if you have any comments,
please let me know. You can find my email address at the bottom of this web site.
• $ 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
•
You are probably trying to start the agent on RH AS 3. See Patching Oracle Intelligent
Agent on RH AS 3 how to resolve it.
• $ dbca
• SIGSEGV 11* segmentation violation
• stackbase=0x453da000, stackpointer=0x453d9d5c
• Full thread dump:
• "AWT-EventQueue-0" (TID:0x411d1e20, sys_thread_t:0x453d9e0c,
• state:R) prio=5 *current thread*
• java.lang.Object.wait(Object.java)
• java.awt.EventQueue.getNextEvent(EventQueue.java:126)
• ...
Or on e.g. RHEL4:
Another option is to edit $ORACLE_HOME/bin/dbca and to put the following lines under
comment except the line marked in blue:
# if [ -f /etc/rac_on ]; then
# Run DBCA
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
# else
# Run DBCA
# $JRE_DIR/bin/jre -DORACLE_HOME=$OH ...
# fi
Now try to restart dbca.
• gcc -o /u01/app/oracle/product/9.2.0/rdbms/lib/oracle -
L/u01/app/oracle/product/9.2.0/rdbms/lib/ ...
• ...
• /usr/bin/ld: /u01/app/oracle/product/9.2.0/rdbms/lib/oracle:
hidden symbol `__fixunssfdi' in /usr/lib/gcc-lib/i386-redhat-
linux/3.2.3/libgcc.a(_fixunssfdi.oS) is referenced by DSO
•
• collect2: ld returned 1 exit status
• make: *** [/u01/app/oracle/product/9.2.0/rdbms/lib/oracle] Error
1
• /usr/bin/make -f ins_rdbms.mk ioracle
ORACLE_HOME=/u01/app/oracle/product/9.2.0
•
I've seen this error on RH AS 3. To fix the linking problem, I executed the following
commands:
# mv /usr/bin/gcc /usr/bin/gcc323
# mv /usr/bin/g++ /usr/bin/g++323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# ln -s /usr/bin/g++296 /usr/bin/g++
Now you should be able to relink the oracle
binary again.
Once you are done, make sure to revert back the changes you've made above:
# mv /usr/bin/gcc323 /usr/bin/gcc
# mv /usr/bin/g++323 /usr/bin/g++
You are probably trying to run a 64-bit Oracle version on a 32-bit Linux system. Make
sure you downloaded the right Oracle version for your Linux system.
To rectify this problem, run the following command and restart runInstaller:
oracle$ export LD_ASSUME_KERNEL=2.4.1
For more information on this issue, see Red Hat 9.
You are probably running the wrong rman binary which belongs to the XFree86-devel
RPM:
$ which rman
/usr/X11R6/bin/rman
I saw this error only with Oracle 9i R2 (9.2.0) when It tried to start the database with
dbstart.
You are probably running runInstaller on a 586 machine, or your AMD CPU gets
recognized as 586 (e.g. AMD K6-III-400). You can check your machine (hardware) type
by executing "uname -m". If you are not running on a 586 or on a AMD machine, try to
link jre to java and see if this solves your problem.
To rectify the problem with the 586 machine or with the AMD CPU, create a link for lib
and bin from i586 to i686 and make the i686 directories read only. For example:
ln -s /tmp/OraInstall/jre/bin/i686 /tmp/OraInstall/jre/bin/i586
ln -s /tmp/OraInstall/jre/lib/i686 /tmp/OraInstall/jre/lib/i586
chmod u-w /tmp/OraInstall/jre/bin/i686/tmp/OraInstall/jre/lib/i686
Now restart runInstaller.
You probably forgot to install the compat-libstdc++ RPM which is a package for
"Standard C++ libraries for Red Hat Linux 6.2 backwards compatibility". To rectify this
problem, install the compat-libstdc++ RPM. For example on Red Hat 9:
rpm -ivh compat-libstdc++-7.3-2.96.118.i386.rpm
See also Checking Packages (RPMs) for more information.
• /u01/app/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so
: symbol errno, version GLIBC_2.0 not defined in file libc.so.6
with link time reference (libzip.so)
Unable to initialize threads: cannot find class java/lang/Thread
Could not create Java VM
I experienced this problem when I was running the Database Configuration Assistant
dbca on Red Hat 9 without setting the LD_ASSUME_KERNEL environment variable.
To rectify this problem, run the following command on Red Hat 9 and RHEL 3 and
restart dbca:
oracle$ export LD_ASSUME_KERNEL=2.4.1
For more information on this issue, see Red Hat 9.
• $ lsnrctl start
• OR
• $ lsnrctl status
•
• LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 14-OCT-2004
14:33:10
• Copyright (c) 1991, 2002, Oracle Corporation. All rights
reserved.
• Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) TNS-12541:
TNS:no listener
• TNS-12560: TNS:protocol adapter error
• TNS-00511: No listener
• Linux Error: 2: No such file or directory
• Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521)))
• TNS-12541: TNS:no listener
• TNS-12560: TNS:protocol adapter error
• TNS-00511: No listener
• Linux Error: 111: Connection refused
•
One of the possibilities are that the /var/tmp/.oracle directory doesn't exist. This
happened with fresh new Oracle 9.2.0.4.0 CDs on RH AS 3. If that's the case, run the
following commands:
su - root
mkdir /var/tmp/.oracle
chown oracle:dba /var/tmp/.oracle
Now try to run lsnrctl start as oracle again.
NOTE: If you use for example Red Hat Fedora Core 3 as your desktop and you want to
install the database on another machine, then you need to set the DisallowTCP entry in
/etc/X11/gdm/gdm.conf for the GNOME Display Manager to read:
DisallowTCP=false
After that you need to restart your X server. I usually do this with the init command:
su - root
init 3
init 5
• Other Errors
You might want to check out the Oracle on Linux Discussion Forum.
The information provided on this website comes without warranty of any kind and is distributed AS IS.
Every effort has been made to provide the information as accurate as possible, but no warranty or fitness is
implied. The information may be incomplete, may contain errors or may have become out of date. The use
of this information described herein is your responsibility, and to use it in your own environments do so at
your own risk.