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 :

Controler les tablespaces en autoextent


Sujet :

Administration Oracle

  1. #1
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut Controler les tablespaces en autoextent
    Bonjour,

    Je suis en Oracle 10GR2, cela fait un moment que je patoge. Tous nos tablespaces sont en autoextents, je voudrai écrire une procédure pour soulever des alertes pour chaque TBS dont la max_size est presque atteint.

    En vous remerciant,
    LBO72.

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Quel est le point qui vous pose problème ? Vous voulez une requête pour détecter les tablespaces presque pleins, ou une technique pour émettre une alerte ?
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Bonjour Pomalaix :-)
    Mon souci est le suivant :
    On a des traitements qui tournent le WE, et quand j'arrive le lundi certains traitements plantent sur l'erreur Oracle :
    ORA-01688: unable to extend table owner.matable by 8192 in tablespace Mon_TBS.
    Je voudrai faire des controles pour lever des alertes et éviter ces plantages.

    Encore merci,

    LBO72.

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par LBO72 Voir le message
    ...
    Je voudrai faire des controles pour lever des alertes et éviter ces plantages.
    Pas de souci, l'objectif final est clair depuis le début, ce qui ne l'est pas est de savoir dans quelle partie du processus vous avez besoin d'aide.

    Le plus simple à mon avis est d'utiliser Database Control.
    Les tablespaces sont automatiquement surveillés, avec, par défaut, un seuil d'avertissement à 85% de remplissage, et un seuil critique à 97%.
    S'il y a un dépassement, vous le verrez dans la page d'accueil de database control.

    Si en plus vous avez activé l'émission de notifications d'alertes, vous serez prévenu par messagerie lorsqu'une anomalie sera détectée, notamment ce problème d'espace.

    Si vous ne disposez pas du "diagnostic pack" (payant), les seuils d'avertissement ne sont pas traités, et il sera alors peut-être utile d'abaisser le seuil critique, pour être alerté assez tôt.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Merci pour ta réponse Maitre polamaix

    Je ne suis pas DBA de prod, je n'ai pas accés à la console. Je suis un pauvre DBAs études et je cherche, par mes propres moyens, à écrire une requête qui me fera ce travail.

    Cdlt,
    LBO72.

  6. #6
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Oh pardon, quelle bourde :-)

    Grand maitre pomalaix

  7. #7
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par LBO72 Voir le message
    ... je cherche, par mes propres moyens, à écrire une requête qui me fera ce travail.
    Merci pour cette précision, que j'essaye de vous faire cracher depuis le début !

    Cela dit, quelque chose n'est pas clair dans votre situation : soit il s'agit d'une base de prod, et dans ce cas c'est bien évidemment au DBA de prod de gérer les problèmes d'espace ; soit c'est une base de dev dont vous êtes responsable, et dans ce cas vous devez avoir les outils adaptés. Je rappelle que Database Control est un outil qui fait partie du produit de base Oracle Database. Vous pouvez donc l'utiliser "gratuitement", seuls les packs optionnels comme Diagnostic pack et Tuning pack exigent une licence complémentaire, mais ils ne sont pas nécessaires pour surveiller les tablespaces.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 72
    Points : 84
    Points
    84
    Par défaut
    Est-ce qu'un truc comme ça répond à ton besoin ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    select a.tablespace_name, a.taille_totale, b.taille_libre, round((b.taille_libre/a.taille_totale) * 100) pct_libre 
    from
    (select tablespace_name, sum(bytes)/1024/1024 taille_totale
    from dba_data_files
    group by tablespace_name) a,
    (select tablespace_name, sum(bytes)/1024/1024 taille_libre
    from dba_free_space
    group by tablespace_name) b
    where a.tablespace_name = b.tablespace_name

  9. #9
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par marsup077 Voir le message
    Est-ce qu'un truc comme ça répond à ton besoin ?
    Ca ne va pas convenir, car vous prenez en compte uniquement la taille réelle, et non la capacité d'autoextension.

    Voici ma proposition testée vite fait :
    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
    with
       libre as (select tablespace_name Nom_TBS,
                               trunc(sum(bytes)/1024/1024, 2) Mo_libres
                               from dba_free_space
                               group by tablespace_name),
       alloue as (select tablespace_name Nom_TBS,
                                       trunc(sum(bytes)/1024/1024, 2) Mo_TBS,
                                       trunc(sum(maxbytes)/1024/1024, 2) Mo_autoext,
                                       count(*) nb_fic
                               from dba_data_files
                               group by tablespace_name)
    select nom_tbs,
       nb_fic,
       mo_tbs,
       mo_libres,
       mo_autoext,
       trunc((mo_libres/mo_tbs)*100, 2) PCT_libre,
       trunc(((mo_libres + mo_autoext - mo_tbs)/mo_autoext)*100, 2) PCT_libre_autoext
    from alloue left outer join libre using (nom_tbs)
    order by nom_tbs;
    Et un résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    NOM_TBS                            NB_FIC     MO_TBS  MO_LIBRES MO_AUTOEXT  PCT_LIBRE PCT_LIBRE_AUTOEXT
    ------------------------------ ---------- ---------- ---------- ---------- ---------- -----------------
    EXAMPLE                                 1        100      22,62   32767,98      22,62             99,76
    SYSAUX                                  1        270       7,75   32767,98       2,87             99,19
    SYSTEM                                  1        550        5,5   32767,98          1             98,33
    TBSTEST                                 1         10        ,93         10        9,3               9,3
    UNDOTBS1                                1         30      17,25   32767,98       57,5             99,96
    USERS                                   1      56,25       1,25   32767,98       2,22             99,83
    Les deux dernières colonnes fournissent respectivement le pourcentage d'espace libre par rapport à la taille actuelle du tablespace, et par rapport à sa taille maximale possible compte-tenu de la limite d'autoextension en vigueur.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  10. #10
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Merci à vous tous ...
    Et merci au GRAND MAITRE pomalaix

    Cdlt,
    LBO72.

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

Discussions similaires

  1. controler les caractères présents dans un JTextField.
    Par heider dans le forum Composants
    Réponses: 5
    Dernier message: 26/12/2005, 12h24
  2. Controller les paquets UDP sortant .
    Par maxoudu328 dans le forum Web & réseau
    Réponses: 10
    Dernier message: 12/12/2005, 15h23
  3. Dépendances dans les tablespaces Oracle
    Par learn dans le forum Oracle
    Réponses: 5
    Dernier message: 17/10/2005, 22h19
  4. [MFC] Controler les splitter
    Par toune dans le forum MFC
    Réponses: 6
    Dernier message: 19/01/2005, 12h20
  5. [Oracle 8.0.5] EXP/IMP avec les tablespace
    Par bobunny dans le forum Import/Export
    Réponses: 3
    Dernier message: 19/10/2004, 14h33

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