Friday, August 13, 2010

Steps 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 corp.Article also covers guide for Centos Linux 4 and 5 which is not certified by Oracle Corp..

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=/opt/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 instalation of Oracle software. To check wheter 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


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

Check screenshot here



0 comments:

Post a Comment

 
 

Blogger

CoolKonnect contain only links to other sites on the Internet.We do not host, store or upload any video, films, media files on our servers. CoolKonnect is not responsible for the accuracy, compliance, copyright, legality, decency, or any other aspect of the content of other linked sites. If you have any legal issues please contact appropriate media file owners / hosters.