A collection of tutorials, code and tools to help you get better using Oracle
06 June 2011
Notes on installing Oracle 11gR2 on Cent OS 5.6
All were well within limits when I tested them:
kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=4194304 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=262144
However, Oracle will tell you what ones are not at the correct values during install, and give you the chance to correct and retest etc.
To set the kernel parameters, edit /etc/sysctl.conf, then save and run /sbin/sysctl -p and it will load what is in that file. I added:
# Modified for Oracle install kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_max=1048576 fs.aio-max-nr=1048576
To test what a parameter is currently set to run:
/sbin/sysctl -a | grep <param-name>
Add the following lines to the /etc/security/limits.conf file:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so
Disable secure linux by editing the /etc/selinux/config file, making sure the SELINUX flag is set as follows:
Check or install the following libraries:
yum install binutils* yum install elfutils-libelf-0.* yum install glibc-2.* yum install glibc-common-2.* yum install libaio-0.* yum install libgcc-4.* yum install libstdc++-4.* yum install make-3.* yum install compat-libstdc++-33* yum install gcc-4.* yum install gcc-c++-4.* yum install libaio-devel-0.* yum install libstdc++-devel-4.* yum install unixODBC-2.* yum install unixODBC-devel-2.* yum install sysstat-7.* yum install pdksh-5*
Create all the groups and directories:
groupadd oinstall groupadd dba groupadd oper groupadd asmadmin useradd -g oinstall -G dba,oper,asmadmin oracle passwd oracle mkdir -p /dboracle/product/11.2.0 chown -R oracle:oinstall /dboracle chmod -R 755 /dboracle
Unzip the software to get it ready to install. At this point can use the GUI to do the install, but I'd rather do it using a prompt file so it will work for remote installs.
There is a template response file included in the Oracle software download:
Go through the file and fill in the various values. There are not too many required for a software only install. Some things to note are:
UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_HOME=/u01/app/oracle/product/11.2.0/db ORACLE_BASE=/u01/app/oracle
If you get an error that states "email address not specified" when running the installer, try setting
When running in silent mode, if you get an error like:
Xlib: connection to ": 0.0" refused by server Xlib: No protocol Specified
Try unsetting the DISPLAY environment variable:
To run the installer, use the command:
./runInstaller -silent -responseFile /u01/app/oracle/stage/database/response/db_install.rsp
After the install completes there are two scripts you must run as root on the system:
To run the GUI installer, you need to set the DISPLAY variable correctly for X. Running locally on localhost, I got it to work by doing:
DISPLAY=:0; export DISPLAY
Other places suggest the correct format is DISPLAY=hostname:0:0, but that would not work for my local install.
Now run the Oracle installer - I picked SOFTWARE ONLY install to avoid creating a database, which I will do seperately.
Add the following to the Oracle .bash_profile to correctly setup the current Oracle home etc:
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=home.localdomain; export ORACLE_HOSTNAME ORACLE_BASE=/dboracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME ORACLE_SID=DB11G; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
If all goes to plan, that will be Oracle successfully installed. Next, create a database.