Sybase : ajustements

Après l'installation il reste toujours quelques "bricoles" à faire pour avoir un système plus commode et agréable à utiliser.Modifier le .profile (ou le .bashrc) du user de test pour y insérer l'appel à "/opt/sybase/SYBASE.sh" afin de pouvoir travailler sans penser sans arrêt à frapper : 
. /opt/sybase/SYBASE.sh 
Un certain nombre d'ajustements sont indispensables, par exemple "isql" n'aime pas ma locale "fr_FR@euro" (variable LANG), il faudra "forcer" la valeur de LANG à une valeur compatible avec celles existant dans le fichier "/opt/sybase/locales/locales.dat". 
Mettre en place la langue "français". 
Il faut passer par l'utilitaire "sqlloc" (/opt/sybase/ASE-15_0/bin/sqlloc) qui  permet de réaliser cet exploit dans un mode semi-graphique 
  
Ne pas oublier de modifier le "default character set". 
Ma machine utilise les "locales" fr_FR.UTF-8 il m'a fallu pour terminer ajouter une ligne descriptive dans le fichier "/opt/sybase/locales/locales.dat" : 
locale = fr_FR.UTF-8, french, iso_1 
est à insérer dans le paragraphe [linux] après "fr_FR.850 ...". Il reste quelques "bricoles" au niveau des caractères accentués dans les messages, mais les caractères stockés dans la base ressortent correctement.. 
Ces petites mises au point permettent d'ajouter au script "SYBASE.sh" les lignes suivantes : 
LANG=fr_FR.UTF-8 
SYB=/opt/sybase 
export SYB 
On peut ensuite oeuvrer tranquilles sans messages, ou refus, intempestifs lors du lancement des utilitaires. 
Avant de faire quoi que ce soit d'autre il faut : 
- créer un "login" pour pouvoir réaliser des tests 
- créer deux "devices" pour pouvoir créer une base de données de test car il est très fortement déconseillé de créer des objets dans les espaces "système". 
 Device numéro 1 pour les "data' 
 Device numéro 2 pour le "log" 
- créer une base de données pour les tests 
Les scripts fournis peuvent être lancés par : 
cd le_repertoire_de_stockage_des_scripts 
isql -Usa -SCOMSYB15 -D master -i le_nom_du_script 
A la demande de password frapper "Entrée" tout simplement. 
Les scripts fournis ici doivent être personnalisés.

  • Script de création du device "DATA" :

disk init name='MABASE', physname='/DATA/SYBDAT/MABASE.dat', vdevno=5, 
size=524288, cntrltype=0, dsync=false, directio=true, skip_alloc= true 
go

  • Script de création du device "LOG" :

disk init name='MONLOG', physname='/LOG/SYBTMP/MONLOG.dat', vdevno=6, size=262144, 
cntrltype=0, dsync=false, directio=true, skip_alloc= true 
go

  • Script de création de la base de données "MABASE" : 
    create database MABASE  on MABASE = 1024 log on MONLOG = 512 with DURABILITY=FULL
  • Script de création du user "test" :

use master 
go 
exec sp_addlogin 'test', 'testpw', @defdb = 'MABASE', @deflanguage = 'french', 
@auth_mech = 'ANY', @fullname='User pour tests' 
go

  • Donner la propriété de la base au user "test"

USE MABASE 
go 
exec sp_changedbowner 'test', true 
go 

Quelques "trucs" : 
- Démarrer le serveur Sybase : 
cd /opt/sybase 
nohup ./ASE-15_0/install/RUN_COMSYB15 
On peut lancer de la même façon le "Backup server" (RUN_COMSYB15_BS) ou le "Monitor Server" (RUN_COMSYB15_MS).  
- Stopper le serveur Sybase 
isql -U user_stop -S COMSYB15 -P mot_de_passe <<!FINI 
shutdown SYB_BACKUP 
go 
shutdown 
go 
exit 
!FINI 
Les scripts nécessaires sont fournis en pièces attachées (root : "sybase" à installer dans /etc/init.d, sybase "start_stop_sybase" à installer dans /home/sybase/bini en enlevant le suffixe ".txt" des fichiers, sans oublier le "chown +x ..." qui va bien).

  • Se connecter avec "isql" :

isql -Usa -P -Snom_serveur -D nom_de_la_base 

Installation des outils nécessaires pour accéder à la base par JDBC. 
Il est nécessaire d'installer un ensemble de tables dans la base "master" afin que la connexion JDBC soit possible sur la base, il existe deux versions de "JConnect" dans les répertoires de Sybase 15 : JConnect 6 et JConnect 7. Ici j'ai décidé d'installer la version 7. 
Ill faut aller dans le répertoire "/opt/sybase/jConnect-7_0/sp" et de lancer le script qui va avec la version de la base, ici le script "sql_server15.0.sql" à lancer par : 
isql -U sa -S COMSYB15 -i sql_server15.0.sql -o MONLOG.LOG 
(répondre "Entrée" à la demande de mot de passe). Il est ensuite possible de se connecter en JDBC aux différentes bases de données contenues dans cette instance.