3 Replies Latest reply: May 17, 2011 12:03 PM by bluefrog RSS

    Install Oracle 11gR2 on Ubuntu Linux 11.04 (64-bit) Howto

    Dude!
      h2. 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.

      h3. 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
      h4. 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
      h4. 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
      h4. 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
      h4. 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
      h3. 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
      h4. 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
      h4. 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.