Friday, January 11, 2013

Installing Sybase on CentOS

Make sure you have a valid license included in the Sybase installer image. Note that Sybase typically gives free developer licenses for the servers.

Sybase 15.5 64-bit on CentOS 5 64-bit

We are going to install by running the graphical installer. 64-bit version of CentOS may not include the 32-bit 'glibc' which is required when installing Sybase in graphical mode (and may be others). To fix this do

yum install glibc.i686

If 'X Windows' is not present then it needs to be installed to run the graphical installer

yum groupinstall "X Window System" "GNOME Desktop Environment"

Note - If a package is missing you can search for it using

yum search 'name of the package'

The Sybase installer needs 32-bit version of these libraries as well

yum install compat-libstdc++.i686
yum install libgcc.i686
yum install libXext.i686
yum install libXtst.i686

SSH as ‘root’ and create user ‘sybase’. Use ‘Putty’as a SSH client, for example.

useradd sybase

Change the password

passwd sybase

Create installation directory ‘/opt/sybase’ as ‘root’ and make ‘sybase’ the owner

mkdir /opt/sybase

chown sybase /opt/sybase

If the Sybase installer image is available on your local Windows network share, then you can mount the share in local directory '/mnt/applications’(create if not present)

mount –t cifs //server/share /mnt/applications –o username=<username>

Or FTP/SFTP the Sybase installer image to. If you have the image on CD/DVD, then mount it. Copy the install image locally (e.g. /installs ). Then ‘cd’ into ‘installs’ directory and expand the image

tar zxvf ase155esd2_linuxx86-64.tgz

For running the installer in graphical mode, you need to install and configure a X server like ‘Xming’. Simply launch it listening on display 0.0. On the remote server where we would start the Sybase setup, export ‘DISPLAY’ variable to point to your machine

export DISPLAY=machine_name_or_ip:0.0

Now if you run any X application it should open a screen on your machine. Try running ‘xclock’ and see if it opens on your machine. Next start the Sybase installer

./setup.bin

If you get into issues starting the installer in graphical mode, you may try the ‘console’ mode

./setup.bin –i console

Follow the prompts. When it comes to creating servers, Job Scheduler, Unified Agent etc I chose to create ONLY Adaptive Server (uncheck all others) and chose default parameters. If you need other severs. The installation program does not setup correct environment for ‘sybase’ user nor does it make the server run automatically. To set the correct environment add this to the login profile ( for ‘bash’ shells, it is ‘.bash_profile’ in ‘home’ directory of ‘sybase’ user).

source /opt/sybase/SYBASE.sh

Now that the environment is set, the command to run the server is

startserver –f $SYBASE/$SYBASE_ASE/install/RUN_MEERA

We can verify the server is running by running

showserver

By default the Sybase server running on port 5000 with user ‘sa’ and null password.

Sybase 12.5 32-bit on CentOS 6 32-bit - *** FAILED INSTALL *** Im writing this down only for educational purposes. Do not follow this section. Follow Sybase 12.5 32-bit on CentOS 3 32-bit instead

Most of the procedure is same as above except for some additional packages that needed to be installed. I used the installer Sybase 12.5 32-bit on this image CentOS 6 32-bit I needed to install Xming-fonts package to solve an error about font conversion

Warning: Cannot convert string "-*-lucida-medium-r-*-*-*-*-*-*-*-*-iso8859-1" to type FontStruct

Exception in thread "main" java.lang.InternalError: java/langNullPointerException
at sun.awt.motif.MComponentPeer.pSetFont(Native Method)

I also needed to install these additional packages

yum install glibc.i686

yum install compat-glibc.i686

yum install glibc-common.i686

yum install compat-libstdc++-296.i686

export LD_POINTER_GUARD=0

Add these lines below to /etc/sysctl.conf

#added for sybase 12.5
kernel.exec-shield=0
kernel.randomize_va_space=0

And then run this command for them to take effect

sysctl -p /etc/sysctl.conf

Sybase 12.5 32-bit on CentOS 3 32-bit

CentOS 3 was chosen because of failed installation on CentOS 6/5, and because Sybase 12.5 instalation system requirements show RHEL 3.0 as supported OS

http://infocenter.sybase.com/help/topic/com.sybase.dc30119_1254/html/installlnx/X22779.htm

Make sure you have these packages mentioned therein - kernel 2.4.21-4.EL or higher, glibc-2.3.2-95.3 or higher, compat-libstdc++-7.3-2.123 or higher

The CentOS 3.9 image we have meets these requirements except that the version of compat-libstdc++-7.3 is lower than the one required, but this did not seem to cause issues.

Increase the shared memory allowed by adding these lines to /etc/sysctl.conf

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295

Here 4294967295 denotes 4GB but you can lower it if you wish. It should be above 64MB for Sybase to work.

Run this for changes to take effect

sysctl -p /etc/sysctl.conf

Follow the rest of the procedure as described above.

No comments:

Post a Comment