Get a Free iPhone 4 from Xpango - click here

Friday, August 13, 2010

How to install Oracle 11g on Linux


In this article i'm going to explain step by step installation of Oracle 11g Release 1 on RHEL 4 and 5,Enterprise Linux 4 and 5 by Oracle.This version is certified by Oracle.Article also covers guide for Centos Linux 4 and 5.

Guide includes:

1.Pre-Installation Steps
2.Installation
3.Post-Installation Steps.



Pre-Installation Steps:


1. Create oracle users and groups.
groupadd oinstall
groupadd dba
groupadd oper

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


2. Set Kernel Parameters

Edit /etc/sysctl.conf and add following lines.
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
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

execute sysctl command
# sysctl -p

or
reboot to apply above changes.

For RedHat (OEL, Centos, WBL) 4 version: Edit the /etc/pam.d/login file and add following line:
session required /lib/security/pam_limits.so

For RedHat (OEL, Centos) 5 version: Edit the /etc/pam.d/login file and add following line:
session required pam_limits.so


Edit the /etc/security/limits.conf file and add following lines:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536


3. Creating oracle directories
mkdir -p /u01/app/oracle/product/11.1.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

4. Setting Oracle Enviroment
Edit the /home/oracle/.bash_profile file and add following lines:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
ORACLE_SID=ORCL
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

Save the .bash_profile and execute following commands to load new user enviroment:
cd /home/oracle
. .bash_profile
Login as root and issue the following command:
xhost +


Some additional packages are required for succesful installation of Oracle software. To check whether required packages are installed on your operating system use following command:

rpm -q binutils elfutils elfutils-libelf gcc gcc-c++ glibc glibc-common glibc-devel compat-libstdc++-33 cpp make compat-db sysstat libaio libaio-devel unixODBC unixODBC-devel|sort


Installation:

Download the Oracle 11g release 1 (11.1.0.6.0) software from Oracle website.
Extract the files using following command:
unzip linux_11gR1_database.zip


Now the system is prepared for Oracle software installation. To start the installation process go to database directory and execute the following commands:
cd database
./runInstaller


Click here for screenshot

Post-Instalation:
Auto Startup and Shutdown of Database and Listener
Login as root and modify /etc/oratab file and change last character to Y for apropriate database.
ORCL:/u01/app/oracle/product/11.1.0/db_1:Y
As root user create new file "oracle" (init script for startup and shutdown the database) in /etc/init.d/ directory with following content:
#!/bin/bash
#
# oracle Init file for starting and stopping
# Oracle Database. Script is valid for 10g and 11g versions.
#
# chkconfig: 35 80 30
# description: Oracle Database startup script

# Source function library.

. /etc/rc.d/init.d/functions

ORACLE_OWNER="oracle"
ORACLE_HOME="/u01/app/oracle/product/11.1.0/db_1"

case "$1" in
start)
echo -n $"Starting Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac
Execute (as root) following commands (First script change the permissions, second script is configuring execution for specific runlevels):
chmod 750 /etc/init.d/oracle
chkconfig --add oracle --level 0356
Auto Startup and Shutdown of Enterprise Manager Database Control
As root user create new file "oraemctl" (init script for startup and shutdown EM DB Console) in /etc/init.d/ directory with following content:
#!/bin/bash
#
# oraemctl Starting and stopping Oracle Enterprise Manager Database Control.
# Script is valid for 10g and 11g versions.
#
# chkconfig: 35 80 30
# description: Enterprise Manager DB Control startup script

# Source function library.

. /etc/rc.d/init.d/functions

ORACLE_OWNER="oracle"
ORACLE_HOME="/u01/app/oracle/product/11.1.0"

case "$1" in
start)
echo -n $"Starting Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac
Execute (as root) following commands (First script change the permissions, second script is configuring execution for specific runlevels):
chmod 750 /etc/init.d/oraemctl
chkconfig --add oraemctl --level 0356
You may consider to use rlwrap for comfortable work with sqlplus and adrci utility. RPM package for RedHat compatible (x86) distribution you can download here.
su -
# rpm -ivh rlwrap-0.24-rh.i386.rpm
# exit
echo "alias sqlplus='rlwrap sqlplus'" >> /home/oracle/.bash_profile
echo "alias adrci='rlwrap adrci'" >> /home/oracle/.bash_profile
. /home/oracle/.bash_profile

No comments:

Post a Comment