Install Oracle 11gR2 Ubuntu Linux 11.04 (64-bit)
Version C - update May 31, 2011
Author: Dude
Note: The following instructions work for Oracle 11gR2 11.2.0.1 (x86_64) and have also been tested with an Out-of-Place upgrade to 11.2.0.2. Just select the "ignore all" button at the prerequisite checks. It worked fine, including the Network Configuration and Database Upgrade Assistant.
If you go straight to 11.2.0.2 you may not need to install any 32-bit libraries, but I didn't try it.
Please note that Oracle 11gR2 on Ubuntu Linux is not supported by Oracle.
System setup and Prerequisites
The following assumes a default installation of Ubuntu 11.04, 64-bit, configured with access to the Internet.
You will need Terminal command line and Console access to perform the setup tasks. To open a Terminal on the system console:
Menu Applications => Accessories => Terminal
To enable remote ssh login and root access, type the following commands:
sudo apt-get install openssh-server
sudo passwd root
1. Required 64-bit and 32-bit software packages
The best way to install packages is to use the standard debian package manager.
Open a Terminal and enter the following commands to install required packages:
sudo apt-get install libaio1
sudo apt-get install libaio-dev
sudo apt-get install unixODBC
sudo apt-get install unixODBC-dev
sudo apt-get install expat
sudo apt-get install sysstat
sudo apt-get install libelf-dev
sudo apt-get install elfutils
sudo apt-get install lsb-cxx
sudo apt-get install pdksh
sudo sudo apt-get install libstdc++5
sudo sudo apt-get install ia32-libs
The following is not required, but will fix backspace and arrow keys in the vi-editor:
sudo apt-get install vim
2. Utilities and Libraries
The Oracle installation expects certain utilities and libraries in different locations:
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /usr/bin/awk /bin/awk
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 /usr/lib64/
sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64
3. Kernel Parameters
Oracle requires the following additional kernel parameters:
Create a kernel parameter file:
sudo cat - >> /etc/sysctl.d/60-oracle.conf
(then cut & paste the following)
# Oracle 11gR2 kernel parameters
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
kernel.sem=250 32000 100 128
kernel.shmmax=2147483648
(then type Ctrl-d to write the file)
Note: kernel.shmmax = max possible value, e.g. size of physical RAM.
Verify: sudo cat /etc/sysctl.d/60-oracle.conf
Load new kernel parameters:
sudo service procps start
Verify: sudo sysctl -q fs.aio-max-nr
-> fs.aio-max-nr = 1048576
4. Oracle Account and Directories
Type the following commands to create necessary Oracle accounts, groups and directories:
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -m -g oinstall -G dba oracle
sudo usermod -s /bin/bash oracle
sudo passwd oracle
sudo groupadd nobody
sudo usermod -g nobody nobody
Verify: sudo id oracle
-> uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
Modify Oracle account shell limits:
Make a backup of the original file:
sudo cp /etc/security/limits.conf /etc/security/limits.conf.original
sudo cat - >> /etc/security/limits.conf
(then cut & paste the following)
#Oracle 11gR2 shell limits:
oracle soft nproc 2048
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
(then type Ctrl-d to write the file)
Verify: sudo cat /etc/security/limits.conf
Use an editor like vi or gedit and add the following to /etc/profile:
if [ "$USER" = oracle ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Create Oracle Directories, i.e.: /u01/app for Oracle software and /u02/oradata for database files:
sudo mkdir -p /u01/app/oracle
sudo mkdir -p /u01/app/oraInventory
sudo mkdir -p /u02/oradata
sudo chown oracle:oinstall /u01/app/oracle
sudo chown oracle:oinstall /u01/app/oraInventory
sudo chown oracle:oinstall /u02/oradata
sudo chmod 750 /u01/app/oracle
sudo chmod 750 /u01/app/oraInventory
sudo chmod 750 /u02/oradata
Oracle Installation
For convenience, you might want to allow the Oracle user to use the "sudo" command. Enter the following at the command prompt:
usermod -G admin oracle
1. Mount Oracle Installation DVD
Automount does not mount CD/DVD media with execute privileges.
You can mount the Oracle installation media by typing:
sudo mount -o loop,norock /dev/cdrom /media
Or, if you prefer a permament and more convenient solution:
sudo apt-get install autofs
Find the following line in /etc/auto.misc:
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
and add "exec" so it look like:
cd -fstype=iso9660,ro,nosuid,nodev,exec :/dev/cdrom
2. Oracle Universal Installer (OUI)
The Oracle Universal Installer (OUI) requires X-windows. There are two fundamentally different ways to open a GUI application:
- Remote Session
- Server Console
VNC/Remote Desktop:
- Shares the screen of the Server Console.
- Applications are using the X-server on the server.
SSH with X-forwarding:
- Applications use the the X-server running on your client's desktop.
In order to use SSH with X-Forwarding you will need to install a X-server on your workstation. You will find several commerical and free X11 software packages available. Some provide complex services. If you have to deal with MS-Windows you might find mobaxterm useful, which installs a single stand-alone application. It is available for free from http://mobaxterm.mobatek.net/en/. Apple Mac users can install Apple's X11, which is included on the standard OS installation DVD. As of Mac OSX Snow Leopard (10.6), Xterm is integrated with the standard Terminal application.
Using SSH with X-Forwarding:
ssh -X oracle@your_server_ip_address
The advantage of SSH is that network communication is encrypted and your Firewall will only need TCP port 22 open and it should also work with Network Address Translation (NAT), which is typical for private network configurations. SSH with X-Forwarding will automatically set appropriate environment variables - you should not set the DISPLAY variables manually. You also do not have to configure X-server access control. On the contrary, when you use the server console to display a GUI application other than user root, you can use the "xhost +" command as root to disable X-server access control.
You can also use VNC using an SSH tunnel:
ssh -A -L 5902:localhost:5902 oracle@your_server_ip_address
Then open a VNC session to localhost:5902.
Please check the Internet for information about how to setup VNC Server and where to obtain VNC client software.
To start the Oracle Installer:
/media/runInstaller
The installer might take several seconds to appear at your desktop.
Note: Select the "Ignore All" button at the Prerequisite Checks dialog.
You can source execute Oracle's oraenv utility to set your shell environment variables after the installation:
. /usr/local/bin/oraenv
Regards and best of luck.
Edited by: Dude on May 17, 2011: Added note about 11.2.0.2, various changes.
Edited by: Dude on May 25, 2011: Add oracle account to admin group instead of /etc/sudoers.
Edited by: Dude on May 31, 2011: Removed step to add software repository for ia32-libs.
It's not needed and causing subsequent update issues. I.e. Flashplugin.
Edited by: Dude on May 17, 2011: Added note about 11.2.0.2, various changes.
Edited by: Dude on May 25, 2011: Add oracle account to admin group instead of /etc/sudoers.
Edited by: Dude on May 31, 2011: Removed step to add software repository for ia32-libs.
It's not needed and causing subsequent update issues. I.e. Flashplugin.