HOW TO INSTALL ORACLE 10G ON RHEL5

1ST USE GNOME SESSSION MANAGER AND LOGIN AS ROOT USER

REQUIREMENTS
Hardware Requirements
•  1 GB RAM (RECOMENDED)
•  1.5 GB of swap space
•  500 MB of disk space in the /tmp directory
•  2-4 GB disk space for the Oracle software
•  1.2 GB for the precongured database (optional)
•  2.4 GB for the ash recovery area (optional)
Software Requirements

Make sure that you have the following librarypackages :

libXp, compat-libstdc++

It is required to have the following packages which you can check with the  following command:
rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver

Changing the Red Hat Release

As RHEL5 has been released after Oracle 10g was, Oracle 10g Universal Installer does not recognize
RHEL5 as supported OS.So we have to bypass the value to meet the requirements The latest version 10g recognizes RHEL4. So we have to get round it by changing the release conguration:
echo “rhel4” > /etc/redhat-release
Creating the oracle user account
We need to create oinstall and dba groups and an oracle account belonging to
them. When logged as root user,
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
Set the password for the oracle user:
passwd oracle
You can set “oracle” as the password too
Creating the Installation Path and Setting  the Permissions
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
Conguring Kernel Parameters

Add the following set of  kernel parameters in /etc/sysctl.conf :

kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 658576
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 1048536
net.core.wmem_max = 1048536

Activate the modification in kernel parameters with the following command:

/sbin/sysctl -p

CONFIGURING SHELL LIMITS

Add the following lines in /etc/security/limits.conf :

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Add the line below in /etc/pam.d/login :

session required /lib/security/pam_limits.so

Add the following profile setting s in /etc/profile :

if [ \$USER = “oracle” ]; then
if [ \$SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

Add the following login setting in /etc/csh.login :

if ( \$USER == “oracle” ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif

CONFIGURE HANGCHECK TIMER

Add the following line in  /etc/rc.d/rc.local :
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

ENVIRONMENT SETTINGS FOR ORACLE USER
Login as oracle user :
su  –  oracle
To set the environment variables, append  the following lines in   /home/oracle/.bash_prole:

# User specific environment and startup programs
umask 022
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
export LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/jdk/jre/lib/i386/server:\
\$ORACLE_HOME/rdbms/lib:\$ORACLE_HOME/lib:\$LD_LIBRARY_PATH:\
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/sbin:\
/usr/sbin:/root/bin:\$PATH
PATH=\$PATH:\$HOME/bin
export PATH
unset USERNAME

Activate these variables and the paths with:

source ~/.bash_profile

INSTALLATION

Running the Installer  in a root terminal :

xhost +
su – oracle
Extract the 10201_database_linux32.zip le into /u01, or somewhere else where  oracle user can access :

unzip 10201_database_linux32.zip -d /u01
cd /u01/database ./runInstaller

The installation dialog will now start.

If you face errors about some libs are not found, consider installing the following packages: libXp compat-libstdc++ from http://www.rpmnd.net OR http://rpm.pbone.net

INSTALLAION STEPS
1. Select “Advanced Installation” and click Next.
2. Leave “Inventory directory path” and “group name” as it is and click Next.
3. Leave “Enterprise Edition” selected and click Next.
4. Verify that the following information is true:
Name: OraDb10g_home1
Path: /u01/app/oracle/product/10.2.0/db_1
Be careful that it is not /u01/app/oracle/oracle/product/10.2.0/db_1

5. It will check the prerequisites. Do not start if there are any errors and be careful about memory and environment variable warnings.

6. Leave “Create a database” selected and click Next.
7. Select Advanced and click Next.
8. Click Install and it will install the database system. Then DBCA starts  automatically, conguring the components you installed so far.
9. Select General Purpose and click Next.
10. Set orcl for Database Name and SID and click Next.
11. Leave “Congure the Database with Enterprise” checkbox selected and click Next.
12. Assisgn a common password for SYS account, such as “oracle” and click next.
13. Select Filesystem and click Next.
14. Select “Oracle-Managed Files” and click Next.
15. Leave recovery area as it is and click Next.
16. If you face a “Database Content” dialog, click Next with no additiona setting.
17. Set Use Unicode (AL32UTF8) as Database Character set and UTF16 as National Character Set on the “Character Sets” tab.
18. Click Next and OK until you get a conrmation to create the database.
19. Close the information after the database is created. Click Exit.
20. The “Conguration assistant”s will start the components you installed earlier.
21. You will face a dialog which wants you to execute two sh scripts. Open a  new terminal (as root) and run those scripts:
sh /u01/app/oracle/oraInventory/orainstRoot.sh
sh /u01/app/oracle/product/10.2.0/db_1/root.sh
22. Click OK after you run the scripts.
23. Click Exit.

POST-INSTLLATION
Starting the services
Now, the Oracle instance should be installed and working. Let’s check it:
su – oracle
sqlplus / as sysdba
If it says Connected to an idle instance, it means that the instance is not  started. Do the following:
lsnrct start
emctl start dbconsole
sqlplus / as sysdba
startup (in sqlplus session)
You will get some feedback about the current status of the services and the results of the commands.

STARTING THE ORACLE INSTANCE AT SYSTEM STRATUP
Creating the startup bash script
Open a text editor (as root) and put the content below in it, saving the le as /etc/init.d/dbora :
#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
8
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo “Oracle startup: cannot start”
exit
fi
case “$1” in
‘start’)
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su – $ORA_OWNER -c “$ORA_HOME/bin/lsnrctl start”
su – $ORA_OWNER -c $ORA_HOME/bin/dbstart
su – $ORA_OWNER -c “$ORA_HOME/bin/emctl start dbconsole”
;;
‘stop’)
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su – $ORA_OWNER -c “$ORA_HOME/bin/emctl stop dbconsole”
su – $ORA_OWNER -c $ORA_HOME/bin/dbshut
su – $ORA_OWNER -c “$ORA_HOME/bin/lsnrctl stop”
;;
esac

Then, open a root terminal and give the le executable rights:

chmod 755 /etc/init.d/dbora

Then link this script to the les inside /etc/rc3.d:

ln -s  /etc/init.d/dbora       /etc/rc3.d/S99dbora
ln -s  /etc/init.d/dbora       /etc/rc4.d/S99dbora
ln -s  /etc/init.d/dbora       /etc/rc5.d/S99dbora
ln -s  /etc/init.d/dbora       /etc/rc0.d/K10dbora
ln -s  /etc/init.d/dbora       /etc/rc6.d/K10dbora

Fixing the dbstart script

The dbstart script, which is called inside the dbora script, has some errors.

Open  the le /u01/app/oracle/product/10.2.0/db_1/bin/dbstart as oracle user and
change

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
to
ORACLE_HOME_LISTNER=$ORACLE_HOME

Otherwise, your listener might not get started.

Flagging the orcl instance to be started

open the /etc/oratab le and change the last letter from N to Y:

orcl:/u01/app/oracle/product/10.2.0/db_1:N
to
orcl:/u01/app/oracle/product/10.2.0/db_1:Y

Setting the IP Address

If the instance is running, shut it down with (as oracle user):

sqlplus / as sysdba
shutdown immediate (might cause data loss)

Then, open the /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora FILE and set your hostname/static IP Address:

HOST = oracle10

Start the instance in sqlplus session:

startup

IF ANY PROBLEM OCCURS PLZ  MAIL to divyashree.kumar@gmail.com or ASK ME FOR A SCRIPT TO AUTOMATE ALL THE ABOVE .

Advertisements

About Divyashree - The GNULINUX Guy

I am a Linux and Opensource enthusiast. I started working on Linux early in 2007 while I was doing my Masters in Computer Science and passed out in 2010. Currently working as a DevOps Developer in in Public/Private cloud domain. my @github : https://github.com/kumarprd my @nagiosexchange : https://exchange.nagios.org/directory/Owner/divyaimca/1 my @linkedin : https://www.linkedin.com/in/priyadarshee-kumar-☁-a9415615
This entry was posted in TUTORIALS. Bookmark the permalink.

4 Responses to HOW TO INSTALL ORACLE 10G ON RHEL5

  1. Pingback: problem in getting sql prompt in oracle

  2. Pingback: FACING PROBLEM IN ORACLE 10g INSTALLATION ON RHEL5

  3. Pingback: Oracle 10g installation on OEL 4.5

  4. Pingback: permission denied

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s