close
Unix, Linux & Tips

Les tribulations d'un admin sys

Lors de l’exploitation d’une base de données dans un environnement de production, il peut arriver que l’on soit amené à modifier le tablespace UNDO utilisé par celle-ci.

Par exemple, si le tablespace a été paramétré de telle manière qu’il augmente en fonction de ses besoins et sans aucunes limite de taille (Tablespace UNDO avec option AUTOEXTEND ON); cela peut vite devenir extrêmement coûteux en termes d’espace disque sur le serveur, d’autant plus qu’il est impossible de réduire sa taille.

Il faut donc, effectuer les étapes suivantes pour permettre une libération effective de l’espace disque utilisé :

  1. Création d’un nouveau tablespace UNDO temporaire
  2. Modifier le tablespace utilisé, pour effectuer la bascule
  3. Suppression du tablespace obsolète

Commençons donc :

  • Création un nouveau tablespace de type UNDO :

Par défaut, les datafiles se situent dans le répertoire :

Nous pouvons exécuter la requête suivante pour visualiser le tablespace en question :

Puis, créer le tablespace d’UNDO temporaire :

  • Effectuer le changement de tablespace utilisé par le base de données :

  • Suppression de l’ancien tablespace :

La clause INCLUDING CONTENTS permet de supprimer le datafile du tablespace; si elle n’est pas spécifiée, le datafile (fichier TEST_UNDOTBS_01.dbf) devra être supprimé à la main, et il faudra redémarrer la base pour que l’espace alloué anciennement par le tablespace soit libéré.

Tags : autoextenddatafilesqltablespaceundo
Emmanuel V.

The author Emmanuel V.

Leave a Response

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.