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

Import/Export Oracle Discussion :

Import très long - comment optimiser


Sujet :

Import/Export Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Import très long - comment optimiser
    Bonjour,

    Je recherche des infos sur les optimisations possibles lors de l'import d'une table en ORACLE 10G. (reorganisation offline)

    Voici en gros ma procédure : table BALDAT (12 Go)

    1er ) EXPORT
    Création des 3 DDL lors de l'export de la table :

    table seule :
    nohup brspace -c force -f tbreorg -s PSAPBTABD -t "BALDAT" -n PSAPUSEREORI -d only_tab &

    index seul :
    nohup brspace -c force -f tbreorg -s PSAPBTABD -t "BALDAT" -n PSAPUSEREORI -d only_ind &

    contraintes :
    nohup brspace -c force -f tbreorg -s PSAPBTABD -t "BALDAT" -n PSAPUSEREORI -d only_dep &

    et l'export proprement dit :
    brspace -c force -f tbexport -f -s PSAPBTABD -u /oracle/PRP/sapdata25/reorg -t "BALDAT" -r yes -i no -c no -g no -e no -b 1024000000
    durée de l'export 17 mn.

    2eme ) DROP TABLE et index

    3eme ) IMPORT
    a) Executer la 1ere DDL après modif
    création de la structure de la table

    b) modifier le parfile.exp lors de l'export
    full=y
    rows=y
    indexes=n
    constraints=n
    feedback=10000
    grants=n
    buffer=204800000
    commit=y
    ignore=y
    statistics=none
    file=/oracle/PRP/sapdata25/reorg/secojczy.edd/expdat.dmp
    filesize=20000MB
    tables=('"SAPR3"."BALDAT"')
    log=/oracle/PRP/sapreorg/import_BALDAT.log

    c) Mettre la table en nologging parallel

    D) Import de la table
    imp system/password PARFILE=parfile.exp
    durée de l'import 7h00

    E) Remettre la table en logging noparallel

    F) Executer la 2ere DDL après modif
    Création de l'index

    F) Executer la 3ere DDL
    Création des contraintes

    Je n'ai pas de souci réel, juste un problème de temps d'exécution de l'import, car j'ai pris une petite table afin de valider mes commandes.

    Je suis preneurs sur la manière d'optimiser cette reorg offline d'une table car je vais devoirs attaquer des tables de plus de 80 Go ^^

    J'ai recherche sur les DBWRITER mais j'ai 4 cpu et 3 DBWR donc pas de probleme à ce niveau...d'autres pistes peut-être ???

    Merci à tous pour vos retours d'expériences à ce sujet...

    Cordialement,
    Stanwill

  2. #2
    Invité
    Invité(e)
    Par défaut
    En 10g, utilise data pump déjà au lieu du vieil export / import.
    Les différences de temps sont non négligeables !
    Et regarde ensuite le paramètre Parallel
    Dernière modification par Invité ; 16/02/2010 à 16h38.

  3. #3
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Merci beaucoup pour la reponse, je viens de voir la doc sur l'utilisation du package datapump.

    Petite question : sur mon systeme j'ai
    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
     
    SQL> select * from dba_directories;
     
    OWNER                          DIRECTORY_NAME
    ------------------------------ ------------------------------
    DIRECTORY_PATH
    --------------------------------------------------------------------------------
    SYS                            DATA_PUMP_DIR
    /oracle/PRP/102_64/rdbms/log/
     
    SYS                            ORACLE_OCM_CONFIG_DIR
    /oracle/PRP/102_64/ccr/state
     
     
    SQL>
    Est-ce que le parametre DATA_PUMP_DIR est l'équivalent du parametre
    DATAPUMP notifier dans la documentation, ou faut-il par securité créer le parametre DATAPUMP avec un chemin spécifique ayant également les bons droits ?

    Merci encore

    Stanwill

  4. #4
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Et oui encore une petite question au niveau du paramètre oracle, dans l'ancienne méthode j'initialise le paramètre :
    parallel_automatic_tuning=true scope=spfile;

    Merci de me dire si ce paramètre est toujours d'actualité, afin de le mettre dans ma procédure, et comment dire dans la commande d'import / export que c'est oracle qui va gérer automatiquement le parallel car dans les exemples de commandes c'est toujours précisé en nombre :

    expdp user/password tables=sapr3."BALDAT" DIRECTORY=datapump DUMPFILE=baldat.dump LOGFILE=baldat.log parallel=2

    Peut-on mettre en fin de commande juste "parallel" sans préciser le nombre ??

    Cordialement,
    Stanwill

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Stanwill Voir le message
    Est-ce que le parametre DATA_PUMP_DIR est l'équivalent du parametre
    DATAPUMP notifier dans la documentation, ou faut-il par securité créer le parametre DATAPUMP avec un chemin spécifique ayant également les bons droits ?
    Ce sont deux directory oracle différent.
    Mais le mieux pour faire de l'export est de créer son propre directory pour pouvoir le gérer proprement au niveau des droits.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Stanwill Voir le message
    Peut-on mettre en fin de commande juste "parallel" sans préciser le nombre ??
    Non.

    Pour savoir quoi mettre :
    http://www.oracle.com/technology/pro...p_datapump.pdf

    http://www.stanford.edu/dept/itss/do...25/dp_perf.htm

  7. #7
    Membre averti Avatar de voran
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 242
    Points : 346
    Points
    346
    Par défaut
    Citation Envoyé par Stanwill Voir le message
    Peut-on mettre en fin de commande juste "parallel" sans préciser le nombre ??

    Stanwill
    Hello,

    Juste une petite remarque, s'il ne s'agit pas d'une édition Enterprise, le paramètre parallel est limité à 1.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/10/2008, 09h46
  2. Export/import très long
    Par Daily dans le forum Administration
    Réponses: 18
    Dernier message: 25/12/2007, 16h23
  3. Réponses: 5
    Dernier message: 20/11/2007, 08h48
  4. Très lent comment optimiser svp ?
    Par dev7 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 02/06/2006, 12h16
  5. Très long texte dans Quick Report - Comment faire ?
    Par delphi+ dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/08/2005, 22h18

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