Step By Step
Instructions on Installing Oracle 10g R2 32-bit (10.2.0.1)
on RedHat 4 x86 / RedHat
AS3 x86 /
CentOS 4 x86, CentOS 3 x86 By Bhavin Hingu |
NOTE: Installing Oracle 10g on RedHat EL4
works same way as that of on Cent OS 4.
Installing
Oracle 10g on RedHat EL3 works same way as that of on Cent OS 3.
Installing
CentOS:
If
you do not have CentOS installed on your pc, goto www.centos.org and
download the appropriate isos. You can use below
command to copy iso file on the CD from Linux command line I use
scanbus option of cdrecord utility to locate the device id
which is used to write data on.
[root@shree
~]# cdrecord -scanbus
Cdrecord-Clone 2.01-dvd (i686-pc-linux-gnu) Copyright (C) 1995-2004
Jörg Schilling
Note: This version is an unofficial (modified) version with DVD support
Note: and therefore may have bugs that are not present in the original.
Note: Please send bug reports or support requests to
http://bugzilla.redhat.com/bugzilla
Note: The author of cdrecord should not be bothered with problems in
this version.
scsidev: 'ATA'
devname: 'ATA'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.27
Using libscg version 'schily-0.8'.
cdrecord: Warning: using inofficial libscg transport code version
(schily - Red Hat-scsi-linux-sg.c-1.83-RH '@(#)scsilinux-sg.c 1.83
04/05/20 Copyright 1997 J. Schilling').
scsibus1:
1,0,0 100) 'TOSHIBA ' 'DVD-ROM SD-M1502' '1012' Removable CD-ROM
1,1,0 101)
'SONY ' 'CD-RW CRX140E ' 'A1.0' Removable CD-ROM
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *
[root@shree ~]# cdrecord –v –pad speed=4 dev=1,1,0 /path/to/iso/file.iso
Please
goto www.centos.org
to get detailed information on installing CentOS.
Before
you start installing Oracle10g software, please make sure that you have
the below packages installed on your Linux box,
Oracle
Documents says that you need at least 512MB of memory and 1024MB of
swap space (Double the size of memory if you have
RAM larger than 2 gigs) to run Oracle (9i and above)
Database on Linux. Well, I have managed to successfully run one 9i and
2
10g instances (one ASM and one regular) simultaneously on a single
linux box with 512 MB of memory. You simply need to adjust
the init.ora memory parameter for that.
If
you do not have enough Swap Space, you can add extra temporary swap
space.
Oracle
recommends that you set shared memory segment attributes as well as
semaphores to the following values.
If not set, database instance creation will fail. I added the following
lines to /etc/sysctl.conf file. Every OS process needs
semaphore where It waits on for the resources. For more on semaphore,
please read the UNIX os documents.
NOTE:
If the current value for any parameter is higher than the value listed
in this table, then do not change
the value of that parameter.
To see the current setting in the kernel, please use the below command.
/sbin/sysctl -a
| grep sem -- for semmsl,
semmns, semopm, semmni
/sbin/sysctl -a
| grep shm -- for shmall, shmmax,
shmmni
/sbin/sysctl
-a | grep file-max
/sbin/sysctl
-a | grep ip_local_port_range
/sbin/sysctl -a
| grep rmem_default
Please
add/change the appropriate variables value in the /etc/sysctl.conf
file as shown below.
After adding these lines to /etc/sysctl.conf, please run the below command as root to make them enabled.
You
need OS “oracle” user account created which owns the Oracle
software. Oracle Software installation
needs
to be proceeds by this account. Oracle software installation (without
Companion CD) requires 2.5 GB
of
free space available for the ORACLE_BASE directory. Please make sure
that the mount point where you
Setting Shell Limits
for the Oracle User:
To improve the performance of the software on
Linux systems, you must increase the following shell limits
for the oracle
user:
Add
the following lines to the /etc/security/limits.conf file:
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:
session required
/lib/security/pam_limits.so
For the Bourne, Bash, or Korn
shell, add the following lines to the /etc/profile:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
For
the C shell (csh or tcsh), add the following lines to the
/etc/csh.login.
if ( $USER == "oracle" ) then
limit maxproc 16384
limit
descriptors 65536
endif
Creating Oracle
Software Directories:
Asp
per OFA, oracle base directory has the path:
/mount_point/app/oracle_sw_owner where,
mount_point
is
the mount point directory for the file system that will contain the
Oracle software. I have used
/u01
for the mount point directory. However, you could choose
another mount point directory,
such as /oracle
or /opt/oracle.
[root@shree
~]# mkdir -p
/u01/app/oracle
[root@shree ~]#
chown -R oracle:oinstall /u01/app/oracle
[root@shree ~]# mkdir -p /u02/oradata/db102
[root@shree ~]# chown -R oracle:oinstall /u02/oradata/db102
[root@shree
~]# chmod -R 775 /u01/app/oracle
[root@shree
~]# chmod -R 775 /u02/oradata/db102
If you have more than one Oracle
software installed on the machine, then you might want to create
.bash_profile
for each oracle home. For e.g, I have two oracle software installed on
my machine. I have created .bash_profile9i
for my 9i server and .bash_profile10g for my 10g server. I leave
.bash_profile to its default. If you are going to
install Only 10g, then no need to create extra .bash_profiles.
Add
the below lines into the .bash_profile file. DO NOT include the
ORACLE_HOME variable.
We will add it once the software is installed.
At this point you are ready to start Installing Oracle 10g.
Obtaining Oracle 10g Software:
Goto
otn.oracle.com and download the appropriate Oracle 10g Software into
the /tmp. Make Sure You have enough
space under this mount point. You
can check this using df command. I downloaded 10201_database_linux32.zip
file
for my 32-bit Linux box. If you just want to create single instance
database, you do not need to download
clusterware. Also You do not
need companion cd if you do not want to have HTML DB installed. This
file comes with
a .zip extension which needs to be unzipped using the
unzip utility which is installed as part of CentOS. Incase you
do not
have one; you can get it from here.
After Unzipping this file, you can optionally write them on the CD. I
generally prefer cdrecord command.
I
used a CD media of 700MB capacity and 10g (10.2.0.1) was copied
successfully.
If you are installing the software from disc, mount the first disc if it is not already mounted. Some platforms automatically mount the disc when you insert the disc into the drive. Wherever you store software, you “cd” to that directory.
I
usually copy the software on the CD as mentioned above.
[root@shree
~]# xhost +
access control disabled, clients can connect from any host
[root@shree ~]# mount /media/cdrom
[root@shree root]# mount /mnt/cdrom -- Incase of RedHat EL3
[root@shree ~]# su - oracle
[oracle@shree ~]$ echo $ORACLE_BASE
/u01/app/oracle
[oracle@shree ~]$ echo $ORACLE_SID
db102
[oracle@shree ~]$ /media/cdrom/runInstaller
Installing Oracle 10g
Software:
Creating Backup of the root.sh:
Oracle
recommends that you back up the root.sh
script after you complete an installation. If you install other
products
in the same Oracle home directory, then Oracle Universal
Installer updates the contents of the existing root.sh
script
during the installation. If you require information contained
in the original root.sh
script, then you can recover it from
the backed up root.sh
file.
Now .bash_profile needs to be updated with the value of ORACLE_HOME, path and LD_LIBRARY_PATH.
export
ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export
PATH=$PATH:$ORACLE_HOME/bin
export
LD_LIBRARY_PATH=$ORACLE_HOME/lib
NOTE: Database files are supported on file systems,
Automatic Storage Management, and raw devices. Recovery
files are supported only on file systems and Automatic Storage
Management.
Configuring New or
Upgraded Databases:
Oracle
recommends that you run the utlrp.sql
script after creating or upgrading a database to recompile all
PL/SQL
modules that might be in an invalid state, including packages,
procedures, and types. This is an optional
step but Oracle recommends
that you do it during installation and not at a
later date.