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 :

Grand Datafile ou plusieurs datafile


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant PLM-CAO
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant PLM-CAO

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Par défaut Grand Datafile ou plusieurs datafile
    Bonjour,

    Je débute dans Oracle, il faut bien commencer un jour.
    J'ai bien regarder les messages, mais je ne trouve pas de réponse claire sur le sujet.
    Voici le "detail" de l'installation.
    Oracle 9i installer sur un serveur Sun 880.
    La base Oracle se trouve sur une baie de disque.
    Espace disque alloué: 500 Go
    Aujourd'hui, les datafile créé ont une taille de 2 Go autoextend.
    Une fois que toute nos données seront rentrées, je pense que nous aurons un Datafile pour la tabespace idata de environ 4 Go.
    Qu'est-il mieu de faire:
    Un gros Datafile de 4 à 6 go autoextend?
    Ou plusieurs Datafile de 2 à 4 Go autoextend?

    Qu'est ce qui est plus rapide? En terme de requete utilisateur, accés à la donnée?

    Merci pour tout vos réponses et retour d'éxperience.

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut
    La seule contrainte que je connaisse sur ce sujet sont des contraintes imposées par l'OS.

    Avec la 10G tu peux créer des BIGFILE TABLESPACE (1 datafile énorme par tablespace), mais est ce que du coté OS ca pose pas de problemes ?!

    Personnellement je me limite a des fichiers de données de 2go pour le moment.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il y a aussi la taille du bitmap en entete de fichier qu'il ne faut pas négliger. Personnellement, je prèfère faire plusieurs fichiers, ne serait qu'en cas de restauration nécessaire

  4. #4
    Membre averti
    Homme Profil pro
    Consultant PLM-CAO
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant PLM-CAO

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Par défaut
    Citation Envoyé par guigui_cwoco
    La seule contrainte que je connaisse sur ce sujet sont des contraintes imposées par l'OS.
    Nous utilisons Solaris, et à ma connaissance, il n'y pas de limite. Pas comme Windows si mes connaissance sont a jours.

    Citation Envoyé par guigui_cwoco
    Avec la 10G tu peux créer des BIGFILE TABLESPACE (1 datafile énorme par tablespace), mais est ce que du coté OS ca pose pas de problemes ?!
    J'en entends beaucoup parler de la 10G. Mais ce n'est pas encore pour le moment, car l'appli qui utilise Oracle n'est pas encore avec la 10G.

    En faite je me pose toutes ces questions car aujourd'hui nous avons de gros soucis de lenteur dans nos requetes. En me prenant par la main (Car je n'ai aucune formation info, ou dba) et en fouillant, je me suis rendu compte que toutes les données utilisateurs allaient dans la table systeme et non dans la table idata. Je pense que vous serez tous d'accord avec moi, ce n'est pas une situation normale. J'ai beau vider, remplir, detruire et reremplir, rien n'y fait. C'est en fait mon dump qui mer... En faite l'histoire des données. Quand je créé une une nouvelle table c'est OK, mais pas pour les 450 tables déjà existant. Quelqu'un a du mer.. un moment donné chez nous, mais je ne vois vraiment pas comment. Donc le seul moyen que j'ai trouver aujourd'hui pour m'en sortir, c'est de faire une base (ou instance) temporaire, importer un dump, jouer un sql pour passer les tables de system a data tout en "rebuildant" des index, d'en faire un dump puis de l'importer de nouveau dans la base pour voir si tout ce passe bien.

    Pour info, voici d'ailleurs le petit sql que je joue (a faire pour toute les table).

    ALTER INDEX "USER"."TABLE"
    REBUILD
    TABLESPACE "IDATA";
    ALTER INDEX "USER"."INDEX_TABLE"
    REBUILD
    TABLESPACE "IDATA";
    ALTER TABLE "USER"."TABLE"
    MOVE TABLESPACE "IDATA";
    ALTER INDEX "USER"."INDEX_TABLE"
    REBUILD
    TABLESPACE "INDX";
    ALTER INDEX "USER"."TABLE"
    REBUILD
    TABLESPACE "INDX";

    Si l'un d'entre vous a une autre idée, je suis preneur.

    En ce qui concerne les taille, je vais rester comme aujourd'hui, des datafile de 2Go autoextend, et l'orqu'elle seront au alentour des 3Go, je créerai un nouveau datafile.

    Citation Envoyé par Fred_D
    il y a aussi la taille du bitmap en entete de fichier qu'il ne faut pas négliger. Personnellement, je prèfère faire plusieurs fichiers, ne serait qu'en cas de restauration nécessaire
    Peux-tu m'en dire plus ou me donner un lien pour les bitmap!
    Je ne voie pas du tout ce que tu veux dire par la.

    Merci.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    en locally managed les extents sont gérés dans l'entête de fichier plutôt que le dictionnaire et en ASSM c'est les FREELIST qui sont également gérés dans le fichier. Ainsi, avec un seul fichier énorme tu déplaces la contention du dictionnaire dans l'entête de fichier et ne bénéficie ainsi pas des avantages du LMT.

    D'ailleurs, Oracle a inventer le BIGFILE pour pallier à ces contentions

    A proos du bitmap : http://www.freelists.org/archives/or.../msg00625.html

  6. #6
    Membre averti
    Homme Profil pro
    Consultant PLM-CAO
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant PLM-CAO

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Par défaut
    Citation Envoyé par Fred_D
    en locally managed les extents sont gérés dans l'entête de fichier plutôt que le dictionnaire et en ASSM c'est les FREELIST qui sont également gérés dans le fichier. Ainsi, avec un seul fichier énorme tu déplaces la contention du dictionnaire dans l'entête de fichier et ne bénéficie ainsi pas des avantages du LMT.

    D'ailleurs, Oracle a inventer le BIGFILE pour pallier à ces contentions
    Je sens que j'ai encore des terme a acquerir:
    locally managed, dictionnaire pour oracle, ASSM, FREELIST, LMT.
    Mais bon, j'ai un bon challenge a relever. Apprendre a me servir d'Oracle sans avoir de formation. Je sens qu'il va encore falloir que je donne de ma personne. (J'ai l'habitude et je pense que je ne suis pas le seul)
    A propos, j'ai l'impression qu'il y a un probléme d'heure sur un serveur quelque part. Les messages on 1 heure de décallage.
    Merci pour le lien je vais regarder ca.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    ASSM = Automatic Segment Space Managment = parametre SEGMENT SPACE MANAGEMENT à AUTO dans la création du tablespace

    FREELIST = liste des blocks libres du tablespace c'est aussi un de ses paramètres

    LMT = Locally Managed Tablespace : http://oracle.developpez.com/guide/a...e/tablespaces/

    Vérifie ton profile pour le décalage de l'heure

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    FREELIST = liste des blocks libres du tablespace c'est aussi un de ses paramètres
    Je crois que les free lists gèrent plutôt l'espace libre à l'intérieur d'un segment d'après le Concepts Guide ici et.

  9. #9
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    En faite je me pose toutes ces questions car aujourd'hui nous avons de gros soucis de lenteur dans nos requetes. En me prenant par la main (Car je n'ai aucune formation info, ou dba) et en fouillant, je me suis rendu compte que toutes les données utilisateurs allaient dans la table systeme et non dans la table idata
    Le lien entre la localisation des objets dans un tablespace donné et les performances n'est pas forcément évident même s'il n'est pas recommendé d'utiliser le tablespace SYSTEM pour stocker des données applicatives. Il faudrait analyser en détail les performances des requêtes pour en savoir plus, par exemple avec la trace SQL et TKPROF.

    Pour créer les bons objets dans le bon tablespace, si vous avez accès à Metalink, consultez la note:

    Subject: Moving Tables Between Tablespaces Using EXPORT/IMPORT
    Doc ID: Note:1012307.6 Type: BULLETIN
    Last Revision Date: 25-OCT-2005
    Sinon donnez le plus de détails possible: ligne de commandes complètes des commandex exp/imp et caractéristiques des comptes utilisateurs propriétaires des objets dans les bases source et cible (tablespaces par défaut et quota sur tablespaces).

    NB: un tablespace est un groupe de fichier physiques de la base (datafiles). Ce n'est pas une table: une table est stockée physiquement dans un tablespace.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par pifor
    Je crois que les free lists gèrent plutôt l'espace libre à l'intérieur d'un segment d'après le Concepts Guide ici et.
    en effet, mais c'est paramétré au niveau du tablespace... je me suis mal exprimé

  11. #11
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par franchet
    Qu'est-il mieux de faire:
    Un gros Datafile de 4 à 6 go autoextend?
    Ou plusieurs Datafile de 2 à 4 Go autoextend?
    6Go ce n'est vraiment pas "gros". Ce qui compte, c'est les IO, si ton fichier de 6Go est strippé sur plusieurs disques, pas de problème.

    Oracle peut créer des fichiers de 32To avec des blocs 8k.

    NTFS avait une limite de 16To, mais d'après l'excellent article que Nicolas Gasparotto m'a un jour recommandé, Microsoft Storage: Fact and Fiction , la limite est de plusieurs Eo avec Win2K3SP1
    Comparé au système de fichier Microsoft FAT12 et ses 32Mo, c'est bien

    Concernant le backup, RMAN propose le blockrecovery.

    Concernant la maintenance, c'est génial avec bigfile, tu peux augmenter la taille du tablespace sans avoir à connaitre le nom du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter tablespace data01 resize 100G;
    alors pourquoi s'en priver

    la limite de 2G, qui date d'Oracle 7, n'a plus de raison d'être...

Discussions similaires

  1. Réduire la taille de plusieurs datafiles
    Par yaboki dans le forum Administration
    Réponses: 5
    Dernier message: 28/12/2012, 11h42
  2. Imprimer grande image sur plusieurs pages
    Par elaene dans le forum Windows Forms
    Réponses: 7
    Dernier message: 08/03/2012, 09h06
  3. Une grand table, ou plusieurs petites ?
    Par Equilibrius dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/09/2011, 15h25
  4. Decouper un datafiles en plusieurs petits
    Par loupin dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 17/06/2008, 11h17
  5. Quel choix faire entre datafile simple et datafile autoextent
    Par marvelromy dans le forum Administration
    Réponses: 10
    Dernier message: 31/01/2008, 18h46

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