Optimiser manuellement une base de données UltraBackup

Voici la procédure pour optimiser manuellement une base de données UltraBackup. Cela équivaut à exécuter l’assistant « Optimiser la base de données », mais cette méthode remonte facilement toutes les erreurs qui pourraient être masquées par l’interface graphique. Elle nécessite d’ouvrir l’invite de commande Windows avec des droits administrateur.

On suppose dans cet article que la base de données est stockée dans C:\BackupServer\Database.fdb.

Avant tout, il convient de stopper le service de sauvegarde UltraBackup :

net stop UbStorageServer

La première étape est de localiser le binaire gbak.exe fourni avec la base de données FireBird. Si vous n’avez pas modifié les chemins d’installation, vous devriez pouvoir vous positionner dans le dossier bin contenantgbak à l’aide de la ligne de commande suivante :

cd "C:\Program Files\Firebird\Firebird_2_5\bin"

La seconde étape est de générer un dump compressé de votre base de données. Par défaut, l’extension de ce type de fichiers est « .fbk », et nous choisissons de stocker ce fichier intermédiaire dans le même répertoire que celui qui contient la base de données. La ligne de commande permettant de générer ce fichier de sauvegarde dans
C:\Backup\Database.fbk est la suivante :

gbak -v -t -g -user SYSDBA -password "masterkey" 127.0.0.1:C:\BackupServer\Database.fdb C:\BackupServer\Database.fbk

gbak va parcourir la base de données et extraire les informations dans le fichier intermédiaire. Cette opération peut prendre plusieurs dizaines de minutes en fonction du nombre de fichiers sauvegardés sur le serveur.

La troisième étape est de recréer la base de données à partir du fichier intermédiaire précédemment généré. Pour palier à toute défaillance éventuelle, nous choisissons pour l’instant de restaurer la base de données sous le nom "Database_NEW.fdb". Ainsi, en cas d’erreur durant l’opération, la base de données originale ne serait pas affectée :

gbak -c -v -user SYSDBA -password masterkey C:\BackupServer\Database.fbk 127.0.0.1:C:\BackupServer\Database_NEW.fdb

Là encore, l’opération peut prendre plusieurs minutes en fonction du volume de données à traiter. Une la procédure terminée, 3 fichiers coexistent dans le répertoire de stockage :

  • Database.fbk est le fichier intermédiaire utilisé à l’étape 2. Il n’est plus nécessaire, vous pouvez maintenant le supprimer.
  • Database.fdb est la base de données d’origine, non optimisée. Vous pouvez désormais la supprimer.
  • Database_NEW.fdb est la base de données optimisée, vous devez désormais la renommer du nom de la base de données d’origine, dans notre exemple Database.fdb.

Vous pouvez désormais relancer le service de sauvegarde :

net stop UbStorageServer

Vous disposez désormais d’une base de données fraîchement optimisée !

Attention : puisque vous n’êtes pas passé par l’assistant intégré au logiciel, la date de dernière optimisation n’aura pas été mise à jour par UltraBackup. Par conséquent, ne tenez pas compte des éventuels avertissements vous indiquant que la base n’a pas été optimisée depuis un certain temps.

Pour rappel, l’optimisation (manuelle ou via l’assistant du logiciel) devrait être effectuée en moyenne une fois par mois.