Install Oracle 11G Release 2 (11.2) on Suse Linux 11 (SLES11)

This article presents installation of Oracle database 11G Release 2 on Suse Linux Enterprise Server 11.

Read following article how to install Suse Linux Enterprise Server 11: Install Suse Linux Enterprise Server 11 SP3 64 bit(for comfort set 2G memory for your virtual machine).

During installation of Suse LES 11 user oracle and both group dba and oinstall are created. However I drop the user and groups and recreate them.

Software

Software for 11G R2 is available on OTN, edelivery or oracle support

Suse11 requires version Linux x86-64. In this presentation I’m using and always referring to version 11.2.0.4 downloaded from Oracle support page.

Binaries 11.2.0.4

p13390677_112040_Linux-x86-64_1of7.zip - database software  
p13390677_112040_Linux-x86-64_2of7.zip - database software

Requirements

Be sure you fulfill following:

  • SuSE Linux Enterprise Server (SLES) 11, which is Kernel 2.6.27.19-5 or newer.

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 suse11.dbaora.com suse11 localhost localhost.localdomain

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 

#install missed packages (example for package gcc*)
zypper install 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=ORA11G
ORACLE_SID=ORA11G
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

1. Uncheck checkbox “I wish to receive security updates via My Oracle Support” and then click “Next” button.

2. Ignore following message and click “Yes” button.

3. Select “Skip software updates” and click “Next” button.

4. Select “Create and configure a database” then click “Next” button.

5. Select “Server Class” then click “Next” button.

6. Select “Single instance database installation” and click “Next” button.

7. Select “Typical Install” and click “Next” button.

8. Enter database name, administration password for user and click “Next” button.

9. Just click “Next” button.

10. Check checkbox “Ignore All” to ignore this error. Then click “Next” button.

dbs11_11g_suse

11. Just click “Yes” button to continue with installation.

12. Summary screen just before installation. Click “Install” button.

13. Installation …

14. Database Configuration will start and create database for you.

15. You should see summary screen for your new database. Click “OK” button to continue with installation.

dbs17_11g_suse

16. In the “middle” of installation you will be asked to run 2 scripts as user root. when scripts are executed just click “OK” button. Installation will proceed.

--execute scripts
/ora01/app/oraInventory/orainstRoot.sh
/ora01/app/oracle/product/11.2.0/db_1/root.sh

17. Installation completed. Just click “Close” button.

dbs19_11g_suse

Post installation steps

Edit the “/etc/oratab” file to set restart flag for ORA11G to ‘Y’.

ORA11G:/u01/app/oracle/product/11.2.0/db_1:Y

Have a fun 🙂

Tomasz

One thought on “Install Oracle 11G Release 2 (11.2) on Suse Linux 11 (SLES11)

  1. You are just awesome, this was such a breeze to go through after I went through the 30 page oracle doc. Very very helpful, thank you much!!1

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.