Sybase ASE Express 15.0 en Fedora Core 6 José de Jesús Robles Heras, [email protected] Instituto Tecnológico de Chihuahua Chihuahua, Chih., Méx. Junio, 2008 Tabla de Contenido Resumen. 1 Antecedentes. 1 1. El Sistema Operativo Base. 1.1 Memoria RAM del sistema. 1.2 Instalando el sistema base. 1.3 Ajuste de parámetro kernel.shmmax. 1.4 Archivo /etc/hosts. 1.5 Creación de usuario sybase. 1.6 Desempacando el software ASE. 1.7 Entorno de trabajo para usuario sybase. 1.8 Configuración del Sistema de Ventanas X compatible. 2 3 3 4 5 5 5 6 8 2. Instalación y configuración de Sybase ASE 15.0. 2.1 Instalación manual del master device y arranque del dataserver. 2.2 Instalación manual del dispositivo sysprocsdev y de la base de datos sybsystemprocs. 2.3 Instalación manual de los procedimientos almacenados de la base de datos maestra. 2.4 Continuando con la instalación del servidor de respaldo en modo gráfico. 2.5 Asegurando el entorno. 2.6 Cambiando la contraseña del superadministrador sa. 10 11 13 14 14 15 16 3. Sybase Central. 3.1 Conexión con el servidor de la base de datos. 3.2 Extendiendo la base de datos temporal, tempdb. 3.3 Poniendo opciones en las bases de datos. 16 16 17 18 4. Arranque y paro automático del servidor ASE. 4.1 Instalación del rc-script. 18 21 Referencias. 21 Sybase ASE Express 15.0 en Fedora Core 6 José de Jesús Robles Heras, [email protected] Instituto Tecnológico de Chihuahua Chihuahua, Chih., Méx. Junio, 2008 Resumen. En este artículo se describe una forma de implementar el motor de la base de datos Sybase ASE (Adaptive Server Enterprise) versión 15.0 edición Express en un sistema Linux Fedora Core 6 [7] con glibc 2.5 - esta edición del software (gratuita) no limita el número de conexiones concurrentes [12]. Primero se darán detalles correspondientes a la instalación del sistema operativo, posteriormente se procederá a la configuración del entorno gráfico de ventanas compatible (sistema X), después pasaremos a la instalación y configuración de Sybase ASE y por último se cubrirá la forma de arrancar y detener el servidor mediante los guiones de inicio del sistema (rc script). La realización de este artículo fue motivado debido a la escasa información disponible públicamente para la versión 15.0 de Sybase ASE a la fecha de escritura. Antecedentes. Por más de 2 décadas la empresa Sybase ha sido una de las líderes en el desarrollo y expansión de las tecnologías de bases de datos [1]. En particular, Sybase ASE (Adaptive Server Enterprise) es un producto de software comercial para la administración de sistemas de bases de datos relacionales (RDBMS); actualmente existen alternativas para disponer de dicho software de forma gratuita bajo restricciones [2]. Hace algunos años Sybase liberó una versión binaria gratuita (no de código abierto - no open source), de su motor de base de datos "ASE Express Edition" para entornos Linux [3] (sólo tiene que llenar un formulario para descargarlo) y entre otras cosas el software tiene las siguientes restricciones: no incluye soporte técnico, 5GB máximo para la base de datos, 1 CPU y acceso a 2GB de RAM máximo [3]. Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. Por otro lado, Sybase ASE 12.5.x en Linux está oficialmente soportada en un conjunto específico de distribuciones [10-11][4]: Red Hat Enterprise Linux 2.1 Red Hat Enterprise Linux 3.0 SuSE Linux Enterprise 8.0 Red Flag Linux 4.0 Además, según Michael Pepper (consultor de Sybase), se ha probado que ASE 12.5.x corre bien en otras distribuciones (véase sección "installation" en [12-13]), básicamente con las librería glibc 2.2.x y glibc 2.3.x: RedHat 7.2, 7.3, 8.0 No corre en RH 9 debido a fallas en la librería glibc. Fedora Core 1 y 2 Gentoo Otras Pero ASE 12.5.x y 15.x no corre en sistemas con glibc 2.4.x (esto es Linux Fedora Core 5 y otros) sin hacer algunas asignaciones a la variable de entorno LD_POINTER_GUARD [15]. Fedora Core 4 (FC4) usa glib-2.3. Para determinar cuál librería glibc tiene instalado en su sistema, puede ejecutar: # rpm -q glibc glibc-2.5-10.fc6 1. El Sistema Operativo Base. El proyecto Fedora es una colección de proyectos patrocinados por Red Hat (http://redhat.com) y desarrollados en común entre la comunidad del software libre [8] y los ingenieros de Red Hat, buscando siempre el mejor sistema operativo y plataforma que el software libre pueda proveer. Si aún no cuenta con la distribución de Linux Fedora Core 6, la puede descargar gratuitamente de http://fedoraproject.org. 2 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. 1.1 Memoria RAM del sistema. Los requerimientos de memoria RAM para el servidor son muy variados y dependen de muchos factores; sin embargo, hay una regla, entre más mejor. Como ejemplo y para la versión 12.5.2 de ASE se requieren 64MB y 140KB por usuario adicional [12], esto no contabiliza los requerimientos del sistema operativo base; sin embargo, si desea acceder a las bases de datos vía una aplicación web es importante tener en cuenta la concurrencia (número de usuarios conectados al mismo tiempo) porque de esto depende el número de procesos que el servidor web arranque. En mí sistema se pueden estimar 8 MB/usuario (obtenido con el comando top de Linux), es decir, 128 usuarios/GB de memoria disponible. 1.2 Instalando el sistema base. Procedemos a realizar la instalación del sistema operativo base: Arranque su sistema con el primer disco de la distribución y siga los pasos indicados por el instalador. A continuación se señalan algunos puntos de interés: Realice una instalación personalizada (customize now). Para mejorar el rendimiento y facilitar operaciones de respaldos y recuperación, se recomienda realizar particiones al disco duro como se muestra en la tabla 1 (o guardando proporción), no se emplearán particiones en crudo (raw partition) [14]: Tabla 1. Tabla de Particiones ----------------------------------------------------------------------------------------------Partición Tamaño / 10GB (1GB mínimo, para descomprimir sofware ASE) /home 10GB /opt 35GB /opt/sybase/data 20GB (5GB mínimo, partición para la base de datos) /tmp 10GB /usr 25GB /var 20GB swap 5GB (No menos que la RAM del sistema) -----------------------------------------------------------------------------------------------3 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. No use DHCP. Use direccionamiento estático para la configuración de la red. No es requerido instalar ningún programa servidor como el servicio web o la base de datos mysql. Usar KDE. Asegúrese de indicarle al instalador el soporte para idioma español. Asegúrese de indicar la instalación de los siguientes componentes de software (Development. Base system + Legacy Software support). 1. compat-libstdc++-296-2.96-138.i386.rpm (No en FC4) 2. compat-libstdc++-33-3.2.3-61.i386.rpm 3. compat-libgcc-296-2.96-138.i386.rpm Por el momento no instale Firewall ni SELinux. Posteriormente se pueden configurar. Ver comando “setenforce 0” de Linux para deshabilitar SELinux (y “echo 0 > /proc/sys/kernel/exec-shield”). Si usted descargó Sybase 15.0.2 posiblemente deba instalar libaio. Finalmente hay que asegurarse que el sistema operativo arranque sin problemas y que puede iniciar sesión con usuario root. 1.3 Ajuste de parámetro kernel.shmmax. Es necesario incrementar los límites de memoria compartida. Fedora Core tiene un límite bajo para la memoria compartida (32 MB por omisión) y son requeridos al menos 64 MB. Cada conexión a la base de datos requiere de esta memoria, por lo que vamos a utilizar 512 MB (536870912): # /sbin/sysctl -w kernel.shmmax=536870912 También podemos agregar la siguiente línea al final del archivo /etc/sysctl.conf: kernel.shmmax = 536870912 Y para hacer el cambio permanente: # /sbin/sysctl -p 4 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. 1.4 Archivo /etc/hosts. Asegúrese que el archivo /etc/hosts de su sistema muestre líneas similares a las siguientes: 127.0.0.1 10.6.1.8 localhost.localdomain ccdatos.itchihuahua.edu.mx localhost ccdatos CCDATOS Note el nombre del servidor: CCDATOS (o ccdatos). 1.5 Creación de usuario sybase. Una de las primeras cosas que deben ser realizadas una vez abierta la sesión con usuario root, es crear una cuenta para el administrador de la base de datos: # useradd -groot -c"Sybase Admin" -m -d/opt/sybase -s"/bin/ksh" sybase Note que hemos creado el usuario sybase, le hemos asignado /opt/sybase como su directorio de trabajo ($HOME, home directory) y usará el interprete de comandos ksh (KornShell, shell de inicio de sesión). Si el directorio /opt/sybase ya existía antes del comando anterior, no olvide poner dueño a usuario sybase: #chown –R sybase /opt/sybase 1.6 Desempacando el software ASE. Si aún no ha descargado el software ASE (ase1500_xe_linux.tgz), lo puede hacer desde http://www.sybase.com/linuxpromo. Vamos a crear el directorio /ase, desempacar las fuentes y hacer al usuario sybase dueño de él: # # # # # # mkdir /ase cp ase1500_xe_linux.tgz /ase/. cd /ase gzip –dc ase1500_xe_linux.tgz | gtar xvf También tar -xzvf ase1500_xe_linux.tgz chown -R sybase /ase 5 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. 1.7 Entorno de trabajo para usuario sybase. Cambie a usuario sybase: # su - sybase $ Modifique o agregue $HOME/.kshrc del usuario sybase (y usuario root también) con lo siguiente, ver "Installing/Running ASE on systems with glibc 2.4.x (Fedora Core 5, etc.)" [15]: LD_POINTER_GUARD=0 export LD_POINTER_GUARD Asegúrese que $HOME/.profile incluya: ENV=.kshrc export ENV A continuación se muestra $HOME/.profile y $HOME/.kshrc en nuestro sistema: /opt/sybase [email protected] $ cat .profile # # PATH=:/usr/sbin:/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin :$HOME export PATH MANPATH=/usr/share/man:/usr/local/ssl/man:/usr/man:/usr/openwin/s hare/man:/usr/local/man export MANPATH ENV=$HOME/.kshrc export ENV EDITOR=vi export EDITOR #Make sure that your tty is "eight-bit-clean". stty cs8 -istrip if [ "$TERM" = "ansi" ] ; then /bin/stty erase '^h' ; else /bin/stty erase '^?' ; fi # # Sybase Product Environment variables # ver SYBASE.sh # SYBASE_ASE="ASE-15_0" 6 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. export SYBASE_ASE PATH="/opt/sybase/ASE-15_0/bin:/opt/sybase/ASE15_0/install":$PATH export PATH LD_LIBRARY_PATH="/opt/sybase/ASE-15_0/lib":$LD_LIBRARY_PATH export LD_LIBRARY_PATH SYBASE="/opt/sybase" export SYBASE SYBASE_OCS="OCS-15_0" export SYBASE_OCS PATH="/opt/sybase/OCS-15_0/bin":$PATH export PATH LD_LIBRARY_PATH="/opt/sybase/OCS-15_0/lib:/opt/sybase/OCS15_0/lib3p":$LD_LIBRARY_PATH export LD_LIBRARY_PATH INCLUDE="/opt/sybase/OCS-15_0/include":$INCLUDE export INCLUDE LIB="/opt/sybase/OCS-15_0/lib":$LIB export LIB SYBASE_JRE="/opt/sybase/shared/jre142" export SYBASE_JRE SYBASE_SYSAM="SYSAM-2_0" export SYBASE_SYSAM PATH="/opt/sybase/ua/bin":$PATH export PATH SYBASE_UA="/opt/sybase/ua" export SYBASE_UA SCROOT="/opt/sybase/shared/sybcentral43" export SCROOT PATH="/opt/sybase/RPL-15_0/bin":$PATH export PATH SYBROOT="/opt/sybase" export SYBROOT /opt/sybase [email protected] $ cat .kshrc alias c=clear alias ll='/bin/ls -lFad .* * | /bin/more' alias l=/var/mail/l PS1='$PWD '`whoami`@`uname -n`" $ " export PS1 set -o vi set -o keyword set -o ignoreeof HISTSIZE=20 export HISTSIZE # Para Sybase en Fedora Core 6 LD_POINTER_GUARD=0 export LD_POINTER_GUARD # # Sybase Product Environment variables # ver SYBASE.sh 7 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. # SYBASE_ASE="ASE-15_0" export SYBASE_ASE PATH="/opt/sybase/ASE-15_0/bin:/opt/sybase/ASE15_0/install":$PATH export PATH LD_LIBRARY_PATH="/opt/sybase/ASE-15_0/lib":$LD_LIBRARY_PATH export LD_LIBRARY_PATH SYBASE="/opt/sybase" export SYBASE SYBASE_OCS="OCS-15_0" export SYBASE_OCS PATH="/opt/sybase/OCS-15_0/bin":$PATH export PATH LD_LIBRARY_PATH="/opt/sybase/OCS-15_0/lib:/opt/sybase/OCS15_0/lib3p":$LD_LIBRARY_PATH export LD_LIBRARY_PATH INCLUDE="/opt/sybase/OCS-15_0/include":$INCLUDE export INCLUDE LIB="/opt/sybase/OCS-15_0/lib":$LIB export LIB SYBASE_JRE="/opt/sybase/shared/jre142" export SYBASE_JRE SYBASE_SYSAM="SYSAM-2_0" export SYBASE_SYSAM PATH="/opt/sybase/ua/bin":$PATH export PATH SYBASE_UA="/opt/sybase/ua" export SYBASE_UA SCROOT="/opt/sybase/shared/sybcentral43" export SCROOT PATH="/opt/sybase/RPL-15_0/bin":$PATH export PATH SYBROOT="/opt/sybase" export SYBROOT Más sobre las variables de entorno de Sybase en "Asegurando el entorno" (§2.5). 1.8 Configuración del Sistema de Ventanas X compatible. Antes de proceder a la instalación de ASE vamos a verificar que nuestro sistema de ventanas X es compatible con el instalador (aplicación java). Se quiere realizar la instalación en modo gráfico. Lo siguiente lo realizaremos con usuario root. Cierre la sesión del usuario sybase si está activa (exit): 8 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. # rpm -i compat-libstdc++-296-2.96-138.i386.rpm (en CD3 de fedora, si no las instaló con el sistema operativo) # rpm -i compat-libstdc++-33-3.2.3-61.i386.rpm # rpm -i compat-libgcc-296-2.96-138.i386.rpm (en CD3 de fedora) (en CD's de fedora) Posiblemente instalar glibc-common. # yum install libstdc++.so.5 (requerida versión 5) (o en /lib, verifique que existe) (posiblemente tenga que establecer una liga con # ln ./libstdc++.so.5.0.7 libstdc++.so.5 para la versión 5 de esta librería). # ls /usr/lib/libstdc++.so.5* # rpm -i xorg-x11-deprecated-libs-6.8.2-37.FC4.49.2.1.i386.rpm (de Fedora 4 para libXp.so.6) (verifique que existe) Posiblemente tenga que establecer ligas: # ls /usr/X11R6/lib/libXp.so* # ln ./libXp.so.6.2 libXp.so.6 # ln ./libXp.so.6.2 libXp.so # ldconfig /usr/X11R6/lib (agregue al path de biblioteca de funciones) Opcionalmente, realice las siguientes ligas en /lib ó verifique: libc.so->libc-2.5.so, libpthread.so->libpthread-2.5.so librt.so->librt-2.5.so En FC4 # yum install libc.so.6 Configure idioma inglés, poner en /etc/sysconfig/i18n: LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" SUPPORTED="en_US.UTF-8:en_US:en" #export DISPLAY=:0 ó #export DISPLAY=:0.0 #xhost + +sybase ó agregue las siguientes líneas a /etc/X0.hosts: En FC4 actualizar firewall: #yum install system-config-securityLevel* firstboot Todas las bibliotecas de funciones (librerías) las puede descargar de http://jrobles.itchihuahua.edu.mx/ase. 9 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. 2. Instalación y configuración de Sybase ASE 15.0. Con usuario sybase (# su – sybase), ejecute el programa de instalación ASE en modo gráfico. $ cd /ase $ ./setup Debe abrirse el instalador en modo gráfico. Tome en cuenta los siguientes puntos en la configuración de los servidores: Seleccione Adaptive Server Enterprise (Express Edition). Seleccione Unicode/MultiByte Conversion Support y Spanish Language Module. Email alert (No). No importa. Seleccione Custom Configure para todos los servidores. Page size = 2KB. NOTA: Use 2KB Si va a actualizar la base de datos desde sybase para windows. Master Device = 120 MB, Master database = 26 MB en /opt/sybase/data/master.dat Systemprocedure device = Systemprocedure database = 196 MB en /opt/sybase/data/sysprocs.dat System device = System database = 64 MB en /opt/sybase/data/sybsysdb.dat Ports defaults: 5000, 5001, 5002 y 5003 para dataserver, backup server, monitor server y XP server. Adaptor UDP (port default 4162). El Model database = 6 MB por omisión. Siga el proceso de instalación. Para Fedora Core 4 continúe en §2.5, no hay mayor dificultad para terminar el proceso de instalación. En Fedora Core 6 es muy probable que se genere un error de segmentación (Segmentation fault) cuando se quiera construir el master device para el servidor de datos dataserver como se muestra a continuación: Building Adaptive Server 'CCDATOS': Writing entry into directory services... Directory services entry complete. Building master device... 10 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. sh: line 1: 3572 Segmentation fault /opt/sybase/ASE15_0/bin/dataserver -d/opt/sybase/data/master.dat -b120M -z4k sCCDATOS -e/opt/sybase/ASE-15_0/install/CCDATOS.log -T1623 -f >/tmp/sbwokauD 2>&1 Task failed Server 'CCDATOS' was not created. dataserver: master device size for this server: 120.0 Mb dataserver: master database size for this server: 26.0 Mb dataserver: model database size for this server: 6.0 Mb 00:00000:00000:2007/04/28 00:01:01.58 kernel SySAM: Using licenses from: /opt/sybase/SYSAM-2_0/licenses 00:00000:00000:2007/04/28 00:01:01.62 kernel SySAM: Checked out license for 1 ASE_CORE (2007.1231/permanent/0B6B F920 021D C9DF). 00:00000:00000:2007/04/28 00:01:01.62 kernel This product is licensed to: ASE Express Edition Free Deployment License 00:00000:00000:2007/04/28 00:01:01.62 kernel Checked out license ASE_CORE 00:00000:00000:2007/04/28 00:01:01.62 kernel Adaptive Server Enterprise Express Edition. (Limits: 1 Engine, 2GB Memory, 5GB Disk space). 00:00000:00000:2007/04/28 00:01:01.62 kernel Initializing device /opt/sybase/data/master.dat from offset 0 with zeros. 00:00000:00000:2007/04/28 00:01:01.71 kernel Finished initialization. 00:00000:00000:2007/04/28 00:01:01.72 kernel Using config area from primary master device. 00:00000:00000:2007/05/01 12:05:22.16 server Configuration Error: Configuration file, '/opt/sybase/CCDATOS.cfg', does not exist. 00:00000:00000:2007/05/01 12:05:22.17 kernel Warning: A configuration file was not specified and the default file '/opt/sybase/CCDATOS.cfg' does not exist. ASE creates the default file with the default configuration. 00:00000:00000:2007/05/01 12:05:22.17 kernel Warning: Using default file '/opt/sybase/CCDATOS.cfg' since a configuration file was not specified. Specify a configuration file name in the RUNSERVER file to avoid this message. 00:00000:00000:2007/05/01 12:05:22.18 kernel Internal run-time model set for Linux - Native 00:00000:00000:2007/05/01 12:05:22.18 kernel Using 1024 file descriptors. 00:00000:00000:2007/05/01 12:05:22.18 kernel Adaptive Server Enterprise/15.0/EBF 13194 EC ESD/P/Linux Intel/Linux 2.4.21-20.ELsmp i686/ase150/2179/32-bit/FBO/Mon Feb 6 04:14:19 2006 ... Si se genera un error de segmentación, haga una pausa en la instalación, NO CIERRE EL INSTALADOR, se va a proceder a construir manualmente el master device y a levantar el servidor de datos dataserver. 2.1 Instalación manual del master device y arranque del dataserver. Espere en la ventana del error (modo gráfico). Abra una sesión terminal. 11 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. Hasta este momento, se debe haber creado un archivo de configuración por omisión $HOME/CCDATOS.cfg, lo vamos a copiar a $HOME/ASE-15_0/CCDATOS.cfg: $ cp -p /opt/sybase/CCDATOS.cfg /opt/sybase/ASE-15_0/CCDATOS.cfg Si no se ha generado el archivo de texto $HOME/interfaces no podrán crearse los Networks Listeners, revise o cree un archivo $HOME/interfaces y asegúrese de que contenga sólo las siguientes entradas para el servidor de datos en este caso CCDATOS: CCDATOS master tcp ether ccdatos 5000 query tcp ether ccdatos 5000 Desde la terminal, ejecute el siguiente comando para construir el master device: $ /opt/sybase/ASE-15_0/bin/dataserver d/opt/sybase/data/master.dat -b120M –z2k -sCCDATOS e/opt/sybase/ASE-15_0/install/CCDATOS.log -c/opt/sybase/ASE15_0/CCDATOS.cfg -T1623 -f Note que la opción –z es el tamaño de página, recuerde poner –z2k si requiere actualizar la base de datos desde sybase para windows. Ahora, queremos arrancar (levantar) el dataserver. Pero antes, revise que exista el script /opt/sybase/ASE-15_0/install/RUN_CCDATOS. Si no existe, crear uno (permisos 750) y verifique con lo siguiente: #!/bin/sh # # ASE page size (KB): 2k # Master device path: /opt/sybase/data/master.dat # Error log path: /opt/sybase/ASE-15_0/install/ARES.log # Configuration file path: /opt/sybase/ASE-15_0/ARES.cfg # Directory for shared memory files: /opt/sybase/ASE-15_0 # Adaptive Server name: CCDATOS # /opt/sybase/ASE-15_0/bin/dataserver \ -d/opt/sybase/data/master.dat \ -e/opt/sybase/ASE-15_0/install/CCDATOS.log \ -c/opt/sybase/ASE-15_0/CCDATOS.cfg \ -M/opt/sybase/ASE-15_0 \ -sCCDATOS 12 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. $ ls -l /opt/sybase/ASE-15_0/install/RUN_CCDATOS -rwxr-x--- 1 sybase root 470 May 1 20:09 /opt/sybase/ASE15_0/install/RUN_CCDATOS Levantar dataserver con startserver: $ cd /opt/sybase/ASE-15_0/install $ ./startserver -f RUN_CCDATOS Revisar que el dataserver está iniciado: $ ./showserver F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 0 S sybase 2492 2490 1 75 0 - 24622 - 20:12 ? 00:00:22 /opt/sybase/ASE15_0/bin/dataserver -d/opt/sybase/data/master.dat -e/opt/sybase/ASE15_0/install/CCDATOS.log -c/opt/sybase/ASE-15_0/CCDATOS.cfg M/opt/sybase/ASE-15_0 -sCCDATOS 2.2 Instalación manual del dispositivo sysprocsdev y de la base de datos sybsystemprocs. Creación manual de sysprocsdev device y sybsystemprocs database: /opt/sybase/OCS-15_0/bin [email protected] $ isql -Usa -P -SCCDATOS 1> use master 2> go 1> disk init 2> name = "sysprocsdev", 3> physname = "/opt/sybase/data/sysprocs.dat", 4> vdevno = 1, 5> size = 100352 Comentario: 196MB*512 = bloques de 2 KB 6> go 00:00000:00011:2007/05/01 19:35:17.34 kernel Initializing virtual device 1, '/opt/sybase/data/sysprocs.dat' with dsync 'on'. 00:00000:00011:2007/05/01 19:35:17.34 kernel Virtual device 1 started using asynchronous i/o. 00:00000:00011:2007/05/01 19:35:17.34 kernel Initializing device /opt/sybase/data/sysprocs.dat from offset 0 with zeros. 00:00000:00011:2007/05/01 19:35:18.02 kernel Finished initialization. 1> create database sybsystemprocs on sysprocsdev = 196 2> go 13 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. CREATE DATABASE: allocating 50176 logical pages (196.0 megabytes) on disk 'sysprocsdev'. Crear systemdbdev device: 3> 4> 5> 6> 7> 8> disk init name = "systemdbdev", physname = "/opt/sybase/data/sybsysdb.dat", vdevno = 2, size = 32768 Comentario: 64MB*512 = bloques de 2 KB go 00:00000:00015:2007/05/01 19:56:15.11 kernel Initializing virtual device 2, '/opt/sybase/data/sybsysdb.dat' with dsync 'on'. 00:00000:00015:2007/05/01 19:56:15.11 kernel Virtual device 2 started using asynchronous i/o. 00:00000:00015:2007/05/01 19:56:15.11 kernel Initializing device /opt/sybase/data/sybsysdb.dat from offset 0 with zeros. 00:00000:00015:2007/05/01 19:56:15.27 kernel Finished initialization. 1> exit 2.3 Instalación manual de los procedimientos almacenados de la base de datos maestra. Instala los stored procedures en master database: /opt/sybase/OCS-15_0/bin [email protected] $ isql -Usa -P -SCCDATOS -i/opt/sybase/ASE-15_0/scripts/installmaster (Esto tardó aprox. 5 mins en mi sistema). Ahora instala los stored procedures en model database: /opt/sybase/OCS-15_0/bin [email protected] $ isql -Usa -P -SCCDATOS -i/opt/sybase/ASE-15_0/scripts/installmodel (Esto es rápido, no hay mucha información a agregar). 2.4 Continuando con la instalación del servidor de respaldo en modo gráfico. Vamos a regresar al instalador en modo gráfico y continuar la instalación. Oprima botón Next y termine el proceso. (Marca error al terminar, pero con /opt/sybase/ASE-15_0/install/showserver se puede verificar que CCDATOS, CCDATOS_BS y CCDATOS_MS están iniciados) 14 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. Revise el archivo /opt/sybase/interfaces deberá contener algo similar a: CCDATOS master tcp ether ccdatos 5000 query tcp ether ccdatos 5000 CCDATOS_BS master tcp ether ccdatos 5001 query tcp ether ccdatos 5001 CCDATOS_MS master tcp ether ccdatos 5002 query tcp ether ccdatos 5002 CCDATOS_XP master tcp ether ccdatos 5003 query tcp ether ccdatos 5003 2.5 Asegurando el entorno. Ahora vamos a incluir el contenido de $HOME/SYBASE.sh en /etc/profile, $HOME/.profile y en $HOME/.kshrc, si no lo ha hecho aún. Esto asegura que las variables de entorno estén definidas cada vez que inicia sesión en el sistema y cada vez que se arranque el servidor ASE con los scripts de inicio y usuario sybase (§4). Tambien incluir para usuario root. Además, para ambos usuarios no olvide poner la variable LD_POINTER_GUARD=0. A continuación se muestra el contenido de SYBASE.sh: # # SYBASE.sh # Sybase Product Environment variables # SYBASE_ASE="ASE-15_0" export SYBASE_ASE PATH="/opt/sybase/ASE-15_0/bin:/opt/sybase/ASE15_0/install":$PATH export PATH LD_LIBRARY_PATH="/opt/sybase/ASE-15_0/lib":$LD_LIBRARY_PATH export LD_LIBRARY_PATH SYBASE="/opt/sybase" export SYBASE SYBASE_OCS="OCS-15_0" export SYBASE_OCS PATH="/opt/sybase/OCS-15_0/bin":$PATH export PATH 15 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. LD_LIBRARY_PATH="/opt/sybase/OCS-15_0/lib:/opt/sybase/OCS15_0/lib3p":$LD_LIBRARY_PATH export LD_LIBRARY_PATH INCLUDE="/opt/sybase/OCS-15_0/include":$INCLUDE export INCLUDE LIB="/opt/sybase/OCS-15_0/lib":$LIB export LIB SYBASE_JRE="/opt/sybase/shared/jre142" export SYBASE_JRE SYBASE_SYSAM="SYSAM-2_0" export SYBASE_SYSAM PATH="/opt/sybase/ua/bin":$PATH export PATH SYBASE_UA="/opt/sybase/ua" export SYBASE_UA SCROOT="/opt/sybase/shared/sybcentral43" export SCROOT PATH="/opt/sybase/RPL-15_0/bin":$PATH export PATH SYBROOT="/opt/sybase" export SYBROOT 2.6 Cambiando la contraseña del superadministrador sa. # $SYBASE/$SYBASE_OCS/bin/isql -Usa -P -SCCDATOS 1> sp_password NULL,'mypassword' 2> go 3> exit 3. Sybase Central. 3.1 Conexión con el servidor de la base de datos. Sybase Central es una aplicación gráfica escrita en Java (GUI) para el sistema de administración de base de datos que se instala por omisión con el software Sybase ASE. Para realizar conexiones a la base de datos de ASE (dataserver) es requerido instalar un componente de software adicional (plug-in) al Sybase Central. Ejecute el siguiente script: $ /opt/sybase/ASEP/bin/registerASEP "Using SYBROOT location '/opt/sybase'. Generate ASE Plug-in registration file 'ASEPlugin.jpr'. 16 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. File '/opt/sybase/ASEP/bin/ASEPlugin.jpr' created. Para correr Sybase Central asegúrese de que las variables de entorno estén exportadas (§2.5) y ejecute: $ /opt/sybase/shared/sybcentral43/scjview.sh ó cree el script $HOME/sbcentral con las siguientes líneas (no olvide, permisos 750): #!/bin/sh /opt/sybase/shared/sybcentral43/scjview.sh 3.2 Extendiendo la base de datos temporal, tempdb. Una vez dentro de Sybase Central y establecida la conexión con el servidor de datos CCDATOS (dataserver), se procede a extender la base de datos temporal ya que por omisión tiene un tamaño de 4 MB y es muy pequeño para fines prácticos. $ cd /opt/sybase $ ./sbcentral & Primero, creamos 2 dispositivos (devices), uno para datos y otro para los registros (logs): Vaya a CCDATOS(sa) + "Database Devices" y desde el panel derecho oprima "Add Database Device". Device Path = /opt/sybase/data/datatempdev.dat Name of database device = datatempdev Size = 640 MB Device Path = /opt/sybase/data/logtempdev.dat Name of database device = logtempdev Size = 512 MB Ahora vaya a CCDATOS(sa) + Databases + "Temporary Databases" + "List View" + tempdb. Con el botón derecho del ratón, apuntando a tempdb muestre las propiedades (Properties). Vaya a la pestaña "Devices" y agregue (botón "Add") los 17 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. 2 dispositivos ("Data" y "Transaction Log" respectivamente). Especifique los tamaños indicados para los dispositivos en el punto anterior. 3.3 Poniendo opciones en las bases de datos. Desde el Sybase Central y en nuestro caso CCDATOS(sa) + "Databases" entre a "Properties" + "Options" de cada base de datos y ponga las siguientes opciones (incluyendo a tempdb): 1. abort tran on log full (solo para model y tempdb) 2. select into/bulkcopy/pllsort 3. trunc log on chkpt Note que para la base de datos master no puedes cambiar opciones. 4. Arranque y paro automático del servidor ASE. Se creará un script (sybasectl) [16] para levantar y detener de forma automática al servidor ASE. Vamos a necesitar la creación de un directorio ($SYBASE/logs) para la bitácora de arranque y paro (logs). $ mkdir /opt/sybase/logs El contenido del script es el siguiente y se puede descargar de http://jrobles.itchihuahua.edu.mx/ase: #!/bin/sh # chkconfig: 12345 99 25 # description: Sybase ASE # # Sybase process start / stop # Copy to /etc/init.d # Para fedora core 5 y 6 LD_POINTER_GUARD=0 export LD_POINTER_GUARD # # Sybase Product Environment variables # 18 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. SYBASE_ASE="ASE-15_0" export SYBASE_ASE PATH="/opt/sybase/ASE-15_0/bin:/opt/sybase/ASE15_0/install":$PATH export PATH LD_LIBRARY_PATH="/opt/sybase/ASE-15_0/lib":$LD_LIBRARY_PATH export LD_LIBRARY_PATH SYBASE="/opt/sybase" export SYBASE SYBASE_OCS="OCS-15_0" export SYBASE_OCS PATH="/opt/sybase/OCS-15_0/bin":$PATH export PATH LD_LIBRARY_PATH="/opt/sybase/OCS-15_0/lib:/opt/sybase/OCS15_0/lib3p":$LD_LIBRARY_PATH export LD_LIBRARY_PATH INCLUDE="/opt/sybase/OCS-15_0/include":$INCLUDE export INCLUDE LIB="/opt/sybase/OCS-15_0/lib":$LIB export LIB SYBASE_JRE="/opt/sybase/shared/jre142" export SYBASE_JRE SYBASE_SYSAM="SYSAM-2_0" export SYBASE_SYSAM PATH="/opt/sybase/ua/bin":$PATH export PATH SYBASE_UA="/opt/sybase/ua" export SYBASE_UA SCROOT="/opt/sybase/shared/sybcentral43" export SCROOT PATH="/opt/sybase/RPL-15_0/bin":$PATH export PATH SYBROOT="/opt/sybase" export SYBROOT # # END Sybase Product Environment variables # SERVER=CCDATOS LOGDIR=$SYBASE/logs case "$1" in stop) #---------------------# Sybase shutdown #---------------------LOGFILE=$LOGDIR/K25sybase.log IFILE=$SYBASE/interfaces USER=sa PWD=mypassword echo "date Shutting down Sybase server ... " >> $LOGFILE 2>&1 19 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. $SYBASE/$SYBASE_OCS/bin/isql -S$SERVER -I$IFILE -U$USER -P$PWD << fin_isql >> $LOGFILE 2>&1 checkpoint go shutdown SYB_BACKUP go shutdown go fin_isql #fin_isql" # pkill RUN_${SERVER} >> $LOGFILE 2>&1 sleep 1 pkill dataserver >> $LOGFILE 2>&1 sleep 1 pkill RUN_${SERVER}_BS >> $LOGFILE 2>&1 sleep 1 pkill backupserver >> $LOGFILE 2>&1 sleep 1 echo "date Shutdown complete " >> $LOGFILE 2>&1 ;; start) #---------------------# Sybase startup #---------------------LOGFILE=$LOGDIR/S99sybase.log LOGDS=$LOGDIR/ds-boot.log DSCMD="$SYBASE/$SYBASE_ASE/install/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_${SERVER}" LOGBS=$LOGDIR/bs-boot.log BSCMD="$SYBASE/$SYBASE_ASE/install/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_${SERVER}_BS" #clean archive dir, 180 days old if [ -d $LOGDIR ]; then /usr/bin/find $LOGDIR -name '*log' -mtime +180 -exec rm {} \; fi echo "Startup of Sybase server on date" >> $LOGFILE #---------------------# Start dataserver #---------------------/bin/su sybase -c "$DSCMD > $LOGDS 2>&1" sleep 3 #---------------------# Start backupserver #---------------------- 20 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. /bin/su sybase -c "$BSCMD > $LOGBS 2>&1" sleep 3 echo "Startup of Sybase completed on date" >> $LOGFILE ;; *) echo "Usage: $0 { start | stop }" exit 1; ;; esac exit 0 4.1 Instalación del rc-script. Cambie a usuario root. # su - root # cp sybasectl /etc/init.d/. # chkconfig --add sybasectl Reinicie su sistema e inicie sesión con usuario sybase y verifique que el servidor de datos y el de respaldo arranquen junto con el sistema: $ /opt/sybase/ASE-15_0/install/showserver F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 0 S sybase 2513 2511 0 85 0 - 14378 - 21:46 ? 00:00:00 /opt/sybase/ASE15_0/bin/backupserver -e/opt/sybase/ASE-15_0/install/CCDATOS_BS.log -N25 -C20 -M/opt/sybase/ASE-15_0/bin/sybmultbuf -SCCDATOS_BS 0 S sybase 2492 2490 1 75 0 - 24622 - 20:12 ? 00:00:22 /opt/sybase/ASE15_0/bin/dataserver -d/opt/sybase/data/master.dat -e/opt/sybase/ASE15_0/install/CCDATOS.log -c/opt/sybase/ASE-15_0/CCDATOS.cfg M/opt/sybase/ASE-15_0 -sCCDATOS Referencias. [1] About Sybase; http://www.sybase.com/about_sybase [2] Where to get a free copy of Sybase ASE; http://www.sypron.nl/get_ase_soft.html [3] Sybase ASE Express Edition for Linux - FREE; http://www.sybase.com/linuxpromo [4] Installing Sybase ASE 12.5.x on linux; http://www.peppler.org/linux-install.html [5] Sybase ASE on Linux; http://www.peppler.org/ase-linux.html 21 Sybase ASE Express 15.0 en Fedora Core 6 – Junio 2008. [6] [7] [8] [9] Proyecto Fedora; http://fedoraproject.org Fedora Overview; http://fedoraproject.org/wiki/Overview The Free Software Definition; http://www.fsf.org/licensing/essays/free-sw.html Instalación de Sybase ASE Express en Fedora Core 6: ¿Es posible?; http://kodegeek.com/2007/02/instalacin-de-sybase-ase-express-en.shtml [10] System Requirements; http://download.sybase.com/presentation /linux_training/QUICKSTART/ASE.html [11] Sybase Platform Certifications; http://certification.sybase.com/ucr/search.do [12] Enterprise versus Free Linux; http://download.sybase.com/presentation /linux_training/QUICKSTART/ASE.html [13] Michael Peppler, Sybase consulting; http://www.peppler.org [14] Installing Sybase ASE 12.5.x on linux; http://www.peppler.org/linux-install.html [15] ASE on Linux FAQ; http://www.peppler.org/FAQ/linux.html#q1.25 [16] José Robles, ase directory; http://jrobles.itchihuahua.edu.mx/ase 22