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

SQL Oracle Discussion :

Déplacer des tables d'un schéma à l'autre


Sujet :

SQL Oracle

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut Déplacer des tables d'un schéma à l'autre
    Bonjour,

    je désire déplacer certaines tables (elles sont au nombre de 300 environ) d'un schéma X vers un schéma Y dans ma BDD Oracle 10. J'ai trouvé la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE nom_table SET nom_schema;
    Quand j'exécute cette commande, j'ai le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> ALTER TABLE SYSTEM.MATABLE SET SCHEMA MONNEWSCHEMA;
    ALTER TABLE SYSTEM.MATABLE SET SCHEMA MONNEWSCHEMA
                                               *
    ERREUR à la ligne 1 :
    ORA-02000: mot-clé UNUSED absent
    Avez-vous une idée du problème ?
    Je googlise en parallèle mais ne trouve rien de concret pour le moment.

    Merci.

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    La doc oracle 10g http://download.oracle.com/docs/cd/B...htm#SQLRF01001 ne donne pas cette fonctionnalité.
    Par contre y'a le SET UNUSED COLUMN
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    Le SET UNUSED COLUMN ne correspond pas à mon besoin. Etrange qu'une fonctionnalité présente sous Oracle 8 (et 9 ?) et utile disparaisse ainsi. Je vais continuer de regarder du côté des ALTER SCHEMA pour voir si je peux trouver quelque chose.

    Dans le pire des cas, je ferai un export du user X vers Y et je supprimerai ce que j'aurai en trop mais ce n'est pas tip top comme méthode.

    Edit : A noter que les 2 schémas sont dans des tablespaces différents. Est-ce-que le fait de les changer de tablespace suffirait à mon bonheur (j'en doute)

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par tck-lt Voir le message
    ..Etrange qu'une fonctionnalité présente sous Oracle 8 (et 9 ?) et utile disparaisse ainsi. ...
    Cette fonctionnalité n'a jamais existée avec Oracle.

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    D'accord, je pensais l'avoir trouvé sur le net pour des versions précédentes d'Oracle. Pensez-vous qu'il y a un moyen du coup d'y arriver svp ?

    Merci d'avance pour vos réponses.

  6. #6
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Non, Oracle n'a jamais autorisé le déplacement d'un table d'un schéma à un autre, tu fais erreur.

    Oracle permet de déplacer une table vers un autre segment ou tablespace, c'est tout.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  7. #7
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    Citation Envoyé par Vincent Rogier Voir le message
    Non, Oracle n'a jamais autorisé le déplacement d'un table d'un schéma à un autre, tu fais erreur.
    ça j'ai bien compris.

    Citation Envoyé par Vincent Rogier Voir le message
    Oracle permet de déplacer une table vers un autre segment ou tablespace, c'est tout.
    Est-ce possible de changer de propriétaire pour une table ? car dans ce cas là, à la limite, je peux modifier le propriétaire des tables et les changer ensuite de tablespace.

    Une autre de mes solutions consisterait, à partir du dump, d'importer uniquement le schema du user X dans le schema du user Y et de supprimer les objets en trop (étant donné que X est SYSTEM). Cela peut-il avoir des conséquences sur ma BDD ? Je ne sais pas pourquoi ils ont été foutre leurs datas sous le schema SYSTEM.

  8. #8
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    non tu ne peux pas changer le propriétaire des tables...
    tu peux seulement exporter les tables et les importer dans un autre schéma puis les supprimer du schéma source.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  9. #9
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    OK merci de la réponse, je vais donc le faire suivant ma deuxième solution proposée. Je mettrai résolu quand ce sera terminé (avec quelques commandes qui peuvent aider les débutants comme moi). En tout cas merci à tous les 3, vu votre expérience sur Oracle vous ne pensez pas que ce serait utile ce genre de commande ?

  10. #10
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    le problème réside dans la gestion des privilèges , des contraintes et des objets PL/SQL qui utilisent une table.

    Modifier le schéma propriétaire d'un table remet en cause tout ca. Donc non gérable.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  11. #11
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    Export de mon schéma X (SYSTEM) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    expdp system/xxxxxxx
    SCHEMAS=SYSTEM DIRECTORY=data_pump_dir
    DUMPFILE=SYSTEM.dmp
    LOGFILE=expdpSYSTEM.log
    Import dans mon schéma Y :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    impdp system/xxxxxxx
    DIRECTORY=data_pump_dir
    DUMPFILE=SYSTEM.dmp
    LOGFILE=impdpSYSTEM.log
    REMAP_SCHEMA=SYSTEM:SCHEMA_Y

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

Discussions similaires

  1. Copie de tables d'un schéma à un autre
    Par Bouhaouala dans le forum Langage SQL
    Réponses: 6
    Dernier message: 07/12/2011, 16h53
  2. Déplacement d'une table d'un schéma à l'autre
    Par FamiDoo dans le forum SQL
    Réponses: 3
    Dernier message: 30/09/2010, 13h59
  3. Réponses: 4
    Dernier message: 24/02/2010, 22h42
  4. Afficher l'arborescence des tables dans un schéma oracle
    Par maghraoui dans le forum Administration
    Réponses: 2
    Dernier message: 07/05/2008, 15h04
  5. Des Tables Vers un schéma
    Par azman0101 dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/05/2004, 09h24

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