L'activation du block change tracking permet d'accélérer les sauvegardes incrémentales de niveau 1 via RMAN. Lors de la sauvegarde, RMAN va lire tous les blocs des tablespaces afin de voir si ils ont été modifiés ou non. Le block change tracking stocke dans un fichiers les blocs modifiés, ainsi RMAN lit ce fichier au lieu de parcourir l'ensemble des tablespaces.

Activation

SQL> alter database enable block change tracking using file '/u01/app/oracle/oradata/RED/block_change_tracking.trc';

Oracle annonce une taille de 1/30 000 de la taille de tous les blocs à tracer. Le fichier de 10Mo minimum grossit par pas de 10Mo. La requete suivante donne des informations sur la trace des blocks modifiés.

SQL> select * from v$block_change_tracking;

Attention : une taille de 320ko est au minimum requise pour chaque datafile.

Exploitation

Si le fichier de trace est perdu ou endommagé, la base de données ne pourra pas être ouverte (elle restera en état MOUNT). Pour ouvrir la base, il faut désactiver la trace, et éventuellement la réactiver.

SQL> alter database disable block change tracking;

Il n’existe pas de possibilité Oracle de sauvegarde et de restauration du fichier de trace.

Après activation de la trace, la première sauvegarde incrémentale de niveau 0 devra parcourir tous les blocs utilisés car le fichier de trace ne reflète pas encore le statut des blocs. Il en est de même après une recréation du fichier de trace.

Employer ou non un fichier de trace des blocs modifiés ne change rien aux commandes à utiliser pour réaliser des sauvegardes incrémentales. Si la fonctionnalité est active, RMAN l’exploite ; sinon il s’en passe.

La mise en place du block change tracking est simple et ne nécessite qu'un mode opératoire.

Le fonctionnement du Block Change tracking est assuré par le processus CTWR.