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 :

Erreur d'importation de base de données


Sujet :

Import/Export Oracle

  1. #1
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 343
    Points : 121
    Points
    121
    Par défaut Erreur d'importation de base de données
    Bonjour a tous ,

    j'ai tenter Aujourd'hui a importer un dump sur ma base , j'ai eu ces erreurs

    je ne sais pas si c'est ca correspond a un droit manquant ou a une autre erreur

    Pour info l'export a était faite en mode Full (Tout les schéma)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    expdp rds/rds@xxxxx full=Y  directory=DATAPUMPDIR dumpfile=xxxx.dmp logfile=xxxx.log
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Rapport d'erreur -
    ORA-39006: erreur interne
    ORA-06512: à "SYS.DBMS_DATAPUMP", ligne 7143
    ORA-06512: à "SYS.DBMS_SYS_ERROR", ligne 79
    ORA-06512: à "SYS.DBMS_DATAPUMP", ligne 4932
    ORA-06512: à "SYS.DBMS_DATAPUMP", ligne 7137
    ORA-06512: à ligne 7
    39006. 00000 - "internal error"
    *Cause: An unexpected error occurred while processing a Data Pump job.
    Subsequent messages supplied by DBMS_DATAPUMP.GET_STATUS
    will further describe the error.
    *Action: Contact Oracle Customer Support.
    merci pour vos aides

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Désolé mais ça sent mauvais : tu as une erreur interne et on te dit en plus de contacter le support... Ce serait bien que, si c'est possible, tu ouvres un ticket chez eux pour ne pas perdre de temps.
    ORA-39006: erreur interne
    *Action: Contact Oracle Customer Support.

    Maintenant, l'erreur dit que c'est dans le traitement du job qu'il y a un pb : tu as une base 12c, elle est en mode CDB ou non? Le user rds a bien tous les droits pour faire un export full : https://docs.oracle.com/database/121...E.htm#SUTIL807?
    Essaye de relancer ton job pour voir si la même erreur survient, peut-être qu'il y avait un pb de ressources mais je n'y crois pas trop.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    Tu parles d'import mais tu exécutes la commande expdp?
    Quelle est la version de la BDD? As-tu d'autres erreurs dans l'alert.log ?

  4. #4
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 343
    Points : 121
    Points
    121
    Par défaut
    En faite j'ai fait un full export for all schema sans error

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    expdp rds/rds@xxxxx full=Y  directory=DATAPUMPDIR dumpfile=xxxx.dmp logfile=xxxx.log
    l'Error c'est pendant l'importation

    faut-il faire enlever le filtre du schema vu que j'ai déjà fait un export full

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DECLARE
    hdnl NUMBER;
    BEGIN
    hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);
    DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'DUMP.DMP', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);
    DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''xxxxx'')');
    DBMS_DATAPUMP.START_JOB(hdnl);
    END;
    Images attachées Images attachées  

  5. #5
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Tu fais un expdp, pourquoi ne fais-tu pas aussi un impdp?
    Pas besoin de passer par DBMS_DATAPUMP, Oracle traduit les commadnes expdp et impdp en appels à DBMS_DATAPUMP : plus simple et moins risqué.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  6. #6
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 343
    Points : 121
    Points
    121
    Par défaut
    CAR je suis sur une instance RDS oracle

    l'outil sqlplus n'est pas dissponible , tout passe par SQLdevelloper

  7. #7
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Et sous SQL Developer il n'y a pas une fenêtre permettant de lancer une commande de l'OS, donc impdp plutôt que de faire du PL/SQL?

    Si tu ne trouves pas de solution avec DBMS_DATAPUMP, tu peux contourner le pb en lançant, via un job PL/SQL, la commande Linux impdp mais ce n'est pas forcément plus simple : http://dbaoraclesql.canalblog.com/ar.../37686089.html

    Voilà un script que j'avais exécuté il y quelques années; à adapter selon ton environnement bien sur.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    /* Script d'import d'une base de donnees dans une base cible : nom du fichier SQL_PUMP_IMP_DATABASE.sql. */
    set serveroutput on;
     
    DECLARE
      v_n_h1 NUMBER;               -- Data Pump job handle
      v_v_status VARCHAR2(20);
     
    BEGIN
    -- Creation du job d'import.
    v_n_h1 := DBMS_DATAPUMP.OPEN('IMPORT','FULL');
     
    -- Parametres disant quel est le fichier d'import a utiliser et ou il se trouve sur le serveur Unix : r?utilisation des parametres du script d'export.
    DBMS_DATAPUMP.ADD_FILE(v_n_h1,'deptpump_base.dmp','DIRPUMP');
     
    -- Lancement du job.
            DBMS_DATAPUMP.START_JOB(v_n_h1);
            DBMS_DATAPUMP.WAIT_FOR_JOB (v_n_h1, v_v_status);
     
    -- On indique que le job est termine et quel est son etat. On detache le handle du job.
      dbms_output.put_line('Job has completed');
      dbms_output.put_line('Final job state = ' || v_v_status);
    dbms_datapump.detach(v_n_h1);
    END;
    /
     
    Exécution avec 
    SQL> @SQL_PUMP_IMP_DATABASE
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  8. #8
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 343
    Points : 121
    Points
    121
    Par défaut
    une dernier question SVP cela t'il pause du problème si on fait l'import avec un compte sysdba

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Note:Do not start Export as SYSDBA, except at the request of Oracle technical support. SYSDBA is used internally and has specialized functions; its behavior is not the same as for general users.

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Il faut que tu utilises la procédure dbms_datapump.get_status pour essayer d'en savoir plus sur ton erreur interne. Tu peux t'inspirer de cette page:

    https://dbaharrison.blogspot.com/201...at-actual.html

    Il faut donc que tu ajoutes un bloc d'exception pour intercepter les erreurs et les afficher.

  10. #10
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 343
    Points : 121
    Points
    121
    Par défaut
    tu sais pas comment je peux ajoutée ce trace dans mon script car franchement dit j'ai jamais travailler sur oracle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DECLARE
    hdnl NUMBER;
    BEGIN
    hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null,version=>'COMPATIBLE');
    DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'DUMP.DMP', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file , reusefile => 1);
    DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''ATLOG'')');
    DBMS_DATAPUMP.START_JOB(hdnl);
    END;

  11. #11
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Un truc du genre:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    DECLARE
    hdnl NUMBER;
     l_last_job_state VARCHAR2(30) := 'UNDEFINED';
      l_job_state VARCHAR2(30) := 'UNDEFINED';
      l_sts  KU$_STATUS;
      v_logs ku$_LogEntry;
      v_row  PLS_INTEGER;
      v_job_state varchar2(4000);
     
    BEGIN
    hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null,version=>'COMPATIBLE');
    DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'DUMP.DMP', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file , reusefile => 1);
    DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''ATLOG'')');
     
    dbms_datapump.set_debug(debug_flags  => to_number('1FF0300',
                                                        'XXXXXXXXXXXXX'),
                              version_flag => 1);
     
    DBMS_DATAPUMP.START_JOB(hdnl);
     
     EXCEPTION
      WHEN OTHERS THEN
        dbms_datapump.get_status(NULL, 8, 0, v_job_state, l_sts);
        v_logs := l_sts.error;
     
        v_row := v_logs.FIRST;
        LOOP
          EXIT WHEN v_row IS NULL;
          dbms_output.put_line('logLineNumber=' || v_logs(v_row).logLineNumber);
          dbms_output.put_line('errorNumber=' || v_logs(v_row).errorNumber);
          dbms_output.put_line('LogText=' || v_logs(v_row).LogText);
          v_row := v_logs.NEXT(v_row);
        END LOOP;
        RAISE;
    END;
    N'oublie pas d'activer la sortie DBMS dans SQL Developer pour voir les erreurs.

  12. #12
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 343
    Points : 121
    Points
    121
    Par défaut
    j'ai activé la sortie DBMS dans SQL Developer et j'ai rien dans la fenêtre de sortie
    Images attachées Images attachées  

  13. #13
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 343
    Points : 121
    Points
    121
    Par défaut
    j'ai eu ce rapport d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Rapport d'erreur -
    ORA-06550: Ligne 11, colonne 84 :
    PLS-00201: l'identificateur 'IMPORT' doit être déclaré
    ORA-06550: Ligne 11, colonne 1 :
    PL/SQL: Statement ignored
    06550. 00000 -  "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:

Discussions similaires

  1. Importer une base de données de 21Mo
    Par prgasp77 dans le forum Outils
    Réponses: 12
    Dernier message: 17/01/2007, 22h05
  2. [Interbase]Importer une base de données MySQL
    Par gege2061 dans le forum Bases de données
    Réponses: 9
    Dernier message: 18/08/2006, 15h38
  3. Réponses: 6
    Dernier message: 09/06/2006, 12h17
  4. ERREUR DE CONNEXION à une base de donnée ACCESS protégée
    Par unionriton dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/05/2005, 09h35

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