Quantcast
Mardi 9 février 2010 2 09 /02 /Fév /2010 02:15


Oracle Tablespace d’Annulation (UNDO).


Oracle
stocke temporairement les données en cours de modifications dans des segments d’annulations. Ces segments d’annulations sont en attente de validation ou d’annulation (COMMIT ou ROLLBACK).

Utile pour la notion de lecture cohérente des données pendant des opérations de mises à jour, pour la récupération de données (FLASHBACK) et le RECOVER.

La gestion des segments d’annulations est proposée en automatique pour ce type de Tablespace UNDO (conseillé par Oracle)et anciennement appelés, ROLLBACK SEGMENT. Ce Tablespace est créé au moment de la création de la base de données ou après et est obligatoirement géré localement.

Dans le fichier d’initialisation de la base (initSID.ora)
on précise le mode de gestion souhaité
UNDO_MANAGEMENT=AUTO

Le Tablespace UNDO par défaut (On peut en avoir plusieurs)
UNDO_TABLESPACE= UNDOTBS

La durée de rétention (durée de conservation en secondes, 900 par défaut)
UNDO_RETENTION=900

Vous pouvez voir ces valeurs avec cette requête

SQL> SELECT name, value, description
     FROM V$PARAMETER
     WHERE name LIKE '%undo%';

NAME VALUE DESCRIPTION
undo_management AUTO instance runs in SMU mode if TRUE, else in RBU mode
undo_tablespace UNDOTBS1 use/switch undo tablespace
undo_retention 900 undo retention in seconds


  
  
  
  




Création d’un Tablespace UNDO avec CREATE UNDO TABLESPACE


SQL> CREATE SMALLFILE UNDO TABLESPACE undotbs2
     DATAFILE 'c:\oracle\oradata\dbtest\undotbs2_01.dbf' SIZE 5G
     AUTOEXTENT ON NEXT 1G MAXSIZE 20G;



Ajouter des fichiers au Tablespace UNDO avec ALTER TABLESPACE


SQL> ALTER TABLESPACE undotbs2
     ADD DATAFILE 'c:\oracle\oradata\dbtest\undotbs2_02.dbf' SIZE 5G
     AUTOEXTENT ON NEXT 1G MAXSIZE 20G;


Changement de Tablespace UNDO actif (si plusieurs) avec ALTER SYSTEM

SQL> ALTER SYSTEM SET UNDO_TABLESPACE = undotbs2 SCOPE=BOTH;

Si vous changez de Tablespace UNDO, et que des segments d’annulations sont utilisés dans des transactions, leurs états ne seront pas OFFLINE mais PENDING OFFLINE jusqu'à la fin des transactions en cours.Vous pouvez ensuite le supprimer par exemple.

Supprimer un Tablespace UNDO avec DROP TABLESPACE INCLUDING CONTENTS

SQL> DROP TABLESPACE undotbs2 INCLUDING CONTENTS AND DATAFILES;

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Create TABLESPACE Oracle
• Oracle Tablespace Temporaire (TEMPORARY)
• Oracle Tablespace description
Par Daniel Roesch - Publié dans : TABLESPACE
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Oracle Sql et administration

Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés