I previously put together instructions for deploying Oracle Enterprise Business Suite (EBS) 11i on Ubuntu 7.04 (Installing Oracle eBusiness Suite on Ubuntu). In this go-round, I am working through the steps to deploy the latest release of Oracle’s ERP (R12) on the latest Ubuntu server platform, 12.04. Although Ubuntu is not an Oracle-supported platform for R12, it is a stable, well-maintained, and popular Linux environment, with tremendous acceptance and community support. This makes it a great candidate for some third-party investigation on the steps required to render it a suitable infrastructure choice for ERP deployment.
I won’t repeat the mechanism for procuring the install media for R12; this was covered in my original 11i/Ubuntu post. It has all the instructions for downloading R12 from the Oracle® E-Delivery Web site (http://edelivery.oracle.com/), as well as how to prepare the staging folder for the R12 install (Installing Oracle eBusiness Suite on Ubuntu – II).
The following instructions also assume that R12 is being installed on a 32-bit Ubuntu Precise (12.04) server environment. Since this is for demo purposes that uses the preset Oracle EBS Vision instance, I used a throw-away VirtualBox environment with 400 GB of storage, and 4 GB of RAM allocated. Since the base Ubuntu server install does not have a GUI out of the box, I installed the ubuntu-desktop package:
$ sudo apt-get install ubuntu-desktop
This permitted me to perform my installation investigations easily, and then dispose of the environment quickly and easily to stay within Oracle licensing guidelines. So, on to the steps.
Prerequisites
i. Create oracle user in the Ubuntu 12 environment to own the oracle installation.
$ sudo adduser oracle
ii. Create group dba, and add oracle user to the dba group to allow Oracle DBMS system admin login and management of the 11g RDBMS.
$ sudo adduser oracle dba
iii. Sign in as the new oracle user, and ensure that the stage directory is available. For my purposes, I copied the stage folder into the oracle home in a sub-directory stage12i.
iv. Update software and dependent packages for the install:
Unzip
Download unzip version 5.52 from http://launchpadlibrarian.net/12763424/unzip_5.52-10ubuntu1.1_i386.deb
Remove current version using:
oracle@madara:~$ sudo apt-get remove unzip
Then install 5.52 version using:
oracle@madara:~$ sudo dpkg -i ‘unzip_5.52-10ubuntu1.1_i386.deb’
Oracle 11gR2 dependencies
Install the following packages to meet library dependency requirements:
oracle@madara:~$ sudo apt-get install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text intltool-debian ksh lesstif2 bzip2 lib64z1 libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libdb4.8 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 lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev libdb1-compat
v. Configure kernel parameters:
First check the current kernel parameter values:
oracle@madara:~$ sysctl -a | grep sem
oracle@madara:~$ sysctl -a | grep shm
oracle@madara:~$ sysctl -a | grep file-max
oracle@madara:~$ sysctl -a | grep ip_local_port_range
oracle@madara:~$ sysctl -a | grep rmem_default
oracle@madara:~$ sysctl -a | grep rmem_max
oracle@madara:~$ sysctl -a | grep wmem_default
oracle@madara:~$ sysctl -a | grep wmem_max
Then edit the /etc/sysctl.conf and add the following lines:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 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
Run the following command to reload these kernel parameters:
oracle@madara:~$ sudo sysctl -p
vi. Put in a fake Redhat flag file to fool the installer:
oracle@madara:~$ sudo echo ‘Red Hat Linux release 5’ > /etc/redhat-release
vii. Link expected locations for dependency library files to the source files in Ubuntu:
oracle@madara:~$sudo ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /usr/lib/
oracle@madara:~$sudo ln -s /usr/bin/awk /bin/awk
oracle@madara:~$sudo ln -s /usr/bin/basename /bin/basename
oracle@madara:~$sudo ln -s /usr/bin/rpm /bin/rpm
oracle@madara:~$sudo ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/
oracle@madara:~$sudo ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/
oracle@madara:~$sudo ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
viii. Verify shared memory is configured correctly for the 11g database:
Check shared memory device /run/shm with command:
$ df -hk
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/madara-root 409441664 59198564 329444636 16% /
udev 1553456 4 1553452 1% /dev
tmpfs 624404 948 623456 1% /run
none 5120 0 5120 0% /run/lock
none 1561008 156 1560852 1% /run/shm
cgroup 1561008 0 1561008 0% /sys/fs/cgroup
/dev/sda1 233191 46981 173769 22% /boot
Update /etc/fstab, adding line below to change the shared memory /run/shm/ filesystem from none to tmpfs:
tmpfs /run/shm tmpfs defaults,noexec,nosuid 0 0
ix. Reboot to make sure kernel params and shared memory change are detected.
x. Create the instance directory for the R12 install, setting the permissions so it can be updated by the oracle owner:
oracle@madara:~$ sudo mkdir /d01
oracle@madara:~$ sudo chmod 777 /d01
xi. Run the R12 Rapid Installer:
oracle@madara:~$ cd stage12i/startCD/Disk1/rapidwiz
oracle@madara:~$ ./rapidwiz
Rapid Install Wizard is validating your file system……
4 dvd labels found
Rapid Install Wizard will now launch the Java Interface…..
These instructions are in no way a substitute for careful analysis and assessment of the requirements and purpose for a production R12 instance. However, hopefully this provides some guidance on the technical hurdles and resolutions to deploying R12 on an unsupported Linux variant.
References:
(Instant Client downloads for Linux x86:) http://www.oracle.com/technetwork/topics/linuxsoft-082809.html
(Oracle Database 11g Release 2 on Ubuntu 12.04 HOWTO) http://edin.no-ip.com/comment/418
(Oracle Application R12 (12.1.3) Installation on Red Hat Linux – 64 bit) https://blogs.oracle.com/ptian/entry/oracle_application_r12_12_1
(Oracle EBS Vision Demo Default Application Passwords) http://swimmingpooldotnet.wordpress.com/2011/01/29/oracle-ebs-vision-demo-default-application-passwords/