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 :

[DBA] Calcul de volumétrie


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 11
    Par défaut [DBA] Calcul de volumétrie
    Bonjour

    Quelqu'un connait-il un moyen fiable de faire un bon dimensionnement de base oracle, connaissant la structure de la base (tables et typage des champs, indexs....) et le nombre d'enregistrements qui seront stockées (ces données sont-elles d'ailleurs suffisantes pour dimensionner la base)?

    Autre question : quelqu'un connait-il un moyen fiable (script ou requête) de calculer l'espace physique occupé par les données d'une base oracle (sans doute à partir des tailles des dbf et du nombre extents) ?
    De même pour le calcul de la quantité de données réellement stockées dans la base (en gros, le pourcentage réellement occupé par des données dans la base)?


    Merci beaucoup pour votre aide

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut
    Pour l'espace physique occupé tu fais la somme des fichiers de la vue DBA_DATA_FILES + DBA_TEMP_FILES + v$LOGFILE et v$LOG
    Tu peux aussi voir le volume d'archive généré dans V$ARCHIVED_LOG.

    Pour le volume réellement utilisé tu peux faire la somme des bytes dans DBA_SEGMENTS.
    Si tu as des statistiques et que tu veux la place réellement pris par les données sans les indexes, tu peux aussi regarder dans DBA_TABLES et faire la somme des blocks (x db_block_size).

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Par défaut
    En utilisant OraRep , tu peux avoir des rapports lisibles concernant l'utilisation de ta base. : http://www.izzysoft.de/software/
    Espace occupé par tablespace... et plein d'autres infos utiles
    L'installation est tres simple.
    La seule chose c'est qu'il faut fournir ds un des fichiers de config le mot de passe sys ( ce qui n'est pas tres 'propre', meme s'il ne fait que des select). Du coup j'ai créé un nouvel utilisateur en ne lui donnant accès qu'aux vues appelées. et c'est grace à cet utilisateur que sont générés les rapports...

  4. #4
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 11
    Par défaut
    Merci pour vos réponses. Je vais creuser dans cette direction.

    Et concernant une bonne méthode de dimensionnnement d'une base oracle (taille des dbf, nombre et taille des extents, taille des tablespace temp,taille de block), quelqu'un connait-il quelque chose d'intéressant (doc, méthodologie, tutorial, cas d'étude...) ?

    Merci encore pour votre aide

  5. #5
    Membre éclairé Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Par défaut
    Je vais me tenter une réponse. Je précise que je suis en cours de formation DBA 1er niveau en interne dans ma boîte et on a vu le chiffrage d'une base donc je vais essayer de ressortir cela.

    D'abord il faut calculer la taille de tes tables. Donc le nombre de colonnes/leur type/le nombre de lignes etc.

    La taille d'une ligne = taille colonne + taille de l'en-tête de la colonne.
    La taille de l'en-tête de la colonne : 1 (si < 255 octets) ou 3 (si >= 256 octets). (1 ou 3 quoi, je ne sais pas, extent ? si qq'un peut répondre ce serait sympa.).
    Taille d'une colonne = ça dépend du format :
    type CHAR(n) = n octets
    type VARCHAR2(n)= n octets maximum mais faut prendre la moyenne (un nom de famille est sur 32 mais sa taille en moyenne est 10 en france).
    type Number(n,p) = (n+1)/2 si négatif ou n/2 si positif
    type Date : 7 octets, 1 pr le siècle/année/mois/jour/heure/minute/seconde

    fois la probabilité que le champ soit rempli.

    Le PCTFREE (environ 10% de ton bloc).

    Le nombre de lignes dans la table estimé par le client.

    Somme de toutes les tables utilisateurs.

    +Table Space UNDO, TEMP, les indexes : environ 50% de la base.

    +la marge d'erreur, + les erreurs clients, +la prévision qu'elle grossise, +, + ...

    En gros c'est impossible de chiffrer, mais faut le faire. Donc bon courage.

  6. #6
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut Amc
    Si tu utilises AMC-DESIGNER, je crois me souvenir qu'il y a une fonction pour faire ça. Mais il ne faut pas oublier de remplir tous les champs "nombre de lignes" sur toutes les entités.

Discussions similaires

  1. calcul des volumes d'objet 3d
    Par the_king dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 26/01/2011, 19h32
  2. Aide pour requête calcul de volume
    Par deby23 dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 23/01/2008, 08h48
  3. Calcul du volume d'un polyèdre à trois plans de symétrie
    Par méphistopheles dans le forum Mathématiques
    Réponses: 9
    Dernier message: 11/05/2007, 19h22
  4. Réponses: 4
    Dernier message: 20/02/2006, 23h32
  5. [DBA] Calcul des Statistiques sans privilèges DBA
    Par Krashtest dans le forum Administration
    Réponses: 14
    Dernier message: 06/05/2004, 16h08

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