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

Oracle Discussion :

[oracle 9i]à[oracle 10g] [Import] tablespace different


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 26
    Points
    26
    Par défaut [oracle 9i]à[oracle 10g] [Import] tablespace different
    Bonjour à tous,

    Voila j'essaye d'installer une aplli web open source ( Liferay pour ceux qui connaisent).
    Et l'installation sous oracle est un peu artisanale, car pour la creation de la base de donnée, il fournissent un dump. Mais le hic, c'est que tous les objet du user par defaut sont créer dans le tablespace system.

    Donc j'ai creer une nouvelle base avec un nouveau user, au quel j'ai affecté un nouveau tablespace permanent et un nouveau tablespace temporaire.

    Et j'ai fais un import from user to user, mais les objets du user (table,index....) se mettent quand meme dans le tablespace system.

    Y a t il un moyen, pour lui dire à l'import d'utiliser les nouveaux tablespaces et pas ceux de l'export ?

    Merci

  2. #2
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    D'après: http://asktom.oracle.com/pls/ask/f?p...56550761666574

    il est possible de contourner ce problème en créant d'abord les objets avant d'importer les données:


    1. imp indexfile=ddl.sql ... => ddl.sql contient le DDL de l'export, rien n'est fait dans la base
    2. Modifier ddl.sql pour utiliser le bon tablespace dans tous les objets
    4. Executer ddl.sql pour créer les objects
    3. imp ignore=Y ... pour importer les données en ignorant les erreurs de création des objets.

  3. #3
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    Salut,
    tu peux aussi essayer de ne pas autoriser ton user à écrire dans le tablespace SYSTEM.
    Ce user, ne DOIT PAS avoir le rôle RESOURCE (qui donne les quotas illimités).
    1. tu donnes à ton User un quota illimité sur le Tablespace cible
    2. tu mets ce Tablespce en tant que Tablespce par défaut pour ce user
    3. tu lui enlève tout quota sur le Tbs system
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER USER MONUSER QUOTA 0 K ON SYSTEM
    4. tu importes...

    je n'ai jamais essayé "pour de bon" cette méthode, alors essaye d'abord en Test !
    Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

    Yorglaa

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Merci !

    je vais essayer les deux méthodes et je vous dis ce que ca donne dès que possible.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Cepandant 2 petites questions quand à la metode de pifor :

    Dans le DLL toutes les modifs sur des tables contenants 0 rows sont on rem , dois-je enlever les rem avant d'executer le DLL.sql ?

    Quand au 3) qui est apparement 4) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    3. imp ignore=Y ... pour importer les données en ignorant les erreurs de création des objets.
    si je comprend bien l'import dois ce faire depuis le dump d'origine avec un from user to user et c'est le fait d'avoir crée tout les objets dans le bon tablespace que mes donnée vont s'importer dedans :
    qu'est-ce qui va les empecher de retourner dans la tablespace system :

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    pifor

    Ca a marcher !!!

    Je comprends toujours pas pourquoi, mais ca a l'air de fonctionner.

    Au fait j'ai viré les rem dans le dll avant de l'executer.

    Plus qu'a tester l'autre methode par curiosité.

  7. #7
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Points : 741
    Points
    741
    Billets dans le blog
    1
    Par défaut
    bonjour,

    si tu crées les objets avant de les importer, oracle n' importe que les rows
    et donc ne crée pas d' objets, c' est pour cela qu' oracle ne mets rien dans le tbs system .

    personnellement j' utiliserais la méthode de yorglaa
    car le fichier indexfile est surtout là pour recréer les index apres un import, d'ailleurs je ne suis pas sur que tu aies par exemple les procs stockées dans ton indexfile .

    cdlt

  8. #8
    Nouveau membre du Club
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 26
    Points
    26
    Par défaut
    Malheuresement par manque de temps,

    Je n'ai pas essayé la méthode de yorglaa. Par contre le reste (procédure stockée ) n'est pas importé par l'import depuis le dump original ??
    Pour ma part cette methode à l'air de fonctionner.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Réponse à Yorgla
    Je viens d'essayer la méthode de Yorgla: Elle fonctionne très bien.

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

Discussions similaires

  1. [Aide]Sécurité Oracle version Oracle Database Express 10g
    Par frost80500 dans le forum Administration
    Réponses: 1
    Dernier message: 15/05/2008, 22h55
  2. Oracle 10G et tablespace
    Par Bruno2r dans le forum SQL
    Réponses: 42
    Dernier message: 14/11/2007, 14h46
  3. [Oracle 10G] Import/Export
    Par salsero1 dans le forum SQL
    Réponses: 2
    Dernier message: 25/07/2007, 09h30
  4. Oracle 10g et tablespace
    Par alfdev dans le forum Oracle
    Réponses: 3
    Dernier message: 21/09/2006, 17h21
  5. [10g] Importer base excel sous Oracle
    Par Le Mad dans le forum Oracle
    Réponses: 5
    Dernier message: 01/02/2006, 14h12

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