Job Seekers   Employers
dbapool: Authors | Submissions | Contact Us
   Forgot password? | Sign up
  Home   Discussion Forum   Articles   Interview Questions   FAQs   Scripts   Rewards   Analyzer   White Papers   Blog   Certification   Downloads   Tools
   
Oracle 11g Installation on Enterprise Linux 5.0 and CentOS 5




By menon srivalsala kumar
Aug 04, 2009

Digg! digg!     Print    email to friend Email to Friend

Note: This article was written for educational purpose only. Please refer to the related vendor documentation for detail.




 Introduction

This articles covers the Installation of Oracle Database 11g on Enterprise Linux 5 and CentOS 5. Server needs minimum 2gb RAM for the installation. Swap should have double of physical ram.

I recommend the Server Configuration:

Xeon – 5500 Series Server with 1/2 cpu and 6gb/8gb Ram (an ideal configuration).

The following packages is mandatory for Enterprise Linux 4.5 : GNOME Desktop Environment ,Graphical Internet, X Window System ,Editors , Development Tools ,Server Configuration Tools, System Tools and Administration Tools.

You can download the software, subject to Oracle Licensing.

http://www.oracle.com/technology/software/products/database/oracle11g/111060_linuxsoft.html

Choose the download: Oracle Database 11g Release 1 (11.1.0.6.0) for Linux x86

After download, unzip or extract the files.

Set the Linux Kernal Parameters:

1.1 Linux Kernel Parameters

What is the Shared Memory?

Shared memory allows processes to access common structures and data by placing them in shared memory segments.
the fastest form of IPC (Interprocess Communication) available since no kernel involvement occurs when data is passed
between the processes. In fact, data does not need to be copied between the processes.
Oracle uses shared memory segments for the SGA (Shared Global Area) which is an area of memory that is shared by
all Oracle background and foreground processes. The size of the SGA has a major impact to Oracle's performance since
it holds database buffer cache and much more.

Setting SHMMAX Parameter

This parameter defines the maximum size in bytes for a shared memory segment. Since the SGA is comprised of shared memory,
SHMMAX can potentially limit the size of the SGA.

Setting SHMMNI Parameter

This parameter sets the maximum number of shared memory segments system wide.

Setting SHMALL Parameter

This parameter sets the total amount of shared memory in bytes that can be used at one time on the system.

The SEMMSL Parameter

This parameter defines the maximum number of semaphores per semaphore set.
Oracle recommends to set SEMMSL to the largest PROCESSES init.ora parameter of any database on the Linux system.

The SEMMNI Parameter

This parameter defines the maximum number of semaphore sets in the entire Linux system.

The SEMMNS Parameter

This parameter defines the total number of semaphores (not semaphore set) in the entire Linux system.

The SEMOPM Parameter

This parameter defines the maximum number of semaphore operations that can be performed per semop(2) system call.

Setting File Handles

The maximum number of file handles denotes the maximum number of open files that you can have on the Linux system.

Setting System Wide Limit for File Handles

The value in /proc/sys/fs/file-max sets the maximum number of file handles or open files that the Linux kernel
will allocate. When you get error messages about running out of file handles, then you might want to raise this limit.

1.2 Change the parameters:

Copy sysctl.conf

cp sysctl.conf sysctl.confold

Cd /etc

Vi sysctl.conf

Add the following:

kernel.shmmax = 2147483648

kernel.shmall = 2097152

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536 # 512 * PROCESSES

net.core.rmem_default=4194304

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=262144

net.ipv4.ip_local_port_range = 1024 65000

Press Esc :wq

1.3 Change the Hosts File Entry

Cd /etc

Cp hosts hostsold

Vi hosts

IP-address Machinename.domainname Hostname

Press Esc and :wq

1.4 Go to /etc/security (cd /etc/security)

Vi limits.conf

Add or change /etc/security/limits.conf file:

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

to save Esc :wq

1.5 Go to /etc/pam.d (cd /etc/pam.d)

Vi login

Add or change line to the /etc/pam.d/login file

session required pam_limits.so

session required /lib/security/pam_limits.so

to save Esc :wq

Very important Steps:

1.6 On secure linux has to be disabled:

Go to /etc/selinux(cd /etc/selinux)

Vi config

Change or add

SELINUX=disabled

to save Esc :wq

The following packages(rpm) required for Enterprise Linux Disk1 :

1.7 Insert the 1st cd and mount the same

Go to cd /media/cdrom/Server (cd /media/cdrom/Server)

rpm -Uvh binutils-2.*

rpm -Uvh elfutils-libelf-0.*

rpm -Uvh glibc-2.*

rpm -Uvh glibc-common-2.*

rpm -Uvh libaio-0.*

rpm -Uvh libgcc-4.*

rpm -Uvh libstdc++-4.*

rpm -Uvh make-3.*

cd /

eject

1.8 Insert Disk2 Cd. Mount the CD

Go to cd /media/cdrom/Server (cd /media/cdrom/Server)

rpm -Uvh compat-libstdc++-33*

rpm -Uvh elfutils-libelf-devel-0.*

rpm -Uvh glibc-devel-2.*

rpm -Uvh gcc-4.*

rpm -Uvh gcc-c++-4.*

rpm -Uvh libaio-devel-0.*

rpm -Uvh libstdc++-devel-4.*

rpm -Uvh unixODBC-2.*

rpm -Uvh unixODBC-devel-2.*

cd /

eject

1.9 Insert Disk3 Cd. Mount the CD

Go to cd /media/cdrom/Server (cd /media/cdrom/Server)

rpm -Uvh sysstat-7.*

cd /

eject

1.10 Create user and groups

Adding Groups

groupadd oinstall
groupadd dba
groupadd asmadmin

Adding user and assign the group:

useradd -g oinstall -G dba,oper,asmadmin oracle

Add password for Oracle user

passwd oracle

I would like to light on the "asmadmin" group is used for ASM.

1.11 Make directories in which the Oracle Binary to be installed:

mkdir -p /data1/app/oracle/product/11/db_1
chown -R oracle:oinstall /data1
chmod -R 777 /data1

1.12 Shutdown or reboot the machine

Login as Oracle

Change/add user enviroment

Go to /home/oracle

Vi .bash_profile

Add the following:

ORACLE_HOSTNAME=machinename.domainname
ORACLE_BASE=/data1/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11/db_1; export ORACLE_HOME
ORACLE_SID=orcl; 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

Press Esc key :wq



Log out

Login as Oracle user


1.13 Run Install Steps:

Set the Display first

export DISPLAY=hostname:0.0

Or

DISPAY=HOSTNAME:0.0

export DISPLAY

Go setup Disk directory

Cd Disk1

./runInstaller

1.14 Rest follow the GUI provided by Oracle

 



Comments/Reviews on this article:
ajitesh  ranjan
Aug 15, 2009

Hi..
Thanks fr yr article.
Can u have any more documents fr 10G installation on Unix??

 
About author:

Seventeen years of experience in the IT Industry in Software, MIS,development, design and database administration. Worked for more than 12 years as Oracle Database Administrator. Working with FunDtech India Ltd as Asst. Vice President - ORACLE TECHNOLOGY and DBA for the last six years. Strengths Include: Database Administration on 11g,10g,9i,8i, 8.0 and 7.x in Unix, Windows NT and Novel Netware Environment. Conducted design reviews with an aim to enhance performance in production scenario. Has also carried out Design and Development in Oracle and Developer 2000 and Forms Reports 10g.

 

Please login to post your comments





  About Us Advertise Terms of Use Privacy Newsletters Contact Us    

Home   Discussion Forum   FAQs  Articles  Jobs   Newsletters  Directory  Downloads 

Our Premium Sponsor