Utilisation d'INTERBASE 6 avec WINDOWS XP sur une machine P4 Hyperthreading

Thierry LABORDE

Ce document permet de récapituler tous les différents problèmes que l'on peut rencontrer lorsque l'on souhaite utiliser INTERBASE 6 sur une machine de type Pentium 4 gérant l'hyperthreading et avec Windows XP. ♪

- Titre : Utilisation d'INTERBASE 6 avec WINDOWS XP sur une machine P4 Hyperthreading

- Auteur : Thierry LABORDE

- Parution : 2 juin 2005

- Mise à jour : 30 décembre 2012

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2005 Thierry LABORDE. 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

- I. Firewall

- II. Hyperthreading

- III. Paramétrage fichier IBCONFIG

- IV. Extension fichier GDB

I - Firewall

Si vous utilisez WINDOWS XP avec le service pack 2 vous aurez le firewall activé par défaut qui risque d'empêcher le bon fonctionnement d'INTERBASE. Si vous allez dans le panneau de configuration de Windows (basculez sur l'affichage classique) vous aurez une icône Pare-Feu Windows :

Si vous n'avez pas l'icône Pare-Feu Windows c'est que le service pack 2 n'est pas installé sur votre poste.

Si vous lancez le pare-feu, vous arriverez sur la fenêtre suivante :

Vous avez alors deux solutions possibles :

- désactiver complètement le pare-feu Windows. Dans ce cas-là, cliquez sur l'option “désactivé”. Puis n'oubliez pas de cliquer sur 'OK' (cependant ceci vous fera perdre les possibilités offertes par cette option) :

- créer une exception pour le service INTERBASE. Cliquez sur l'onglet exception. Vous accéderez à la fenêtre suivante :

Cliquez sur le bouton 'Ajouter un port'. Vous tomberez sur la fenêtre suivante :

Dans la zone Nom tapez : 'InterBase Server' puis dans le numéro du port mettre 3050. Validez ensuite en cliquant sur OK sur les différents écrans.

II - Hyperthreading

Si votre PC gère l'hyperthreading, vous risquez d'avoir un problème avec INTERBASE 6 qui ne le gère pas. Le problème que vous allez rencontrer est tout simplement un temps de connexion à votre base super long. Pour résoudre ce problème, trois solutions se présentent :

1. Désactiver l'hyperthreading dans le BIOS du PC. Mais vous perdrez l'avantage de l'hyperthreading pour toutes les applications ;

2. Ne plus installer INTERBASE 6, mais passer à FIREBIRD qui lui gère correctement l'hyperthreading ;

3. Utiliser l'utilitaire IBAffinity pour préciser à INTERBASE sur quel processeur travailler. Pour cela, télécharger le fichier à l'adresse ci-dessous :

http://www.ait-augsburg.de/download/ib_affinity.zip

Puis dans une fenêtre de commande MSDOS, positionnez-vous dans le répertoire où vous avez dézippé le fichier et tapez :

ib_affinity -A1

ATTENTION CET UTILITAIRE NE FONCTIONNE QUE SUR UN POSTE AYANT AU MINIMUM WINDOWS NT.

III - Paramétrage fichier IBCONFIG

Afin d'améliorer les performances sur les PC récents avec INTERBASE il vous faut modifier le fichier IBCONFIG que vous trouverez sur C:\Program Files\Borland\INTERBASE\. Ouvrez le fichier IBCONFIG, avec notepad par exemple, puis modifiez la ligne #SERVER_PRIORITY_CLASS et mettez 2 comme valeur. Ceci va permettre à INTERBASE d'utiliser le maximum de ressources.

N'OUBLIEZ PAS D'ARRÊTER ET DE RELANCER LE SERVEUR INTERBASE ENSUITE POUR PRENDRE EN COMPTE CES MODIFICATIONS. LE PLUS SIMPLE ÉTANT DE REBOOTER LE PC.

IV - Extension fichier GDB

Windows XP utilise l'extension GDB pour sa fonctionnalité de Restauration du système, et il scrute les .GDB régulièrement entraînant donc un ralentissement des bases INTERBASE. Pour résoudre ce problème, trois solutions se présentent :

1. Ne plus installer INTERBASE 6, mais passer à FIREBIRD qui lui n'utilise plus les extensions GDB par défaut ;

2. Modifier l'extension de la base INTERBASE pour que cela ne soit plus GDB. Mettre par exemple FDB comme FIREBIRD. Cependant il restera la base UTILISATEUR (qui contient les différents utilisateurs et droits définis dans INTERBASE). Cette base s'appelle ISC4.GDB. Mais son extension ne peut pas être renommée. Donc soit laisser cela comme ça (car après tout INTERBASE n'accède pas à la base utilisateur tout le temps). Sinon passer cette base en mode lecture seulement. Pour cela, tapez la commande suivante dans une fenêtre de commande MSDOS :

gfix -mode read_only isc4.gdb -user SYSDBA -pass masterkey

(Mettre un autre mot de passe si le mot de passe SYSDBA est différent). Cependant, une fois cette commande passée, vous ne pourrez plus modifier les utilisateurs, mots de passe, ou droits d'INTERBASE. Ou alors il faudra repasser la base en mode lecture-écriture. Pour cela retaper la même commande en remplaçant read_only par read_write ;

3. Désactiver la fonction de restauration système sur WINDOWS. Pour cela, cliquez avec le bouton droit de la souris sur l'icône POSTE DE TRAVAIL puis allez sur le menu propriétés. Ensuite sur la fenêtre qui s'ouvre allez sur l'onglet RESTAURATION DU SYSTÈME. Vous vous trouverez donc sur la fenêtre suivante :

À ce moment-là, soit vous désactivez la restauration du système sur tous les lecteurs en cochant la case correspondante (mais ceci vous enlève une fonction WINDOWS qui peut être utile).

Soit, si vous avez plusieurs disques d'installés, vous installez INTERBASE sur un disque en particulier, puis vous sélectionnez ce disque dans la fenêtre du dessus et vous cliquez sur paramètres. Vous tomberez alors sur la fenêtre suivante :

Puis cochez la case 'Désactiver la Restauration du système sur ce lecteur'. Puis validez dans les différents écrans avec OK.