OS configuration and preparation
OS configuration is executed as root. To login as root just execute following command in terminal.
su - root
Add groups
--required groups
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 503 oper
Add user Oracle
/usr/sbin/useradd \
-u 502 -g oinstall -G dba,oper \
-d /home/oracle \
-s /bin/bash \
-m oracle
Change password for user
passwd oracle
Add kernel parameters to /etc/sysctl.conf
kernel.shmmni = 4096
kernel.shmmax = 4398046511104
kernel.shmall = 1073741824
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
Apply kernel parameters
/sbin/sysctl -p
Add following lines to set shell limits for user oracle in file /etc/security/limits.conf
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
The “/etc/hosts” file must contain a fully qualified name for the server.
<IP-address> <fully-qualified-machine-name> <machine-name>
For example.
127.0.0.1 localhost localhost.localdomain
192.168.100.242 suse11 suse11
Modify .bash_profile for user oracle in his home directory
# Oracle Settings
export TMP=/tmp
export ORACLE_HOSTNAME=suse11.dbaora.com
export ORACLE_UNQNAME=ORA11G
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ORA11G
PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
alias cdob='cd $ORACLE_BASE'
alias cdoh='cd $ORACLE_HOME'
alias tns='cd $ORACLE_HOME/network/admin'
alias envo='env | grep ORACLE'
umask 022
Check which packages are installed and which are missing
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' \
binutils \
glibc \
ksh \
libaio \
libstdc++33 \
libstdc++43 \
libstdc++-devel \
make \
libaio-devel \
sysstat \
glibc-devel \
gcc \
gcc-c++
binutils-2.23.1-0.17.18(x86_64)
glibc-2.11.3-17.54.1(x86_64)
ksh-93u-0.18.1(x86_64)
libaio-0.3.109-0.1.46(x86_64)
libstdc++33-3.3.3-11.9(x86_64)
libstdc++43-4.6.9-0.11.38(x86_64)
package libstdc++-devel is not installed
make-3.81-128.20(x86_64)
libaio-devel-0.3.109-0.1.46(x86_64)
sysstat-8.1.5-7.45.24(x86_64)
glibc-devel-2.11.3-17.54.1(x86_64)
gcc-4.3-62.198(x86_64)
package gcc-c++ is not installed
Install missing packages. It’s just example:
#directory with mounted Suse 11 LES install disk
cd /media/<Suse 11 LES>/suse/x86_64
or iso file (mkdir /mnt/iso ; mount -o loop /root/suse11.iso /mnt/iso)
#install missed packages (example for package gcc*) zypper is similar to redhat yum or debain apt-gt
zypper install(or in) libstdc++-devel
zypper install gcc-c++
Create directory structure for oracle software
mkdir -p /ora01/app/oracle/product/11.2.0/db_1
chown oracle:oinstall -R /ora01
Install database software
Let’s start with database software installation as oracle user.
su - oracle
--unzip software 11.2.0.4
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
--I defined 4 aliases in .bash_profile of user oracle to make
--administration heaven :)
oracle@suse11:~> alias envo cdob cdoh tns
alias envo='env | grep ORACLE'
alias cdob='cd $ORACLE_BASE'
alias cdoh='cd $ORACLE_HOME'
alias tns='cd $ORACLE_HOME/network/admin'
--run alias command envo to display environment settings
oracle@suse11:~> envo
ORACLE_UNQNAME=PROD11G
ORACLE_SID=PROD11G
ORACLE_BASE=/ora01/app/oracle
ORACLE_HOSTNAME=suse11.dbaora.com
ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1
--run alias command cdob and cdoh to check ORACLE_BASE, ORACLE_HOME
oracle@suse11:~> cdob
oracle@suse11:/ora01/app/oracle> pwd
/ora01/app/oracle
oracle@suse11:/ora01/app/oracle> cdoh
oracle@suse11:/ora01/app/oracle/product/11.2.0/db_1> pwd
/ora01/app/oracle/product/11.2.0/db_1
--run installation
./runInstall
-- finally config
vim /etc/oratab
N->Y
This is all;