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 :

[Imp] import bloqué


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut [Imp] import bloqué
    Bonjour a tous,

    je sollicite vivement votre aide car j'ai passé des heures à tout tester mais sans succés.

    Je travail sur un batch permettant d'exporter 2 tables d'un serveur à un autres...

    Mon batch fonctionne, sauf l'import qui après avoir importé les données il se bloque, le curseur clignote mais plus rien
    (il s'arrête juste avant d'afficher: "Le processus c'est terminé avec succés")

    J'ai testé plusieurs fois en ligne de commande. PAREIL !
    En exportant et important sur un autre USER. PAREIL !

    Il ne dois pas ce terminé avec succés, je suposse, mais comment faire ?

    Merci d'anvance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour ,
    est ce que tu peux coller les commandes d'import et d'export ?
    Est ce que tu as déja essayé de voir ce que faisait la connection dans la vue v$session_wait ?

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Export:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp USER/PSW@BDD file=c:\repertoire\exportBUE_USER_BDD_DATE_HEURE.dmp log=c:\repertoire\export_BUE_USER_BDD_DATE_HEURE.log tables=(BUE_ABO, BUE_ABT) feedback=1000 rows=y recordlength=65535 indexes=n
    Je deplace c fichier sur l'autre serveur.
    Puis, je renomme mes tables (sauvegarde)

    Import:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imp user/psw@bdd file=c:\repertoir\exportBUE_USER_BDD_DATE_HEURE.dmp log=c:\repertoire\import_BUE_USER_BDD_DATE_HEURE.log feedback=1000 rows=y indexes=n FULL=y buffer=10240 commit=y
    J'ai regardé v$session_wait mais rien ne ce passe quand je lance mon batch !

  4. #4
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    essaye de mettre dans la commande d'import suivant la volumétrie, il est peut-être "bloqué" en train de refaire les stats...

  5. #5
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    Aussi, je ne connais pas la configuration et les perfs de ta machine, mais tu as un buffer assez petit et avec le commit=y il va y avoir des commits très souvent... surveille les contentions au niveau des redo logs...

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Tout d'abord merci de m'aider,

    L'objectif de mes paramètes est d'optimiser l'import/export car j'ai entre 10 000 lignes à 400 000 lignes. Donc diviser l'import en plusieurs fois ! D'où mon utilisation du buffer.

    Mais je ne suis pas expert en la matière et malgrès les tutoriaux que j'ai trouvé expliquant comment calculer le buffer je n'ai pas compris et mis une valeurs aléatoire!

    Quand au paramètre que tu me propose de rajouter 'statistics' tu dois vouloir parlé de 'analyze' ?
    Si oui, j'ai testé, mais sans succés.

  7. #7
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    oui, Statistics ou Analyze ça dépend des versions (d'ailleur tu es sur laquelle ?)...

    sinon essaye peut-être d'enlever la clause commit=y elle peut générer trop de redo.
    ou si tu préfère la garder, essaye avec un buffer plus gros, genre 512k (524288).
    Un autre détail, les synonymes et autres droits peuvent être assez long à importer/recréer pour peu qu'ils touchent un grand nombre de user...
    alors tu peux essayer de faire ton import avec grants=n. Mais là bien sûr tu devras gérer les droit par la suite...
    donc si cet import est juste du stockage pas de problème... mais si c'est dans un but applicatif...

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    J'ai testé en enlevent la clause commit.
    J'ai testé avec grant=n.
    Mais si quelqu'un à encore des suggestions, je suis preneur.

    Aussi, je precise certaines chose :
    -Version Oracle: 8.5
    -les données sont importé (présente dans les tables) mais le processus d'import ne se termine pas.
    Et puis j'ai constaté une chose bizard : j'ai plus de ligne importé que dans le dump ???
    -J'ai testé également avec une table qui ne contient pas bcp de lignes, resultat identique !

  9. #9
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    alors est-ce par hasard tes tables cibes ne serait pas vide ?
    et/ou auraient des contrainte et/ou triggers qui seraient actifs ?
    rien de tel pour casser des perf :
    si tu as un trigger sur l'insert "for each row" et que tu import 400000 lignes, et bien il va se déclencher 400000 fois ! et suivant le traitement contenu dans le trigger, bonjour le sport !
    Idem pour les contraintes, si tu as une clefs étrangère activée dans la table cible, chaque row importé vas être vérifié en regard de la table parente !
    vérifie ces points !

  10. #10
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Sous Oracle, il n'y a que 2 types de blocage : un verrous, ou un problème de saturation d'espace archive_log_dest.

    Il faudrait donc vérifier au niveau des locks.

    Mais si c'est toujours au même endroit, je pencherai plutôt pour une lourde recompilation des objets.

    Vous devriez observer les requêtes exécutées par l'import, et éventuellement si elles ne sont pas passés en long_ops...

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Dans mes tables je n'ai ni procédures stockée ni triggers.

    Au début je croyais que c'était un problème de performance mais je me suis apercus que même sur une table d'une quarantaine de lignes, le problème est le même.

    Pour "un verrous, ou un problème de saturation d'espace archive_log_dest ",
    Ni même :"observer les requêtes exécutées par l'import, et éventuellement si elles ne sont pas passés en long_ops"

    je ne sais pas où trouver ceci !
    Peux tu me le dire ?

    merci

  12. #12
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Je viens de testé mon import avec le paramètre show=y et je me suis apercus qu' après le script de création de chaque table, comme ci dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Import d'objets BIDUL dans BIDUL
    "CREATE TABLE "NOMTABLE"..."
    ... TABLESPACE "...."
    il ecrit ! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table "NOMTABLE"               ignorée
    Et il ne ce bloque pas !

    Maintenant la question est pourquoi ?

  13. #13
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Tu ajoute à ton import la clause

  14. #14
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Bon désolé pour l'idiosie que j'ai écris juste avant càd pour : 'table ignorée'.

    Car il ne fait qu'afficher la structure des tables et donc ne plante pas !!!

    Je pourrais donc en conclure (logiquement) que le ploblème viens du nombre important de données mais le problème c'est que même si j'import qu'une table avec de peu de donnée le problème est le même !

    Je ne comprend vraiment pas !

    Aidez-moi, SVP !
    C'est devenue une question de vie ou de mort.
    Je rigole, mais c'est qd mm une histoire a ce tirer une balle !

    Merci qd mm

  15. #15
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    Re...
    est-ce que la base est en mode ArchiveLog ?
    si oui quelle est la taille des redo logs ?
    parce que si tu as des très petits redo qui doivent s'archiver en permanence à cause des inserts de l'import, ça peut être une cause....

    essaye aussi la clause compile=n pour voir si la perte de temps peut être liée à la recompilation d'objets du schéma...
    mais du coup je ne sais plus si ce paramètre est dispo avec ta version...

  16. #16
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Yorglaa,

    Re...
    Pour "un verrous, ou un problème de saturation d'espace archive_log_dest ",
    Ni même :"observer les requêtes exécutées par l'import, et éventuellement si elles ne sont pas passés en long_ops"

    je ne sais pas où trouver ceci !
    Peux tu me le dire ?
    En bref où puis je trouver le mode ArchiveLog ainsi que les redo ?
    Je ne sais pas de quoi tu parle, désolé !

  17. #17
    Membre chevronné Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 149
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 149
    Points : 2 044
    Points
    2 044
    Par défaut
    Citation Envoyé par ludvax
    où puis je trouver le mode ArchiveLog
    a lire : http://www.cuddletech.com/articles/oracle/node58.html

  18. #18
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour ,

    Archive log mode et les fichiers
    REDO

  19. #19
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Quand je teste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT name, log_mode FROM v$database;
    SELECT archiver FROM v$instance;
    J'ai le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    NAMEL     LOG_MODEx   
    --------- ------------
    "Nom_Service"     NOARCHIVELOG 
    1 row selected.
     
    ARCHIVE
    -------
    STOPPED

    Et pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT groups, current_group#, sequence# FROM v$thread;

    J'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        GROUPS CURRENT_GROUP#  SEQUENCE#
    ---------- -------------- ----------
             3              3        100
     
    1 row selected.
    Voilà, si toi ca te parle parce que moi non !
    Je pense que "NOARCHIVELOG" n'ai pas normal (???) mais ce ne doit pas être le problème parce que l'import a fonctionné plus d'une fois avant cela.

  20. #20
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 16
    Points
    16
    Par défaut
    Bon apparement j'ai un truc pas normal quand j'execute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT group#, sequence#, bytes, members, status FROM v$log;
    Puisque j'obtiens un statut CURRENT du dernier log :

    GROUP# SEQUENCE# BYTES MEMBERS STATUS
    ---------- ---------- ---------- ---------- ----------------
    1 98 52428800 1 INACTIVE
    2 99 52428800 1 INACTIVE
    3 100 52428800 1 CURRENT
    Le problème viens peu être de là ?
    Quand pensez vous ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. IMP - Import de partitions mises-à-jours
    Par JahPil78 dans le forum Import/Export
    Réponses: 8
    Dernier message: 09/07/2007, 11h16
  2. [Imp]"unique constraint violated" sur un import
    Par u_roisin dans le forum Oracle
    Réponses: 10
    Dernier message: 16/02/2006, 11h55
  3. [Imp]Estimation de la durée d'import
    Par Débéa dans le forum Oracle
    Réponses: 3
    Dernier message: 30/01/2006, 13h02
  4. oracle 8 import et imp
    Par otb82 dans le forum Import/Export
    Réponses: 2
    Dernier message: 20/01/2006, 11h15
  5. [IMPORT]Erreur IMP-00009
    Par syl2095 dans le forum Oracle
    Réponses: 8
    Dernier message: 20/12/2005, 11h40

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