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 :

Différence Tablespace, Schéma, Utilisateur : je m'embrouille


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut Différence Tablespace, Schéma, Utilisateur : je m'embrouille
    Salut a tous je lis attentivement le guide administration oracle de Sheik, Orafrance et Helyos mais j'ai parfois du mal a comprendre ce qui se passe derrierre...


    J'ai bien compris ce qu'étais un utilisateur. Ainsi qu'un schéma, de meme le fait que dès qu'un utilisateur est créé son schéma l'est aussi...

    Mais là ca se complique avec les tablespace, parce qu'ils parlent de définir des tablespace pour un utilisateur mais je vois pas ce à quoi ca correspond??? Est la meme chose qu'un schéma???

    2eme question : Imaginons que je crée un utilisateur paul, et un autre thomas, si thomas crée des tables sans précision, ellsl seront dans le schéma thomas. Si Paul sans précision tape select * from une table qui est dans le schéma de thomas. En supposant qu'il a les droit de les lire, est il obligé de préciser le schéma thomas dans sa requette ou oracle va aller les lire sans probleme???

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Un tablespace est simplement une zone réservée sur le disque pour stocker les données. Un shéma peut contenir plusieurs objets. Un objet est stocké dans un tablespace mais chaque object peut avoir son propre tablespace. Quand on dit qu'un utilisateur a un tablespace par défaut, ça veut dire que les objets créés par cet utilisateur sont stockés dans ce tablespace par défaut. Utilisateur = propriétaire des objets et shéma = conteneur d'objet

    2/ oui, il faut préciser le shéma c'est tout l'intérêt des synonymes qui évite justement cette lourdeur. Paul peut créer un synonym qui pointe sur une table de thomas auquel cas le préfixe ne sera pas obligatoire et c'est bien normal puisque c'est bien le synonyme qu'il sélectionne et non la table (même si bien sûr, le synonyme ne fait que traduire le nom... donc on sélectionne bien les lignes de la table sur laquelle il pointe )

    Est-ce clair ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut
    C plus clair en effet

    En fait mon probleme qui n'en est pas vraimetn un en fait : j'ai travaillé en developpement avec juste un seul login : develop

    Mnt que le projet va passer en production on m'a demandé de créer différent compte.

    Je pensais donc créer un compte "principal" pour le projet qui aurait alors un schéma à son nom. Lui aurait le droit de creer les tables ectect sur son schema, ils les creerait d'ailleurs.

    Ensuite je crée des roles : un role encodage, un role production, un role emballage. A chacun de ses roles je leur donne les droits select, insert, update, delete sur une parties bien définies des tables du schema "principal"

    Et par après je crée les comptes utilisateurs et suivant que cet utilisateurs travaille a la production ou l'emballage , je lui attribue le role prévu a cet effet...


    Mais en fait mon probleme venait de que dois je faire pour les tablespace... je comprenais pas de trop... je leur donne le tablespace par defaut "principal" si je comprends bien?

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut Re: Différence Tablespace, Schéma, Utilisateur : je m'embrou
    Bah, vous n'avez pas l'air si embrouillé que ça, vous avez visiblement bien compris !

    Citation Envoyé par Aeternus
    Mais là ca se complique avec les tablespace, parce qu'ils parlent de définir des tablespace pour un utilisateur mais je vois pas ce à quoi ca correspond??? Est la meme chose qu'un schéma???
    Le schéma, c'est la notion de propriété. Tous les objets qui m'appartiennent constituent mon schéma.
    Le tablespace, c'est la notion de stockage.

    Exemple de la vie courante : vous possédez des vêtements, votre femme en possède aussi. Chacun de vous sait ce qui lui appartient.
    La notion de propriété, c'est une abstraction.
    Ce qui devient concret, c'est le rangement. Supposons que vous ayez une armoire à 2 étagères et une penderie. Vous pouvez décider que vous utiliserez chacun 1 étagère (oui, dans la vraie vie, c'est plutôt 1,5 pour madame et 0,5 pour monsieur) et que vous partagerez la penderie pour les vêtements longs.
    Eh bien ces 2 étagères et cette penderie sont des tablespaces (donc 3 au total).
    La définition des tablespaces pour un utilisateur, c'est le fait de dire "par défaut tu mets tes fringues en haut, moi je les mets en bas".

    Sous Oracle, ça se traduit par :
    CREATE USER aa IDENTIFIED BY bb DEFAULT TABLESPACE tbs1;
    CREATE USER cc IDENTIFIED BY dd DEFAULT TABLESPACE tbs2;
    Donc, à défaut de spécification particulière, les objets appartenant à aa seront dans le tablespaces tbs1, et ceux de cc iront dans le tablespace tbs2.

    Citation Envoyé par Aeternus
    2eme question : Imaginons que je crée un utilisateur paul, et un autre thomas, si thomas crée des tables sans précision, ellsl seront dans le schéma thomas. Si Paul sans précision tape select * from une table qui est dans le schéma de thomas. En supposant qu'il a les droit de les lire, est il obligé de préciser le schéma thomas dans sa requette ou oracle va aller les lire sans probleme???
    Si les objets recherchés par un utilisateur ne lui appartiennent pas (c'est à dire ne sont pas dans son schéma), il est obligé de préciser dans quel schéma ils se trouvent.

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    quelle leçon de pédagogie

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par Aeternus
    Mais en fait mon probleme venait de que dois je faire pour les tablespace... je comprenais pas de trop... je leur donne le tablespace par defaut "principal" si je comprends bien?
    Très bien pensé comme modéle

    Dans ce cas, je te conseille de mettre n'importe quel tablespace au user de connection mais de ne pas mettre de quota. Si un utilisateur n'a pas de quota sur un tablespace, il ne pourra pas créer d'objet

    Comme ce que tu veut c'est juste gérer les habilitations via le user de connection c'est tout bon

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Par défaut
    Ok merci a tous je vais aller faire tout ca

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. différence entre contrôle utilisateur et contôle composite
    Par abdallah2007 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/05/2009, 00h04
  2. lister les schémas utilisateurs
    Par youness_ka dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/05/2008, 05h44
  3. pgadmin propriétés schémas utilisateur groupe
    Par finiderire dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/09/2007, 17h39
  4. duplication d'un schéma utilisateur
    Par magboom dans le forum Oracle
    Réponses: 9
    Dernier message: 19/08/2007, 10h06
  5. schéma utilisateur
    Par olivanto dans le forum Oracle
    Réponses: 3
    Dernier message: 25/11/2005, 15h20

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