Tag Archive: JEOS


I’ve been tasked with becoming an Oracle DBA, so I need to be able to create an VMware Server image containing 32 bit Ubuntu 8.04.1 Server JEOS and Oracle 10g. Much of the work was taken from Augusto Bott‘s Installing Oracle 11g on Ubuntu Linux 7.10 (Gutsy Gibbon) and Peter Cooper‘s How to Install VMware Tools on Ubuntu Hardy 8.04 under VMware Fusion.

I was able to consolidate the methods to work rather well together. As soon as Ubuntu 8.10 Server JEOS (Intrepid) is released, I’ll verify the procedure on that operating system as well.

If you’re looking for instructions on how to install Oracle 11 XE on Ubuntu 8.04.1, look at Installing Oracle Database XE on Debian, Ubuntu, and Kubuntu by Todd Trichler.

Create a VMware Image with the following settings

  1. Choose 32bit Ubuntu for the OS type
  2. 1024 MBytes RAM
  3. 16GBytes disk space
  4. Ubuntu 8.04.1 (or higher) Server JEOS edition http://www.ubuntu.com/products/whatisubuntu/serveredition/jeos
  5. Upon the os installation, create a non “oracle” id to use to administer the os.

Install the required updates and packages

$ sudo aptitude update
$ sudo aptitude safe-upgrade
$ sudo aptitude install build-essential xinetd linux-headers-`uname -r` openssh-client openssh-server unzip libaio1 gawk ksh rpm libmotif3 alien lsb-rpm libtool libxtst-dev libxtst6 libstdc++5

Add swap

$ sudo dd if=/dev/zero of=/extraswap bs=1M count=1536
$ sudo mkswap /extraswap
$ sudo swapon /extraswap
$ sudo echo "/extraswap   none   swap   sw   0   0" >> /etc/fstab
# <em>"/sbin/swapon -s" should show the added swap space</em>
$ /sbin/swapon -s
Filename        Type    Size  Used  Priority
/dev/mapper/oracle10g-swap_1            partition 401400  92  -1
/extraswap                              file    1048568 0 -2

If VMware Server version is 2.0x or higher, install VMware tools:

$ sudo su – root
$ mount /dev/cdrom
$ cp /media/cdrom/*.gz ~
$ tar zxvf VMwareTools*.tar.gz
$ cd vmware-tools-distrib
$ ./vmware-install.pl

If VMware Server version is 1.0x, install VMware tools:

$ sudo su – root
$ mount /dev/cdrom
$ cp /media/cdrom/*.gz ~
$ aptitude install libgtk2.0-dev libproc-dev libdumbnet-dev xorg-dev wget
$ wget http://mesh.dl.sourceforge.net/sourceforge/open-vm-tools/open-vm-tools-2008.04.14-87182.tar.gz
$ tar xzvf VMware*.gz ; sudo tar xzvf open-vm-tools*.gz ; cd open-vm-tools-2008.04.14-87182/
$ ./configure &amp;&amp; make
$ cd modules/linux/
$ for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done
$ cd ../../..
$ mv -f open-vm-tools-2008.04.14-87182/modules/linux/*.tar vmware-tools-distrib/lib/modules/source/ ; cd vmware-tools-distrib/
$ sudo ./vmware-install.pl
$ sudo reboot

Append to /etc/sysctl.conf

$ sudo cat >> /etc/sysctl.conf << EOF
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
EOF

Append to /etc/security/limits.conf

$ sudo cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
EOF

Append to /etc/pam.d/login

$ sudo cat >> /etc/pam.d/login << EOF
session required /lib/security/pam_limits.so
session required pam_limits.so
EOF

Set up user / groups

$ sudo su – root
$ addgroup oinstall ; addgroup dba ; addgroup nobody ; usermod -g nobody nobody ;  useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
$ passwd oracle
Password changed.
$ mkdir /home/oracle ; chown -R oracle:dba /home/oracle ; ln -s /usr/bin/awk /bin/awk ; ln -s /usr/bin/rpm /bin/rpm ; ln -s /usr/bin/basename /bin/basename ; mkdir /etc/rc.d
$ for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done
$ mkdir -p /dbms/oracle ; chown -R oracle:dba /dbms/oracle ;  sysctl -p
$ reboot

Retrieve Oracle 10g zip file

  1. Copy the Oracle install zip file from disc or somewhere
  2. Unzip it

Retrieve IP of the network card

$ ifconfig |grep "Bcast"

Install / Configure oracle manually verifying any requirements:

$ ssh -C -X oracle@(ipaddress)

$ cd /home//database
$ ./runInstaller -ignoreSysPrereqs

iSQL*Plus URL:

http://(ipaddress):5560/isqlplus

iSQL*Plus DBA URL:

http://(ipaddress):5560/isqlplus/dba

Enterprise Manager 10g Database Control URL:

http://(ipaddress):1158/em

Because Sybase has yet to address the GLIBC (LD_POINTER_GUARD) issue with any of their products on Linux, we are forced to find alternative ways of getting Sybase software to run on modern Linux distribution.  In this situation, we will be using the Ubuntu 8.04 Just Enough OS (Ubuntu JEOS) Linux distribution.

After installing Ubuntu 8.04 Server JEOS on the physical or virtual machine, download the Ubuntu 7.04 Server iso image.  Why Ubuntu 7.04?  Ubuntu 7.04 is the last Ubuntu release that has an old enough GLIBC that Sybase software will work with.

% sudo debootstrap feisty /home/sybase file:///media/cdrom0

  • Change the home directory of the sybase user to be /dbms/sybase by editing the /etc/passwd file

% sudo cp /etc/resolv.conf /home/sybase/etc/resolv.conf

% sudo cp /etc/hosts /home/sybase/etc/hosts

% sudo cp /etc/passwd /home/sybase/etc/passwd

% sudo cp /etc/shadow /home/sybase/etc/shadow

% sudo `cat /etc/apt/sources.list | sed -e ‘s/hardy/feisty/g’ > /home/sybase/etc/apt/sources.list`

% sudo mount –bind /dev /home/sybase/dev

% sudo mount –bind /proc /home/sybase/proc

% sudo mount -t devpts none /home/sybase/dev/pts

% sudo mount –bind /tmp /home/sybase/tmp

% sudo aptitude update

% sudo aptitude upgrade

% sudo aptitude install locales dialog wget debconf devscripts gnupg

% sudo aptitude install libstdc++5 libstdc++6 libaio

  • If you’re installing v12.5x software, you will need to install an even older copy of libstdc++ (not needed for v15 or higher software):

% aptitude install libstdc++2.10-glibc2.2

  • Install Sybase software into /dbms/sybase (as root in the chroot environment which you should still be in)

% sudo cp /dbms/sybase/SYBASE.sh /dbms/sybase/SYBASE.env

% sudo echo DSQUERY=MYASE >> /dbms/sybase/.SYBASE.env

% sudo echo sa_password > /dbms/sybase/.sapwd

% sudo chmod go-rwx /dbms/sybase/.sapwd

% sudo chmod u-wx /dbms/sybase/.sapwd

% sudo chown -R sybase /dbms/sybase

  • Install the sybase_chroot script into /usr/local/bin and make it executable by root
  • Install the sybase_ase rc script into /etc/init.d and make it executable by root
  • Exit the chroot environment by typing ‘exit’
  • create a symbolic link outside of the chroot environment to make /home/sybase/dbms appear as /dbms.  This will allow you to access the Sybase software, notably OpenClient, as a normal user outside of the chroot environment.

% sudo ln -s /home/sybase/dbms /dbms

You are now able to start Sybase ASE using sudo /etc/init.d/sybase_ase start and stop Sybase ASE using sudo /etc/init.d/sybase_ase stop.  Starting Sybase Replication Server, OpenServer, or similar Sybase software is simply a matter of copying the /etc/init.d/sybase_ase and tweaking the script copy.

If you feel this is way complicated and Sybase should just fix their software, let them know.  Please point them to this page and refer to CR455393.

UPDATE: The GLIBC issue is fixed in v15.0.2 esd 4.  It doesn’t seem to be working for everyone though.  More information is needed about those systems where esd 4 doesn’t resolve the matter.  No fix is available for 12.5x from Sybase.

UPDATE: Keep in mind, that the Sybase ASE 15.0.2 esd 4 patch is available only to Sybase customers with a current maintenance contract with Sybase.

Powered by WordPress | Theme: Motion by 85ideas.