Instalación de Sybase ASE Express en Fedora Core 6: ¿Es posible?

Existen muchas razones por las cuales usted quizas deba instalar Sybase ASE Express (una versión escalada de Sybase 15), como son requerimientos de un cliente (en Wall Street todo el mundo la utiliza aunque han perdido terreno contra DB2 de IBM) o porque usted piensa que es un buen servidor. Yo tengo las mias, así que decidí montarla bajo Fedora Core 6.

Sybase provee instrucciones precisas sobre como instalar su servidor bajo Linux. Lo que yo quiero mostrar aqui es como usted puede hacer una instalación que consuma poca memoria en una máquina en la cual solamente se hará desarrollo. Asi que aqui vamos:

A estas alturas me imagino que usted ya se bajó el código del instalador, sino detengase aquí y hagalo. También tenga a la mano el DVD de Fedora Core 6 para instalar ciertos componentes adicionales.

Instale las librerías de compatiblidad: Necesitamos montar las librerias de compatibilidad de glibc para Sybase y Java:

compat-libstdc++-33
compat-libstdc++-296

Y lo hacemos así (los RPM los puede conseguir en el DVD de Fedora Core 6):

[root@localhost ~]# rpm -ihv compat-lib*.rpm
warning: compat-libgcc-296-2.96-138.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Preparing… ########################################### [100%]
1:compat-libstdc++-33 ########################################### [ 33%]
2:compat-libgcc-296 ########################################### [ 67%]
3:compat-libstdc++-296 ########################################### [100%]
[root@localhost ~]#

Cree un usuario dedicado para Sybase: Lo primero que hacemos es crear una cuenta nueva para la base de datos:

[root@localhost ~]# useradd -c “Sybase user” -b /opt/sybase -m -s “/bin/bash” sybase

Incremente los límites de memoria compartida: Fedora Core 6 tiene un limite bajo para la memoria compartida, así que lo cambiamos en el archivo /etc/sysctl.conf (kernel.shmmax = 67108864). Puede escribir: sysctl -w kernel.shmmax = 67108864

Desempaquete las fuentes:

root@localhost sybase]# cp /root/ase1500_xe_linux.tgz /home/sybase/
[root@localhost sybase]# su – sybase
[sybase@localhost ~]$ tar -xzvf ase1500_xe_linux.tgz

Modifique el ~/.bashrc del usuario “sybase”: Agregando lo siguiente:

export LD_POINTER_GUARD=0

Por cierto, este tip lo tomé del excelente sitio web de Michael Peppler, autor del módulo de Perl DBD::Sybase y Sybperl.

Asegurese que X-Window funciona o use el modo del consola en el instalador
: Este paso requiere que usted puede abrir correctamente aplicaciones X en el servidor remoto; En el caso de una conexión desde una máquina con Linux eso ocurre automaticamente si se conecta con ssh (ssh -X. Sin embargo desde Mac OS X le recomiendo que instale el paquete X11 al menos que quiera usar la instalación de modo texto y arranque el terminal X desde allí). Y si eso no funciona entonces corralo con la opción ‘-c’ como se muestra aqui:

[sybase@localhost ~]$ ./setup -console
InstallShield Wizard

Initializing InstallShield Wizard…

Searching for Java(tm) Virtual Machine…
……..
Running InstallShield Wizard…

——————————————————————————-
Welcome to the InstallShield Wizard for Sybase Adaptive Server Enterprise
version 15.0 Update #1 with Encrypted Columns Option

The InstallShield Wizard will install Sybase Adaptive Server Enterprise on your
computer. Shut down all Sybase products, then click Next to begin installation.

The installer will now configure new servers with the following values. Please
click Next to proceed with the server configurations.

Adaptive Server

Adaptive Server Name LOCALHOST
Port Number 5000
Page Size 2k
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST.log
Master Device /opt/sybase/data/master.dat
Master Device Size (MB) 30
Master Database Size (MB) 13
System Procedure Device /opt/sybase/data/sysprocs.dat
System Procedure Device Size (MB) 120
System Procedure Database Size (MB) 120
System Device /opt/sybase/data/sybsysdb.dat
System Device Size (MB) 3
System Database Size (MB) 3

Backup Server

Backup Server Name LOCALHOST_BS
Port Number 5001
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST_BS.log

Monitor Server

Monitor Server Name LOCALHOST_MS
Port Number 5002
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST_MS.log

XP Server

XP Server Name LOCALHOST_XP
Port Number 5003
Error Log /opt/sybase/ASE-15_0/install/LOCALHOST_XP.log

Unified Agent – Self Discovery Service Adaptor

Adaptor UDP

Unified Agent – Security Login Modules

CSI.loginModule.1.provider com.sybase.ua.services.security.simple.SimpleLoginModule
CSI.loginModule.1.controlFlag sufficient
CSI.loginModule.1.options.moduleName Simple Login Module
CSI.loginModule.1.options.username uafadmin
CSI.loginModule.1.options.password ******
CSI.loginModule.1.options.roles uaAgentAdmin,uaPluginAdmin
CSI.loginModule.1.options.encrypted false

CSI.loginModule.2.provider com.sybase.ua.services.security.ase.ASELoginModule
CSI.loginModule.2.controlFlag sufficient
CSI.loginModule.2.options.moduleName ASE Login Module

Siga adelante con las instrucciones que le muestra el instalador. Sin embargo si lo que usted quiere es solamente jugar un poco con SQL y no esta muy interesado en el desempeño, entonces no cree servidores XP (extended stored procedures), Historical (guardar historia de desempeño) ni el Monitor Server (para analisis de desempeño). El servidor de backup también es opcional sin embargo estoy seguro que el algún momento usted querra respaldar sus datos :).

Verifique que se puede conectar al servidor de base de datos (y cambiele el password lo antes posible, no lo muestro aquí):

isql –Usa –P -Slocalhost

Automatize el arranque y caida de Sybase ASE: El último paso es asegurarnos que podemos arrancar Sybase cada vez que el servidor es iniciado. Para ello les dejo un script en Bash que escribí con ese proposito, basandome en el original que venia con Sybase 11.9 (una versión para Linux ampliamente utilizada hace unos años atrás):

# sybase: Starts / stops the available Servers.
#
# chkconfig: 345 85 15
#
# description: This script will browse through the /opt/sybase/install
# directory and launch all servers configured from this location.
#
# Author: Jose V Nunez (josevnz@kodegeek.com)
# Source function library.
. /etc/rc.d/init.d/functions
# Load the correct Sybase env variables
. /opt/sybase/SYBASE.sh
if [ “$?” -ne “0” ]; then
exit $?
fi
if [ -n “${SYBASE}” -a -d “${SYBASE}” ]; then
PATH=”${SYBASE}/bin:${SYBASE}/install:${PATH}”
export SYBASE PATH
# See how we were called.
case “$1” in
start)
echo -n “Starting Sybase ASE … “
( cd ${SYBASE}/${SYBASE_ASE}/install ; \
unset LANG ; unset LC_ALL ; \
for run_server in RUN_* ; do \
su -c “startserver -f ${run_server}” sybase > /dev/null 2>&1 ; \
echo -n “${run_server} ” ; \
done )
echo
touch /var/lock/subsys/sybase
;;
stop)
echo -n “Shuting down Sybase ASE configured servers: “
killproc dataserver
killproc backupserver
killproc monserver
echo
;;
status)
showserver
;;
restart)
$0 stop
$0 start
;;
*)
echo “Usage: sybase {start|stop|status|restart}”
exit 1
esac
fi
exit 0

Grabe el archivo como ‘/etc/init.d/sybase’ y después escriba lo siguiente:

[root@localhost ~]# chkconfig sybase
[root@localhost ~]# chkconfig –level 3 sybase on

Esta instalación utiliza los valores por omisión los cuales son más que suficientes para comenzar, además de que son conservadores en el uso de recursos. Ya estaré jugando con Sybase bajo Linux en los días que vienen, así que esten pendientes por este blog.

Si aún no se ha dado cuenta este no es un tutorial de como instalar Sybase bajo Linux o como optimizarlo, así que le recomiendo que utilice los enlaces mencionados anteriormente para aprender más.

Blogalaxia.com:sybase ase express, sybase, linux, fedora core, fedora core 6
Technorati.com:sybase ase express, sybase, linux, fedora core, fedora core 6

12 thoughts on “Instalación de Sybase ASE Express en Fedora Core 6: ¿Es posible?

  1. Epale Ceguir, tanto tiempo 🙂
    La verdad es que no. Solamente lo he visto corriendo bajo Solaris y Linux en RedHat Enterprise Server 4. El rendimiento muy bueno, aunque vi en la página de Peppler que hay gente utilizando Gentoo sin problemas.

  2. Hola Jośe… bastante… Por cierto una vez más felicitaciones… cariños a Vero…
    Tuve la oportunidad de ver una aplicación comercial corriendo bajo SO debian, según comentaron los desarrolladores muy bueno el rendimiento…

  3. Mientra realizaba la instalción de Sybase 15 en Fedora se me genera el siguiente error

    Segmentation fault /opt/sybase/ASE-15_0/bin/dataserver -d/opt/sybase/data/master.dat -b30M -z2k -sprueba -e/opt/sybase/ASE-15_0/install/prueba.log -T1623 -f >/tmp/sbgjVC1x 2>&1
    Task failed

    Y según la documentación este error es por acceso a espacio de memoria no permitido.
    Usted tiene algún estatus para el mismo?

  4. Luis Carlos,

    ¿Exactamente para que estás utilizando el modo Trace1623?

    ¿Tu ya le habilitaste la memoria compartida para que Sybase pueda correr? Pareciera eso..

  5. Si se refiere a la Memoria compartida POSIX, esta se encuentra habilitada

    [root@srvsybase kernel]# mount | grep “shm”
    tmpfs on /dev/shm type tmpfs (rw)

  6. Sobre el Trace, este es el número que el arroja cuando se está haciendo la instalación. La verdad son nuevo haciendo esta isntalación y no sé sí este valor tnega algún efecto y sí se pueda cambiar o configurar previamente.

  7. [root@srvsybase kernel]# cat /proc/sys/kernel/shmmax
    268435456

    Tengo 256MB en memoria y un procesador P IV 2.8 GHz

  8. Ponga esos variables antes de ejectuar el programa ‘setup’:

    % export LC_ALL=C
    % export SYBASE=/opt/sybase
    % export SYBASE_ASE=/opt/sybase

    Asi evitara unos errores o mensajes pero todavia no funciona ASE para mi.

  9. Buenas tardes Kodegeek, he terminado de instalar sybase ASE en REDHAT Enterprise 4 AS, sin embargo cuando itento lo siguiente:
    isql –Usa –P -Stest
    me indica lo siguiente:

    unixODBC – isql
    * Syntax
    * isql DSN [UID [PWD]] [options]
    * Options
    * -b batch.(no prompting etc)
    * -dx delimit columns with x
    * -x0xXX delimit columns with XX, where
    * x is in hex, ie 0x09 is tab
    * -w wrap results in an HTML table
    * -c column names on first row
    * (only used when -d)
    * -mn limit column display width to n
    * -v verbose
    * -lx set locale to x
    * –version version
    * Notes
    * isql supports redirection and piping
    * for batch processing
    * Examples
    * cat My.sql | isql WebDB MyID MyPWD -w
    * Each line in My.sql must contain
    * exactly 1 SQL command except for the
    * last line which must be blank

    Te ha pasado, de antemano gracias

Los comentarios estan cerrados