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 :

Valeur par défaut d'un descriptif de colonne non exporté.


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2020
    Messages : 6
    Par défaut Valeur par défaut d'un descriptif de colonne non exporté.
    Bonjour,

    Lors de mon expdp les valeurs des métadata d'une colonne ex : Nom de la colonne 'HORODATAGE' de valeur par défault SYSDATE n'est pas exporté dans le dump, la valeur par défaut de la colonne 'HORODATAGE' est mise à NULL !

    La commande que je passe est du style :

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    expdp  \' / as sysdba \'   exclude=GRANT,STATISTICS schemas=${SCHEMASOURCE} logfile=${NOMEXPORT}.log COMPRESSION=ALL GRANTS=n directory=ASVDATAPUMP dumpfile=$NOMEXPORT  ;

    Qu'ai je oublié ?

    Merci.

    Smallone.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 175
    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 175
    Par défaut
    Bonjour,

    Quelle est ta version exacte de base de données? Quand tu dis "valeur par défault SYSDATE n'est pas exporté dans le dump", comment as-tu vérifié? As-tu lancé impdp en renseignant le paramètre SQLFILE pour voir quelle serait le DDL de la table en qestion?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2020
    Messages : 6
    Par défaut Valeur par défaut non exporté
    Re,

    J'ai fait un import limité à la production du fichier sql et quand je consulte ce fichier, lors de la création de ma table pour cette colonne 'HORODATAGE' j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE "EXTRACT"."CRN" 
        ("1er_champ"...   ,
         "HORODATAGE" DATE NOT NULL ENABLE,
         "autres champs"...)
    Alors qu'à l'origine le champ HORODATAGE de ma table CRN est créé comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE "EXTRACT"."CRN" 
        ("1er_champ"...   ,
         "HORODATAGE" DATE NOT NULL DEFAULT SYSDATE ENABLE,
         "autres champs"...)
    Je ne comprends pas pourquoi la structure des données n'est pas reprise dans l'export, le type est correct, le null, not null (nullable) est correct mais le data_default n'est pas repris !

    J'espère est clair.

    Smallone.

  4. #4
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    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 : 2 005
    Par défaut
    Et que donne la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * from V$VERSION;
    sur les DEUX bases?

    Peut-être que tu exportes d'une 11 ou d'une 12 vers une 10... c'est depuis la 11 que les colonnes peuvent avoir une valeur par défaut gérée comme une métadata : https://oracle-base.com/articles/12c...ncements-12cr1 : "Oracle 11g introduced the concept of metadata-only default values. Adding a NOT NULL column with a DEFAULT clause to an existing table involved just a metadata change, rather than a change to all the rows in the table. Queries of the new column were rewritten by the optimizer to make sure the result was consistent with the default definition."

    Bon, en te relisant, je ne pense pas que ce soit la bonne réponse mais donne nous le résultat des deux SELECTs.


    A propos, ceci est redondant

    Avant-dernier point : "J'ai fait un import limité à la production du fichier sql" et si tu faisais un export limité au .sql, est-ce que la colonne est correctement exportée? Ce qu'il faut isoler c'est si c'est l'export ou l'import qui pose pb.


    Dernier point : sur ta table "EXTRACT"."CRN" de la base source (et aussi sur la base cible, tiens, pourquoi pas), j'aimerais bien avoir l'ordre DDL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL> SET LONG 1000000
    SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','CRN','EXTRACT') from dual;

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 175
    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 175
    Par défaut
    Oui tu peux exécuter le dmbs_metadata.get_ddl pour être sûr parce que la syntaxe que tu as indiquée n'est pas valide (le DEFAULT doit se trouver avant la contrainte NOT NULL)

  6. #6
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    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 : 2 005
    Par défaut
    Citation Envoyé par vanagreg Voir le message
    Oui tu peux exécuter le dmbs_metadata.get_ddl pour être sûr parce que la syntaxe que tu as indiquée n'est pas valide (le DEFAULT doit se trouver avant la contrainte NOT NULL)
    Je me demandais surtout si la table incriminée n'avait pas des caractéristiques spéciales : table externe, table IOT...

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2020
    Messages : 6
    Par défaut Plus au boulot
    Hello,
    Je vous dis ça demain, je ne suis plus au boulot...
    Bonne soirée.

  8. #8
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Juste à titre de remarque (rien à voir avec votre problème), COMPRESSION=ALL exige d'avoir la licence pour la compression avancée.
    Si ce n'est pas le cas, vous risquez d'avoir des soucis en cas d'audit.

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/08/2007, 21h42
  2. valeur par défaut d'une colonne
    Par nabil148911 dans le forum Oracle
    Réponses: 5
    Dernier message: 06/08/2007, 15h52
  3. Trigger : Récupérer la valeur par défaut d'une colonne
    Par mcspr2002 dans le forum Administration
    Réponses: 5
    Dernier message: 12/01/2007, 13h53
  4. Supprimer une colonne avec valeurs par défaut
    Par SlashOwnsU dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/09/2006, 10h10
  5. Réponses: 2
    Dernier message: 06/07/2004, 17h46

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