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 :

Requête qui n'aboutit pas - unable to extend temp segment by 128 in tablespace TEMPO


Sujet :

Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Requête qui n'aboutit pas - unable to extend temp segment by 128 in tablespace TEMPO
    Bonjour,

    La requête (qui est le curseur principal d'un report 10G v9042) génère le message d'erreur suivant "unable to extend temp segment by 128 in tablespace TEMPO" au bout de 7 minutes sur une base ORACLE 10.1.0.3.

    Il s'agit d'une base avec 10 ans d'historique pour situer la volumétrie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    SELECT 1 AS TRA_RUP , 
    R . ST_CODE AS ST_CODE , 
    NVL ( R . ST_RRF , 0 ) AS ST_RRF , 
    NVL ( R . ST_SPROP , 0 ) AS ST_SPROP , 
    NVL ( R . ST_PINV , 0 ) AS ST_PINV , 
    NVL ( R . ST_VOL , 0 ) AS ST_VOL , 
    NVL ( R . ST_CP , 'N' ) AS ST_CP , 
    A . TA_CODE AS T15_APPEL , 
    T . TA_CODE AS T17_COUL , 
    F . TA_CODE AS T43_FAM , 
    NVL ( G . T29_HAPUR , 'N' ) AS T29_HAPUR , 
    H . TI_CODE AS TI_CODE 
    FROM B0400 R , B0200 H , B0300 A , B0300 T , B0300 F , B0329 G   
    WHERE ( R.ST_CODE BETWEEN NVL ( ' ' , ' ' ) AND 'zzzzzzzzzzzzzzzzzzz' OR R.ST_CODE IS NULL ) 
    AND ( NVL ( R.ST_RRF , 0 ) <> 0 OR NVL ( R.ST_SPROP , 0 ) <> 0 OR NVL ( R.ST_SCHAIS , 0 ) <> 0 OR NVL ( R.ST_SDEPOT , 0 ) <> 0 ) 
    AND H.BA_PROD = R.BA_PROD 
    AND H.BA_MIL = R.BA_MIL 
    AND G.T29_NATURE = H.T29_NATURE 
    AND A.TA_TABLE = '15' 
    AND A.TA_CODE = ( SELECT B0200.T15_APPEL FROM B0200 WHERE  B0200.BA_PROD = SUBSTR ( R.ST_CODE , 1 , 4 ) AND B0200.BA_MIL = SUBSTR ( R.ST_CODE , 5 , 2 ) UNION SELECT B0250.T15_APPEL FROM B0250 WHERE B0250.CP_CODE = R.ST_CODE ) 
    AND T.TA_TABLE = '17' AND T.TA_CODE = ( SELECT B0200.T17_COUL FROM B0200 WHERE B0200.BA_PROD = SUBSTR ( R.ST_CODE , 1 , 4 ) AND B0200.BA_MIL = SUBSTR ( R.ST_CODE , 5 , 2 ) UNION SELECT 'P' FROM B0250 WHERE B0250.CP_CODE = R.ST_CODE ) 
    AND F.TA_TABLE = '43' 
    AND F.TA_CODE = ( SELECT B0200.T43_FAM FROM B0200 WHERE B0200.BA_PROD = SUBSTR ( R.ST_CODE , 1 , 4 ) AND B0200.BA_MIL = SUBSTR ( R.ST_CODE , 5 , 2 ) UNION SELECT B0250.T43_FAM FROM B0250 WHERE B0250.CP_CODE = R.ST_CODE ) 
    AND A.TA_CODE BETWEEN : TRA_T15_APPEL1 AND : TRA_T15_APPEL2 
    AND F.TA_CODE BETWEEN : TRA_T43_FAM1 AND : TRA_T43_FAM2 
    ORDER BY 1 ASC,8 ASC,9 ASC
    Le plan est correcte mais le tri est visiblement très consommateur de CPU.

    Extrait du plan donné par la console enterprise manager :
    SORT ORDER BY 34 1 0.08 101359 1217 1068313608192 60868

    101359 correspond au cout
    1068313608192 correspond au cout de l'UC
    Il s'agit d'un serveur dédié PROLIANT DL385 avec 3 Go de RAM
    le tablespace TEMPO fait 10 Go et la SORT_AREA_SIZE est de 524 288 bytes
    la SGA = 1392 M, la PGA = 462 M


    Faut-il augmenter la taille du tablespace TEMPO ?

    Pouvez-vous m'aider ??

    Merci pour votre aide

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    SORT_AREA_SIZE en 10G ?

    le paramètre workarea_size_policy n'est pas en AUTO pour utiliser la PGA ?

    Est-ce que le tri est vraiment nécessaire ? Est-ce que tu n'as pas un index ordonné sur les colonnes ?

    Note que le 1 ASC ne sert à rien puisque la 1° colonne est 1 pour toutes les lignes

    Citation Envoyé par JEREMYG
    Le plan est correcte mais le tri est visiblement très consommateur de CPU.
    ça aurait été pas mal de nous le montrer

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    j'ai modifié la valeur de workarea_size_policy pour AUTO

    De plus, j'ai doublé la valeur de PGA_AGREGATE_TARGET (de 400Mo à 800Mo)

    La requete tourne la nuit donc j'attends le résultat du traitement pour lundi ...

Discussions similaires

  1. Requête qui n'aboutit pas
    Par nova23 dans le forum Oracle
    Réponses: 9
    Dernier message: 07/05/2013, 11h54
  2. [IBatis] Requête qui n'aboutit pas
    Par jgfa9 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 17/08/2012, 01h06
  3. Requête qui n'aboutit pas
    Par lepotier dans le forum Requêtes
    Réponses: 24
    Dernier message: 05/02/2010, 12h12
  4. Réponses: 4
    Dernier message: 21/05/2007, 15h51
  5. Réponses: 21
    Dernier message: 30/03/2005, 17h22

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