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 lors de l'Import (écriture sur 2 tablespaces différents)


Sujet :

Import/Export Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 25
    Points
    25
    Par défaut Problème lors de l'Import (écriture sur 2 tablespaces différents)
    Bonjour,

    suite a un import je me retrouve avec cette erreur

    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
    IMP-00017: following statement failed with ORACLE error 1950:
     "CREATE TABLE "NEXANS_ED_TRANSLATION" ("OID" NUMBER(*,0), 
    "NX_LANG_ID" NUMBER(*,0), "NX_LANG_ED_NAME" VARCHAR2(255), 
    "NX_LANG_SUB_TITLE" VARCHAR2(255),NX_LANG_BODY_TEXT CLOB,
    "NX_LANG_TEXT" VARCHAR2(2000), "NX_LANG_KEYWORDS VARCHAR2(2000),
    "NX_LANG_QUICK_FACTS_1" VARCHAR2(80), "NX_LANG_QUICK_FACTS_2"
    VARCHAR2(80), "NX_LANG_QUICK_FACTS_3" VARCHAR2(80), 
    "NX_LANG_QUICK_FACTS_4" VARCHAR2(80), "NX_LANG_QUICK_FACTS_5 VARCHAR2(80), 
    "NX_LANG_QUICK_FACTS_6" VARCHAR2(80), "NX_LANG_QUICK_FACTS_7"
     VARCHAR2(80), "NX_LANG_QUICK_FACTS_8" VARCHAR2(80), 
    "NX_LANG_QUICK_FACTS_9" VARCHAR2(80), "NX_LANG_QUICK_FACTS_10" 
    VARCHAR2(80))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
    STORAGE(INITIAL 131072 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL 
    DEFAULT) TABLESPACE "TRESOPRP" LOGGING 
    NOCOMPRESS LOB ("NX_LANG_BODY_TEXT") STORE AS  (
    TABLESPACE "TRESOPRP" ENABLE STORAGE IN ROW CHUNK 
    8192 PCTVERSION 10 NOCACHE LOGGING  STORAGE(INITIAL 131072 
    FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"
    IMP-00003: ORACLE error 1950 encountered
    ORA-01950: no privileges on tablespace 'TRESOPRP'
    la commande que je lance est la suivante :

    imp system/sstmtrsp file=/oracle/backup/archives/tresomet/TRESOPRD.dmp log=/oracle/backup/archives/tresomet/import_tresoprd_show.log fromuser=tresoprp touser=tresoprd

    Mon problème est le suivant :
    -pourquoi veut-il ecrire sur le tablespace "TRESOPRP" qui appartient au user tresoprp et pas sur le tablespace "TRESOPRD" appartenant au user TRESOPRD ?

    Sachant que cette erreur n'apparait que 2 fois pour 2 tables qui ne "servent a rien" dixit l'administrateur du logiciel.
    Mais que pour les autres tables le changement de tablespace a bien lieu.

    Je précise que je débute en oracle, j'ai éplucher plusieurs fois les tutoriaux présents sur les sites.

    Merci de l'aide que vous m'avez déjà apporter via ce forum, et merci pour celle que vous m'apporterez.

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    L'import essaie d'abord d'importer les tables dans le tablespace dans lequel elles étaient sur la base depuis laquelle tu les as exportées. Et là ça plante car le user tresoprd n'a pas les droits suffisants sur le tablespace TRESOPRP

    Rajoute dans ta commande d'import "ignore=y" pour ignorer l'erreur, ca importera la table dans le tablespace par défaut de tresoprd
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    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
    Citation Envoyé par new_angel Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    IMP-00017: following statement failed with ORACLE error 1950:
     "CREATE TABLE "NEXANS_ED_TRANSLATION" ("OID" NUMBER(*,0), 
    "NX_LANG_ID" NUMBER(*,0), "NX_LANG_ED_NAME" VARCHAR2(255), 
    "NX_LANG_SUB_TITLE" VARCHAR2(255),NX_LANG_BODY_TEXT CLOB,
    ...
    LOB ("NX_LANG_BODY_TEXT") STORE AS  (
    TABLESPACE "TRESOPRP" ENABLE STORAGE IN ROW CHUNK 
    8192 PCTVERSION 10 NOCACHE LOGGING  STORAGE(INITIAL 131072 
    FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"
    IMP-00003: ORACLE error 1950 encountered
    ORA-01950: no privileges on tablespace 'TRESOPRP'
    -pourquoi veut-il ecrire sur le tablespace "TRESOPRP" qui appartient au user tresoprp et pas sur le tablespace "TRESOPRD" appartenant au user TRESOPRD ?

    Sachant que cette erreur n'apparait que 2 fois pour 2 tables qui ne "servent a rien" dixit l'administrateur du logiciel.
    Mais que pour les autres tables le changement de tablespace a bien lieu.
    Bonjour

    C'est le problème classique des tables multi-segments.
    Votre colonne NX_LANG_BODY_TEXT est un CLOB, qui est stocké dans un segment séparé de celui des autres colonnes de votre table.
    A la source, la table était stockée dans le tablespace TRESOPRP, de même que le segment de stockage du CLOB.
    A l'import, comme le tablespace TRESOPRP n'existe pas (ou que TRESORPRD n'a pas de quota dessus), c'est le tablespace par défaut de TRESORPRD qui est pris en compte, mais uniquement pour le segment principal de la table.
    Pour les autres segments de la table, c'est toujours le tablespace d'origine qui cherche à être utilisé, l'import étant fait comme ça.

    Dans votre cas, la solution consiste à créer préalablement les tables contenant des LOBS, et à faire l'import avec IGNORE=YES.
    Mais attention, il ne faut pas se louper : si pour une raison quelconque vous devez faire l'import 2 fois de suite avec IGNORE=YES, vous risquez de doublonner toutes vos données.
    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

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Merci pour vos réponses

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

Discussions similaires

  1. Problème lors d'un import de table
    Par niavlys77 dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/09/2007, 13h59
  2. Réponses: 4
    Dernier message: 04/04/2007, 07h46
  3. Problème lors de l'import d'une dll native.
    Par -Jolan- dans le forum C++/CLI
    Réponses: 4
    Dernier message: 21/02/2007, 12h18
  4. Problème lors de l'import de Oracle 9i à XE
    Par cedrich dans le forum Oracle
    Réponses: 7
    Dernier message: 29/09/2006, 16h16
  5. Réponses: 2
    Dernier message: 28/10/2005, 20h43

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