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 :

Problème d'import sur 11gR2


Sujet :

Import/Export Oracle

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Points : 106
    Points
    106
    Par défaut Problème d'import sur 11gR2
    Bonjour,
    J'ai exporté des bases de données 9i.0.2 et 11gR1 (sous environnement 32 bits) et j'importe dans 11gR2 64 bits (sous windows 7 64 bits). Les bases ont été exporté avec le jeux de caractère WE8MSWIN1252 et le jeu NCHAR AL16UTF16 et serveur d'import utilise le jeu de caractères AL32UTF8.

    Lors de l'import la taille des chaînes de caractère est augmentée de 1 pour les CHAR et de 1 jusqu'à 5 pour les VARCHAR. Ce qui produit les erreures suivantes :

    IMP-00019: ligne rejetée en raison de l'erreur ORACLE 12899
    IMP-00003: Erreur ORACLE 12899 rencontrée
    ORA-12899: valeur trop grande pour la colonne "ACCESSMODE"."NAME" (réelle : 51, maximum : 50)
    ou

    IMP-00019: ligne rejetée en raison de l'erreur ORACLE 12899
    IMP-00003: Erreur ORACLE 12899 rencontrée
    ORA-12899: valeur trop grande pour la colonne "AUDITTRACK"."TRANSACTION" (réelle : 2005, maximum : 2000)
    ou

    IMP-00019: ligne rejetée en raison de l'erreur ORACLE 12899
    IMP-00003: Erreur ORACLE 12899 rencontrée
    ORA-12899: valeur trop grande pour la colonne "AUDITTRACK"."TRANSACTION" (réelle : 2003, maximum : 2000)
    Je ne sais pas s'il y a des options d'import permettant de resoudre ce problème.
    Merci d'avance pour tout aide.

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    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 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Eh oui, c'est un grand classique de la conversion vers unicode : l'équivalence 1 caractère --> 1 octet n'est plus valable, et du coup certaines valeurs ne logent plus dans la colonne.

    Vous pouvez vous référer à cette discussion pour une solution :
    http://www.developpez.net/forums/d77...tf/#post518265
    Elle repose sur le fait qu'on peut définir une colonne comme VARCHAR2(20 CHAR), c'est à dire qu'elle pourra accueillir 20 caractères même s'ils prennent plus d'un octet chacun.
    Si on se contente de dire VARCHAR2(20), c'est implicitement VARCHAR2(20 BYTES), à cause de la valeur par défaut du paramètre d'instance NLS_LENGTH_SEMANTICS.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Points : 106
    Points
    106
    Par défaut
    Merci pour ta réponse Pomalaix,

    J'ai regardé le lien que tu m'as envoyé on y traite uniquement des VARCHAR2 mais j'ai eu le même problème pour les CHAR je ne vois pas comment le resoudre.
    Je vais donc modifier toutes les colonnes VARCHAR2(n) en VARCHAR2(n CHAR), et si ça marche je transforme aussi toutes les colonnes CHAR2(n) en VARCHAR2(n CHAR)

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Si ça peut vous aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      select 'ALTER TABLE ' || owner || '.' || table_name || ' MODIFY(' ||
             column_name || ' ' || data_type || '(' || data_length || ' CHAR));' as req
        from dba_tab_columns
       where data_type in ('CHAR', 'VARCHAR2')
         and char_used = 'B'
         and owner = '<votre_user>'
    order by owner asc, table_name asc, column_id asc;

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Points : 106
    Points
    106
    Par défaut
    Merci Waldar pour la requête.
    Je l'avais déjà mais je ne savais pas que le Type CHAR acceptait la syntaxe CHAR(n CHAR)
    Je vais l'appliquer

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

Discussions similaires

  1. [AC-2007] Problème d'import sur base sécurisée
    Par pyloupylou dans le forum Sécurité
    Réponses: 6
    Dernier message: 05/10/2013, 18h26
  2. Problème d'importation sur psql
    Par salmahanae dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/07/2013, 14h31
  3. Problème d'import sur eclipse
    Par spax dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 31/07/2008, 10h12
  4. [BO XIR2] Problème d'importation sur BO
    Par perrine1985 dans le forum Designer
    Réponses: 2
    Dernier message: 25/03/2008, 16h42
  5. Réponses: 7
    Dernier message: 27/10/2006, 15h16

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