Monday, August 27, 2007

Installation of Oracle 11g on Linux (Red Hat Enterprise Linux – 4)

Dear Friends,

As we all aware that Oracle 11g is now available for installing on Linux. Yesterday, I installed & configured the Oracle 11gR1 (11.1.0) and created the database on Linux (Red Hat Enterprise Linux – 4.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 – 4.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 – root
Password: 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 area
ftp 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-2
gcc-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 relavent 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 group
Su – root
Password: xxxxx ( Enter your root password Here)
# cat /etc/group|grep dba
# /usr/sbin/groupadd dba

----- Check and create ORACLE user and assign dba group.
# cat /etc/passwd|grep 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 – root
Password: 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 – root
Password: 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 – oracle
Password: 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


Note: Fore more instructions one creating the database using DBCA tool or Manual method, please refer my blog link for the same.

http://sabdarsyed.blogspot.com/2007/08/dear-friends-following-are-general.html

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. ******

-----

With Best Regards,

Sabdar Syed,

http://sabdarsyed.blogspot.com

10 comments:

khalid said...

Congrats Mr.Saddar for Installing
Oracle 11g on Linux redhat.
and pleasing to share your knowledge with Oracle community and it will worthfull for all who are planning to start Oracle 11g.

Thank you for your time

Regards
Khalid

Vikram said...

Instalation part and db craetion is precise.I learned a lot from this blog.

Sabder continue to post ur valuble info.

Thanks,
Saivikram

Unknown said...

Thank you Khalid & Sai Vikram for the comments,

I got may mails from my blog viewers that "From where missing RPMs can be downloaded"

Well, We can find the missing RPMs from the Linux Software CDs, If not, we can check in the internet for the same, below are the mostly missing RPMs for RHEL - 4.

http://rpm.pbone.net/index.php3/stat/4/idpl/2832436/com/libaio-devel-0.3.105-2.i386.rpm.html
http://rpm.pbone.net/index.php3/stat/4/idpl/3132691/com/elfutils-libelf-devel-0.97.1-3.i386.rpm.html
http://linuxsoft.cern.ch/cern/slc43/i386/yum/updates/repodata/repoview/unixODBC-devel-0-2.2.11-1.RHEL4.1.html

---
With Best Regards,
Sabdar Syed,
http://sabdarsyed.blogspot.com

Muhammad Rawish Siddiqui said...

I have started working on 11g and would like TO appreciate your efforts in this connection.

Rawish Siddiqui
Sr. Database Administrator
3CS - Client Centric Consulting Solutions Karachi, Pakistan.

Sabdar Syed said...

Thank you.

Regards,
Sabdar Syed.

Tonie-Leo said...

Nice work man! Please, can you post a step-by-step guide on the ionstallation of Oracle 11i Financials application on Red Hat Linux?

Shafiulla Syed said...

very informative brother, i got complete idea on installationof oracle11g on Red Hat linux 4.
i will be thankful to u if u send me how to use vmware tool in windows and linux

noor

Sabdar Syed said...

Thanks for the comments.

Regards,
Sabdar Syed.

Unknown said...

Hi Mr Sabdar

Congrat and short and very good notes for installation. keep it up.

Muzzaml

Anonymous said...

You are simply the best. The packages can be however downloaded using wget functionality. This way the download and installation is smooth - per my experience.

Take care,

Jagdeep