Sybase 12.5.4 et 15.0 ESD#2 / RTDS 3.5


1- 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.

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

2- 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
...

3- Real Time Data Services 3.5

A 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.

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 du 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 pour Sybase ASE :

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

Annexe

Historique

Version Date Commentaires
1.0 11/2006 Version initiale

Liens

Messaging Services 3.5 User's Guide for Adaptive Server Enterprise