Install Oracle Database 12c On openSUSE 13.2

Dear Unixmen Fans, today we will show you the steps about how to install Oracle Database 12c in openSUSE. Also, this will work on SUSE Linux Enterprise Server too.

About my machine:

Vmware  with 4GB RAM
Linux Opensuse  13.2  64bit
Hostname: opensuse-unixmen

Network:

eno167777 Link encap:Ethernet  HWaddr 00:0C:29:65:7C:EB
          inet addr:192.168.64.130  Bcast:192.168.64.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe65:7ceb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:59537 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54818 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8441952 (8.0 Mb)  TX bytes:6909698 (6.5 Mb)
          Interrupt:19 Base address:0x2000

1- First update your machine

zupper dup

Accept the license and continue.

2- Add you hostname and ip to /etc/hosts

3- Check if these package has been installed

zypper install libstdc++46-devel libstdc++33 libstdc++33-devel libelf-devel gcc-c++ libaio-devel sysstat unixODBC unixODBC-devel xdpyinfo

4- Add groups

 groupadd -g 502 oinstall
 groupadd  -g 503 dba
 groupadd  -g 504 oper
 groupadd -g 505 asmadmin

5- Create oracle user and add it to following groups

useradd -u 502 -g oinstall -G dba,asmadmin,oper -s /bin/bash -m oracle

6- Set oracle user password

passwd oracle

6.1- Check Oracle user ID

id oracle
 uid=502(oracle) gid=502(oinstall) groups=503(dba),504(oper),505(asmadmin),502(oinstall)

7- Create database installation directory and set the proper rights

 mkdir -p /home/u01/app/oracle/product/12.1.0/dbhome_1
 chown -R oracle:oinstall /home/u01/
 chmod -R 775 /home/u01/

8- Configure the kernel parameters /etc/sysctl.conf

 fs.suid_dumpable = 1
 fs.aio-max-nr = 1048576
 fs.file-max = 6815744
 kernel.shmall = 2097152
 kernel.shmmax = 536870912
 kernel.shmmni = 4096
 # semaphores: semmsl, semmns, semopm, semmni
 kernel.sem = 250 32000 100 128linuxamd64_12102_database_1of2.zip
 net.ipv4.ip_local_port_range = 9000 65500
 net.core.rmem_default=4194304
 net.core.rmem_max=4194304
 net.core.wmem_default=262144
 net.core.wmem_max=1048586

9- Configure limits.conf file   (/etc/security/limits.conf

 oracle              soft    nproc   2047
 oracle              hard    nproc   16384
 oracle              soft    nofile  1024
 oracle              hard    nofile  65536
 oracle              soft    stack   10240

10- Load the new kernel  configuration

/sbin/sysctl -p

11- Go to your folder where you have Oracle database software and extract the zip files

 cd /Downloaded oracle_files/
 unzip linuxamd64_12102_database_1of2.zip
 unzip linuxamd64_12102_database_2of2.zip

Then

chown -R oracle:oinstall database
mv database /home/oracle

11- sudo to oracle user

su - oracle

12- Add installation variables to your bashrc profile

vi .bashrc

and add this:

Oracle Settings
 TMP=/tmp; export TMP
 TMPDIR=$TMP; export TMPDIR
#ORACLE_HOSTNAME=
# export ORACLE_HOSTNAME
 ORACLE_UNQNAME=DB12C; export ORACLE_UNQNAME
 ORACLE_BASE=/home/u01/app/oracle; export ORACLE_BASE
 ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export ORACLE_HOME
 ORACLE_SID=DB12C
 export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

save and exit.

13- Integrate this changes with your profile

vi .bash_profile

and add:

 if [ -f ~/.bashrc ]; then
 source ~/.bashrc
 fi

14- Login from Shell/ or from putty or others ssh terminals/tools supporting X11

15- Ensure that DISPLAY has been exported

export   DISPLAY=hotname:0.0
xhost +IP

16- Lets start the installations

cd /home/oracle/database

17- Start the installation

oracle@opensuse-unixmen:~/database> ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 6125 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
oracle@opensuse-unixmen:~/database> You can find the log of this install session at:
 /home/u01/app/oraInventory/logs/installActions2015-02-11_10-48-20PM.log

oracle1 oracle2 oracle3 oracle4 oracle5 oracle6 oracle7 oracle8 oracle9

This is the output of the commands

opensuse-unixmen:~ # /home/u01/app/oraInventory/orainstRoot.sh
Changing permissions of /home/u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /home/u01/app/oraInventory to oinstall.
The execution of the script is complete.
opensuse-unixmen:~ # /home/u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /home/u01/app/oracle/product/12.1.0/dbhome_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 script.
Now product-specific root actions will be performed.

Click  OK to continue

oracle90

 Make password for SYS and SYSTEM users

oracle91

Completed.

oracle92

Lets make some checks:

Check the Listener

oracle@opensuse-unixmen:~> lsnrctl  status

oracle93

Check the Enterprise manager Console

https://opensuse-unixmen:5500/em

oracle94

oracle95

oracle96

 Done!