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 :

[9i] Utilisation du tbs temporaire


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut [9i] Utilisation du tbs temporaire
    [Version Oracle 9i]
    Comment savoir quel utilisateur vient grossir le fichier temporaire ?
    Le mois dernier ce fichier occupait tout l’espace disque restant.
    Je surveille désormais la taille de ce fichier. Il n’augmente pas fréquemment de volume.
    Je recherche donc une trace dans les tables Oracle qui me dirait la session qui a fait augmenter le volume du fichier temporaire.

    Pour info, je contrôle son volume avec la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select BYTES_USED,BYTES_FREE
     from V$TEMP_SPACE_HEADER
     where TABLESPACE_NAME  = ‘TEMP’;

  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
    Attention, le tempfile est "vicieux". En effet, contrairement au datafile il n'occupe pas la taille de tempfile spécifier lors de sa création. Ainsi, tu peux créer un tablespace TEMP constitué d'un fichier de 1Go. Lors de la création le tempfile ne fera que 500Mo (c'est un exemple ) et ne grossira que si l'utilisation du TEMP le nécessite... du coup si tu mets le TEMP dans le même répertoire que des datafiles, tu peux ajouter des datafiles pensant que tu as la place alors qu'il y a 500Mo qui pourront être nécessaire...

    C'est surement le problème que tu as rencontré

    J'espère avoir été clair

  3. #3
    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
    pour info, lire la note : 121732.1

    Concernant l'erreur : ORA-01114: IO error writing block to file..

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut Re: [9i] Quel utilisateur augmente le fichier temporaire?
    Citation Envoyé par u_roisin
    [Version Oracle 9i]
    Comment savoir quel utilisateur vient grossir le fichier temporaire ?
    Le mois dernier ce fichier occupait tout l’espace disque restant.
    Je surveille désormais la taille de ce fichier. Il n’augmente pas fréquemment de volume.
    Je recherche donc une trace dans les tables Oracle qui me dirait la session qui a fait augmenter le volume du fichier temporaire.

    Pour info, je contrôle son volume avec la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select BYTES_USED,BYTES_FREE
     from V$TEMP_SPACE_HEADER
     where TABLESPACE_NAME  = ‘TEMP’;

    Le tablespace temp est utilisé pour faire des tris sur disque.
    Si tu veux savoir qui l'utilise, voici cette requette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select   se.osuser, se.username, se.sid,
             su.extents, su.blocks * to_number(rtrim(p.value)) as Space,
             tablespace
    from     v$sort_usage su, v$parameter p, v$session se
    where    p.name = 'db_block_size'
    and      su.session_addr = se.saddr
    order by se.username, se.sid
    qui est bien utile.

    A mon avis, ton TEMP doit être en auto_increase. Cela n'est pas génant, mais quand tu vois qu'il est plein, crée un deuxième temp et supprime le premier

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    La requête précédente me retourne :
    ... tout simplement parce qu’il faudrait que je lance cette requête quand le fichier temp grossit.
    Il faudrait donc que je déclenche la requête sur événement.
    Quelle est la meilleure solution ?

  6. #6
    Membre averti Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Points : 408
    Points
    408
    Par défaut
    Citation Envoyé par aline
    Le tablespace temp est utilisé pour faire des tris sur disque.
    Si tu veux savoir qui l'utilise, voici cette requette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select   se.osuser, se.username, se.sid,
             su.extents, su.blocks * to_number(rtrim(p.value)) as Space,
             tablespace
    from     v$sort_usage su, v$parameter p, v$session se
    where    p.name = 'db_block_size'
    and      su.session_addr = se.saddr
    order by se.username, se.sid
    qui est bien utile.
    Effectivement cette requete est bien utile mais moi j'aurais besoin d'un niveau global d'activité du temp. A priori mon appli crée des temporary CLOB et j'aimerais en voir l'impact. Quelqu'un à une idée ?

Discussions similaires

  1. [mysql 5] utilisation des tables temporaires
    Par gene69 dans le forum MySQL
    Réponses: 7
    Dernier message: 04/11/2010, 16h59
  2. Utilisation des tables temporaires avec une vue
    Par patic dans le forum Requêtes
    Réponses: 0
    Dernier message: 18/09/2009, 18h56
  3. Comment utiliser une table temporaire ?
    Par tibofo dans le forum Développement
    Réponses: 4
    Dernier message: 04/03/2009, 19h36
  4. Connaître l'utilisation d'un TBS temporaire
    Par farenheiit dans le forum Administration
    Réponses: 6
    Dernier message: 17/04/2008, 15h17
  5. [DBA] Supprimer Tbs temporaire
    Par vbcasimir dans le forum Oracle
    Réponses: 14
    Dernier message: 07/02/2006, 11h09

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