Coming soon: Installing Oracle9i RAC on Red Hat Advanced 2.1 (this article will also cover OCFS and FireWire Drives)
Installing Oracle 9i on RedHat Linux 7.1, 7.2, 7.3, 8.0, 9, Red Hat Advanced Server 2.1, and on Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3)
Oracle on Red Hat Linux Portal
Here is a summary (HOWTO) of how I installed:
Oracle 9iR2 (9.2.0) Database on Red Hat Advanced Server 3 (kernel 2.4.21-4.EL, glibc 2.3.2-95.3)
Oracle 9iR2 (9.2.0) Database on Red Hat Advanced Server 2.1 (kernel 2.4.9-e.3, glibc 2.2.4-26)
Oracle 9iR2 (9.2.0) Database on Red Hat 9 (kernel kernel-2.4.20-6, glibc 2.3.2-5)
Oracle 9iR2 (9.2.0) Database on Red Hat 8.0 (kernel 2.4.18-18.8.0, glibc 2.2.93-5)
Oracle 9iR2 (9.2.0) Database on Red Hat 7.3 (kernel 2.4.18-3, glibc 2.2.5-34)
Oracle 9iR1 (9.0.1) Database on Red Hat 7.3 (kernel 2.4.18-3, glibc 2.2.5-34)
Oracle 9iR1 (9.0.1) Database on Red Hat 7.2 (kernel 2.4.7-10, glibc 2.2.4-13)
Oracle 9iR1 (9.0.1) Database on Red Hat 7.1 (kernel 2.4.2-2, glibc 2.2.2-10)
Validation/Certification:
Release 2 of Oracle 9i Database and Application Server, and Oracle E-Business Suite 11.5.7 have been certified on Red Hat Linux Advanced Server 2.1, see " Oracle and Red Hat Collaborate to Develop Enhanced Enterprise Capabilities for Red Hat Linux Advanced Server." Red Hat 7.1 has been validated for Oracle9i Database and for Oracle9i Application Server, see Red Hat Announces Validation of Red Hat Linux For Oracle. See also Oracle Products on Red Hat Linux.
Errors and Problems:
Some of the Oracle errors and problems covered here were only experienced in connection with 9i (9.0.1) and some only with 9iR2 (9.2.0). But since I cannot say for sure that a 9i (9.0.1) installation error will never show up during 9iR2 (9.2.0) installation, I simply kept all errors and problems listed together, see Oracle Installation Errors and Oracle Installation Problems, Important Tips and Hints.
Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3)
In order to install an Oracle9iR2 database on RH AS 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patchset and some other patches must be applied. Some errors can only be fixed by applying the 9.2.0.4 patchset. For more information, see Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3.
Red Hat 9:
Red Hat 9 includes now the the Native POSIX Thread Library (NPTL) which is an improved implementation of POSIX threads for Linux. But using NPTL will cause several problems for Oracle applications. Note that Oracle9i has not been certified on Red Hat 9!
So to fix this problem, you can set the environment variable LD_ASSUME_KERNEL to 2.4.1, which means that the old "Linuxthreads with floating stacks" implementation will be used. Otherwise the Oracle installer runInstaller will hang, the Database Configuration Assistant dbca won't start etc.; see Oracle Installation Errors for more information. To see where this environment variable can be set, see Set Oracle Environments. For more information on LD_ASSUME_KERNEL, see Red Hat Linux 9 Release Notes.
NOTE: Before you install Oracle9iR2, make sure that you first read the information about the error message "Error in invoking target install of make file /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk" in the Oracle Installation Errors section!
Red Hat 8.0:
The only problem I experienced with Oracle 9iR2 (9.2.0) on Red Hat 8.0 was:
"Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"
But this does not necessarily mean that you won't see other problems described here. See Oracle Installation Errors for more information.
This article covers the following subjects and steps:
- 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 Development 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
- 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
Downloading and Installing Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9
To download Red Hat Linux 7.x, 8.0, 9, check the links at http://www.puschitz.com/RedhatDownload.html
You can find the installation guides for installing Red Hat Linux under Red Hat Linux Manuals.
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/. But Red Hat is offering a Developer Edition of Advanced Server 2.1 at a very affordable price.
Unpacking Downloaded Oracle9i Installation Files and Burning Oracle9i CDs
Download Oracle9i for Linux from the following web site:
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.html
Uncompress and unpack downloaded files:
For Oracle9i (9.2.0):
One step procedure (uses less disk space and is faster):
zcat lnx_920_disk1.cpio.gz | cpio -idmv
zcat lnx_920_disk2.cpio.gz | cpio -idmv
zcat lnx_920_disk3.cpio.gz | cpio -idmv
Two step procedure:
Uncompress
gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz
Unpack the downloaded files:
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
For Oracle9i (9.0.1):
One step procedure (uses less disk space and is faster):
zcat Linux9i_Disk1.cpio.gz | cpio -idmv
zcat Linux9i_Disk2.cpio.gz | cpio -idmv
zcat Linux9i_Disk3.cpio.gz | cpio -idmv
Two step procedure:
Uncompress
gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
Unpack the downloaded files:
cpio -idmv < Linux9i_Disk1.cpio
cpio -idmv < Linux9i_Disk2.cpio
cpio -idmv < Linux9i_Disk3.cpio
Now you should have 3 directories containing installation files:
Disk1
Disk2
Disk3
I executed the following commands when I burned the 3 CDs:
mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=15 -
(You can get the dev numbers when you execute cdrecord -scanbus).
Setting Swap Space
In order to perform a typical Oracle 9i installation and to create a simple prototype database, Oracle says that you need a minimum of 512MB of RAM for the Oracle9i (9.0.1) Server, and the amount of disk space (swap space) should be equal to twice the amount of RAM or at least 400 MB, whichever is greater.
I tried to test the limits on an older PC with 256 MB of RAM and with 600 MB of swap space. I was able to install Oracle 9i (9.0.1 & 9.2.0) and Oracle's default database without any problems. But when I used less swap space on this PC (256MB RAM), I was runnig out of memory. So I definitely recommend to use more RAM and/or more swap space as specified in the Oracle installation guide.
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.
To check the memory, run:
grep MemTotal /proc/meminfo
To check the swap space, run:
cat /proc/swaps
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
Setting Shared Memory
For Oracle 9i (9.2.0) installation I had to increase the maximum shared memory size on my Linux server for all Red Hat versions. The Oracle Database Configuration Assistant displayed the following error message on my server:
ORA-27123: unable to attach to shared memory segment.
I temporarely increased the shmmax setting for the kernel by executing the following command:
$ su - root
cat /proc/sys/kernel/shmmax
33554432
echo expr 1024 \\* 1024 \\* 1024 > /proc/sys/kernel/shmmax
cat /proc/sys/kernel/shmmax
1073741824
It is recommended to increase the shmmax setting permanently for Oracle. For more information, see Setting Shared Memory.
For more information on optimizing shared memory settings for Oracle databases on Linux, see Setting Shared Memory. These parameters apply to all Red Hat Linux versions. But note that except for the shmmax parameter, these parameter do not need to be changed for installing Oracle on Linux. But you might want to adjust all shared memory settings later to optimize the server for Oracle.
Checking /tmp Space
The Oracle Universal Installer requires up to 400 MB of free space in the /tmp directory.
To check the space in /tmp, run:
$ df /tmp
If you do not have enough space in the /tmp directory, you can temporarily create a tmp directory in another filesystem. Here is how you can do this:
su - root
mkdir /
1<anotherfilesystem>/tmp
2chown root.root /<anotherfilesystem>/tmp
3chmod 1777 /<anotherfilesystem>/tmp
4export TEMP=/<anotherfilesystem> # used by Oracle
5export TMPDIR=/<anotherfilesystem> # used by Linux programs like the linker "ld"
6When you are done with your Oracle installation, shutdown Oracle and remove the temporary directory:
7su - root
8rmdir /<anotherfilesystem>/tmp
9unset TEMP
10unset TMPDIR
11
12Sizing Oracle Disk Space
13
14You will need about 2.5 GB for the database software. If you perform a typical database installation and not a customized database installation, then you will need about 3.5 GB of disk space.
15
16The "binutils" Issue
17
18Skip this step for Oracle9iR2.
19
20I did not experience this problem with Oracle 9i (9.2.0), but only with Oracle 9i (9.0.1).
21
22The 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:
23
24I recommend the following approach:
25
26Wait for the following Oracle installation error:
27"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
28And fix this problem as described in Oracle Installation Errors.
29I recommend this approach since it obviates the need to change binutils.
30I do not recommend the following approach:
31
32Download the following binutil RPM version and downgrade binutil on the Oracle server:
33ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm
34
35su - root
36rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm
37When 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:
38rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm
39Here is Oracle's official solution for Oracle 9iR1 or 9iR1 iAS on RedHat 2.1 Advanced Server which I don't like:
40http://otn.oracle.com/software/products/oracle9i/files/binutils_readme.html
41
42Checking Development Packages (RPMs)
43
44You will need some RPM development packages for the Oracle installer to build the Oracle modules, otherwise you will get an error messages similar to this one:
45Error in invoking target ntcontab.o of makefile
46/opt/oracle/product/9.2.0/network/lib/ins_net_client.mk
47
48Development Packages (RPMs) for RH 7.1, 7.2, and RH AS 2.1:
49
50To see if these development packages are installed on your server, run the following command:
51rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
52For 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:
53su - root
54rpm -ivh cpp-2.96-108.1.i386.rpm \
55glibc-devel-2.2.4-26.i386.rpm \
56kernel-headers-2.4.9-e.3.i386.rpm \
57gcc-2.96-108.1.i386.rpm \
58binutils-2.11.90.0.8-12.i386.rpm
59
60Development Packages (RPMs) for RH 7.3, 8.0, and 9:
61
62To see if these development packages are installed on your server, run the following command:
63rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
64For 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:
65su - root
66rpm -ivh binutils-2.13.90.0.18-9.i386.rpm \
67cpp-3.2.2-5.i386.rpm \
68gcc-3.2.2-5.i386.rpm \
69glibc-devel-2.3.2-5.i386.rpm \
70glibc-kernheaders-2.4-8.10.i386.rpm
71
72Development Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3):
73
74To see if these development packages are installed on your server, run the following command:
75rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-headers glibc-kernheaders binutils
76
77NOTE: Before you install Oracle9iR2, make sure that you also read the information about the error message "Error in invoking target install of make file /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk" in the Oracle Installation Errors section!
78
79JDK
80
81Skip this step for Oracle9iR2.
82
83I 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:
84
85Download JDK 1.3.1 or Blackdown 1.1.8_v3: (I usually used Blackdown)
86http://www.blackdown.org
87http://java.sun.com
88
89According to the JDK documentation, install JDK under /usr/local. Then create a symbolic link to the JDK under /usr/local/java:
90su - root
91bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local
92ln -s /usr/local/jdk118_v3 /usr/local/java
93
94Creating Oracle User Accounts
95
96su - root
97groupadd dba # group of users to be granted with SYSDBA system privilege
98groupadd oinstall # group owner of Oracle files
99useradd -c "Oracle software owner" -g oinstall -G dba oracle
100passwd oracle
101For more information on the "oinstall" group account, see When to use "OINSTALL" group during install of oracle.
102
103Creating Oracle Directories
104
105In this example, make sure that the /opt filesystem is large enough, see Oracle Disk Space for more information. If /opt is not on a separate filesystem, then make sure the root filesystem "/" has enough space.
106
107su - root
108mkdir /opt/oracle
109mkdir /opt/oracle/product
110mkdir /opt/oracle/product/9.2.0
111chown -R oracle.oinstall /opt/oracle
112
113mkdir /var/opt/oracle
114chown oracle.dba /var/opt/oracle
115chmod 755 /var/opt/oracle
116
117Setting Oracle Environments
118
119Set the following Oracle environment variables before you start runInstaller.
120
121As the oracle user execute the following commands:
122# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
123# for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!
124# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
125export LD_ASSUME_KERNEL=2.4.1
126
127# Oracle Environment
128export ORACLE_BASE=/opt/oracle
129export ORACLE_HOME=/opt/oracle/product/9.2.0
130export ORACLE_SID=test
131export ORACLE_TERM=xterm
132# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
133export NLS_LANG=AMERICAN;
134export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
135LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
136LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
137export LD_LIBRARY_PATH
138
139# Set shell search paths
140export PATH=$PATH:$ORACLE_HOME/bin
141
142I successfully installed Oracle9iR2 without setting the following CLASSPATH environment variable:
143# CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
144# CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
145# export CLASSPATH
146
147You 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".
148
149Starting runInstaller
150
151Before you continue, make sure you have set the Oracle environment variables, see above.
152
153Oracle no longer supports a character mode installer. Therefore, in order to execute runInstaller directly from a console of a machine you are logged into (in this example the node name where Oracle is running is called "oracleserver"), you need to set the DISPLAY environment variable. Before you do that, make sure that you also allow runInstaller on "oracleserver" to display X information on your Linux desktop machine (in this example, the PC name where you are running X Windows like KDE or GNOME is called "yourdesktop"), because programs running on remote machines cannot display information to your screen unless you give them the authority to do so. Note that the X display relink mechanism does not work for NT desktop machines unless you use Exceed.
154
155Before 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.
156
157Step 1: Allow "oracleserver" to display X information to your desktop PC "yourdesktop":
158
159yourdesktop:user$ xhost +oracleserver
160Step 2: Open a new window and login to the Oracle server "oracleserver" as root. This window will be used for mounting and unmounting the Oracle CDs.
161oracleserver:$ su - root
162oracleserver:root# mount /mnt/cdrom
163
164Step 3: From the console of your Oracle server "oracleserver" where you will run runInstaller, execute the following commands:
165oracleserver:$ su - oracle
166oracleserver:oracle$ export DISPLAY=yourdesktop:0.0
167Step 4: Now execute runInstaller as "oracle". Do not cd to /mnt/cdrom !!
168oracleserver:oracle$ /mnt/cdrom/runInstaller
169
170NOTE:
171Don'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.
172
173Running Oracle Installation on RH 7.1, 7.2, 7.3, 8.0, 9, and on RH AS 2.1
174
175Keep in mind that you will get one or more errors here during the Oracle installation! See Oracle Installation Errors for more information.
176
177This is how I answered the questions for the runInstaller:
178
179\- What would you like as the base directory (Inventory Location):
180
181/opt/oracle/oraInventory
182\- UNIX Group Name (permission for updating Oracle software):
183
184oinstall
185You could also use "dba" which I do not recommend for security reasons.
186For more information on the "oinstall" group account, see
187When to use "OINSTALL" group during install of oracle.
188
189\- Full path name for Oracle Home:
190/opt/oracle/product/9.2.0
191etc.
192
193Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3
194
195In order to install an Oracle9iR2 database on RH AS 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patchset and some other patches must be applied. Some errors can only be fixed by applying the 9.2.0.4 patchset.
196
197Installing Oracle9iR2
198
199Install the following RPMs (see Oracle Note:252217.1 for more information):
200su - root
201rpm -ivh \
202compat-db-4.0.14-5.i386.rpm \
203compat-gcc-7.3-2.96.122.i386.rpm \
204compat-gcc-c++-7.3-2.96.122.i386.rpm \
205compat-libstdc++-7.3-2.96.122.i386.rpm \
206compat-libstdc++-devel-7.3-2.96.122.i386.rpm \
207openmotif21-2.1.30-8.i386.rpm \
208setarch-1.3-1.i386.rpm \
209tcl-8.3.5-92.i386.rpm
210Relink gcc so that the older gcc will be used during the Oracle installation (see Oracle Note:252217.1 for more information):
211su - root
212mv /usr/bin/gcc /usr/bin/gcc323
213ln -s /usr/bin/gcc296 /usr/bin/gcc
214mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn't exist, then gcc-c++ was not installed
215ln -s /usr/bin/g++296 /usr/bin/g++
216
217When you execute runInstaller from the Oracle 9iR2 (9.2.0) CD, you will get the following error message:
218Error occurred during initialization of VM
219Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
220symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
221
222To resolve resolve the __libc_wait symbol issue, download the patch p3006854_9204_LINUX.zip from http://metalink.oracle.com. See bug 3006854 for more information.
223
224To apply the patch, run
225su - root
226# unzip p3006854_9204_LINUX.zip
227Archive: p3006854_9204_LINUX.zip
228creating: 3006854/
229inflating: 3006854/rhel3_pre_install.sh
230inflating: 3006854/README.txt
231
232# cd 3006854
233# sh rhel3_pre_install.sh
234Applying patch...
235Patch successfully applied
236#
237NOTE: If you get the following error when you run rhel3_pre_install.sh:
238rhel3_pre_install.sh: line 36: gcc: command not found
239Then you forgot to install or link gcc, see above. This means you can't start any binaries any more:
240# ls
241ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
242#
243To fix that, run:
244# echo "" > /etc/ld.so.preload
245rm /etc/ld.so.preload
246And start over again.
247
248Now runInstaller can be started from the CD:
249su - oracle
250$ echo $LD_ASSUME_KERNEL # it is important that this variable is set!
2512.4.1
252$ /mnt/cdrom/runInstaller
253
254\- Welcome Screen: Click Next
255\- Inventory Location: Click Next
256\- Unix Group Name: Use "oinstall" and click Next
257When asked to run /tmp/orainstRoot.sh, run it before you click Continue
258\- File Locations: Use default values
259\- Available Products: Select "Oracle9i Database 9.2.0.1.0"
260\- Installation Types: Select Custom since we only want to install the software for now
261\- Available Products: Click Next or add some more components.
262\- Components Locations: Accept default values and click Next
263\- Privileged Operating System Groups:
264I used the default values: OSDBA Group = dba, OSOPER Group = dba
265\- Oracle Managent Server Repository:
266I used the default choice
267\- Create database: Select NO since we first have to patch Oracle before a database can be created!
268\- Summary: Start the Install
269\- Configuration tools: Tools won't come up. Simply ignore it.
270\- At the end of the installation, exit runInstaller.
271
272
273You may get the following errors:
274
275Error in invoking target install of makefile /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
276
277The /opt/oracle/product/9.2.0/install/make.log file reads:
278/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0xa4e): In function `Nls_FormatCmd':
279: undefined reference to `__ctype_b'
280/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':
281: undefined reference to `__ctype_b'
282/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow
283collect2: ld returned 1 exit status
284make: *** [dbsnmp] Error 1
285
286Click 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 /opt/oracle/oraInventory/ContentsXML/comps.xml doesn't exist yet.
287
288Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk.
289
290The /opt/oracle/product/9.2.0/install/make.log file reads:
291/usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO
292collect2: ld returned 1 exit status
293make: *** [ctxhx] Error 1
294
295Click ignore. This is fixed by applying the 9.2.0.4 patchset.
296
297Patching Oracle9iR2:
298
299To 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.
300
301Copy the downloaded "p3095277_9204_LINUX.zip" file to e.g. /tmp and run the following command:
302su - oracle
303$ cp p3095277_9204_LINUX.zip /tmp
304$ cd /tmp
305$ unzip p3095277_9204_LINUX.zip
306Archive: p3095277_9204_LINUX.zip
307inflating: 9204_lnx32_release.cpio
308inflating: README.html
309inflating: patchnote.css
310$
311$ cpio -idmv < 9204_lnx32_release.cpio
312Disk1/stage/locks
313Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/bin.1.1.jar
314Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/lib.1.1.jar
315...
316
317To patch the runInstaller, run:
318su - oracle
319$ echo $LD_ASSUME_KERNEL # it is important that this variable is set!
3202.4.1
321$ cd /tmp/Disk1/
322$ ./runInstaller
323
324\- Welcome Screen: Click Next
325\- File Locations: Use default values
326\- Available Products: Select "Oracle Universial Installer 2.2.0.18.0 !"
327\- Components Locations: Accept default values and click Next
328\- Summary: Start the Install
329\- At the end of the installation, exit runInstaller!
330
331To patch Oracle9iR2, run:
332su - oracle
333$ echo $LD_ASSUME_KERNEL # it is important that this variable is set!
3342.4.1
335$ cd $ORACLE_HOME/bin
336$ ./runInstaller
337
338\- Welcome Screen: Click Next
339\- File Locations: Use default values
340\- Available Products: Select "Oracle9iR2 Patch Set 3 9.2.0.4.0 !"
341\- Summary: Start the Install
342\- At the end of the installation, exit runInstaller
343
344You may get the following error:
345
346Error in invoking target install of makefile /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
347
348The /opt/oracle/product/9.2.0/install/make.log file reads:
349/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x1cc): In function `get_ora_stmt_handle':
350: undefined reference to `__ctype_b'
351/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x124e): In function `OraProcess_Oid':
352: undefined reference to `__ctype_b'
353/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x176c): more undefined references to `__ctype_b' follow
354collect2: ld returned 1 exit status
355make: *** [dbsnmp] Error 1
356
357Click 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.
358
359After 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.
360
361To install opatch, run:
362su - oracle
363$ cp p2617419_210_GENERIC.zip /tmp
364$ cd /tmp
365$ unzip p2617419_210_GENERIC.zip
366Before you apply the 3119415 patch, you need to make sure the fuser is accessable by the oracle user, see below. Otherwise the patch can't be applied since fuser is used by opatch.
367
368To apply the 3119415 patch, run
369su - oracle
370$ unzip p3119415_9204_LINUX.zip
371$ cd 3119415
372$ export PATH=$PATH:/tmp/OPatch
373$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
374$ which opatch
375/tmp/OPatch/opatch
376$ opatch apply
377
378Now you should be able to create a database with dbca:
379su - oracle
380dbca
381
382And don't forget to undo the changes (links) to /usr/bin/gcc and /usr/bin/g++ if you don't need it any more. Also don't forget the /etc/ld.so.preload file.
383
384Startup and Shutdown of the Oracle 9i Database
385
386sqlplus:
387
388svrmgrl is not supported any more. You can now do everything with sqlplus.
389
390For instance, to startup the database, run the following commands:
391
392oracle$ sqlplus /nolog
393SQL> connect / as sysdba
394SQL> startup
395The slash connects you to the schema owned by SYS. So in this example you will be connected to the schema owned by SYS with the privilege SYSDBA. SYSDBA gives you the following privileges:
396\- sysoper privileges WITH ADMIN OPTION
397\- create database
398\- recover database until
399
400$ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut
401
402You can also use $ORACLE_HOME/bin/dbstart to startup the database, and $ORACLE_HOME/bin/dbshut to shutdown the database. You can place $ORACLE_HOME/bin/dbstart into the /etc/rc.d/rc.local boot script to automatically bring up the database at system boot time. To get $ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut working, you need to change the third field for your Oracle SID in /etc/oratab from "N" to "Y".
403
404For example, for the Oracle SID "test" I changed the line in /etc/oratab from:
405
406test:/opt/oracle/product/9.2.0:N
407to read:
408test:/opt/oracle/product/9.2.0:Y
409
410In some cases for 9.2.0 I also had to copy the init file for my SID "test" from /opt/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:
411cp /opt/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora
412But first make sure if your init file already exists in $ORACLE_HOME/dbs!
413
414If you want to properly integrate Oracle9i into the Red Hat Linux 7 SysV init process, check out http://www.gurulabs.com/downloads.html. "Oracle9i RHL Run Package" is based on a GPLd RPM provided by SuSE, but has been heavily modified to fit as seamlessly as possible into Red Hat Linux.
415
416Oracle Installation Problems, Tips and Hints
417
418Some of these problems apply only to 9.0.1!
419Do not cd to /mnt/cdrom to run ./runInstaller!
420If you do so, the installation will fail because you won't be able to change the CDs.
421
422If you forgot to set the DISPLAY environment variable (e.g. export DISPLAY=oracleserver:0.0), or if you forgot to give the remote console - your Oracle Server - authority to display X information on your desktop PC (e.g. xhost +oracleserver), then you will get the following error:
423Xlib: connection to ":0.0" refused by server
424Xlib: Client is not authorized to connect to Server
425In this case, I always had to kill runInstaller in Oracle9iR1 (9.0.1) which was still running in the background. If I didn't do this in 9.0.1, runInstaller didn't completely come up any more without displaying any error messages. You might also want to clean up /tmp/OraInstall.
426
427When runInstaller starts to configure the tools ("Configuration Tools"), the "Oracle Net Configuration Assistant" will sometimes hang. Simply stop the Assistant and restart it, or continue the installation. When the rest of the installation is finished, do a "Retry" for "Oracle Net Configuration Assistant". This always worked for me.
428When 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.
429The 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 Development Packages for more information.
430
431If 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/*
432Other Problems:
433You might want to check out the Oracle on Linux Discussion Forum.
434
435Oracle Installation Errors
436
437Here is a list of Oracle 9i (9.0.1 & 9.2.0) installation problems and issues. Some issues, errors, problems, and solutions apply only to 9.0.1 and some only to 9.2.0. Since I did not experience all of the problems here, I am not able to verify the correctness of all the solutions. However, I experienced almost all of the problems listed here. If you have other problems and you were able to resolve them, then please drop me an email at webmaster_at_puschitz.com so that I can add it to the list here.
438
439Here is a list of issues issues, errors, problems and solutions:
440Log Files
441First 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.
442
443"Various make Problems"
444Make sure that gcc is installed on your system:
445$ which gcc
446/usr/bin/gcc
447
448Here is the command to find the RPM package name for /usr/bin/gcc:
449$ rpm -qf /usr/bin/gcc
450gcc-2.96-98
451
452Check also the other error messages below. See also Development Packages for more information.
453
454"Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"
455I 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.
456
457When I had this problem, the following errors showed up in $ORACLE_HOME/install/make.log:
458/lib/libdl.so.2: undefined reference to `_dl_addr@GLIBC_PRIVATE'
459/lib/libdl.so.2: undefined reference to `_dl_open@GLIBC_PRIVATE'
460/lib/libdl.so.2: undefined reference to `_dl_close@GLIBC_PRIVATE'
461/lib/libdl.so.2: undefined reference to `_dl_sym@GLIBC_PRIVATE'
462/lib/libdl.so.2: undefined reference to `_dl_vsym@GLIBC_PRIVATE'
463
464This error comes up when the following step is executed:
465/usr/bin/make -f ins_ctx.mk install ORACLE_HOME=/opt/oracle/product/9.2.0
466
467Edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk, go to "INSO_LINK =", and add a "$(LDLIBFLAG)dl" to the line and save it.
468
469Here is the full line with the added "$(LDLIBFLAG)dl" flag:
470
471INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
472
473After that hit retry in the error popup.
474
475If this didn't work, then try the following:
476
477Edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk again, go to "INSO_LINK =", remove the above entry you made and add a "`cat $(LIBHOME)/sysliblist`" to the line and save it.
478
479Here is the full line with the added "`cat $(LIBHOME)/sysliblist`" string:
480
481INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m `cat $(LIBHOME)/sysliblist` $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
482
483After that hit retry in the error popup.
484
485ORA-27123: unable to attach to shared memory segment.
486
487I saw this error only when I installed Oracle 9i R2 (9.2.0).
488
489This 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:
490su - root
491# cat /proc/sys/kernel/shmmax
49233554432
493# echo `expr 1024 \\* 1024 \\* 1024` > /proc/sys/kernel/shmmax
494# cat /proc/sys/kernel/shmmax
4951073741824
496#
497Then click "Retry" for the Oracle Database Configuration Assistant.
498
499It is recommended to increase the shmmax setting permanently for Oracle9i. So if you want to increase the maximum shared memory size permanently, add the following line to the /etc/sysctl.conf file:
500
501kernel.shmmax=1073741824
502For more information on setting shared memory parameters for Oracle, see Setting Shared Memory.
503
504ORA-03113: end-of-file on communication channel
505I 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:
506
507Database Configuration Assistant:
508
509I executed the ipcs command to get the address of the shared memory segments that have been allocated by Oracle:
510$ su - root
511# ipcs
512
513\------ Shared Memory Segments --------
514key shmid owner perms bytes nattch status
5150x00000000 0 root 600 196608 2
5160x00000001 32769 root 600 655360 2
5170x00000000 458755 oracle 660 4194304 0
5180x00000000 491524 oracle 660 33554432 0
5190x00000000 524293 oracle 660 33554432 0
5200x00000000 557062 oracle 660 33554432 0
5210x00000000 589831 oracle 660 33554432 0
5220x00000000 622600 oracle 660 33554432 0
5230x00000000 655369 oracle 660 33554432 0
5240x00000000 688138 oracle 660 33554432 0
5250x3ecee0b0 720907 oracle 660 4194304 0
526
527\------ Semaphore Arrays --------
528key semid owner perms nsems status
529
530\------ Message Queues --------
531key msqid owner perms used-bytes messages
532
533#
534Then I removed all shared memory segments that were owned by the Oracle user during the installation with the following command:
535# ipcrm shm 458755 491524 524293 557062 589831 622600 655369 688138 720907
536After that I restarted the "Database Configuration Assistant". Once the installation was done I immediately restarted the DB as well.
537Caveat: 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.
538
539sqlplus:
540
541If 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.
542
543For more information on shared memory segments, see Determining Which Semaphore Sets and Shared Memory Segments Belong to Each Oracle Database or Instance.
544
545NOTE:
546To solve this problem permanently, increase the kernel shmmax size. For more information, see Setting Shared Memory and Setting Shared Memory.
547
548"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
549"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"
550"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client"
551
552I 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.
553
554Edit the file $ORACLE_HOME/bin/genclntsh and change the following line:
555LD_SELF_CONTAINED="-z defs"
556to read:
557LD_SELF_CONTAINED=""
558After that run the script $ORACLE_HOME/bin/genclntsh as the user "oracle" and not as the user "root". Also make sure you have all the Oracle environments set correctly!
559$ su - oracle
560$ $ORACLE_HOME/bin/genclntsh
561Created /opt/oracle/product/9.0.1/lib/libclntst9.a
562$
563After that hit Retry in the error dialog window. This always worked for me.
564
565Here is Oracle's official solution for Oracle 9iR1 and 9iR1 iAS on RedHat 2.1 Advanced Server:
566http://otn.oracle.com/software/products/oracle9i/files/binutils_readme.html
567
568"Error in invoking target install of make file /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk"
569
570I saw this error only on Red Hat 9. The ORACLE_HOME/install/make.log file contains the following error messages:
571...
572/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':
573: undefined reference to `__ctype_b'
574/opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow
575
576The 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:
577
578When 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():
579$ rpm -ql glibc-2.3.2-5 | grep libc.so
580/lib/i686/libc.so.6
581/lib/libc.so.6
582/lib/tls/libc.so.6
583$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
584001315f8 D __ctype_b
58500022340 T __ctype_b_loc
586$ nm -a /lib/libc.so.6 | grep __ctype_b
58700133c58 D __ctype_b
588000223a0 T __ctype_b_loc
589$
590But 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.
591$ rpm -ql glibc-2.3.2-11.9 | grep libc.so
592/lib/i686/libc.so.6
593/lib/libc.so.6
594/lib/tls/libc.so.6
595$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
59600131718 D __ctype_b@GLIBC_2.0
597000223a0 T __ctype_b_loc
598$ nm -a /lib/libc.so.6 | grep __ctype_b
59900133d58 D __ctype_b@GLIBC_2.0
600000223f0 T __ctype_b_loc
601$
602
603Check the glibc version on your system:
604
605First check if the glibc packages on your RH 9 system work with the Oracle installer:
606$ rpm -q glibc-2.3.2-5 glibc-common-2.3.2-5 glibc-devel-2.3.2-5
607If you got the following error mesages:
608package glibc-2.3.2-5 is not installed
609package glibc-common-2.3.2-5 is not installed
610package glibc-devel-2.3.2-5 is not installed
611
612then 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.
613But 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!
614
615Work Around Procedure:
616
617Since 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.
618
619Here is the procedure for installing glibc-2.3.2-5 temporarely on your RH 9 server:
620
621Download the 2.3.2-5 glibc RPMs from here on my web site.
622
623Make sure to check all the digests and signatures contained in the downloaded RPMs since you never know if someone made changes to these RPMs or if someone replaced them. To ensure the integrity and origin of the RPMs, run the following commands:
624$ su - root
625# rpm --import /usr/share/rhn/RPM-GPG-KEY
626# 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
627glibc-2.3.2-5.i686.rpm: (sha1) dsa sha1 md5 gpg OK
628glibc-common-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
629glibc-devel-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
630#
631Downgrade glibc, glibc-common, and glibc-devel:
632# 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
633If you get the following error:
634error: Failed dependencies:
635glibc = 2.3.2-11.9 is needed by (installed) glibc-debug-2.3.2-11.9
636glibc = 2.3.2-11.9 is needed by (installed) glibc-utils-2.3.2-11.9
637glibc-devel = 2.3.2-11.9 is needed by (installed) glibc-debug-2.3.2-11.9
638glibc-devel = 2.3.2-11.9 is needed by (installed) nptl-devel-2.3.2-11.9
639
640then you can temporarily remove the RPMs from your system until you upgrade the glibc RPMs after your Oracle installation:
641# rpm -e glibc-debug glibc-utils nptl-devel
642
643Now try to run runInstaller again.
644
645After Oracle has been installed, you can upgrade glibc, glibc-common, and glibc-devel again. For example:
646# 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
647
648According 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.
649This means that Oracle should be fine when you upgrade glibc after the Oracle installation.
650
651If 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.
652
653$ dbca
654SIGSEGV 11* segmentation violation
655stackbase=0x453da000, stackpointer=0x453d9d5c
656Full thread dump:
657"AWT-EventQueue-0" (TID:0x411d1e20, sys_thread_t:0x453d9e0c,
658state:R) prio=5 *current thread*
659java.lang.Object.wait(Object.java)
660java.awt.EventQueue.getNextEvent(EventQueue.java:126)
661...
662I got reports about dbca crashing on Red Hat 8.0 and on Red Hat 9. If this happens, try the following suggestion:
663
664$ su - root
665touch /etc/rac_on
666Now try to restart dbca.
667
668Another option is to edit $ORACLE_HOME/bin/dbca and to put the following lines under comment except the line marked in blue:
669# if [ -f /etc/rac_on ]; then
670# Run DBCA
671$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
672# else
673# Run DBCA
674# $JRE_DIR/bin/jre -DORACLE_HOME=$OH ...
675# fi
676
677Now try to restart dbca.
678
679./runInstaller: line 58: ./runInstaller: cannot execute binary file.
680You 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.
681
682To check if runInstaller is a 32-bit binary or a 64-bit binary, run the following command:
683$ cd /mnt/cdrom
684$ file install/linux/runInstaller
685install/linux/runInstaller: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
686
687To check if your Linux system is 32-bit system or a 64-bit system, run e.g. the following command:
688$ file /sbin/init
689/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
690
691The Oracle installer runInstaller hangs at: Installing Java Runtime Environment... Link pending... Copying README...
692This problems comes up only on RH 9. You probably forgot to set the environment variable LD_ASSUME_KERNEL to 2.4.1.
693
694To rectify this problem, run the following command and restart runInstaller:
695oracle$ export LD_ASSUME_KERNEL=2.4.1
696For more information on this issue, see Red Hat 9.
697
698Can't find init file for Database "SID".
699I saw this error only with Oracle 9i R2 (9.2.0) when It tried to start the database with dbstart.
700
701I copied the init file for my SID "test" from /opt/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:
702cp /opt/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora
703
704"Error in setting permissions of file/directory /opt/oracle/jre/1.1.8/bin/i686/native_threads/.extract_args"
705This happens if you didn't burn your CD correctly.
706Either you burn your CD again to include dot files or you copy the .extract_args file from your downloaded image to where runInstaller complains it is missing.
707
708"jre was not found in /tmp/OraInstall/jre/bin/i586/green_threads/jre"
709You 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.
710
711To 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:
712
713ln -s /tmp/OraInstall/jre/bin/i686 /tmp/OraInstall/jre/bin/i586
714ln -s /tmp/OraInstall/jre/lib/i686 /tmp/OraInstall/jre/lib/i586
715chmod u-w /tmp/OraInstall/jre/bin/i686/tmp/OraInstall/jre/lib/i686
716Now restart runInstaller.
717
718../jre/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
719You 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:
720rpm -ivh compat-libstdc++-7.3-2.96.118.i386.rpm
721See also Development Packages for more information.
722
723/opt/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)
724Unable to initialize threads: cannot find class java/lang/Thread
725Could not create Java VM
726I experienced this problem when I was running the Database Configuration Assistant dbca on Red Hat 9 without setting the LD_ASSUME_KERNEL environment variable.
727
728To rectify this problem, run the following command on Red Hat 9 and restart dbca:
729oracle$ export LD_ASSUME_KERNEL=2.4.1
730For more information on this issue, see Red Hat 9.
731
732Other Errors
733You might want to check out the Oracle on Linux Discussion Forum.
734
735The information provided in this article shows how I installed Oracle on my server(s) 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 use of this information described herein is your responsibility, and to use it in your own environments do so at your own risk.</otheroracleownedfiles></anotherfilesystem></anotherfilesystem></anotherfilesystem></anotherfilesystem></anotherfilesystem></anotherfilesystem>