Précédent   Forum du club des développeurs et IT Pro > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/07/2012, 15h17   #1
beobes
Invité de passage
 
Inscription : juillet 2012
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2012
Messages : 6
Points : 0
Points : 0
Par défaut [11g] Déplacer mes tables dans un autre schéma / tablespace

Bonjour à tous,

j'ai été amené à travailler avec Oracle 11g sur un gros projet alors que je n'avais jamais utilisé que MySQL (non innodb) sur des petits projets faciles.

J'ai donc commencé un peu en tatonnant à créer mes tables avec SQL Developer.
Pour ce faire, j'ai créé une connexion avec le username "SYSTEM" dans SQL Developer et j'ai créé toutes mes tables.

Je sais que j'ai un peu fait les chose à l'envers - au bébut c'était plutôt juste des essais puis j'ai continué en laissant cette réflexion de côté...

Je ne suis pas très familiarisé avec les USER/SCHEMA et les TABLESPACE mais j'ai bien l'impression que mes tables ne sont pas où elles devraient être !!!

USER/SCHEMA :
Pour le projet, mes tables devront être accessibles via une interface web. Je pense donc créé un USER qui sera identifié par la base de données.
Si j'ai bien compris, quand je vais créer le USER, un SCHEMA correspondant sera créé.
Et un SCHEMA étant une collection d'objet, est-ce que c'est bien dans ce schéma que devraient se trouver mes tables ?

TABLESPACE :
Quel rapport entre le SCHEMA et le TABLESPACE ? Est-ce que ce USER (que j'aurai créé) doit avoir son propre TABLESPACE ?
Et donc, est-ce que je dois créé un nouveau TABLESPACE pour ce USER et y mettre toutes mes tables ?
Si oui, il y a-t-il moyen d'exporter toutes mes tables (structure, data, PK, UK, FK, index, ...) du tablespace SYSTEM vers un autre tablespace ?
Si non, j'imagine que c'est parce que ça n'a rien à voir ! Alors, comment déplacer mes tables du schema SYSTEM vers le schema que j'aurai créé (en créant le USER) ?

Voilà... un message un peu long...
Merci à ceux qui voudront bien m'aiguiller un peu !

(°-°)
beobes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 15h36   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 562
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 562
Points : 4 452
Points : 4 452
USER=SCHEMA
Sur ta base, tu as les user SYSTEM et SYS avec lesquels tu ne dois jamais te connecter pour créer des objets.

En règle générale, on crée un user particulier pour la gestion des tables et des procédures, et ensuite on donne les droits aux différents utilisateurs de l'application.

TABLESPACE = espace physique
Utilisé plus pour séparer les données physiquement et pour la maintenance.
Par contre certains tablespace ne doivent pas être utilisés (genre SYSTEM)
en règle générale, on crée un tablespace DONNEES dans lequel on met les tables, et un tablespace INDEXES dans lequel on met les indexes.
Le déplacement d'objets d'un tablespace à l'autre est facile avec la commande MOVE.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/07/2012, 16h51   #3
mnitu
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 4 115
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
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 : 4 115
Points : 8 010
Points : 8 010
Citation:
Envoyé par McM Voir le message
USER=SCHEMA
...
TABLESPACE = espace physique...
Non, fait partie des Logical Storage Structures
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2012, 09h29   #4
beobes
Invité de passage
 
Inscription : juillet 2012
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2012
Messages : 6
Points : 0
Points : 0
J'ai créé un tablespace "data" (pour les tables) et un tablespace "indx" (pour les index).
J'ai créé un USER dont le tablespace par défaut est "data" avec quota illimité.

Et en ce qui concerne les TABLESPACE, il faut que je déplace mes tables avant ou après les avoir changer de schema ?

Et pour changer mes tables de schema, j'ai trouvé ceci dans un autre topic :

Export de mon schéma X (SYSTEM) :
Code :
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 :
1
2
3
4
5
impdp system/xxxxxxx
DIRECTORY=data_pump_dir
DUMPFILE=SYSTEM.dmp
LOGFILE=impdpSYSTEM.log
REMAP_SCHEMA=SYSTEM:SCHEMA_Y
Mais dans ce cas, cela va importer tous les objets SYSTEM or je ne veux "déplacer" que mes tables de données.
beobes est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


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


 
 
 
 
Partenaires

Hébergement Web