Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1577 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Oracle 11g] Deplacer mes tables dans un autre schema/tablespace

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Oracle 11g] Deplacer mes tables dans un autre schema/tablespace

n°2149132
beobes
Posté le 12-07-2012 à 15:13:46  profilanswer
 


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é...  :sarcastic:
 
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 !
 
(°-°)
 

mood
Publicité
Posté le 12-07-2012 à 15:13:46  profilanswer
 

n°2149935
couak
Posté le 19-07-2012 à 21:23:47  profilanswer
 

Un SCHEMA est un USER possédant des objets (vue, tables, procédure stockées...)
Tes tables possèdent un propriétaire, à savoir le schéma
 
Le tablespace est un espace de stockage logique : tes objets sont stockées dans les tablespaces
Tu n'est pas obligé d'avoir un tablespace par user : quand tu stockes un objet, tu le stockes où tu veux du moment que tu possèdes les droits. Par commodité, on définit un tablespace par défaut pour chaque user, comme cela le tablespace de destination n'est pas mentionné lors de ta requête, ce sera sur le tablespace par défaut
 
Tu peux exporter tout les objets d'un schéma et les réimporter ailleurs, regarde les options de l'utilitaire "impdp" ou "imp" (déprécié depuis la versoin 10g)
Avec impdp c'est plus simple caril y a une option pour remapper le tablespace
Avec imp tu peu spécifier le schéma de destination et par conséquence jouer sur le tablespace de stockage

n°2149953
beobes
Posté le 20-07-2012 à 08:14:52  profilanswer
 


Merci couak !
 
J'ai un peu appronfondi et les choses deviennent plus clair.
 
Par contre, je n'ai pas fait au plus simple pour changer mes tables de schema... J'ai fait une exportation du DDL de toutes mes tables que j'ai "importé" dans mon nouveau schema, j'ai ensuite supprimé toutes les tables du schéma initital. Ce fut un peu plus long qu'avec les commandes "impdp" j'imagine mais comme ça j'étais sûr de mon coup ; je ne suis pas très familiarisé avec les commandes d'administration...
 
Il faut que je trouve une bonne formation en administration !!

n°2149959
couak
Posté le 20-07-2012 à 09:27:42  profilanswer
 

si tu n'as que des tables, tu peux aussi les déplacer à chaud d'un tablespace à un autre en faisant un ALTER TABLE
Par contre les indexes sont invalidés, et il faut dans ce cas là les reconstruire... sur le bon tablespace


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Oracle 11g] Deplacer mes tables dans un autre schema/tablespace

 

Sujets relatifs
Temps d'éxécution requête Oracle Sql trop longuedéplacer une ligne d'une table à une autre sous Access 2007
[Résolu] [Oracle] Conflit de processus d'ecouteQuestions sur Oracle Enterprise Manager Cloud Control
[Résolu] Problème privilège oraclesoucis sur une procedure sous oracle
[Oracle] Créer une base de données et se connecter avec OEM[Java] Copyright d'une API dans Oracle vs Google
appelle procédure Oracle depuis onclick java 
Plus de sujets relatifs à : [Oracle 11g] Deplacer mes tables dans un autre schema/tablespace


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR