Werner Puschitz
Red Hat ® Certified Engineer (RHCE)
Linux Professional since 1997
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)
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)
People recommended this installation guide also for Red Hat Fedora Core 2.
For Validations/Certifications, check the following links:
Oracle’s Certification Matrices
Oracle Products on Red Hat Linux
Red Hat Enterprise Linux Application List
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 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!
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:
*
Downloading and Installing Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9
*
Unpacking Downloaded Oracle9i Installation Files and Burning Oracle9i CDs
*
Checking Development Packages (RPMs)
*
JDK
*
Creating Oracle User Accounts
*
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
*
Startup and Shutdown of the Oracle 9i Database
*
Oracle Installation Problems, Tips and Hints
Documentations
Oracle9i Database Documentation for Linux
Tuning and Optimizing Red Hat Linux Advanced Server for Oracle9i Database
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/.
Installing Software Packages (RPMs)
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”.
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):
1 2 3 4 5 6 |
<br /> zcat lnx_920_disk1.cpio.gz | cpio -idmv<br /> zcat lnx_920_disk2.cpio.gz | cpio -idmv<br /> zcat lnx_920_disk3.cpio.gz | cpio -idmv |
Two step procedure:
1 2 3 4 5 6 7 8 9 10 |
<br /> # Uncompress<br /> <font color="#0000FF">gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz<br /> <br /> </font># Unpack the downloaded files:<br /> <font color="#0000FF"> cpio -idmv < lnx_920_disk1.cpio<br /> cpio -idmv < lnx_920_disk2.cpio<br /> cpio -idmv < lnx_920_disk3.cpio |
For Oracle9i (9.0.1):
One step procedure (uses less disk space and is faster):
1 2 3 4 5 |
<font color="#0000FF"> zcat Linux9i_Disk1.cpio.gz | cpio -idmv<br /> zcat Linux9i_Disk2.cpio.gz | cpio -idmv<br /> zcat Linux9i_Disk3.cpio.gz | cpio -idmv</font> |
Two step procedure:
1 2 3 4 5 6 7 8 9 |
# Uncompress<br /> <font color="#0000FF">gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz</font><br /> <br /> # Unpack the downloaded files:<br /> <font color="#0000FF">cpio -idmv < Linux9i_Disk1.cpio<br /> cpio -idmv < Linux9i_Disk2.cpio<br /> cpio -idmv < Linux9i_Disk3.cpio</font> |
Now you should have 3 directories containing installation files:
1 2 3 4 5 |
Disk1<br /> Disk2<br /> Disk3 |
I executed the following commands when I burned the 3 CDs:
1 2 3 4 5 |
<font color="#0000FF">mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=15 -<br /> mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=15 -<br /> mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=15 -</font> |
(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:
1 2 3 |
<font color="#0000FF">grep MemTotal /proc/meminfo</font> |
To check the swap space, run:
1 2 3 |
<font color="#0000FF">cat /proc/swaps</font> |
You can also add temporary swap space by creating a temporary swap file
instead of using a raw device. Here is the procedure:
1 2 3 4 5 6 7 |
<font color="#0000FF">su - root<br /> dd if=/dev/zero of=tmpswap bs=1k count=900000<br /> chmod 600 tmpswap<br /> mkswap tmpswap<br /> swapon tmpswap</font> |
To disable the temporary swap space execute the following commands:
1 2 3 4 5 |
<font color="#0000FF">su - root<br /> swapoff tmpswap<br /> rm tmpswap</font> |
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:
1 2 3 4 |
<br /> ORA-27123: unable to attach to shared memory segment.</font> |
I temporarely increased the shmmax setting for the kernel by executing the
following command:
1 2 3 4 5 6 7 8 |
$ <font color="#0000FF">su - root</font><br /> # <font color="#0000FF">cat /proc/sys/kernel/shmmax</font><br /> 33554432<br /> # <font color="#0000FF">echo `expr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax</font><br /> # <font color="#0000FF">cat /proc/sys/kernel/shmmax</font><br /> 1073741824</font> |
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:
1 2 3 |
$ <font color="#0000FF">df /tmp</font> |
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:
1 2 3 4 5 6 7 8 |
<font color="#0000FF">su - root<br /> mkdir /<AnotherFilesystem>/tmp<br /> chown root.root /<AnotherFilesystem>/tmp<br /> chmod 1777 /<AnotherFilesystem>/tmp<br /> export TEMP=/<AnotherFilesystem> </font># used by Oracle<font color="#0000FF"><br /> export TMPDIR=/<AnotherFilesystem> </font># used by Linux programs like the linker "ld" |
When you are done with your Oracle installation, shutdown Oracle and remove the temporary directory:
1 2 3 4 5 6 |
<font color="#0000FF">su - root<br /> rmdir /<AnotherFilesystem>/tmp<br /> unset TEMP<br /> unset TMPDIR</font> |
Sizing Oracle Disk Space
You 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.
The “binutils” Issue
Skip this step for Oracle9iR2.
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:
Wait for the following Oracle installation error:
1 2 3 |
"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk" |
And fix this problem as described in
Oracle Installation Errors.
I recommend this approach since it obviates the need to change binutils.
- I do not 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
1 2 3 4 |
su - root<br /> 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:
1 2 3 |
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
Checking Development Packages (RPMs)
You 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:
1 2 3 4 |
<font color="#FF0000">Error in invoking target ntcontab.o of makefile <br /> /opt/oracle/product/9.2.0/network/lib/ins_net_client.mk</font> |
Development Packages (RPMs) for RH 7.1, 7.2, and RH AS 2.1:
To see if these development packages are installed on your server, run the following command:
1 2 3 |
<font color="#0000FF">rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils</font> |
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:
1 2 3 4 5 6 7 8 |
<font color="#0000FF">su - root<br /> rpm -ivh cpp-2.96-108.1.i386.rpm \<br /> glibc-devel-2.2.4-26.i386.rpm \<br /> kernel-headers-2.4.9-e.3.i386.rpm \<br /> gcc-2.96-108.1.i386.rpm \<br /> binutils-2.11.90.0.8-12.i386.rpm</font> |
Development Packages (RPMs) for RH 7.3, 8.0, and 9:
To see if these development packages are installed on your server, run the following command:
1 2 3 |
<font color="#0000FF">rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils</font> |
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:
1 2 3 4 5 6 7 8 |
<font color="#0000FF">su - root<br /> rpm -ivh binutils-2.13.90.0.18-9.i386.rpm \<br /> cpp-3.2.2-5.i386.rpm \<br /> gcc-3.2.2-5.i386.rpm \<br /> glibc-devel-2.3.2-5.i386.rpm \<br /> glibc-kernheaders-2.4-8.10.i386.rpm </font> |
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 /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk“
in the
Oracle Installation Errors section!
Development Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3):
To see if these development packages are installed on your server, run the following command:
1 2 3 |
<font color="#0000FF">rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-headers glibc-kernheaders binutils</font> |
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:
Download JDK 1.3.1 or Blackdown 1.1.8_v3: (I usually used Blackdown)
According to the JDK documentation, install JDK under /usr/local.
Then create a symbolic link to the JDK under /usr/local/java:
1 2 3 4 5 |
<font color="#0000FF">su - root<br /> bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local<br /> ln -s /usr/local/jdk118_v3 /usr/local/java</font> |
Creating Oracle User Accounts
1 2 3 4 5 6 7 |
<font color="#0000FF">su - root<br /> groupadd dba </font># group of users to be granted with SYSDBA system privilege<font color="#0000FF"><br /> groupadd oinstall </font># group owner of Oracle files<font color="#0000FF"><br /> useradd -c "Oracle software owner" -g oinstall -G dba oracle<br /> passwd oracle</font> |
For more information on the "oinstall" group account, see
When to use “OINSTALL” group during install of oracle.
Creating Oracle Directories
In 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.
1 2 3 4 5 6 7 8 9 10 11 |
<font color="#0000FF">su - root<br /> mkdir /opt/oracle<br /> mkdir /opt/oracle/product<br /> mkdir /opt/oracle/product/9.2.0<br /> chown -R oracle.oinstall /opt/oracle<br /> <br /> mkdir /var/opt/oracle<br /> chown oracle.dba /var/opt/oracle<br /> chmod 755 /var/opt/oracle</font> |
Setting Oracle Environments
Set the following Oracle environment variables before you start runInstaller.
As the oracle user execute the following commands:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<br /> #<font color="#ff0000"> <b>Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and</b></font><br /> #<font color="#ff0000"> <b>for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!</b></font><br /> # Use the "Linuxthreads with floating stacks" implementation instead of NPTL:<br /> <font color="#0000FF">export LD_ASSUME_KERNEL=2.4.1</font><br /> <br /> # Oracle Environment<br /> <font color="#0000FF">export ORACLE_BASE=/opt/oracle<br /> export ORACLE_HOME=/opt/oracle/product/9.2.0<br /> export ORACLE_SID=test<br /> export ORACLE_TERM=xterm<br /> </font># export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin<br /> <font color="#0000FF">export NLS_LANG=AMERICAN;<br /> export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data<br /> LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib<br /> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib<br /> export LD_LIBRARY_PATH<br /> <br /> </font># Set shell search paths<br /> <font color="#0000FF">export PATH=$PATH:$ORACLE_HOME/bin</font> |
I successfully installed Oracle9iR2 without setting the following CLASSPATH environment variable:
1 2 3 4 5 |
# CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib<br /> # CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib<br /> # export CLASSPATH |
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.
Oracle 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.
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.
Step 1: Allow “oracleserver” to display X information to
your desktop PC “yourdesktop“:
1 2 3 |
<b>yourdesktop</b>:user$ <font color="#0000FF">xhost +oracleserver</font> |
Step 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.
1 2 3 4 |
<b>oracleserver</b>:$ <font color="#0000FF">su - root</font><br /> <b>oracleserver</b>:root# <font color="#0000FF">mount /mnt/cdrom</font><br /> |
Step 3: From the console of your Oracle server “oracleserver” where you will run
runInstaller, execute the following commands:
1 2 3 4 |
<b>oracleserver</b>:$ <font color="#0000FF">su - oracle</font><br /> <b>oracleserver</b>:oracle$ <font color="#0000FF">export DISPLAY=yourdesktop:0.0</font> |
Step 4: Now execute runInstaller as “oracle”. Do not cd to /mnt/cdrom !!
1 2 3 4 |
<b> oracleserver</b>:oracle$ <font color="#0000FF"><b>/mnt/cdrom/runInstaller</b></font><br /> <br /> |
NOTE:
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.
Running Oracle Installation on RH 7.1, 7.2, 7.3, 8.0, 9, and on RH AS 2.1
Keep in mind that you will get one or more errors here during the Oracle installation!
See
Oracle Installation Errors for more information.
This is how I answered the questions for the runInstaller:
– What would you like as the base directory (Inventory Location):
1 2 3 |
<font color="#0000FF">/opt/oracle/oraInventory</font> |
– UNIX Group Name (permission for updating Oracle software):
1 2 3 |
<font color="#0000FF">oinstall</font> |
1 2 3 4 5 |
<i> You could also use "dba" which I do not recommend for security reasons.<br /> For more information on the "oinstall" group account, see<br /> <a href="http://metalink.oracle.com/oracleinstall/oracle8i/genericunix.html#Uoui">When to use "OINSTALL" group during install of oracle</a>.</i><br /> |
– Full path name for Oracle Home:
1 2 3 |
<font color="#0000FF">/opt/oracle/product/9.2.0</font> |
etc.
Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 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.
Installing Oracle9iR2 on RH AS 3
Install the following RPMs (see Oracle Note:252217.1 for more information):
1 2 3 4 5 6 7 8 9 10 11 12 |
<font color="#0000FF">su - root<br /> rpm -ivh \<br /> compat-db-4.0.14-5.i386.rpm \<br /> compat-gcc-7.3-2.96.122.i386.rpm \<br /> compat-gcc-c++-7.3-2.96.122.i386.rpm \<br /> compat-libstdc++-7.3-2.96.122.i386.rpm \<br /> compat-libstdc++-devel-7.3-2.96.122.i386.rpm \<br /> openmotif21-2.1.30-8.i386.rpm \<br /> setarch-1.3-1.i386.rpm \<br /> tcl-8.3.5-92.i386.rpm</font> |
Relink gcc so that the older gcc will be used during the Oracle installation (see Oracle Note:252217.1 for more information):
1 2 3 4 5 6 7 |
<font color="#0000FF">su - root<br /> mv /usr/bin/gcc /usr/bin/gcc323<br /> ln -s /usr/bin/gcc296 /usr/bin/gcc<br /> mv /usr/bin/g++ /usr/bin/g++323 </font># if g++ doesn't exist, then gcc-c++ was not installed<br /> <font color="#0000FF">ln -s /usr/bin/g++296 /usr/bin/g++</font> |
When you execute runInstaller from the Oracle 9iR2 (9.2.0) CD,
you will get the following error message:
1 2 3 4 5 6 7 |
<font color="#ff0000">Error occurred during initialization of VM<br /> Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:<br /> symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference<br /> <br /> </font> |
To resolve the __libc_wait symbol issue, download the patch p3006854_9204_LINUX.zip from
http://metalink.oracle.com. See bug 3006854 for more information.
To apply the patch, run
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<font color="#0000FF">su - root</font><br /> # <font color="#0000FF">unzip p3006854_9204_LINUX.zip</font><br /> Archive: p3006854_9204_LINUX.zip<br /> creating: 3006854/<br /> inflating: 3006854/rhel3_pre_install.sh<br /> inflating: 3006854/README.txt<br /> <br /> # <font color="#0000FF">cd 3006854</font><br /> # <font color="#0000FF">sh rhel3_pre_install.sh</font><br /> Applying patch...<br /> Patch successfully applied<br /> # |
NOTE: If you get the following error when you run rhel3_pre_install.sh:
1 2 3 |
<font color="#ff0000"> rhel3_pre_install.sh: line 36: gcc: command not found</font> |
Then you forgot to install or link gcc, see above. This means you can’t start any binaries any more:
1 2 3 4 5 6 7 |
#<font color="#0000FF"> ls</font><br /> <font color="#ff0000">ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory</font><br /> #<font color="#0000FF"> rm /etc/ld.so.preload</font><br /> <font color="#ff0000">rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory</font><br /> # |
To fix that, run the echo command which is a built-in shell command:
1 2 3 4 |
# <font color="#0000FF">echo "" > /etc/ld.so.preload<br /> rm /etc/ld.so.preload</font> |
And start over again.
Now runInstaller can be started from the CD:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<font color="#0000FF"><b>su - oracle</b></font><br /> $ <font color="#0000FF">echo $LD_ASSUME_KERNEL</font> # it is important that this variable is set!<br /> 2.4.1<br /> $ <font color="#0000FF">/mnt/cdrom/runInstaller</font><br /> <br /> - Welcome Screen: <font color="#0000FF"> Click Next</font><br /> - Inventory Location: <font color="#0000FF"> Click Next</font><br /> - Unix Group Name: <font color="#0000FF"> Use "oinstall" and click Next<br /> When asked to run /tmp/orainstRoot.sh, run it before you click Continue</font><br /> - File Locations: <font color="#0000FF"> Use default values</font><br /> - Available Products: <font color="#0000FF"> Select "Oracle9i Database 9.2.0.1.0"</font><br /> - Installation Types: <font color="#0000FF"> Select <b>Custom</b> since we only want to install the software for now</font><br /> - Available Products: <font color="#0000FF"> Click Next or add some more components.</font><br /> - Components Locations:<font color="#0000FF"> Accept default values and click Next</font><br /> - Privileged Operating System Groups:<br /> <font color="#0000FF"> I used the default values: OSDBA Group = dba, OSOPER Group = dba</font><br /> - Oracle Managent Server Repository:<br /> <font color="#0000FF"> I used the default choice</font><br /> - Create database: <font color="#0000FF"> Select <b>NO</b> since we first have to patch Oracle before a database can be created!</font><br /> - Summary: <font color="#0000FF"> Start the Install</font><br /> - Configuration tools: <font color="#0000FF"> Tools won't come up. Simply ignore it.</font><br /> - <font color="#0000FF">At the end of the installation, exit runInstaller.</font><br /> <br /> |
You may get the following errors:
Error in invoking target install of makefile /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
The /opt/oracle/product/9.2.0/install/make.log file reads:
1 2 3 4 5 6 7 8 9 10 |
<font color="#ff0000"> /opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0xa4e): In function `Nls_FormatCmd':<br /> : undefined reference to `__ctype_b'<br /> /opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':<br /> : undefined reference to `__ctype_b'<br /> /opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow<br /> collect2: ld returned 1 exit status<br /> make: *** [dbsnmp] Error 1<br /> </font> |
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
/opt/oracle/oraInventory/ContentsXML/comps.xml doesn’t exist yet.
Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk.
The /opt/oracle/product/9.2.0/install/make.log file reads:
1 2 3 4 5 6 |
<font color="#ff0000"> /usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO<br /> collect2: ld returned 1 exit status<br /> make: *** [ctxhx] Error 1<br /> </font> |
Click ignore. This is fixed by applying the 9.2.0.4 patchset.
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">cp p3095277_9204_LINUX.zip /tmp</font><br /> $ <font color="#0000FF">cd /tmp</font><br /> $ <font color="#0000FF">unzip p3095277_9204_LINUX.zip</font><br /> Archive: p3095277_9204_LINUX.zip<br /> inflating: 9204_lnx32_release.cpio<br /> inflating: README.html<br /> inflating: patchnote.css<br /> $<br /> $ <font color="#0000FF">cpio -idmv < 9204_lnx32_release.cpio</font><br /> Disk1/stage/locks<br /> Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/bin.1.1.jar<br /> Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/lib.1.1.jar<br /> ...<br /> <br /> |
To patch the runInstaller, run:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<font color="#0000FF"><b>su - oracle</b></font><br /> $ <font color="#0000FF">echo $LD_ASSUME_KERNEL</font> # it is important that this variable is set!<br /> 2.4.1<br /> $ <font color="#0000FF">cd /tmp/Disk1/</font><br /> $ <font color="#0000FF">./runInstaller</font><br /> <br /> - Welcome Screen: <font color="#0000FF"> Click Next</font><br /> - File Locations: <font color="#0000FF"> Use default values</font><br /> - Available Products: <font color="#0000FF"> Select "<b>Oracle Universial Installer 2.2.0.18.0</b> !"</font><br /> - Components Locations:<font color="#0000FF"> Accept default values and click Next</font><br /> - Summary: <font color="#0000FF"> Start the Install</font><br /> - <font color="#0000FF">At the end of the installation, <b>you <u>must</u> exit runInstaller</b>!</font><br /> <br /> |
To patch Oracle9iR2, run:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<font color="#0000FF"><b>su - oracle</b></font><br /> $ <font color="#0000FF">echo $LD_ASSUME_KERNEL</font> # it is important that this variable is set!<br /> 2.4.1<br /> $ <font color="#0000FF">cd $ORACLE_HOME/bin</font><br /> $ <font color="#0000FF">./runInstaller</font><br /> <br /> - Welcome Screen: <font color="#0000FF"> Click Next</font><br /> - File Locations: <font color="#0000FF"> Use default values</font><br /> - Available Products: <font color="#0000FF"> Select "<b>Oracle9iR2 Patch Set 3 9.2.0.4.0</b> !"</font><br /> - Summary: <font color="#0000FF"> Start the Install</font><br /> - <font color="#0000FF">At the end of the installation, exit runInstaller</font><br /> <br /> |
You may get the following error:
Error in invoking target install of makefile /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
The /opt/oracle/product/9.2.0/install/make.log file reads:
1 2 3 4 5 6 7 8 9 10 |
<font color="#ff0000"> /opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x1cc): In function `get_ora_stmt_handle':<br /> : undefined reference to `__ctype_b'<br /> /opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x124e): In function `OraProcess_Oid':<br /> : undefined reference to `__ctype_b'<br /> /opt/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x176c): more undefined references to `__ctype_b' follow<br /> collect2: ld returned 1 exit status<br /> make: *** [dbsnmp] Error 1<br /> </font> |
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.
To install opatch, run:
1 2 3 4 5 6 |
<font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">cp p2617419_210_GENERIC.zip /tmp</font><br /> $ <font color="#0000FF">cd /tmp</font><br /> $ <font color="#0000FF">unzip p2617419_210_GENERIC.zip</font> |
Before you apply the 3119415 patch, you need to make sure the fuser binary can be found by the oracle user,
see the PATH environment variable below.
Otherwise the patch can’t be applied because the fuser binary is used by opatch.
To apply the 3119415 patch, run
1 2 3 4 5 6 7 8 9 10 |
<font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">unzip p3119415_9204_LINUX.zip</font><br /> $ <font color="#0000FF">cd 3119415</font><br /> $ <font color="#0000FF">export PATH=$PATH:/tmp/OPatch</font><br /> $ <font color="#0000FF">export PATH=$PATH:/sbin</font> # the patch needs "fuser" which is located in /sbin<br /> $ <font color="#0000FF">which opatch</font><br /> /tmp/OPatch/opatch</font><br /> $ <font color="#0000FF">opatch apply</font><br /> |
Now you should be able to create a database with dbca:
1 2 3 4 |
<font color="#0000FF">su - oracle<br /> dbca</font> |
Patching Oracle Intelligent Agent on RH AS 3
When you run "agentctl start" (Oracle 9.2.0.4), dbsnmp will crash:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ <font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">agentctl start</font><br /> <font size="-1"><font color="#ff0000"><br /> DBSNMP for Linux: Version 9.2.0.4.0 - Production on 07-JAN-2004 19:11:14<br /> <br /> Copyright (c) 2003 Oracle Corporation. All rights reserved.<br /> <br /> Starting Oracle Intelligent Agent.../opt/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1855 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $*<br /> >>$DBSNMP_WDLOGFILE 2>&1<br /> /opt/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1868 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1<br /> /opt/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1880 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1<br /> /opt/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1892 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1<br /> <br /> </font></font> |
To resolve this problem, apply the patch p3238244_9204_LINUX.zip from http://metalink.oracle.com.
See bug/patch 3238244 for more information.
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:
1 2 3 4 5 6 |
$ <font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">which opatch</font><br /> /tmp/OPatch/opatch<br /> $ |
To apply now the patch, run:
1 2 3 4 5 6 7 8 |
$ <font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">unzip p3238244_9204_LINUX.zip</font><br /> $ <font color="#0000FF">cd 3238244</font><br /> $ <font color="#0000FF">export PATH=$PATH:/sbin</font> # the patch needs "fuser" which is located in /sbin<br /> $ <font color="#0000FF">opatch apply</font><br /> <br /> |
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:
1 2 3 4 5 6 7 8 |
$ <font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">find $ORACLE_HOME -name "*.mk" | xargs grep -l dbsnmp</font><br /> /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk<br /> /opt/oracle/product/9.2.0/network/lib/env_oemagent.mk<br /> $<br /> <br /> |
I relinked dbsnmp and all associated executables which are maintained by the ins_oemagent.mk makefile:
1 2 3 4 5 |
$ <font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">cd $ORACLE_HOME/network/lib</font><br /> $ <font color="#0000FF">make -f ins_oemagent.mk install</font><br /> |
Now you should be able to start the agent:
1 2 3 4 |
$ <font color="#0000FF">su - oracle</font><br /> $ <font color="#0000FF">agentctl start</font><br /> |
NOTE: 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.
Startup and Shutdown of the Oracle 9i Database
sqlplus:
svrmgrl is not supported any more. You can now do everything with
sqlplus.
For instance, to startup the database, run the following commands:
1 2 3 4 5 6 |
<br /> oracle$ <font color="#0000FF">sqlplus /nolog</font><br /> SQL> <font color="#0000FF">connect / as sysdba</font><br /> SQL> <font color="#0000FF">startup</font> |
The 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:
– sysoper privileges WITH ADMIN OPTION
– create database
– recover database until
$ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut
You 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”.
For example, for the Oracle SID “test” I changed the line in /etc/oratab from:
1 2 3 |
test:/opt/oracle/product/9.2.0:<b><font color="#0000FF">N</b></font> |
1 2 3 |
test:/opt/oracle/product/9.2.0:<b><font color="#0000FF">Y</b></font> |
In 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:
1 2 3 |
<font color="#0000FF">cp /opt/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora</font> |
But first make sure if your init file already exists in $ORACLE_HOME/dbs!
Oracle Installation Problems, Tips and Hints
Some of these problems apply only to 9.0.1!
- Do not cd to /mnt/cdrom to run ./runInstaller!
- If 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:
If you do so, the installation will fail because you won’t be able to change the CDs.
1 2 3 4 5 |
<br /> Xlib: connection to ":0.0" refused by server<br /> Xlib: Client is not authorized to connect to Server |
In 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.
- When 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.
- 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
Development Packages 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.
Oracle Installation Errors
Here 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.
Here is a list of issues issues, errors, problems and solutions:
-
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.
-
“Various make Problems”
Make sure that gcc is installed on your system:
1234 $ <font color="#0000FF">which gcc</font><br />/usr/bin/gcc<br />Here is the command to find the RPM package name for /usr/bin/gcc:
12345 <br />$ <font color="#0000FF">rpm -qf /usr/bin/gcc</font><br />gcc-2.96-98<br />Check also the other error messages below.
See also
Development Packages for more information.
"Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"
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.When I had this problem, the following errors showed up in $ORACLE_HOME/install/make.log:
12345678 <br />/lib/libdl.so.2: undefined reference to `_dl_addr@GLIBC_PRIVATE'<br />/lib/libdl.so.2: undefined reference to `_dl_open@GLIBC_PRIVATE'<br />/lib/libdl.so.2: undefined reference to `_dl_close@GLIBC_PRIVATE'<br />/lib/libdl.so.2: undefined reference to `_dl_sym@GLIBC_PRIVATE'<br />/lib/libdl.so.2: undefined reference to `_dl_vsym@GLIBC_PRIVATE'<br />This error comes up when the following step is executed:
123 /usr/bin/make -f ins_ctx.mk install ORACLE_HOME=/opt/oracle/product/9.2.0
Edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk, go to
“INSO_LINK =“,
and add a “$(LDLIBFLAG)dl” to the line and save it.Here is the full line with the added “$(LDLIBFLAG)dl” flag:
INSO_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)
After that hit retry in the error popup.
If this didn’t work, then try the following:
Edit 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.Here is the full line with the added “
cat $(LIBHOME)/sysliblist
” string:INSO_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)After that hit retry in the error popup.
-
ORA-27123: unable to attach to shared memory segment.
I saw this error only when I installed Oracle 9i R2 (9.2.0).
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:
123456789 <font color="#0000FF">su - root</font><br /># <font color="#0000FF">cat /proc/sys/kernel/shmmax</font><br />33554432<br /># <font color="#0000FF">echo `expr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax<br /># cat /proc/sys/kernel/shmmax</font><br />1073741824<br />#
Then click “Retry” for the Oracle Database Configuration Assistant.
It 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:For more information on setting shared memory parameters for Oracle, see
123 <font color="#0000FF">kernel.shmmax=1073741824</font>
Setting Shared Memory.
-
ORA-03113: end-of-file on communication channel
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:Database Configuration Assistant:
I executed the ipcs command to get the address of the shared memory segments that have
been allocated by Oracle:
1234567891011121314151617181920212223242526 $ <font color="#0000FF">su - root</font><br /># <font color="#0000FF">ipcs</font><br /><br />------ Shared Memory Segments --------<br />key shmid owner perms bytes nattch status<br />0x00000000 0 root 600 196608 2<br />0x00000001 32769 root 600 655360 2<br />0x00000000 458755 oracle 660 4194304 0<br />0x00000000 491524 oracle 660 33554432 0<br />0x00000000 524293 oracle 660 33554432 0<br />0x00000000 557062 oracle 660 33554432 0<br />0x00000000 589831 oracle 660 33554432 0<br />0x00000000 622600 oracle 660 33554432 0<br />0x00000000 655369 oracle 660 33554432 0<br />0x00000000 688138 oracle 660 33554432 0<br />0x3ecee0b0 720907 oracle 660 4194304 0<br /><br />------ Semaphore Arrays --------<br />key semid owner perms nsems status<br /><br />------ Message Queues --------<br />key msqid owner perms used-bytes messages<br /><br />#Then I removed all shared memory segments that were owned by the Oracle user during the installation with
the following command:
1234 <br /># <font color="#0000FF">ipcrm shm 458755 491524 524293 557062 589831 622600 655369 688138 720907</font>
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.
-
"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk""Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"
"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client"
I saw thi