Installation de Sybase SQL Anywhere 10

fadace

Procédure d'installation de Sybase SQL Anywhere 10 (version développeur). ♪

- Titre : Installation de Sybase SQL Anywhere 10

- Auteur : fadace

- Parution : 4 novembre 2006

- Mise à jour : 5 novembre 2006

- Licence : Copyright ® 2006 fadace. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 1. Ressources

- 2. Installation du logiciel sur le disque

- 3. Création du serveur SQL

- 4. Arrêt et redémarrage du serveur de données

- 5. Ma première connexion

- 5-A. Connexion via Interactive SQL

- 5-B. Connexion via ligne de commande

1 - Ressources

Le binaire de Sybase SQL Anywhere tel que nous allons l'installer nécessite un espace disque de 167 Mb. Sybase SQL Anywhere est un SGBDR extrêmement simple à administrer. De par son passé, il a été décliné sous de nombreux noms: Watcom SQL, SQL Anywhere, Sybase Anywhere, Adaptive Server Anywhere, Anywhere Studio. Son installation et son administration au niveau du système d'exploitation s'en retrouvent grandement simplifié.

La suite Sybase SQL Anywhere comprend toute la gamme des modules. Cette base se situe dans le créneau des bases de données embarquées. Elle est ouverte à un grand nombre de systèmes d'exploitation (Dos, Windows, WinCE, Novell, Unix, PalmOS)

2 - Installation du logiciel sur le disque

Une fois n'est pas coutume, nous partirons de la version d'évaluation téléchargeable. Il s'agit en fait d'un exécutable compressé autoextractible SQLAnywhere_1000_Windows.exe que nous exécutons ici.

L'installation se fait via InstallShield.

L'installateur décompacte les fichiers nécessaires à l'installation

Choisissons notre langue:

L'entête de cette nouvelle version 10 apparaît furtivement:

Puis l'écran d'accueil apparaît

Cliquons ensuite sur Suivant afin d'accéder à la page des licences.

Afin d'obtenir le bon texte de loi, choisissons notre langue nationale dans la liste déroulante.

Après lecture du texte, cliquons sur le bouton radio nous faisant accepter les termes de la licence. Dans le cas contraire, l'installation s'arrêterait ici.

À l'écran suivant, il nous faut saisir la clé fastidieuse se trouvant sur la boîte du CD. Cette clé, en plus de permettre l'authentification du produit, va déterminer quelles options vont être disponibles compte tenu de la licence choisie.

Notons que si, comme moi, vous êtes en train de tester la version d'évaluation, cette clé vous a été fournie via email et le copier/coller passe à merveille dans ce masque multichamp.

Étrangement, nous retombons ici sur une page de licence à valider... en anglais. Ceci est spécifique à la version développeur que nous utilisons.

Cliquons ensuite sur Suivant afin d'accéder à la page du choix des répertoires.

Vient ensuite le chemin pour les bases d'exemple. Pour ma part je ne les installe pas, mais de toute manière, je préfère donner un chemin relatif au SGBDR plutôt que celui par défaut installant les bases sur mon profil personnel Windows.

C'est ici que nous déterminons les variables SQLANY10 et SQLANYSH10, c'est-à-dire l'endroit physique où le logiciel sera installé.

Lorsque notre choix est fait, passons à l'écran suivant: le choix des parties du logiciel à installer. Notons que selon la clé entrée précédemment, les options affichées peuvent différer.

Pour commencer simplement, assurons-nous d'installer les options suivantes:

Notons que j'ai sciemment annulé l'installation de tout ce qui est Ultra (pour embarqué) car ceci n'est pas le thème du jour. Ceci étant dit, cela à un impact sur la suite... nous devons donc répondre "Non" au message informationnel suivant

L'écran suivant vous permet de choisir l'emplacement du menu de Windows dans lequel se situeront les raccourcis de SQL Anywhere

Voici l'écran qui résume vos choix en affichant la liste de tous les modules qui seront installés.

Ces dernières options validées par un suivant, l'installation des binaires commence et va prendre quelques minutes.

Si vous avez un firewall actif (ici, celui de Windows XP SP2), il se peut qu'il vous demande autorisation pour deux programmes. Validez selon vos besoins.

Voilà. L'installation s'est bien passée. Il ne nous reste plus qu'à installer un serveur de bases de données.

Afin de valider les entrées dans la base de registre au niveau des services et des variables d'environnement, il est maintenant nécessaire de redémarrer votre machine. Notons que tant que le redémarrage n'aura pas été accompli, il nous sera impossible de créer une nouvelle base SQL Anywhere.

3 - Création du serveur SQL

Pour l'instant, seuls les répertoires et binaires ont été créés. Aucun service n'est encore installé ou démarré. Tous les raccourcis existent cependant dans l'explorateur Windows

Nous allons créer maintenant le serveur de données à proprement parler. Pour ce faire, nous allons utiliser Sybase Central, l'outil d'administration universel et convivial de la majeure partie des produits Sybase. Il se trouve dans le menu Démarrer->SQLAnywhere, ou dans le menu défini précédemment.

Voici Sybase Central. L'interface a été totalement revue pour cette version 10. la partie de droite devient purement contextuelle... avec un peu d'habitude, c'est un véritable régal.

Double-cliquons donc sur SQL Anywhere 10 pour faire fi de toutes les autres bases et nous concentrer sur la création d'une base. Au sommet à droite, il y a un bouton "Outil" dans lequel nous choisissons "Créer une base de données".

Voici l'assistant, lui aussi totalement revu et réécrit depuis la 10. On peut dès à présent cocher l'option Ne plus afficher cette page car elle ne nous apporte pas de réelle valeur ajoutée une fois parcourue. Validons ensuite pas Suivant

Cet écran nous demande si l'installation est à faire sur la machine locale ou un serveur distant.

Les 3 écrans suivants nous permettent de localiser 3 fichiers de notre base de données

- Fichier de données: le fichier dans lequel seront stockées toutes nos données, à savoir toutes nos tables, vues, procédures stockées, déclencheurs, etc.

- Journal de transactions: le fichier stockant toutes les transactions (insert / update / delete) passées sur la base en question. Ce fichier est très utile en cas de récupération après un scratch ou lors de réplications (seules ces transactions sont réexécutées sur les bases à répliquer)

- Miroir du journal: pour des raisons de sécurité, il est possible de maintenir - de préférence sur un autre disque - une image du journal de transaction. De cette façon, lors d'un crash disque, on récupérera la base d'une dernière sauvegarde, et les dernières transactions jouées du journal de transaction ou de son miroir.

L'écran suivant nous permet de spécifier avec quel métamodèle on va vouloir travailler.

Voici une des nouveautés de la version 10: la possibilité de crypter soit sa base, soit quelques tables.

L'écran suivant nous permet de spécifier des options avancées de notre base de données. À noter les deux boutons du fond permettant d'attribuer les options par défaut d'une base native SQL Anywhere ou d'une base Sybase ASE/MS-SQL dans le cas d'un portage probable ou d'une réplication.

L'écran suivant nous permet de déterminer la taille d'une page interne de SQL Anywhere. Plus la base est orientée décisionnel et gros volumes et plus on optera pour une grande taille de page, plus la base est petite est orientée OLTP et plus on optera pour une page plus petite.

Nouvelle option intéressante de la 10 permettant de faire la part des choses entre l'allocation dynamique est statique des fichiers : la possibilité d'allouer d'entrée de jeu une taille pour le fichier .db. L'utilisation de cette option nous assure que la taille de la base même vide est réservée sur le disque. Elle améliore aussi sensiblement les performances, l'allocation au niveau du système d'exploitation étant déjà faite à l'avance.

Vient maintenant le choix du jeu de caractères qui va définir l'ordre de tri par défaut. À noter que SQL Anywhere nous permet de déterminer notre propre séquence-classement si le coeur nous en dit. Par défaut sous Windows, on a tendance à choisir Latin1 (correspondant au ANSI/ISO1). Le choix d'un ISOP15 (pour ajouter le symbole €) peut aussi paraître possible bien qu'il forcera la conversion sur le serveur.

Nouvelle nouveauté de la 10, la gestion de la caste se fait sur un nouvel écran ou s'ouvre à l'UTF.

Nous pouvons ensuite déterminer le mot de passe et le nom de l'administrateur de la base. Par défaut, toujours le fameux DBA/sql.

Tous les paramètres ayant été saisis, le serveur va être créé. Nous devons lui donner un nom, généralement le même que la base de données. Ici je choisis volontairement deux noms différents afin que l'on se représente plus précisément ce qu'est l'instance et ce qu'est la base.

Dans le cas où vous auriez oublié de redémarrer votre système après la phase d'installation des binaires, vous obtiendrez le message d'erreur suivant.

Ne vous restera plus qu'à redémarrer votre Windows et a recommencé la procédure de création de base.

Sinon, une engine SQL Anywhere démarre et la base se crée.

À la fin de la génération, on se retrouve connecté à la base créée via Sybase Central

On peut par cette interface graphique générer la plupart des objets qu'il nous faudra, mais le script SQL reste la façon la plus rapide pour créer une base complète. Relevons que dans le package Adaptive Server Anywhere Studio, une version allégée de PowerAMC est mise à disposition. Elle offre un environnement de développement bien plus évolué en ce qui concerne la modélisation de la base.

4 - Arrêt et redémarrage du serveur de données

La commande suivante démarre la base créée. Il est donc vivement conseillé de créer un raccourci pour chaque instance:

"%SQLANY10%\win32\dbsrv10.exe" -c 8m -n dvp_instance C:\temp\dvp.db

Dans notre cas, puisque nous avions crypté la base, il ne faut pas omettre le -ep. Cette option nous invite à entrer la clé de cryptage.

"%SQLANY10%\win32\dbsrv10.exe" -c 8m -n dvp_instance C:\temp\dvp.db -ep

Après quelques secondes, la fenêtre de l'instance s'iconise.

Pour arrêter le serveur de données, la commande en ligne dbstop.exe existe, mais il est nettement plus simple de double-cliquer sur l'icône SQL située dans la barre de menu et de cliquer ensuite sur le bouton Arrêter

5 - Ma première connexion

5-A - Connexion via Interactive SQL

Par le menu Démarrer de Windows vu précédemment, choisissons de démarrer SQL Anywhere -> SQL Anywhere 10 -> Interactive SQL

La connexion ODBC demande un utilisateur et un mot de passe. Par défaut, le login est DBA et son mot de passe SQL.

Dans l'onglet suivant Base de données, on spécifie le nom de l'instance précisé plus haut. Notons que le serveur peut être "découvert" via le bouton Rechercher... La clé de cryptage, puisqu'elle est nécessaire au démarrage de la base, se spécifie au besoin ici aussi.

Cliquons ensuite sur le bouton Ok pour nous connecter. Nous voici donc maintenant dans Interactive SQL.

- Les commandes SQL se tapent dans la fenêtre Instructions SQL.

- La touche F5 permet d'exécuter les instructions SQL.

- La touche F7 permet d'afficher la liste des tables (puis des colonnes d'une table) de la base.

- Le résultat de la requête apparaît dans la fenêtre inférieure Résultats.

Les onglets inférieurs sont très utiles.

- L'onglet Messages permet d'afficher les messages système du serveur, le temps d'exécution de la transaction, le nombre d'enregistrements impactés...

- L'onglet Plan permet d'afficher le plan d'exécution de l'optimiseur (choix des indexes, des jointures, des méthodes d'accès)

5-B - Connexion via ligne de commande

Exemple sous Windows, dans une fenêtre de commande

Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>%SQLANY10%\win32>dbisql.exe -nogui -c "user=DBA;password=SQL" "SELECT table_name FROM SYSTABLE where table_name LIKE 'jdbc%'" -host localhost -port 2638
Temps d'exécution : 0,04 seconde(s)
table_name
---------------------
jdbc_columnprivileges
jdbc_function_escapes
jdbc_helpkeys
jdbc_indexhelp
jdbc_indexhelp2
jdbc_procedurecolumns
jdbc_tablehelp
jdbc_tableprivileges
jdbc_versions  (9 premières lignes)
C:\>exit

Félicitons-nous. Nous en avons fini avec notre première installation de Sybase SQL Anywhere. Le plus dur reste à venir: modéliser et développer correctement les objets de notre base de données... mais ceci est une autre histoire.