FirebirdSQL logo

Une copie fantôme (littéralement ombre) est une copie exacte, page par page, de la base de données. Après la création d’une copie fantôme, toutes les modifications apportées à la base de données sont immédiatement reflétées dans la copie fantôme. Si le fichier de base de données primaire devient indisponible pour une raison quelconque, le SGBD bascule sur la copie fantôme.

Cette section explique comment créer et supprimer des copies fantômes.

Note

Cela ne s’applique qu’aux opérations en cours sur la base de données, et non aux nouvelles connexions. Si la base de données d’origine est cassée, l’administrateur de la base de données doit restaurer les fichiers de la base de données d’origine, y compris en utilisant les fichiers de copie fantôme. Ce n’est qu’alors qu’il sera possible de connecter de nouveaux clients.

CREATE SHADOW

Objectif

Création d’une copie fantôme.

Syntaxe
CREATE SHADOW sh_num [AUTO | MANUAL] [CONDITIONAL]
  'filepath' [LENGTH [=] num [PAGE[S]]]
  [<secondary_file>];

<secondary_file> ::=
  FILE 'filepath'
  LENGTH [=] num [PAGE[S]] | STARTING [AT [PAGE]] pagenum
Table 1. Paramètres de l’opérateur CREATE SHADOW.
Paramètre Description

sh_num

Le numéro de la copie fantôme est un nombre positif qui identifie le jeu de fichiers de la copie fantôme.

filepath

Nom et chemin d’accès du fichier, tels que requis par le système d’exploitation.

num

Taille maximale de la copie fantôme en pages.

secondary_file

Spécification du fichier secondaire.

page_num

Le numéro de page à partir duquel le fichier de copie secondaire doit commencer.

L’opérateur CREATE SHADOW crée une nouvelle copie d’ombre. La copie fantôme commence à dupliquer la base de données dès que la copie est créée.

Les copies fantômes, comme la base de données, peuvent être constituées de plusieurs fichiers. Le nombre et la taille des fichiers de copie fantôme ne sont pas liés au nombre et à la taille des fichiers de la base de données.

Pour les fichiers de copie fantôme, la taille de page est fixée à la taille de page de la base de données et ne peut pas être modifiée.

Si un fichier de base de données devient indisponible pour une raison quelconque, le système convertit la copie fantôme en une copie de base de données et bascule sur celle-ci. La copie fantôme devient indisponible. Ce qui se passe ensuite dépend du mode sélectionné.

Modes AUTO et MANUAL.

Lorsque la copie fantôme est convertie en base de données, elle devient inaccessible. La copie fantôme peut également devenir inaccessible si son fichier est supprimé, si le disque où elle se trouve manque d’espace ou si ce disque est endommagé.

  • Si AUTOCREATE SHADOW, AUTO (valeur par défaut) est sélectionné, alors lorsqu’une copie fantôme devient indisponible, l’utilisation de cette copie est automatiquement arrêtée et toutes les références à celle-ci sont supprimées de la base de données. Le fonctionnement de la base de données continue de manière normale sans effectuer de copie vers la copie fantôme en question.

    Si le mot-clé CONDITIONAL(CREATE SHADOW, AUTO, CONDITIONAL est spécifié, le système tentera de créer une nouvelle copie d’ombre, pour remplacer celui qui a été perdu. Ce n’est pas toujours possible, vous devrez alors créer une nouvelle ombre manuellement.

  • Si le mode MANUALCREATE SHADOW, MANUAL est sélectionné, dans le cas où la copie fantôme devient indisponible, toutes les tentatives de connexion et d’accès à la base de données provoqueront un message d’erreur jusqu’à ce que la copie fantôme devienne disponible ou soit supprimée par l’administrateur de la base de données à l’aide de l’instruction DROP SHADOW.

Paramètres facultatifs CREATE SHADOW.

LENGTH

La clause optionnelle LENGTH définit la taille maximale d’un fichier de copie fantôme primaire ou secondaire en pages. Pour un seul ou dernier fichier de copie d’ombre, la valeur LENGTH n’a aucun effet sur sa taille. La taille du fichier augmentera automatiquement en fonction des besoins.

DÉBUTANT À

La phrase STARTING AT indique le numéro de page de la copie cachée à laquelle le fichier de copie cachée suivant doit commencer. Lorsque le fichier précédent est entièrement rempli de données selon le numéro de page spécifié, le système commence à placer les nouvelles données ajoutées dans le fichier de copie fantôme suivant.

Qui peut créer une copie fantôme ?

Qui peut exécuter l’opérateur CREATE SHADOW :

  • Administrateurs ;

  • Propriétaire de la base de données ;

  • Utilisateurs avec le privilège `ALTER DATABASE'.

Exemples

Example 1. Création d’une copie fantôme de la base de données avec le numéro 1
CREATE SHADOW 1 'g:\data\test.shd';
Example 2. Création d’une copie d’ombre multi-fichier
CREATE SHADOW 2 'g:\data\test.sh1'
LENGTH 8000 PAGES
FILE 'g:\data\test.sh2';

DROP SHADOW

Destination

Suppression de la copie fantôme.

Disponible en

DSQL, ESQL

Syntaxe
DROP SHADOW sh_num
  [{PRESERVE | DELETE} FILE]
Table 1. Paramètres de l’opérateur DROP SHADOW.
Paramètre Description

sh_num

Le numéro de la copie fantôme est un nombre positif qui identifie un ensemble de fichiers de copie fantôme.

L’instruction DROP SHADOW supprime la copie fantôme spécifiée de la base de données avec laquelle la connexion actuelle est établie. La suppression de la copie fantôme arrête le processus de duplication des données dans cette copie. Si l’option DELETE FILEDROP SHADOW, DELETE FILE est spécifiée, tous les fichiers associés à cette copie fantôme seront également supprimés. Si l’option PRESERVE FILE(DROP SHADOW, PRESERVE FILE est spécifiée, les fichiers resteront intacts. Cela peut être utile si vous sauvegardez à partir d’un fichier fantôme. L’option par défaut est DELETE FILE.

Qui peut supprimer la copie fantôme ?

Qui peut exécuter l’opérateur DROP SHADOW :

  • Administrateurs ;

  • Propriétaire de la base de données ;

  • Utilisateurs avec le privilège `ALTER DATABASE'.

Exemples

Example 1. Suppression de la copie d’ombre numéro 1
DROP SHADOW 1;
Voir aussi :

CREATE SHADOW.