|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2012 Messages : 6 ![]() |
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 ! (°-°) |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 562 ![]() |
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 |
|
|
01
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 4 115 ![]() |
Non, fait partie des Logical Storage Structures
|
|
|
00
|
|
|
#4 | ||||
|
Invité de passage
![]() Inscription : juillet 2012 Messages : 6 ![]() |
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 :
Code :
|
||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com