Dans le but d’explorer les bases de données de références dans les gros SI, je commence ma conquête par Sybase, je vais pas rentrer trop dans la théorie, il s’agit d’un SGBD comme Oracle ou DB2 (qui fera l’objet d’un prochain article), pour plus d’infos : SYBASE.
Récupérer la dernière version sur le site de Sybase (la 15.7 au moment de la rédaction de ces lignes) : Sybase Linux, signalons au passage qu’il n’existe qu’une version 64 bits a partir de la 15.7, si vous souhaitez installer des versions 32 bits, récupérer des anciennes versions, en voila une par exemple (la 15.5) : Sybase 15.5.
Une fois l’archive récupérer, dézipper la et changer vers le user root :
mkdir SYBASE_64 mv ase157_linuxx86-64.tgz SYBASE_64 cd SYBASE_64 tar xvfz ase157_linuxx86-64.tgz
Installons les librairies 32 bits (nécessaire au bon déroulement de l’install en mode graphique) :
#apt-get install ia32-libs
On crée ensuite le user sybase :
#useradd -d /opt/sybase -c "Sybase ASE account" -g users -m -- sybase #xhost si:localuser:sybase #./setup.bin
La dernière commande va lancer une interface d’installation en Java, qui est très simple, donc tout devra bien se passer, et l’install se déroulera normalement.
Si vous souhaitez lancer l’install en mode console, c’est simple :
# ./setup.bin -i console
Suivez les instructions (choisissez une FULL install, ça vous évitera de réinstaller des composants par la suite, même si c’est relativement simple), la aussi, tout devrait se passer sans problème.
N’oubliez pas durant l’installation de noter quelque part les mot de passe de l’admin Sybase.
A la fin de l’install, modifier le shell par défaut du user sybase (ce n’est pas obligatoire) de /bin/sh vers /bin/bash, sur ma machine j’ai ça :
sybase@tcoServer:~$ cat /etc/passwd | grep sybase sybase:x:1002:100:Sybase ASE account:/opt/sybase:/bin/bash
Switcher vers le user sybase :
#su - sybase
Puis ajouter les lignes suivantes au fichier .bashrc de ce user :
export LD_POINTER_GUARD=0 export SYBASE=/opt/sybase export SYBASE_ASE=/opt/sybase/ASE-15_0 . /opt/sybase/SYBASE.sh export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 cd $HOME
Pour que ça prend effet :
source .bashrc
Pour tester le bon fonctionnement de tout ça on utilise la commande isql, dont la syntaxe est la suivante :
isql [-U username] [-P password] [-S server]
Dans mon cas, je fais ça :
sybase@tcoServer:~$ isql -Utarek -P123456 -STOCSERVER 1> select @@version 2> go --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Adaptive Server Enterprise/15.7.0/EBF 20373 SMP ESD#02 /P/x86_64/Enterprise Lin ux/ase157esd2/3109/64-bit/FBO/Sat Jul 7 11:36:19 2012 (1 row affected) 1>
Ce que je viens de faire, est me connecter via isql, ensuite j’ai fais un SELECT pour récupérer la version de la base (suivi de go).
Si vous rencontrez l’erreur suivante :
Locale name "fr_FR.UTF-8" doesn't exist in your /opt/sybase/locales/locales.dat file
Moi j’ai palier a ça en supprimant la viable d’environnement LANG :
unset LANG
Si vous avez une méthode plus élégante, je suis preneur.
Pour lancer le serveur :
sybase@tcoServer:~/ASE-15_0/install$ ./startserver -f RUN_TCOSERVER
Pour pratiquer y a des bases de demos fournis avec Sybase, on va les installer :
cd /opt/sybase/ASE-15_0/scripts isql -Utarek -P123456 -STCOSERVER -iinstallpubs2 isql -Utarek -P123456 -STCOSERVER -iinstallpubs3 isql -Utarek -P123456 -STCOSERVER -iinstallpix2
On peut tester l’existence des données via :
sybase@tcoServer:~/ASE-15_0/scripts$ isql -Utarek -P123456 -STCOSERVER 1> use pubs2 2> go 1> SELECT name FROM sysobjects WHERE type = 'U' 2> go name ------------------------------------------------------------------------ authors publishers roysched sales salesdetail titleauthor titles stores discounts au_pix blurbs (11 rows affected) 1> select count(*) from authors 2> go ----------- 23 (1 row affected)
Notons en fin que le port par défaut sur lequel Sybase écoute est le 5000 :
root@tocServer:~# netstat -ntpu | grep dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58538 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58540 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58536 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58535 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58533 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58537 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58539 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:5000 192.168.1.95:58534 ESTABLISHED 3687/dataserver tcp 0 0 192.168.1.95:53844 192.168.1.95:4900 ESTABLISHED 3687/dataserver
Dans un prochain article, on va savoir comment on peut accéder a notre base a partir d’un client distant via plusieurs méthodes.