Sunday, November 14, 2010

Installing Oracle 10g - in RHEL 4

Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) [ID 169706.1]

--------------------------------------------------------------------------------
Step 1 )

Login to the linux server as a root user and perform the below steps.

Step 2 )

Configure the Kernel Parameters.

# vi /etc/sysctl.conf

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

Comments :--
Shmmax - The shmmax parameter defines the maximum size (in bytes) for a shared memory segment. When setting shmax, keep in mind that the size of the SGA should fit within one shared memory segment.

Shmmni :- This parameter is used to set the maximum number of shared memory segments system wide. The default value for this parameter is 4096.

Shmall :- This parameter controls the toal amount of shared memory (in pages) that can be used at one time on the system. In short, the value of this parameter should always be at least : ceil(shmmax/page_size), Page size is 1024 bytes.

Sem ( Semaphores):- The best way to describe a semaphore is a counter that is used to provide synchronizaion between processes for shared resources like shared memory.


#ipcs -ls

------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767
--------------------------------

fs.file-max :- It is critical to ensure that the maximum number of file handles is large enough. The setting for file handles denotes the number of open files that you can have on the linux system.

Execute the below inorder to make the current kernel parameter settings into memory.
# /sbin/sysctl -p

Step 2 :-

Configure the shell limits for oracle user.
Add the below at the eof.

# vi /etc/security/limits.conf

oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

nofile :- Maximum No. of open file descriptors
nproc :- Maximum No. of process available to a single user

# vi /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
EOF

Step 3:-

Check whether all the necessary packages are installed.

Required Packages are:-

binutils-2.15.92.02-1.0 EL4
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9.EL4
gcc-ctl-3.4.3.9 EL4
glibc-2.3.4.2
glibc-common-2.3.4-2
gname-libc-1.4.1.2.9.0-44.1
libstdc++ 3.4.3_9 EL4
libstdc++devel-3.4.3-9 EL4
make-3.80-5
pdksh-5.214-30
sysstat-5.0.5.1
xscreen saver -4.18-5 rhel 4.2
libaio-0.3.96
openmotif 21.2.1.30-11rhel.2

To check wheather the package is Installed : # rpm -qa | grep "gcc"
To install a package : # rpm -ivh gcc.3.4.3.9.rpm

Step 4 )

Create oracle user and his group.

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle

Step 5 )

Create the directories and change the owner for those directories as oracle.

Oracle base directory :- Here where the oracle data files and admin files and oracle inventory will be located.

Oracle home path :- Here where the oracle server will be installed and all the executable's will be present.

# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oracle/product/10.2.0/db_1

# chown -R oracle:oinstall /u01

Step 6)

Set the environment variables for oracle user.

# su - oracle
$ vi .bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_TERM=Xterm
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_OWNER=oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib; export CLASSPATH
export TMP=/tmp
export TMPDIR=$TMP

Step 7 )

Copy the Oracle 10g database software to /software path and change the owner of
/software to oracle

# mount /dev/cdrom /mnt
# cd /mnt
# cp -R database /software
# chown -R oracle:oinstall /software

Step 8 )

Login as oracle user and start the Installation in GUI mode.

$ cd /software/database
$ ./runInstaller.


At the End of installation it will ask to run two scripts to be executed as
root user.

a) orainstallroot.sh - It will change the permission of orainventory to 770 and
changes the groupname of orainventory to oinstall.

# sh /u01/app/oracle/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oracle/oraInventory to 770.
Changing groupname of /u01/app/oracle/oraInventory to oinstall.
The execution of the script is complete


b) root.sh - It will set the oracle_owner and oracle_home environment variables, creates the oratab file and the database entries will be stored if the database are created using dbca.

#sh /u01/app/oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

check the below for more ifo
http://www.dbspecialists.com/files/presentations/oracle10glinux.html

Check the below for 11g Installation:-
http://ivan.kartik.sk/oracle/install_ora11gR1_elinux.html

No comments:

Post a Comment