IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

[oracle10g] Comment vider un tablespace temporaire ?


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 28
    Points
    28
    Par défaut [oracle10g] Comment vider un tablespace temporaire ?
    bonjour à tous,
    Une requête mal faite à fait que le tablespace par defaut (TEMP) de ma base est grimpé à 30 gigas, entrainant une saturation du disque.
    Comment puis-je faire pour le vider ?
    J'ai arrêté et redémarrer la base mais il fait toujours la même taille ....
    J'ai créé un autre tablespace temporaire (TEMP2) et l'ai définit comme tablespace par défaut de ma base (en lui donnant une taille max).
    J'ai vérifié avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM DBA_USERS
    et j'ai bien TEMP2 à la place de TEMP dans le champs temporary_tablespace

    J'ai ensuite voulu faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
    et là, il ne se passe rien !
    L'instruction s'execute sans jamais se terminer.
    Du coup, je suis obligé de la couper "violemment" ....

    Qu'est-ce que je fais qui pose problème ?
    Quelqu'un a une idée ?
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour,

    Tu est en Local ou Dictionnaire au niveau de la gestion des tablespaces ?

    tu as un debut de réponse ici

    http://www.developpez.net/forums/d35...poraire-ligne/

    Sinon voir les v$session, v$session_event ou tracer la session

    Une autre solution possible :

    faire un drop tempfile

    http://download.oracle.com/docs/cd/B...s.htm#i1006556

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    En fait, j'ai réussi à m'en sortir.
    Je n'arrivais pas à supprimer le TEMP car mon disque étant plein, je n'avais pas assez de ressources pour que la resuête s'execute.
    J'ai donc fait du ménage et relancé la requête et ça a fonctionné.
    La suite des opérations aussi.
    Je confirme donc que dans un tel cas, les opérations a effectuer sont :
    - Libérer de l'espace disque s'il est plein
    - Créer un autre tablespace temporaire (TEMP2)
    - Dédier ce tablespace à tous les user qui avait avant TEMP
    - Dropper TEMP
    - Recréer TEMP
    - Redonner TEMP aux users a qui on a donné TEMP2
    - Supprimer TEMP2

    Sinon, pour info, je suis en gestion Local.
    Merci encore ....

  4. #4
    Membre habitué Avatar de Laurent_du_78
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 138
    Points : 188
    Points
    188
    Par défaut
    le plus simple c'est que le tablespace tmp ne soit pas en avec des datafiles en autoextent.
    Il vaut mieux que la requête sorte sur une erreur : impossible d'etendre etc ...
    Amicalement
    24h-en-piste.com

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    surtout faut créer le temp avec des TEMPFILES et pas DATAFILES

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Oracle 9/AIX 5.3] Vider Tablespace Temporaire
    Par tck-lt dans le forum Administration
    Réponses: 12
    Dernier message: 06/12/2011, 11h08
  2. [oracle9i-Linux] Comment vider un UNDO tablespace
    Par Loïck dans le forum Oracle
    Réponses: 8
    Dernier message: 03/12/2009, 13h53
  3. vider tablespace temporaire sur Oracle 7.3.4 ?
    Par leptitdave dans le forum Administration
    Réponses: 9
    Dernier message: 15/09/2009, 11h53
  4. comment vider une chaine de caractère
    Par gaut dans le forum C
    Réponses: 13
    Dernier message: 12/09/2003, 11h30
  5. Comment vider un dossier ?
    Par Zinoc dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/06/2002, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo