Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/08/2007, 16h24   #1
Invité de passage
 
Inscription : juillet 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 25
Points : 2
Points : 2
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.
triworld19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2007, 16h39   #2
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

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

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
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 :
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 :
1
2
 
SELECT * FROM user2.une_table_de_user2
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2007, 16h53   #3
Invité régulier
 
Inscription : octobre 2004
Messages : 18
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 18
Points : 9
Points : 9
Envoyer un message via Yahoo à princetn
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...
princetn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2007, 17h05   #4
Invité de passage
 
Inscription : juillet 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 25
Points : 2
Points : 2
Merci pour ces explications claires ! Je saisi désormais mieux la structure annoncée.
triworld19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 10h53   #5
Invité de passage
 
Inscription : juillet 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 25
Points : 2
Points : 2
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 ?
triworld19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 11h06   #6
Membre actif
 
Avatar de Scual
 
Inscription : avril 2006
Messages : 149
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2006
Messages : 149
Points : 185
Points : 185
Envoyer un message via MSN à 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.
Citation:
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.

++
Scual est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 11h14   #7
Invité de passage
 
Inscription : juillet 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 25
Points : 2
Points : 2
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
triworld19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 11h21   #8
Membre actif
 
Avatar de Scual
 
Inscription : avril 2006
Messages : 149
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2006
Messages : 149
Points : 185
Points : 185
Envoyer un message via MSN à Scual
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.

++
Scual est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h51.


 
 
 
 
Partenaires

Hébergement Web