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 :

Optimiser la mémoire pour réduire le temp d'import [Fait]


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Bourak
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 231
    Par défaut Optimiser la mémoire pour réduire le temp d'import
    Bonjour,

    je travaille sur une base Oracle 9.2i hébergée sur un serveur Windows server 2003 avec 4Go de RAM.
    Sachant que un seul poste client est connecter à ce serveur.

    il y'a d'autre pc (Nommé Site) où installer Oracle mais n'ont pas connecter directement à ce serveur.

    Je fait à chaque fois l'importation des donnees exporter depuis les sites au serveur à l'aide des disques externes.


    voici qq paramètres au niveau mémoire de ma base (paramètre standard):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    db_cache_size : 24 Mo
    db_block_size : 8Ko
    shared_pool_size : 48 Mo
    java_pool:32 Mo
    large_pool : 8 Mo
    Mémoire PGA : 24 Mo
    Le problème c'est que l'import d'un fichier dmp du taille (2 go) au serveur reste plus de 2 heures.

    Comment règler la mémoire du base pour diminuer le temp d'import et merci.
    Remarque :J'utilise la methode Normale d'import
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imp System/pass@base file=c:\export.dmp fromuser=X touser=X

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 207
    Par défaut
    Tout dépends de la taille de ton dump !
    Combien de tables avec combien de ligne;
    Et combien de table avec des champs BLOB, CLOB; LONG

    Après ce dépend ce que tu fais avec ce serveur et combien de fois tu importe / exporte.
    Tu peux le programmer en travail de nuit comme ca les deux heures ne sont pas un pb.

    PAr rapport aux paramètre mémoire, je suppose que ce n'est pas une grosse base avec des applications importante dessus.

    Sinon je te conseille la doc oracle sur le sujet:
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch02.htm#1005322

    Laurent.

    My Oracle blog :http://lao-dba.over-blog.com/

  3. #3
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Pistes pour diminuer le temps de l'import :
    - augmenter le paramètre "buffer" (buffer=100000000 pour 100M par exemple)
    - ne pas importer les indexes et les recréer à la fin (indexes=n)
    - analyze=n
    - mettre temporairement la base en noarchivelog

    Cf tuto sur ce site
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  4. #4
    Membre éclairé Avatar de Bourak
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 231
    Par défaut
    Salut

    j'ai 34 table avec 2 tables contenant des champs de type blob et qui depassent presque 10000 lignes.
    L'import ce fait une fois par jour.
    Cette base à consommé presque 22 Go d'espace disque.

    Merci d'avance

  5. #5
    Membre éclairé Avatar de Bourak
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 231
    Par défaut
    J'ai essayer ces deux commandes :
    L'import devient un peu rapide , mais y'a til d'autres modifications à faire au niveau mémoire allouer à Oracle et pour augmenter la perfermance..

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 207
    Par défaut
    Le problème c'est que les tables avec des blobs sont traitées ligne à ligne.
    Maintenant 10000 ca me parait pas énorme.
    Qu'est ce tu appelle "un import qui dure" (30 minutes, 1 heure, plusieurs heures...)
    Qu'est ce que tu mets dans tes blob et est ce que par hasard tes colonnes blob ne sont pas indexés avec des indexes de type context ?

    La je deviens curieux, mais pourquoi un import quotidien ?

    va y franco sur le buffer: buffer=500000
    Laurent,

    My oracle blog => http://www.lao-dba.com

  7. #7
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Citation Envoyé par lallio Voir le message
    va y franco sur le buffer: buffer=500000
    Je suis même déjà monté à 100000000 (100 M) sans problèmes
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/02/2012, 15h45
  2. Réponses: 2
    Dernier message: 26/07/2011, 09h19
  3. [AC-97] Optimiser une requête pour diminuer le temps d'execution
    Par Milyshyn76 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 31/05/2010, 12h22
  4. Optimisation de la mémoire pour Oracle
    Par farenheiit dans le forum Administration
    Réponses: 25
    Dernier message: 14/01/2008, 13h47
  5. Réponses: 6
    Dernier message: 23/02/2007, 21h20

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