Monday, January 09, 2006

DUPLICATION OU CLONAGE DE BASE DE DONNEES ORACLE
(Entre clarification et choix)

Dans la littérature technique de l’ingénierie des bases de données Oracle, clonage et duplication sont mélangés, permutés et parfois confondus.
Nous voulons par ce premier d’une série d’articles devant porter sur ces questions, clarifier les termes et montrer la nécessité de faire un choix en fonction de ses propres besoins. A la fin de ce premier article, nous donnerons quelques définitions de termes que le lecteur devra avoir à l’esprit pour une meilleure compréhension de la suite.
Les critères que nous avons décidés de retenir afin de distinguer les deux opérations (clonage et duplication) peuvent paraître arbitraires surtout aux littéraires. Mais nous avouons d’entrée de jeu que nous n’avions pas eu le choix à ce niveau-là ; nos seuls soucis sont : la clarté et l’efficacité pour que le lecteur et le technicien puissent s’y retrouver.

La duplication d’une base de données
Il s’agit de reproduire rapidement une base de données de production à l’aide de l’utilitaire RMAN, à des fins de tests (tests de sauvegarde/restauration, tests d’import/export, tests d’optimisation de performance, etc…) afin d’impacter le moins possible la base de données de production.
La base de données dupliquée est une copie de la base de départ (base cible) que l’on peut exécuter de façon indépendante de la base cible. Cette copie peut être identique à la base cible c’est-à-dire comporter les mêmes tablespaces et fichiers de données que l’originale ou ne contenir qu’un sous-ensemble des tablespaces d’origine.
Cette reproduction peut se faire sur la même machine mais sous un nom de base de données différent. Autre possibilité : la reproduction peut également se faire sur une autre machine ; dans ce cas la nouvelle base qui résulte de l’opération de duplication peut porter le même nom ou un nom différent, avoir ou non la même structure de répertoires.
Nous avons choisi le terme « duplication » par référence au fait que la commande Oracle qui se trouve au cœur de cette opération est la commande « DUPLICATE ».

Duplication n’est pas clonage
Une procédure de duplication diffère d’une procédure de clonage sur quelques points importants, même si les deux procédures sont assez proches l’une de l’autre et que dans la littérature technique, on trouve parfois la duplication sous le nom de clonage :
- Le clonage est destiné à créer une base appelée à remplacer celle dont elle est le clone ; la base résultant de l’opération porte le même nom et le même DBID. De ce fait, si la base clônée ne remplace pas la base de départ, les deux ne doivent pas être opérationnelles simultanément sur le même réseau et ne peuvent être enregistrées dans le même catalogue RMAN.
- L’opération de clonage est une opération « one shot » c’est-à-dire qu’à chaque fois, la procédure doit être mise en œuvre de la première à la dernière étape.
- Enfin le mécanisme de clonage est beaucoup plus rigide que celui de la duplication, comme nous allons le voir dans la série d’articles qui suivra.
- La duplication permet d’avoir une autre base de données portant un autre nom et un autre DBID mais gérant soit exactement les mêmes données ou un sous-ensemble de données de la base de données d’origine.
- Il est possible de rafraîchir à intervalles réguliers la base dupliquée afin de la ramener au même niveau de données que la base de départ.
- La base de données d’origine et celle résultant de la duplication peuvent cohabiter sur le même réseau y compris sur la même machine et être enregistrées dans le même catalogue RMAN.

De la terminologie
Passons en revue rapide quelques termes ou notions importantes qui seront nécessaires pour la suite.
RMAN : c’est l’acronyme de Recovery Manager. Il s’agit de l’outil performant qu’Oracle fournit avec la plupart des versions et éditions de ses bases de données et qui facilite et permet d’automatiser les sauvegardes et restaurations de ses bases. Tous les développements que nous ferons seront basés sur cet outil.
Target database /base de données cible : dans la terminologie RMAN, « target database désigne la base de données source (ou d’origine) à partir de laquelle se fait la duplication ou le clonage. Nous traduirons « target database » par les termes français « base de données cible ».
Auxiliary instance/auxiliary database (instance auxiliaire/base de données auxiliaire) : une base de données auxiliaire est une base de données RAC qui sera créée en tant que résultat de la duplication de la base de données cible. Dans la terminologie RMAN, l’instance auxiliaire identifie une instance à laquelle RMAN se connecte en vue d’exécuter la commande « duplicate ».
A suivre

0 Comments:

Post a Comment

<< Home