Sybase : ajustements
Sybase : ajustements jppAprè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.