Vous êtes sur la page 1sur 4

Récupération incomplète basée sur le changement

Il est possible de récupérer la base de données en fonction d’un numéro de séquence


de journal. Chaque fois qu’un commutateur de journal se produit, Oracle attribue un
nouveau numéro de séquence de journal au fichier journal redo. Si le DBA connaît le
nombre exact de séquence d’un fichier journal archivé qui contient une commande
SQL endommagée, il peut facilement effectuer une récupération incomplète jusqu’à
ce numéro de séquence et ouvrir la base de données sans effectuer cette commande
SQL. Regardez le scénario suivant où Bob effectue une récupération incomplète.

Bob crée une table basée sur la vue all_tables comme suit :

Ensuite, en raison de certaines opérations de base de données, il y avait deux


commutateurs de journal dans la base de données. Pour effectuer ces commutateurs
de journal se produisent manuellement, utilisez les commandes suivantes :
Comme vous pouvez le voir, il y avait deux commutateurs de journal qui ont généré
deux fichiers journaux redo archivés.

Pour compter les lignes, l’utilisateur exécute la requête suivante :

Ensuite, ils suppriment accidentellement la table et commettent la session :


Puis, il y avait un interrupteur à un journal:

En obtenant cette requête, Bob comprend que l’instruction de suppression a été


effectuée après la séquence de journal #3, de sorte que la base de données doit être
récupérée jusqu’à ce que la séquence #4. Il arrête la base de données, démarre en
mode montage et effectue la récupération comme suit :
Pour vérifier les données de la table, Bob exécute la requête suivante :

Cela montre qu’en utilisant la récupération incomplète basée sur le changement, Bob
a été en mesure de récupérer jusqu’au fichier journal archivé spécifique redo et
récupérer les données.

Vous aimerez peut-être aussi