Ubuntu – Installing Oracle database 12c on Ubuntu 14.04

14.04databasedynamic-linkingoraclesoftware installation

Is there anyone out there that got Oracle 12c working on Ubuntu 14.04? I tried following this tutorial (which is written for installing Oracle 12c on Ubuntu 12.04):

But in linking faze I encountered some errors that were not mentioned in this tutorial.

If there is anyone out there that got it to work, I would be very grateful if they could share their insight.

Best Answer

I tried to install Oracle 12c Release 1 on Ubuntu 15.04 and it worked well.

Following are the steps for reference

Ensure that the /etc/hosts file must contain a fully qualified name for the server.

IP-address  fully-qualified-machine-name machine-name

Run following commands using root / root equivalent user

sudo apt-get update
sudo apt-get dist-upgrade

Reboot the machine

Again run dist-upgrade to check if there is any new versions of packages.

sudo apt-get dist-upgrade

Run following command to install dependencies

sudo apt-get -y install alien binutils build-essential \
cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base \
gettext html2text lib32z1 lib32ncurses5 intltool-debian \
ksh lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 \
libc6-dev libc6-dev-i386 libelf-dev libelf1 libltdl-dev \
libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 \
libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 \
libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop \
lsb-graphics make odbcinst pax po-debconf rpm \
rpm-common sysstat unixodbc unixodbc-dev unzip

Creating Required Operating System Groups and Users by running following commands

sudo addgroup oinstall
sudo addgroup dba
sudo addgroup nobody
sudo usermod -g nobody nobody
sudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
sudo mkdir /home/oracle
sudo chown -R oracle:dba /home/oracle
sudo mkdir -p /u01/app/oracle
sudo mkdir -p /u01/binaries
sudo chown -R oracle:dba /u01

Set the password for the oracle user which we have created for installation purpose

sudo passwd oracle

Make ourself as Red Hat by running following command as root/ root equivalent user

echo 'Red Hat Linux release 6' | sudo tee -a /etc/redhat-release

We need to create some soft links to start the installation. To do so run the following commands as root/ root equivalent user,

sudo mkdir /usr/lib64
sudo ln -s /etc /etc/rc.d
sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/

To change the shell configuration for oracle user run following commands as root/ root equivalent user

sudo cp /etc/security/limits.conf /etc/security/limits.conf.original
echo "#Oracle 12C shell limits:" | sudo tee -a /etc/security/limits.conf
echo "oracle soft nproc 2048" | sudo tee -a /etc/security/limits.conf
echo "oracle hard nproc 16384"| sudo tee -a /etc/security/limits.conf
echo "oracle soft nofile 1024" | sudo tee -a /etc/security/limits.conf
echo "oracle hard nofile 65536" | sudo tee -a /etc/security/limits.conf

Run following command to change the kernel parameters as root/ root equivalent user.

echo "#" | sudo tee -a /etc/sysctl.conf
echo "# Oracle 12C entries" | sudo tee -a /etc/sysctl.conf
echo "fs.aio-max-nr=1048576" | sudo tee -a /etc/sysctl.conf
echo "fs.file-max=6815744" | sudo tee -a /etc/sysctl.conf
echo "kernel.shmall=2097152" | sudo tee -a /etc/sysctl.conf
echo "kernel.shmmni=4096" | sudo tee -a /etc/sysctl.conf
echo "kernel.sem=250 32000 100 128" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range=9000 65500" | sudo tee -a /etc/sysctl.conf
echo "net.core.rmem_default=262144" | sudo tee -a /etc/sysctl.conf
echo "net.core.rmem_max=4194304" | sudo tee -a /etc/sysctl.conf
echo "net.core.wmem_default=262144" | sudo tee -a /etc/sysctl.conf
echo "net.core.wmem_max=1048586" | sudo tee -a /etc/sysctl.conf
echo "kernel.shmmax=1073741824" | sudo tee -a /etc/sysctl.conf

Note: kernel.shmmax = max possible value, e.g. size of physical memory in bytes. In my case machine is having 2GB so we are specifying 1GB. Adjust the parameter as per your configuration

Load new kernel parameters, by running following as root/ root equivalent user.

sudo sysctl -p

We need to do changes in start-up script, run following commands as root/ root equivalent user

for i in 0 1 2 3 4 5 6 S
do sudo ln -s /etc/rc$i.d /etc/rc.d/rc$i.d

I have downloaded the binaries in /u01/binaries folder. To extract the binaries run following commands

cd /u01/binaries
unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip

Before doing the installation we need to give proper permission to the extracted file, to do the same run following command

chown -Rf oracle:dba /u01/binaries

Login as a oracle user and start installation using following command

cd /u01/binaries/database
/u01/binaries/database/runInstaller -ignoreSysPrereqs

And complete the set up there after. Remember Ubuntu is not certifies OS for Oracle Database. In case of any issues follow below post. How to Install Oracle 12c on Ubuntu 15.04

Related Question