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

Administration Oracle Discussion :

ORA-01114 - le tablespace TEMP a rempli tout le disque


Sujet :

Administration Oracle

  1. #1
    Membre expérimenté
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut ORA-01114 - le tablespace TEMP a rempli tout le disque
    bonjour à tous,

    je viens de faire une boulette sur mon serveur de dev.
    J'avais besoin de place dans le temp pour des requetes de tri un peu copieuses alors j'ai mis le table space en AUTOEXTEND (oui je sais il vaut mieux pas )

    depuis le table space n'a pas arrêté de grossir et a rempli tout ce qui restait sur le disque (3 jours de grosses requetes copieuses non-stop)

    je ne suis pas DBA de formation et on m'a dit qu'il allait falloir tout reconstruire et redémarrer la base.

    ça me surprend un peu car pour moi ce tablespace n'est que temporaire et pas utilisé en dehors du moment ou tu fais des requêtes. on devrait donc pouvoir supprimer le fichier .dbf qui correspond au tablespace, en créer un nouveau (vide) et le réassocier au tablespace, non?

    enfin on me dit que ce n'est pas possible mais pas pourquoi...

    si vous avez des éléments de réponse ou une solution, j'en serais heureux.

    cordialement.

    PS : je suis sous oracle 8.1.7.4.0

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Dans un tablespace temporaire, il y a un unique segment créé par le premier tri et supprimé à l'arrêt de l'instance. Ceci doit expliquer cela.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    j'en déduis qu'en dropant le fichier physique correspondant au tablespace temporaire (après arrêt de la base)
    en recréant ce fichier vide et enredémarrant la base, le problème est réglé...

    me trompes-je?

  4. #4
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    c'est l'idée...

    Tu crées un nouveau tablespace TEMP, tu l'actives, tu désactive l'ancien que tu peux ensuite supprimer.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Citation Envoyé par olivanto Voir le message
    c'est l'idée...

    Tu crées un nouveau tablespace TEMP, tu l'actives, tu désactive l'ancien que tu peux ensuite supprimer.
    Ne pas oublier de affecter le nouveau tbs temp aux users de la base pendant l'inter puis revenir à l'ancien apres.

  6. #6
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    Je ne suis pas sûr d'avoir compris ce que tu dis....

    1- Création du tablespace
    2- Activation (à ce moment, il est utilisable)
    3- Désactivation de l'ancien (le nouveau est opérationnel)
    4- Suppression de l'ancien

    Tu veux faire quoi de plus ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par dyvim Voir le message
    j'en déduis qu'en dropant le fichier physique correspondant au tablespace temporaire (après arrêt de la base)
    en recréant ce fichier vide et enredémarrant la base, le problème est réglé...

    me trompes-je?
    il ne faut pas supprimer le fichier mais le tablespace

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Citation Envoyé par olivanto Voir le message
    Je ne suis pas sûr d'avoir compris ce que tu dis....

    1- Création du tablespace
    2- Activation (à ce moment, il est utilisable)
    3- Désactivation de l'ancien (le nouveau est opérationnel)
    4- Suppression de l'ancien

    Tu veux faire quoi de plus ?
    En 8i, le tablespace temporaire par défaut est SYSTEM:

    Oracle allocates temporary segments as needed during a user session, in the temporary tablespace of the user issuing the statement. You specify this tablespace with a CREATE USER or an ALTER USER statement using the TEMPORARY TABLESPACE clause. If no temporary tablespace has been defined for the user, the default temporary tablespace is the SYSTEM tablespace
    Il faut donc bien affecter le tablespace temporaire à chaque utilisateur.

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Citation Envoyé par olivanto Voir le message
    Je ne suis pas sûr d'avoir compris ce que tu dis....

    1- Création du tablespace
    2- Activation (à ce moment, il est utilisable)
    3- Désactivation de l'ancien (le nouveau est opérationnel)
    4- Suppression de l'ancien

    Tu veux faire quoi de plus ?

    1- Création du tablespace
    2- Activation (à ce moment, il est utilisable)
    3- affecter le TEMP2 aux users qui ont le tablespace TEMP dans leurs clause default tablespace
    4- Désactivation de l'ancien (le nouveau est opérationnel)
    5- Suppression de l'ancien TEMP
    6- recréer TEMP
    7- réaffecter le TEMP aux users concernés
    8- désactivation et suppression de TEMP2

  10. #10
    Membre expérimenté
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    Merci à tous...

    le problème a été résolu rapidement pas les DBAs en fait et sans redémarrage (comme je le pensais)

    ça m'a permis d'apprendre quelques trucs comme :
    - le tablespace TEMP est "optionnel"
    - on peut droper un tablespace... mais ça ne supprime pas le fichier derrière
    - l'autoextend peut faire très mal

    par contre, a priori la solution était de recréer un autre TEMP temporairement puis de droper l'ancien et finalement de le recréer...
    s'il n'y a pas d'utilisateur connecté, tu ne peux pas tout simplement droper TEMP et le recréer de suite? (en ayant supprimé le .dbf qui prend toute la place avant)

  11. #11
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    Citation Envoyé par jf4db Voir le message
    1- Création du tablespace
    3- affecter le TEMP2 aux users qui ont le tablespace TEMP dans leurs clause default tablespace
    Oui, en effet, mais il semble que c'est automatique...

    Ma base a crashé l'an dernier à cause du TEMP que j'ai recréé de cette manière, et je ne me rappelle pas avoir affecté le nouveau TEMP aux utilisateurs (mais peut être ma mémoire me joue des tours ?)

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 08/08/2011, 13h38
  2. Réponses: 4
    Dernier message: 21/05/2007, 15h51
  3. Tablespace TEMP : croissance éxagérée
    Par vanderbes dans le forum Oracle
    Réponses: 5
    Dernier message: 10/12/2005, 09h36
  4. JInternalFrame rempli tout mon ContentPane
    Par leminipouce dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 04/07/2005, 15h05
  5. [9i] Utilisation du tablespace TEMP
    Par Fabien Celaia dans le forum Oracle
    Réponses: 3
    Dernier message: 14/02/2005, 18h32

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