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 :

IMP/EXP shcema 8i => 10g


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut IMP/EXP shcema 8i => 10g
    Bonjour,

    J'ai besoin d'exporter le schéma d'une base de données en 8i.

    L'export ce passe niquel.

    Par contre l'import rencontre quelques erreurs :

    IMP-00019: row rejected due to ORACLE error 12899
    IMP-00003: ORACLE error 12899 encountered
    ORA-12899: value too large for column "IMPLEX_GL"."S4T_ELMT"."ELMT_DESIGNATION" (actual: 51, maximum: 50)
    Et ceci pour pas mal de colonnes .. Je ne pense pas que redimensionner les colonnes a la main est une bonne idée.
    Que faire ?!

    Deuxieme solution :
    Touts ces objects sont créés par une application. Il est possible de re installer une base vierge avec l'application.
    A ce moment la il suffirait de re importer que les données (CONTENT=DATA_ONLY), mais apparement je ne peux utiliser IMPDP avec un dump de 8i ... donc bloqué.

    Des idées ?!

  2. #2
    Membre Expert Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Par défaut
    Comment se fait-il que la taille définie dans la source et dans la cible ne soit pas la même ?

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Quels sont les jeux de caractères de la base source et de la base cible ?

  4. #4
    Membre éprouvé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut
    Export file created by EXPORT:V08.01.07 via conventional path
    import done in US7ASCII character set and AL16UTF16 NCHAR character set
    import server uses AL32UTF8 character set (possible charset conversion)
    export client uses WE8ISO8859P1 character set (possible charset conversion)
    export server uses WE8ISO8859P1 NCHAR character set (possible ncharset conversion)
    Pas les memes jeux de caractères certes, mais conversion possible a priori ...

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Pouvez-vous donner le résultat de la requête sur les 2 bases
    de:

    SELECT * FROM NLS_DATABASE_PARAMETERS;
    Si la base cible est bien en AL32UTF8 (multi byte) et la base source est en WE8ISO8859P1 (single byte), il faut positionner NLS_LENGTH_SEMANTICS à CHAR au lieu de BYTE avant la création des objets dans la base cible(voir http://download-uk.oracle.com/docs/c....htm#sthref385

  6. #6
    Membre éprouvé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut
    EDIT :

    La base source (8i)
    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
     
    PARAMETER                      VALUE
    ------------------------------ --------------------------------
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CHARACTERSET               WE8ISO8859P1
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
     
    PARAMETER                      VALUE
    ------------------------------ --------------------------------
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZH:TZM
    NLS_DUAL_CURRENCY              $
    NLS_COMP                       BINARY
    NLS_NCHAR_CHARACTERSET         WE8ISO8859P1
    NLS_RDBMS_VERSION              8.1.7.0.0
    La base cible (10g)
    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
     
    PARAMETER                                VALUE
    ---------------------------------------- --------------------
    NLS_LANGUAGE                             AMERICAN
    NLS_TERRITORY                            AMERICA
    NLS_CURRENCY                             $
    NLS_ISO_CURRENCY                         AMERICA
    NLS_NUMERIC_CHARACTERS                   .,
    NLS_CHARACTERSET                         AL32UTF8
    NLS_CALENDAR                             GREGORIAN
    NLS_DATE_FORMAT                          DD-MON-RR
    NLS_DATE_LANGUAGE                        AMERICAN
    NLS_SORT                                 BINARY
    NLS_TIME_FORMAT                          HH.MI.SSXFF AM
     
    PARAMETER                                VALUE
    ---------------------------------------- --------------------
    NLS_TIMESTAMP_FORMAT                     DD-MON-RR HH.MI.SSXF
                                             F AM
     
    NLS_TIME_TZ_FORMAT                       HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT                  DD-MON-RR HH.MI.SSXF
                                             F AM TZR
     
    NLS_DUAL_CURRENCY                        $
    NLS_COMP                                 BINARY
    NLS_LENGTH_SEMANTICS                     BYTE
    NLS_NCHAR_CONV_EXCP                      FALSE
     
    PARAMETER                                VALUE
    ---------------------------------------- --------------------
    NLS_NCHAR_CHARACTERSET                   AL16UTF16
    NLS_RDBMS_VERSION                        10.2.0.1.0

  7. #7
    Membre éprouvé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut
    Citation Envoyé par pifor
    il faut positionner NLS_LENGTH_SEMANTICS à CHAR au lieu de BYTE avant la création des objets dans la base cible(voir http://download-uk.oracle.com/docs/c....htm#sthref385
    Apparement je n'arrive pas a changer la valeur, peut etre je m'y prends mal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL> select * from NLS_DATABASE_PARAMETERS where parameter = 'NLS_LENGTH_SEMANTICS';
     
    PARAMETER                                VALUE
    ---------------------------------------- --------------------
    NLS_LENGTH_SEMANTICS                     BYTE
     
    SQL>
    => j'ai redémarré mon instance avec le parametre bien positionné dans le pfile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [oracle@ateq-gl dbs]$ cat initateqora.ora | grep nls
    *.nls_length_semantics='CHAR'
    [oracle@ateq-gl dbs]$
    Evidemment avant ca j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alter system set NLS_LENGTH_SEMANTICS = CHAR scope = MEMORY;
    Rien n'y fais.

    D'apres la documentation, on peut le changer via ALTER SESSION, mais dans mon cas cela ne fonctionnera pas, puisque mon import (via IMP) se fera avec une nouvelle session ...


    Un peu d'infos avec Metalink a prendre en compte :

    The import utility uses a value of NLS_LENGTH_SEMANTICS from the export dump
    file, not from the target database settings.
    So you will likely run into errors like
    " ORA-01401: inserted value too large for column " during the import from a single
    byte characterset to an unicode database.
    If you want to migrate tables from BYTE to CHAR semantics using export/import
    you need to precreate the tables with the NLS_LENGTH_SEMANTICS set to CHAR and
    then import with IGNORE=Y.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. imp/exp oracle 9 avec un batch
    Par goodboy dans le forum Oracle
    Réponses: 4
    Dernier message: 20/03/2007, 20h19
  2. [Oracle 9i imp/exp] Erreur IMP-00093
    Par MAGNUM_HEAD dans le forum Oracle
    Réponses: 11
    Dernier message: 27/02/2007, 09h45
  3. erreur ORA-01452 suite imp/exp
    Par Eric BERNARD dans le forum Import/Export
    Réponses: 1
    Dernier message: 13/02/2007, 10h28
  4. Erreur IMP EXP
    Par LP-mpascolo dans le forum Import/Export
    Réponses: 25
    Dernier message: 21/12/2006, 11h15
  5. [IMP/EXP] Probleme d'index unique
    Par rours dans le forum Oracle
    Réponses: 17
    Dernier message: 18/05/2005, 15h37

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