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 :

Duplication de table / schéma ?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 28
    Par défaut Duplication de table / schéma ?
    Bonjour,

    J'ai actuellement une base de donnée y située dans un "tablespace" ? (ou un univers...)

    En fait je souhaiterai, dans une autre bdd (x), faire une duplication de table.
    Est-il plus judicieux de faire un export sur fichier plat pour importer derriere / ou est il préférable d'utiliser une une requete de ce type :

    Create table X from select * from y

    Je souhaiterai utiliser cette requete car la création de la table se fera automatiquement.
    Cependant, je n'arrive pas à paramétrer cela car soit je suis connecter sur une base, soit sur l'autre.
    Peut on faire des transfert de données entre db qui ne sont pas dans les memes "univers" (je ne sais pas si j'employe le bon mot)

    Merci pour vos lumieres.

  2. #2
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Tablespace <=> Univers
    Une base de données peut avoir plusieurs tablespaces
    Un tablespace contient
    - des tables
    - des indexs

    Pour copier une table d'une BDD (disons B1) vers une autre (disons B2) , il faut faire un "lien" (database link) dans B1 vers B2
    Dans B1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE PUBLIC DATABASE LINK nom_du_lien
     CONNECT TO utilisateur_b2
     IDENTIFIED BY <mot_de_passe_utilisateur_b2>
     USING 'b2'
    Ensuite, tu references dans B1 les tables de B2 comme suit

    select * from table@nom_du_lien

    NB : Je parle ici de deux bases de données différentes et pas de deux utilisateurs (user) différents dans la même base de données !!!.

    Dans ce cas, il suffit de faire, en étant connecté comme "user1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from user2.une_table_de_user2

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 28
    Par défaut
    Lorsque le lien entre les deux bases est fait, si j'éxecute une création de table ou autre, par défaut il se positionne sur quelle DB ?

  4. #4
    Membre expérimenté Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Par défaut
    Bonjour,

    Il n'est pas possible de créer une table à travers un database link. Il est possible que de faire des DML :

    Extrait de la doc Oracle.
    You can query a table or view on the other database with the SELECT statement. You can also access remote tables and views using any INSERT, UPDATE, DELETE, or LOCK TABLE statement.
    Même avec un dblink ouvert, ta table sera créée en local.

    ++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 28
    Par défaut
    Citation Envoyé par Scual
    Bonjour,

    Il n'est pas possible de créer une table à travers un database link. Il est possible que de faire des DML :

    Extrait de la doc Oracle.


    Même avec un dblink ouvert, ta table sera créée en local.

    ++
    Mince, ce que je souhaitais faire, c'est créer une table sur le modele d'une autre qui se trouve dans une autre DB. C'est pour ca que j'évoquait l'éventualité de faire un export/import via fichier plat

  6. #6
    Membre expérimenté Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Par défaut
    Si tu es sous Oracle 10g, je te conseille d'essayer avec Data Pump sinon sous Oracle 9i, tu as la possibilité d'utiliser les outils exp et imp.

    ++

  7. #7
    Membre averti
    Inscrit en
    Octobre 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 18
    Par défaut
    Si tu utilises cela
    Citation Envoyé par triworld19
    Bonjour,
    Create table X from select * from y
    Tu ne copierais dans ce cas que la structure de la table et non pas les contraintes associées.

    pacontre un import/export te permet de copier tous ce que tu veux de n'importe quel DB vers une autre DB à condition que les bases soient compatibles...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 28
    Par défaut
    Merci pour ces explications claires ! Je saisi désormais mieux la structure annoncée.

Discussions similaires

  1. Duplication de tables entre MSDE et SQL server 2000
    Par xyzers dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 29/08/2007, 17h31
  2. duplication d'un schéma utilisateur
    Par magboom dans le forum Oracle
    Réponses: 9
    Dernier message: 19/08/2007, 10h06
  3. duplication de table
    Par colombe dans le forum Bases de données
    Réponses: 5
    Dernier message: 07/06/2006, 23h14
  4. Duplication de table et mise à jour
    Par cyraile dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/01/2006, 09h53

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