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 :

Augmentation tempfile vs taille dispo OS


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 140
    Points : 71
    Points
    71
    Par défaut Augmentation tempfile vs taille dispo OS
    bonjour
    J'ai augmenté le tempfile de 5Go soit 10Go en total.
    Lors d'un traitement ce tempfile a crashé après avoir atteint 7 Go !!!
    No space left on device
    Est-ce possible ?
    Oracle voit t-il l'espace OS disponible lors de l'augmentation du tempfile ?
    Comment j'ai pu augmenter le tempfile de 5 Go alors que j'avais à priori que 2Go de disponible ?
    Please Help !

  2. #2
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    L'allocation est effectuėe au moment ou des lignes sont insėrėes dans une table temporaire.
    Donc ton comportement est normal...
    Jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  3. #3
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Les tempfiles sont crées en sparse files, l'espace n'est alloué que lorsqu'on écrit dedans.
    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 140
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par pachot Voir le message
    Bonjour,
    Les tempfiles sont crées en sparse files, l'espace n'est alloué que lorsqu'on écrit dedans.
    Donc tu es d'accord avec moi qu'il faut se méfier de la taille max que pourrait atteindre un tempfile qui pourrait être bien inférieure à celle fixée par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER TABLESPACE TEMP ADD TEMPFILE '/app/data/tmp03.dbf' SIZE 5G REUSE;
    Sinon une autre question :
    Si dans une opération de tri , la PGA n'est pas suffisante pour faire le sort , est-ce que Oracle switche TOUTE l'opération de tri vers le temp où juste ce qui reste pour la finaliser ?
    Enfin ,

    Quelles sont les opérations les plus consommatrices en temp (tri , ...)?
    Existe-t-il un Advisor pour ajuster la taille du temp ?
    merci

  5. #5
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Donc tu es d'accord avec moi qu'il faut se méfier de la taille max que pourrait atteindre un tempfile qui pourrait être bien inférieure à celle fixée par :
    Oui. Tout à fait d'accord.
    C'est pour celà que je conseille soit de créer les tempfiles petits et en autoextend, soit de les mettre dans un filesystem spécifique.

    Si dans une opération de tri , la PGA n'est pas suffisante pour faire le sort , est-ce que Oracle switche TOUTE l'opération de tri vers le temp où juste ce qui reste pour la finaliser ?
    Tout sauf la partie qui loge en PGA. Par exemple, 100MB de workarea, 300MB à trier, il y aura probablement 200MB en tempfiles.

    Mais si la taille des données est très très grande, le tri va se faire en plusieurs passes et on peut se retrouver à avoir plusieurs fois le volume total à mettre en tempfile.

    Quelles sont les opérations les plus consommatrices en temp (tri , ...)?
    Tris, group by, hash join, GTT,...

    Existe-t-il un Advisor pour ajuster la taille du temp ?
    dbms_xplan plan va montrer une estimation. Ça reste une estimation...

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 140
    Points : 71
    Points
    71
    Par défaut
    Quand une requête sollicite trop le tempfile quelle astuce permet de diminuer cette sollicitation coûteuse en I/O ?
    Augmenter la PGA ? modifier un paramètre Oracle ? autre ?
    merci

  7. #7
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Citation Envoyé par zidane2012 Voir le message
    Quand une requête sollicite trop le tempfile quelle astuce permet de diminuer cette sollicitation coûteuse en I/O ?
    Augmenter la PGA ? modifier un paramètre Oracle ? autre ?
    merci
    Vous pouvez utiliser le paramètre use_less_temp=true

    Plus sérieusement, effectivement, agrandir la PGA peut permettre de diminuer l'utilisation du TEMP mais il serait plus judicieux de commencer par comprendre pourquoi la requête utilise beaucoup le TEMP et si possible améliorer celle-ci.

  8. #8
    Membre éprouvé Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Points : 945
    Points
    945
    Par défaut
    Hello,
    +1 avec FSiebert.
    Quand je suis confronté à ce problème (souvent), je cherche le sql_id qui a provoqué une consommation trop élevée de temp avec, par exemple, la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select sql_id,sample_time,TEMP_SPACE_ALLOCATED/(1024*1024*1024) gig
    from DBA_HIST_ACTIVE_SESS_HISTORY
    where sample_time > sysdate-8 
    and TEMP_SPACE_ALLOCATED > (10*1024*1024*1024)
    order by 2;

  9. #9
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Merci 13thFloor.

    Par contre, attention à l'utilisation de DBA_HIST_ACTIVE_SESS_HISTORY (et autres) qui, sauf erreur de ma part, nécessite le Diag Pack.

  10. #10
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Citation Envoyé par FSiebert Voir le message
    Merci 13thFloor.

    Par contre, attention à l'utilisation de DBA_HIST_ACTIVE_SESS_HISTORY (et autres) qui, sauf erreur de ma part, nécessite le Diag Pack.
    Voui, je confirme!
    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 140
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par 13thFloor Voir le message
    Hello,
    +1 avec FSiebert.
    Quand je suis confronté à ce problème (souvent), je cherche le sql_id qui a provoqué une consommation trop élevée de temp avec, par exemple, la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select sql_id,sample_time,TEMP_SPACE_ALLOCATED/(1024*1024*1024) gig
    from DBA_HIST_ACTIVE_SESS_HISTORY
    where sample_time > sysdate-8 
    and TEMP_SPACE_ALLOCATED > (10*1024*1024*1024)
    order by 2;
    Oui mais des requêtes trop rapides peuvent être loupées par le sampling 1/10 de l'ASH dans
    dba_hist_active_session_history ...

  12. #12
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Citation Envoyé par zidane2012 Voir le message
    Oui mais des requêtes trop rapides peuvent être loupées par le sampling 1/10 de l'ASH dans
    dba_hist_active_session_history ...
    D'un autre côté, une requête qui explose le TEMP risque de prendre un peu de temps à s'exécuter

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 140
    Points : 71
    Points
    71
    Par défaut
    En effet ma requete fait tout ce qui sollicitele TEMP:
    Union ,max ,group by , fonction analytique , GTT et jointure de type hash.
    Volume 13 millions de lignes.
    2Go de PGA.
    Il est pas gentil ce temp : des i/o et en plus il explose à 12Go...
    Et en plus de tout ça Oracle fournit aucun outil ou advisor pour le tailler.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 140
    Points : 71
    Points
    71
    Par défaut
    Bonjour
    Quand est ce qu'il est recommandé d'utiliser plusieurs tempfiles(eg :5 tempfiles à 2 Go chacun) au lieu de 1 seul à 10 Go ?
    merci

Discussions similaires

  1. Augmentation de la taille d'un tablespace
    Par atporfi dans le forum Administration
    Réponses: 12
    Dernier message: 21/04/2008, 14h21
  2. Augmentation de la taille JVM
    Par JauB dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 17/03/2008, 22h05
  3. augmentation de la taille du buffer MS SQL Server 2000
    Par lachgar_omar dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/12/2007, 21h29
  4. IIS 6 Augmentation de la taille du cache
    Par flogreg dans le forum IIS
    Réponses: 2
    Dernier message: 24/01/2007, 22h50
  5. Augmentation de la taille de la base
    Par jfphan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/02/2004, 10h54

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