Sybase 12.5.4 et 15.0 ESD#2 / RTDS 3.5

Logo

Introduction

Cette documentation est un complément de l’article concernant l’installation et la configuration de Sybase 12.5.3a avec Real Time Data Services 3.1 pour MQ : Sybase 12.5.3a et MQ (RTDS, Real Time Data Services)

Pour les versions 12.5.4 et 15.0 ESD#2, l’installation de Real Time Data Services présente quelques différences.

Sybase 12.5.3a et Real Time Data Services 3.1

Avec Sybase 12.5.3a, les services de messages pour MQ et TIBCO sous la dénomination de Real Time Data Services 3.1 sont encapsulés au sein des exécutables et librairies pour Adaptive Server Enterprise 12.5.3a.

Il est simplement nécessaire de référencer dans la variable d’environnement $LD_LIBRARY_PATH l’accès aux libraires MQ lors du démarrage du serveur Sybase 12.5.3a

Pour une version 32 bits :

…
LD_LIBRARY_PATH="/opt/mqm/lib:/Software/sybase/sybase-12.5.3a/OCS-12_5/lib:
/Software/sybase/sybase-12.5.3a/OCS-12_5/lib3p64:
/Software/sybase/sybase-12.5.3a/OCS-12_5/lib3p":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
…

Pour une version 64 bits :

…
LD_LIBRARY_PATH="/opt/mqm/lib64:/Software/sybase/sybase-12.5.3a/OCS-12_5/lib:
/Software/sybase/sybase-12.5.3a/OCS-12_5/lib3p64:
/Software/sybase/sybase-12.5.3a/OCS-12_5/lib3p":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
…

Real Time Data Services 3.5

À partir de Sybase 12.5.4 et 15.0 ESD#2, seul Real Time Data Services 3.5 est compatible et quelques petits deltas sont apparus dans l’installation de RTDS par rapport à Sybase 12.5.3a/RTDS 3.1.

Désormais RTDS 3.5 est livré dans une distribution à part et la documentation Sybase ne met pas l’accent sur ce point.

Si il est envisagé de configurer Sybase 12.5.4 avec MQ /RTDS en gardant la méthode d’installation de Sybase 12.5.3a, le message 15147 « Can not load IBM MQ librairies » apparaît même si la variable d’environnement $LD_LIBRARY_PATH est bien à jour pour le référencement des librairies MQ avec la commande sp_configure 'enable real time messaging' pour ibm_mq.

exec sp_configure 'enable real time messaging', 1,'ibm_mq'
go

En lançant la commande truss Unix sur le process dataserver de Sybase 12.5.4, on voit immédiatement le problème qui se passe :

%> truss -o <tracefilename> -p <pid_dataserver>
          /2:         Received signal #14, SIGALRM, in sigtimedwait() [caught]
/1:     lseek(24, 0,SEEK_SET)                      = 0
/2:     sigtimedwait(0xFFFFFFFF7CCFBD60,0xFFFFFFFF7CCFBE28, 0x00000000) =SIGALRM
/1:     close(24)                                  = 0
/1:     poll(0x1000006F788, 2,0)                   = 0
/1:     write(1, " 0 0 : 0 0 0 0 0 : 0 0 0"..,142) = 142
/1:     write(3, " 0 0 : 0 0 0 0 0 : 0 0 0"..,142) = 142
/1:     stat("/Software/sybase/sybase-12.5.4a-64b",0x10000CC4830) = 0
/1:     stat("/Software/sybase/sybase-12.5.4a-64b/ASE-12_5/lib/libsybibmmq.so",0x10000CC4110) Err#2 ENOENT
/1:     sigprocmask(SIG_SETMASK,0xFFFFFFFF7F01D4C0, 0x10000CC3200) = 0
/1:     sigprocmask(SIG_SETMASK, 0x10000CC31EC,0x00000000) = 0
/1:     fstat(23,0x10000CC3190)                            = 0
/1:     sigprocmask(SIG_SETMASK,0xFFFFFFFF7F01D4C0, 0x10000CC3200) = 0

Avec la version 12.5.4 ou 15.0, Sybase recherche désormais la librairie libsybibmmq.so dans le répertoire $SYBASE/$SYBASE_ASE/lib, d’où le message Err#2 ENOENT pour indiquer (No Entry for this library) qui remonte dans la trace truss.

Ces librairies ne sont installées qu’avec Sybase Real Time Data Services qui est devenu un CD à part et que l’on installe classiquement avec un InstallShield dans la distribution Sybase 12.5.4 ou 15.0 concernée.

Classiquement en fonction de la plateforme 32 bits ou 64 bits, voici les librairies RTDS qui sont installées pour RTDS 3.5 / Sybase ASE :

Plateforme Installation Bibliothèque d’interface Nom du fichier
Solaris 32-bit $SYBASE/$SYBASE_ASE/lib TIBCO EMS IBM MQ libsybtibems.so libsybibmmq.so
Solaris 64-bit $SYBASE/$SYBASE_ASE/lib TIBCO EMS IBM MQ libsybtibems.so libsybibmmq.so
Linux 32-bit $SYBASE/$SYBASE_ASE/lib TIBCO EMS IBM MQ libsybtibems.so libsybibmmq.so
AIX 64-bit $SYBASE/$SYBASE_ASE/lib TIBCO EMS IBM MQ libsybtibems.so libsybibmmq.so
HP-UX 64-bit $SYBASE/$SYBASE_ASE/lib TIBCO EMS IBM MQ libsybtibems.sl libsybibmmq.sl
Windows 32-bit %SYBASE%\%SYBASE_ASE%\bin TIBCO EMS IBM MQ sybtibems.dll sybibmmq.dll