Monday, August 10, 2009

Oracle 11g Installation on Red Hat Linux 5

Dear Friends,

Yesterday, I installed & configured the Oracle 11gR1 (11.1.0) and created the database on Linux (Red Hat Enterprise Linux – 5.0) successfully. I would like to share the steps with my blog viewers what I have followed to install it.

Operating System Details: Linux – (Red Had Enterprise Linux – 5.0)

Database Version Details: Oracle 11g Release 1 (11.1.0)

Download Software: (linux_11gR1_database.zip)http://www.oracle.com/technology/software/products/database/index.html

Pre-Installation Tasks:

* Prepare the stage area for Oracle Software on the Serve

----- Choose the mount point where software needs to be staged.

/u01

----- Create the stage directories and change the ownership and permissions.

Su – rootPassword: xxxxx ( Enter your root password Here)

# mkdir –p /u01/11gStage

# chown –R oracle:dba /u01/11gStage

# chmod –R 755 /u01/11gStage

----- Copy the software in the stage areaftp the downloaded Oracle 11g software in this stage area and change the ownership and permissions.

$ cd /u01/11gStage

$ chown oracle:dba linux_11gR1_database.zip

$ chmod 755 linux_11gR1_database.zip

* Performing the pre-installation tasks

----- Check the size of physical RAM

$ grep MemTotal /proc/meminfo

Note: During the installation it will say failed when it checks the available physical RAM is less than 900 MB , no problem even if you have less than 900MB (if it’s for testing purpose), you can continue with the installation.

----- Check the size of SWAP space

$ grep SwapTotal /proc/meminfo

----- Check the free disk space in “/tmp” directory

$ df -k /tmp

----- Check the free space available on the system

$ df –k

* Checking the Software Requirements

----- The version of Linux is installed

$ uname –a

----- Check the following required packages are installed.

binutils-2.15.92.0.2-18

compat-libstdc++-33.2.3-47.3

elfutils-libelf-0.97-5

elfutils-libelf-devel-0.97-5

glibc-2.3.9.4-2.19

glibc-common-2.3.9.4-2.19

glibc-devel-2.3.9.4-2.19

gcc-3.4.5-2gcc-c++-3.4.5-2

libaio-devel-0.3.105-2

libaio-0.3.105-2

libgcc-3.4.5

libstdc++-3.4.5-2

libstdc++-devel-3.4.5-2

make-3.80-5

sysstat-5.0.5

unixODBC-2.2.11

unixODBC-devel-2.2.11

----- To check RPMS are installed or not.Login as ROOT user

# rpm –q libaio-devel-0.3.105-2

# rpm –q unixODBC-devel-2.2.11

…………………………………………………………Like this check for all the above RPMS.

----- Install the missing packages or rpms.

First download the missing RPMS from the relevant Linux websites, or if you have the CDs with you, used during the Linux Installation, you can use them to find the missing rpms from that.

----- To install or upgrade RPMS are installed or not.Login as the ROOT user

# rpm –ivh unixODBC-devel-2.2.11.3-1.i386.rpm

Or

# rpm –Uvh unixODBC-devel-2.2.11.3-1.i386.rpm

* Creating Required Operating System Groups and Users

----- Check and create DBA groupSu – rootPassword: xxxxx ( Enter your root password Here)

# cat /etc/groupgrep dba# /usr/sbin/groupadd dba

----- Check and create ORACLE user and assign dba group.

# cat /etc/passwdgrep oracle

# /usr/sbin/useradd –d “/home/oracle” –m –g dba –c “Oracle 11g Owner” oracle

----- Set the password of the ORACLE user

# passwd oracle

* Create Required Directories

----- The Oracle Base Directory and Oracle Home Directories

Su – rootPassword: xxxxxx (Enter the password for root here)

# mkdir –p /u01/app/oracle/product/11.0.1

# mkdir –p /u02/oradata

----- Chang the owner and group of the directories

# chown –R oracle:dba /u01/app/oracle/product/11.0.1

# chown –R oracle:dba /u02/oradata

----- Change the permissions of the directories

# chmod –R 755 /u01/app/oracle/product/11.0.1

# chmod –R 755 /u02/oradata

* Configuring Kernel Parameters

----- Check the current parameters and values in /etc/sysctl.conf

# cat /etc/sysctl.conf

Note: Take a back up of this file before changing the values and parameters.

# cp –p /etc/sysctl.conf /etc/sysctl.conf.old

----- Check and add the below parameters in /etc/sysctl.conf

fs.file-max = 76800

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

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

----- To change the current values of the kernel parameters

# /sbin/sysctl -p

----- Make sure that the parameters and values in /etc/system file are set properly

# cat /etc/sysctl.conf

----- Check and set the following lines in the /etc/security/limits.conf file.

Note: Take a back up of this file before changing the values and parameters.

# cp –p /etc/security/limits.conf /etc/security/limits.conf.old

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

----- Add or edit the following line in the /etc/pam.d/login file, if it does not already exist

Note: Take a back up of this file before changing the values and parameters.

# cp –p /etc/pam.d/login /etc/pam.d/login .old

session required /lib/security/pam_limits.so

session required pam_limits.so

* Configuring the Oracle User’s Environment

----- Check and change the contents of .profile or .lgoin files.

$ vi .bash_profile

----- Remove the oracle environment variables set already.

----- Check the DISPLAY variable is set, if not, then set the variable.

$ echo $DISPLAY$ DISPLAY=:0.0

$ export DISPLAY

Su – rootPassword: xxxx ( Enter the root password here)

# xhost +

----- Make sure that xclock command is running

$ xlcok

*Installation of Oracle Software:

------- Login as oracle on the server

Su – oraclePassword: xxxxx (Oracle user password)

------- Go the directory where Oracle software is staged.

$ cd /u01/11gStage

------------ Unzip the software file

$ unzip linux_11gR1_database.zip

------------- Run/Launch the runinstaller

$ cd /u02/11gStage/database

$./.runInstaller

* Answer to the subsequent wizards or screens options with the proper information

*At the end of Installation you will get two scripts , run this scripts as 'root' user "/u01/app/oracle/product/11.1.0/db_1/root.sh" and

"/u01/app/oraInventory/orainstRoot.sh"

Conclusion:

I have followed the above series of steps for installing on one of Linux boxes. I would request and suggest them to go through the referenced links below, who are willing to do this with other options during the installation and as per their requirement.
References:
Oracle Database Installation Guide 11g Release 1 (11.1) for Linux
http://download.oracle.com/docs/cd/B28359_01/install.111/b32002/pre_install.htm#CHDHFGBJ
Installing Oracle Database 11g on Linux
http://www.oracle.com/technology/obe/11gr1_db/install/dbinst/dbinst.htm
Oracle 11g Documentations
http://www.oracle.com/pls/db111/homepage
Others:
http://www.datasoftech.com/library.html
****** Your suggestions and comments are welcomed. ******

Oracle RAC node unavailable with error: Server unexpectedly closed network connection6]clsc_connect: (0x251c670) no listener at (ADDRESS=(PROTOCOL=ipc)(KEY=OCSSD_LL_node2_))

 Early midnight I received a call from the monitoring team that one of the critical production database node is not available. As I am aware...