Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 11/02/2011, 01h40   #1
 
Inscription : novembre 2008
Messages : 104
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 104
Points : -8
Points : -8
Par défaut difference entre schema et user

Bonsoir,

j'ai pas pu comprendre la difference excacte entre schema et user.

ya-t-il de requette sql me permet de consulter la liste des schemas et la liste des users pour une instance de base des données.
haykelFST est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 09h26   #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
Effectivement, c'est assez ressemblant
En gros
Un schemas est un ensemble d'objet (tables, vues, procédures) appartenant à un USER

Tu peux avoir un user sans schéma, mais pas l'inverse !
__________________
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 11/02/2011, 09h43   #3
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
Liste des users
Citation:
select * from all_users
liste des schemas
Code :
1
2
select distinct owner from all_objects
__________________
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 11/02/2011, 10h25   #4
 
Inscription : novembre 2008
Messages : 104
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 104
Points : -8
Points : -8
bonjour,

Merci Garuda,

1-je veux savoir comment le schema et le user sont conçus au niveau meta data d 'oracle...autrement, quelle est la cardinalité entre user et schema?

2- normalement quand on crée un user, un schema par defaut sera créer automatiquement.
Quelle est la structure de ce schema? est ce qu'il est compoé par des objets sql?
pourkoi le shema et le user sont conçus separemment? porkoi les oradistes n'ont pas choisi la strategie de confondre la notion de schema et de user?
haykelFST est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 11h10   #5
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Chez Oracle, schéma et user sont effectivement synonymes.
Aucun objet n'est créé par défaut dans un schéma / user.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 11h23   #6
Membre du Club
 
Wissem
Inscription : janvier 2011
Messages : 56
Détails du profil
Informations personnelles :
Nom : Wissem

Informations forums :
Inscription : janvier 2011
Messages : 56
Points : 66
Points : 66
Envoyer un message via MSN à orawiss Envoyer un message via Skype™ à orawiss
Bonjour,
C vrai que la notion de schema et user sur Oracle est confuse. Sur Oracle, les notions du schéma et user sont vraiment differentes des autres SGBD notamment ; SQL Server, DB2 et MYSQL...
Sur Oracle, la relation entre schéma et user est une relation 1-1 , ce n'est pas comme on avait répondu avant qu'un user ne peut pas avoir de schéma, ca c'est faux car même, si ne vous créez pas d'objets sous un user, Oracle crée par défaut un schéma composants de plusieurs vues , tables de dictionnaire de données comme user_tables, user_errors, user_....*

Dans ce qui suit, vous pouvez avoir une idée, la diff entre schéma et user sur Oracle.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
 
SQL> conn wissem/wissem
Connected.
SQL> SELECT object_name FROM user_objects;
 
OBJECT_NAME
--------------------------------------------------------------------------------
T_WISSEM
T2_WISSEM
 
11 rows selected.
 
SQL> conn orawiss / wissem
Connected.
SQL> SELECT object_name FROM user_objects;
 
OBJECT_NAME
--------------------------------------------------------------------------------
T2_ORAWISS
T_ORAWISS
 
SQL> ALTER session SET current_schema=wissem;
 
Session altered.
 
SQL> SELECT object_name FROM user_objects;
 
OBJECT_NAME
--------------------------------------------------------------------------------
T2_ORAWISS
T_ORAWISS
 
SQL> SELECT username, schemaname FROM v$session ;
 
USERNAME		       SCHEMANAME
------------------------------ ------------------------------
			       SYS
ORAWISS 	      WISSEM
			       SYS
			       SYS
			       SYS
 
5 rows selected.
 
SQL>
__________________
----------------------------------------------------------------------------------------------
Merci,
Wissem
www.oracle-class.com (Vidéos, Articles, Livres, Forum, Webinar ...tous sur Oracle)
www.oracle-tns.com
OCA & OCP Oracle
orawiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 12h51   #7
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
@oraswiss
Citation:
Sur Oracle, la relation entre schéma et user est une relation 1-1 , ce n'est pas comme on avait répondu avant qu'un user ne peut pas avoir de schéma, ca c'est faux car même, si ne vous créez pas d'objets sous un user, Oracle crée par défaut un schéma composants de plusieurs vues , tables de dictionnaire de données comme user_tables, user_errors, user_....*
Ce n'est pas ce qui a été dit !
Ce qui a été dit, c'est qu'il peut exister un user "TOTO" sans schéma "TOTO" (c'est à dire sans objets lui appartenant) !
Ton exemple n'est pas parlant !
Sauf erreur, les objets dont tu parles, ne sont pas créés dans le schéma du user mais dans le schéma SYS à la creation de la base !!!!!
__________________
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 11/02/2011, 15h33   #8
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
1)
L'utilisateur fait référence à la notion d'identité.
Le schéma fait référence à la notion de propriété.

Tout utilisateur X possède un schéma de même nom X (l'ensemble des objets qui lui appartiennent), initialement vide.
Les privilèges sont associés à l'utilisateur, et non au schéma.

Quand on se connecte, on le fait sous une certaine identité (disons SCOTT), et on est placé par défaut dans le schéma du même nom.
Mais comme Wissem l'a rappelé, on peut changer de schéma courant (disons HR) sans changer pour autant d'identité. C'est à dire qu'on continue à travailler avec les privilèges de SCOTT sur les objets de HR. On ne devient pas HR !

Code :
1
2
connect system/system
GRANT SELECT ON hr.employees TO scott;
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
SQL> connect scott/tiger
Connecté.

SQL> select username, schemaname from v$session where sid=(select max(sid) from v$mystat);

USERNAME                       SCHEMANAME
------------------------------ ------------------------------
SCOTT                          SCOTT

SQL>
SQL> alter session set current_schema=HR;

Session modifiée.

SQL> select username, schemaname from v$session where sid=(select max(sid) from v$mystat);

USERNAME                       SCHEMANAME
------------------------------ ------------------------------
SCOTT                          HR

SQL> select count(*) from employees;

  COUNT(*)
----------
       107

SQL>
SQL> -- ce sont les objets de SCOTT qui sont listés !
SQL> select object_name, object_type from user_objects;

OBJECT_NAME     OBJECT_TYPE
--------------- -------------------
PK_DEPT         INDEX
DEPT            TABLE
EMP             TABLE
PK_EMP          INDEX
BONUS           TABLE
SALGRADE        TABLE
2)
C'est aussi une question de convention.
Dans certaines équipes, on fait une distinction opérationnelle entre utilisateur et schéma : un schéma est un compte Oracle possédant les objets applicatifs, alors qu'un utilisateur est un simple compte Oracle ne possédant aucun objet en propre, et qui va utiliser les objets du schéma applicatif.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/02/2011, 22h06   #9
 
Inscription : novembre 2008
Messages : 104
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 104
Points : -8
Points : -8
Bonjour,
Citation:
Tout utilisateur X possède un schéma de même nom X (l'ensemble des objets qui lui appartiennent), initialement vide.
Les privilèges sont associés à l'utilisateur, et non au schéma.
Comment peut on savoir la liste des objets associés à l'utilisateur et la liste associés au schema


Citation:
on peut changer de schéma courant (disons HR) sans changer pour autant d'identité.
j'ai compris qu'un user peut posseder plusieurs schemas....est ce c'est Correcte? est ce que l'inverse est correcte?
je cherche un plus d'explication sur la cardinalité entre le user et le schema.
haykelFST est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 23h08   #10
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
OK je vais rajouter une couche alors...
user = schema <=> schema = user
Pas besoin de se prendre la tête dessus !

Ce que Pomalaix voulait démontrer c'est qu'on peut switch de user en user tout en gardant les droits du user initial.

En utilisant la fonction recherche sur le titre exacte du post on obtient :
http://www.developpez.net/forums/d15...e-user-schema/
PS : Fred = orafrance

qui dit clairement que c'est la même chose tout le reste n'est que pinaillage... (possède,est,équivaut...)

Sur le forum on pinaille parfois parce que par exemple vous pouvez avoir un schéma (= user) A qui contient les données (tables), puis un schéma (= user) B qui contient les méthodes (proc stock) accédant au précédent schéma (=user) A et un user (= schéma) C applicatif qui se connecte à la base pour exécuter les procs stock définies par le précédent schéma(= user) B.

Est ce vraiment plus clair...hmmm...je ne suis pas sûr...
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 01h04   #11
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Citation:
Envoyé par skuatamad Voir le message
OK je vais rajouter une couche alors...
user = schema <=> schema = user
Pas besoin de se prendre la tête dessus !

Ce que Pomalaix voulait démontrer c'est qu'on peut switch de user en user tout en gardant les droits du user initial.
Pas de chance, j'expliquais justement que ce n'est pas la même chose !

Pour faire un parallèle, c'est un peu le même problème que lorsqu'on parle de base de données et d'instance. Jusqu'à un certain point, on peut confondre ces deux notions, mais en RAC par exemple, la distinction est impérative, sinon on ne comprend rien à ce qu'on fait.

Se connecter sous le nom d'utilisateur SCOTT, et être positionné dans le schéma de HR, ce n'est pas la même chose.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 01h10   #12
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Citation:
Envoyé par haykelFST Voir le message
j'ai compris qu'un user peut posseder plusieurs schemas....est ce c'est Correcte? est ce que l'inverse est correcte?
je cherche un plus d'explication sur la cardinalité entre le user et le schema.
Un utilisateur X possède un et seul schéma qui s'appelle X aussi. Comme on l'a dit, le schéma de X, c'est l'ensemble des objets qui appartiennent à X.
Autrement dit, il y a une relation 1-1 entre schéma et utilisateur. (Et là j'entends les mauvaises langues qui vont dire que si c'est 1-1, c'est qu'il y a identité).

Par contre, un utilisateur X peut posséder des droits sur des objets qui appartiennent à d'autres utilisateurs, donc qui sont situés dans d'autres schémas.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 03h14   #13
 
Inscription : novembre 2008
Messages : 104
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 104
Points : -8
Points : -8
Citation:
Autrement dit, il y a une relation 1-1 entre schéma et utilisateur. (Et là j'entends les mauvaises langues qui vont dire que si c'est 1-1, c'est qu'il y a identité).
si la cardinalité est 1-1 dans les deux sens entre user et schema, c'est normmal de dire u'il s'agit d'une identité.
j'ai pas compris pourquoi c'est pas le cas ici(non identité)
haykelFST est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 10h37   #14
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Citation:
Envoyé par Pomalaix Voir le message
Pas de chance, j'expliquais justement que ce n'est pas la même chose !
Alors je ne suis pas d'accord
Citation:
Envoyé par Pomalaix Voir le message
Se connecter sous le nom d'utilisateur SCOTT, et être positionné dans le schéma de HR, ce n'est pas la même chose.
Code :
1
2
ALTER session SET current_schema=scott;
SELECT * FROM emp;
est identique à
Code :
SELECT * FROM scott.emp;
C'est peut être une volonté de trop simplifier de ma part, mais quand il y a quelques (petites) années je me suis posé la même question que haykelFST, j'ai lu le lien précédemment posté et je me suis dis :
Cool, voilà, c'est simple, user = schéma.
Je ne suis pas sûr que je me dirais, c'est simple, en lisant cette discussion...
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 10h48   #15
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 544
Points : 9 544
skuatamad, quand tu fais ça, quels sont tes privilèges ? ceux de Scott, ou ceux avec lesquels tu es connecté ?
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 15h36   #16
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
On a les droits du user avec lequel on se connecte, comme mentionné par Pomalaix :
Citation:
Mais comme Wissem l'a rappelé, on peut changer de schéma courant (disons HR) sans changer pour autant d'identité. C'est à dire qu'on continue à travailler avec les privilèges de SCOTT sur les objets de HR. On ne devient pas HR !
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 11h46   #17
Nouveau Membre du Club
 
Homme Achraf CHIKOUN
Administrateur de base de données
Inscription : septembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Nom : Homme Achraf CHIKOUN
Localisation : Maroc

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : septembre 2008
Messages : 43
Points : 27
Points : 27
un schema englobe tous les objet d'un user.
cb-06 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 09h36.


 
 
 
 
Partenaires

Hébergement Web