Oracle 11g requires some software packages that may not have been installed on your system. Run the following yum command to install them:
yum install libaio libaio-devel
It also requires the pdksh package, version 5.2.14, which is not available on many modern linux systems. Versions for older linux systems may be found at rpmfind. You could either build and instal an rpm for your system from a source rpm or just try an older version and see if it works on your system.
Configure the KernelOracle 11g 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 6815744 > /proc/sys/fs/file-maxInstall Oracle
echo "9000 65500" > /proc/sys/net/ipv4/ip_local_port_range
echo 262144 > /proc/sys/net/core/rmem_default
echo 4194304 > /proc/sys/net/core/rmem_max
echo 262144 > /proc/sys/net/core/wmem_default
echo 1048576 > /proc/sys/net/core/wmem_max
echo 1048576 > /proc/sys/fs/aio-max-nr
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 11.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 linux_11gR2_database_1of2.zipChange directories to the database directory.
unzip linux_11gR2_database_2of2.zip
gcc -o /u01/app/oracle/product/11.2.0/sysman/lib/emdctl -L/u01/app/oracle/product/11.2.0/lib/ -L/u01/app/oracle/product/11.2.0/sysman/lib/ -L/u01/app/oracle/product/11.2.0/lib/stubs/ `cat /u01/app/oracle/product/11.2.0/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/11.2.0/lib -lm `cat /u01/app/oracle/product/11.2.0/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/11.2.0/lib /u01/app/oracle/product/11.2.0/sysman/lib/s0nmectl.o -lnmectl -lclntsh -L/u01/app/oracle/product/11.2.0/lib -L/u01/app/oracle/product/11.2.0/sysman/lib/ -lnmemso -lnnz11 -lcore11 -Wl,-rpath,/u01/app/oracle/product/11.2.0/lib/:/u01/app/oracle/product/11.2.0/sysman/lib/:/u01/app/oracle/product/11.2.0/jdk/jre/lib/i386/client:/u01/app/oracle/product/11.2.0/jdk/jre/lib/i386 -L/u01/app/oracle/product/11.2.0/jdk/jre/lib/i386/client -L/u01/app/oracle/product/11.2.0/jdk/jre/lib/i386 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/u01/app/oracle/product/11.2.0/lib/:/u01/app/oracle/product/11.2.0/sysman/lib/:/u01/app/oracle/product/11.2.0/jdk/jre/lib/i386/client:/u01/app/oracle/product/11.2.0/jdk/jre/lib/i386 -Wl,--allow-shlib-undefined `cat /u01/app/oracle/product/11.2.0/lib/sysliblist` -ldl -lmThen click the Continue.
A dialog will pop up asking you to run some scripts as root. Just follow the
directions on the dialog and click Ok
On the Finish screen click Close
Post-Installation
During my installation, several directories got created with "localhost" in their names, but then various utilities expected directories with "localhost.localdomain" in them. I created symbolic links to resolve the problem:
cd /u01/app/oracle/product/11.2.0
ln -s localhost_ora1 localhost.localdomain_ora1
cd oc4j/j2ee
ln -s OC4J_DBConsole_localhost_ora1 OC4J_DBConsole_localhost.localdomain_ora1
You may or may not run into the same problem.
During the installation, several ancillary processes were started. You can shut some of them down by executing the following commands (as oracle):
emctl stop dbconsole
At this point, only the database and tns listener should be running.
During the installation, the tnsnames.ora file which tells clients how to connect to the database will most likely have been created in 640 mode, leaving it unreadable by anyone not in the oinstall group. There are 2 options here, either add every user that you want to be able to access oracle to the oinstall group, or change permissions on tnsnames.ora to make it world-readable. If you opt for the latter, you can do so using the following command:
chmod o+r /u01/app/oracle/product/11.2.0/network/admin/tnsnames.ora