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

PL/SQL Oracle Discussion :

Export de schema (via plsql), comment faire ?


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier Avatar de souch
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2003
    Messages : 145
    Points : 124
    Points
    124
    Par défaut Export de schema (via plsql), comment faire ?
    Bonjour,
    je tente depuis quelques heure d'exporter un schema d'une base oracle 10g via une requette pl/sql, sans succès.
    J'ai créé a la base ma requette en prenant ce que me generait EnterpriseManager lors'on lui demande de faire une exportation (.dmp) de schema (avec seulement la structure), via EM ca fonctionne, mais pas moyen de le faire moi même (en passant par sqldeveloper).
    . Je me connecte en tant que SYSTEM (j'ai aussi essayé sous le user du schema, et en SYS as SYSDBA...).
    J'ai bien vu la doc sur ce même site, mais son application ne fonctionne pas... (dans mon cas).

    voici un exemple de ce que je tente de faire passer:

    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
     
    declare
      h1 NUMBER;
    begin
      h1 := dbms_datapump.open (operation => 'EXPORT', job_mode => 'SCHEMA', job_name => 'BACKUP_SCHEMAALPHA01', version => 'COMPATIBLE'); 
     
      dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', value => 'IN(''SCHEMAALPHA'')');  
      dbms_datapump.add_file(handle => h1, filename => 'EXPORT_SCHEMAALPHA.DMP', directory => 'DM_PMML_DIR', filetype => 1); 
      dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1); 
      dbms_datapump.data_filter(handle => h1, name => 'INCLUDE_ROWS', value => 0); 
      dbms_datapump.set_parameter(handle => h1, name => 'DATA_ACCESS_METHOD', value => 'AUTOMATIC'); 
     
      dbms_datapump.start_job(h1); 
      dbms_datapump.detach(handle => h1); 
    end;
    voici le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Error report:
    ORA-39002: opération non valide
    ORA-06512: à "SYS.DBMS_DATAPUMP", ligne 4001
    ORA-06512: à ligne 12
    39002. 00000 -  "invalid operation"
    *Cause:    The current API cannot be executed because of inconsistencies
               between the API and the current definition of the job.
               Subsequent messages supplied by DBMS_DATAPUMP.GET_STATUS
               will further describe the error.
    *Action:   Modify the API call to be consistent with the current job or
               redefine the job in a manner that will support the specified API.
    une idée pour me sauver ?

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Utilise DBMS_DATAPUMP.GET_STATUS pour lire l'erreur complète.

    Tu auras ainsi une piste pour trouver l'origine de ton problème.

  3. #3
    Membre du Club Avatar de lmartin
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Points : 68
    Points
    68
    Par défaut
    Vérifies que ton fichier EXPORT_SCHEMAALPHA.DMP n'est pas présent dans ton répertoire correspondant au directory passé en paramètre, il ne l'écrasera pas et te retourne l'erreur.
    Vérifie que ton directory est valide et correspond bien à un chemin de ton système d'exploitation.

    Après adaptation du directory et du schéma j'ai testé ton code et ça marche très bien chez moi.

Discussions similaires

  1. [AC-2007] API via Runtime, comment faire ?
    Par kan630 dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/10/2011, 13h54
  2. [Mail Via Sybase] Comment faire ?
    Par notalp dans le forum Sybase
    Réponses: 3
    Dernier message: 06/03/2009, 10h00
  3. Réponses: 3
    Dernier message: 27/07/2006, 09h17
  4. [SCHEMA]Comment faire un bon shema?
    Par zoltix dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 20/01/2006, 12h15
  5. [Export-import] Comment faire ?
    Par phil_ma dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 06/02/2005, 18h15

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