Flashback Table

3
[FLASHBACK D’UNE TABLE ORACLE 10G] 10 janvier 2013 www.oraweb.ca Page 1 Principe de FLASHBACK d’une table Oracle 10g Document préparé par Abderrahmane Abed Version 1.0 Janvier 2013 Courriel : [email protected]

description

FLASH

Transcript of Flashback Table

Page 1: Flashback Table

[FLASHBACK D’UNE TABLE ORACLE 10G] 10 janvier 2013

www.oraweb.ca Page 1

Principe de FLASHBACK

d’une table

Oracle 10g

Document préparé par Abderrahmane Abed

Version 1.0

Janvier 2013

Courriel : [email protected]

Page 2: Flashback Table

[FLASHBACK D’UNE TABLE ORACLE 10G] 10 janvier 2013

www.oraweb.ca Page 2

1. Création de la table EMPLOYE:

Pour créer la table EMPLOYE, on va ouvrir une session SQL Plus et on va taper

ceci :

CREATE TABLE EMPLOYE

(ID Number, nom varchar2(20), salaire number(7,2))

2. Suppression de la table EMPLOYE :

Pour supprimer cette table, c’est la commande DROP table EMPLOYE;

3. Récupération de la table EMPLOYE (principe de

FLASHBACK) :

� Le principe est différent selon l’opération de flashback à réaliser.

Si l’opération se situe au niveau ligne ou table (hors DROP) alors ce sont les

informations d’annulation (UNDO) qui seront utilisées. Il est donc capital de bien

régler le paramètre UNDO_RETENTION et la taille du tablespace d’annulation

pour pouvoir revenir assez loin en arrière.

� Si l’opération concerne un flashback avant DROP d’une table. Alors l’opération

utilise le fait qu’une table n’est pas réellement supprimée. Utilisation de la

"Corbeille" oracle.

Niveau table après Suppression : DROP

Si on désire réaliser des flashback de table après les avoir supprimées, Il faut

activer la "Corbeille" Oracle. Cette opération se fait en activant le paramètre

RECYCLEBIN. C’est un paramètre dynamique pouvant être modifié pour la

session ou pour le système. Par défaut, il est actif. Si le paramètres est inactif

(OFF), il sera impossible d’effectuer un FLASHBACK après suppression sur les

tables supprimées.

Exemple:

ALTER SYSTEM SET RECYCLEBIN = ON SCOPE=SPFILE;

ALTER SESSION SET RECYCLEBIN = OFF;

Page 3: Flashback Table

[FLASHBACK D’UNE TABLE ORACLE 10G] 10 janvier 2013

www.oraweb.ca Page 3

Pour vérifier si la corbeille d’oracle est activée, on va connecter avec le compte

sys as sysdba et on va taper ceci :

SHOW PARAMETER RECYCLEBIN

NAME TYPE VALUE

------------------------------------ ----------- ------------

recyclebin string on

Donc, on voit bien que la corbeille est ON

Revenir en arrière pour une table supprimée :

Pour revenir en arrière lorsqu’on supprime la table, on va réaliser la séquence

suivante :

FLASHBACK TABLE Table TO BEFORE DROP

Pour réaliser une telle opération il faut :

Avoir le droit FLASHBACK sur la table

Disposer des autorisations SELECT, INSERT et ALTER sur la table à restaurer

Dans notre exemple, on va récupérer la table EMPLOYE une fois qu’elle est

supprimée avec DROP.

Supprimer la table EMPLOYE DROP TABLE EMPLOYE Table supprimée RECUPÉRER LA TABLE SUPPRIMÉE FLASHBACK TABLE EMPLOYE TO BEFORE DROP Flashback terminé.

Afficher la structure de la table EMPLOYE DESC EMPLOYE Nom NULL ? Type ----------------------------------------- -------- -------------- ID NUMBER NOM VARCHAR2(20) SALAIRE NUMBER(7,2)