Oracle 10g requires some software packages that may not have been installed on your system. Run the following yum command to install them:
yum install setarch tcl tcl-devel openmotif openmotif-devel compat-db compat-libstdc++-33 compat-libf2c-32 compat-gcc-32 compat-gcc-32-c++ compat-libstdc++-296 compat-libgcc-296 libaio libaio-devel xorg-x11-deprecated-libs
You'll also need to download the following package from rpmfind and install it using rpm -i. This package is also available in the Fedora Core 4 distribution.
openmotif21-2.1.30-14.i386.rpmPretend to be Red Hat Enterprise Linux ES Release 4
Oracle 10g is only officially supported on a few versions of Redhat Linux and UnitedLinux. The installer checks /etc/redhat-release to see exactly what version of Redhat Linux you are running. To pretend that you are running Red Hat Enterprise Linux ES Release 4, run the following commands (as root):
mv /etc/redhat-release /etc/redhat-release.oldConfigure the Kernel
echo "redhat-4" > /etc/redhat-release
Oracle 10g requires that you at least temporarily increase the values of a couple of kernel parameters. To temporarily increase these values, follow these instructions (as root):
echo 65536 > /proc/sys/fs/file-maxInstall Oracle
echo 2097152 > /proc/sys/kernel/shmall
echo 2147483648 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo "250 32000 100 128" > /proc/sys/kernel/sem
Now, log in as the oracle user.
Since Oracle 10.2.0 uses a graphical installer, you need to be running X Windows or point the DISPLAY environment variable to an X Windows session running somewhere.
I have had problems with the graphical installer on enlightenment and fluxbox window managers in the past, though they may work for you.
If you have a CD, mount it and cd to the mount point. If you have a zip distribution, extract the file using:
unzip 10201_database_linux32.zipChange directories to the database directory.
To:LIB=`$ECHO ${TtoLIB} | $SED 's/ /\\ /g' | $GREP "^${T}:" | $AWK -F: '{print $2}'` INI=`$ECHO ${TtoINI} | $SED 's/ /\\ /g' | $GREP "^${T}:" | $AWK -F: '{print $2}'` BAS=`$ECHO ${TtoBAS} | $SED 's/ /\\ /g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
Then click No to continue the installation.LIB=`$ECHO ${TtoLIB} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'` INI=`$ECHO ${TtoINI} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'` BAS=`$ECHO ${TtoBAS} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
A dialog will pop up asking you to run some scripts as root. Just follow the
directions on the dialog (they may take a while to complete) and click
Ok
On the End Of Installation screen click Exit
A dialog will pop up asking: Do you really want to exit?
Click Yes.
Post-Installation
For some reason, despite setting the oracle user's umask, the installtion creates the ORACLE_HOME directory and all subdirectories of it with 750 permissions, so any user that isn't in the oinstall group can't read or execute anything inside of them including the client programs like sqlplus and files like tnsnames.ora. The installation also creates many of the files without read or execute permissions for users not in the oinstall group as well, including tnsnames.ora. The cleanest solution is to add any users that need to run Oracle client programs to the oinstall group.
Sometimes, for some reason, during an installation, the tnslistener does not get configured to listen for connections to the ora1 database. Take a look at /u01/app/oracle/product/10.2.0/network/admin/listener.ora and make sure that there is an entry like the following:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/10.2.0) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = ora1) (ORACLE_HOME = /u01/app/oracle/product/10.2.0) ) )
The second SID_DESC section may be missing from your listener.ora file. If it is, update your listener.ora file, adding the necessary section.
You'll also need to modify the line:
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))To read:
(ADDRESS = (PROTOCOL = IPC)(KEY = ORA1))During the installation, several ancillary processes were started. You can shut some of them down by executing the following commands (as oracle):
isqlplusctl stop
emctl stop dbconsole
emctl stop agent
At this point, only the database and tns listener should be running.