Oracle User
Résolu/Fermé
termgsi
Messages postés
678
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
3 novembre 2016
-
17 mai 2011 à 15:33
termgsi Messages postés 678 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 3 novembre 2016 - 28 mai 2011 à 09:40
termgsi Messages postés 678 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 3 novembre 2016 - 28 mai 2011 à 09:40
A voir également:
- Oracle User
- User diag - Télécharger - Informations & Diagnostic
- User account control - Guide
- Oracle liste des tables ✓ - Forum Oracle
- User appdata - Guide
- Identificateur non valide oracle ✓ - Forum Bases de données
2 réponses
jee pee
Messages postés
40476
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
26 novembre 2024
9 428
Modifié par jee pee le 17/05/2011 à 21:33
Modifié par jee pee le 17/05/2011 à 21:33
Bonjour,
Pour que les tables d'un utilisateur soient visibles par les autres, il faut explicitement l'autoriser.
Cela s'effectue via la commande grant, et revoke pour enlever ces mêmes droits : https://www.techonthenet.com/oracle/grant_revoke.php
par exemple :
grant select on table1 to user2;
grant all on table1 to user2;
Après pour utiliser ces tables, si elles appartiennent à l'utilisateur user1, user2 devra utiliser une syntaxe de ce type :
select * from user1.table1 ;
Et pour une autorisation à tous les utilisateurs :
grant all on table1 to public ;
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Pour que les tables d'un utilisateur soient visibles par les autres, il faut explicitement l'autoriser.
Cela s'effectue via la commande grant, et revoke pour enlever ces mêmes droits : https://www.techonthenet.com/oracle/grant_revoke.php
par exemple :
grant select on table1 to user2;
grant all on table1 to user2;
Après pour utiliser ces tables, si elles appartiennent à l'utilisateur user1, user2 devra utiliser une syntaxe de ce type :
select * from user1.table1 ;
Et pour une autorisation à tous les utilisateurs :
grant all on table1 to public ;
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
termgsi
Messages postés
678
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
3 novembre 2016
39
20 mai 2011 à 17:31
20 mai 2011 à 17:31
Enter user-name: alex => Celui qui a crée les tables
Enter password: *******
Connected.
SQL> Grant Connect,resource, dba
2 To Lambda;
Grant succeeded.
SQL> Grant all
2 On Cheval
3 To Lambda;
Grant succeeded.
SQL> connect
Enter user-name: Lambda => Celui que veut y avoir accès
Enter password: *******
Connected.
SQL> select * from cheval;
select * from cheval
*
ERROR at line 1:
ORA-00942: table or view does not exist
Voilà j'ai toujours fait comme ce là.
Enter password: *******
Connected.
SQL> Grant Connect,resource, dba
2 To Lambda;
Grant succeeded.
SQL> Grant all
2 On Cheval
3 To Lambda;
Grant succeeded.
SQL> connect
Enter user-name: Lambda => Celui que veut y avoir accès
Enter password: *******
Connected.
SQL> select * from cheval;
select * from cheval
*
ERROR at line 1:
ORA-00942: table or view does not exist
Voilà j'ai toujours fait comme ce là.
jee pee
Messages postés
40476
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
26 novembre 2024
9 428
Modifié par jee pee le 20/05/2011 à 17:34
Modifié par jee pee le 20/05/2011 à 17:34
Bah non si les tables appartiennent à un autre user il faut faire :
select * from alex.cheval;
Puisque lambda pourrait aussi avoir sur son compte une table qui s'appelle cheval et qui serait différente de celle d'alex.
select * from alex.cheval;
Puisque lambda pourrait aussi avoir sur son compte une table qui s'appelle cheval et qui serait différente de celle d'alex.
termgsi
Messages postés
678
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
3 novembre 2016
39
20 mai 2011 à 17:44
20 mai 2011 à 17:44
Merci dans ce cas sa fonctionne, si dans le cas où je les aurai rajouté à mon tablespace et qu'il s auraient crée des tables, ils auraient pu tous les 2 accès aux tables sans sans avoir à mettre X.cheval ?
jee pee
Messages postés
40476
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
26 novembre 2024
9 428
20 mai 2011 à 18:15
20 mai 2011 à 18:15
Non. Il n'y a pas de rapport avec le tablespace où est stockée la table. Ce qui prime c'est le user (schéma) propriétaire de la table.
DROE
Messages postés
148
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
26 juillet 2012
48
21 mai 2011 à 23:39
21 mai 2011 à 23:39
Hello,
sinon pour éviter le pré-fixage dans les requêtes avec le nom de son propriétaire, un synonyme public serait le bienvenue
SQL> CREATE OR REPLACE PUBLIC SYNONYM table_1 FOR ALEX.table_1;
SQL> CREATE OR REPLACE PUBLIC SYNONYM table_2 FOR ALEX.table_2;
http://www.dba-ora.fr/article-creer-ou-supprimer-un-synonyme-oracle-46440354.html
sinon pour éviter le pré-fixage dans les requêtes avec le nom de son propriétaire, un synonyme public serait le bienvenue
SQL> CREATE OR REPLACE PUBLIC SYNONYM table_1 FOR ALEX.table_1;
SQL> CREATE OR REPLACE PUBLIC SYNONYM table_2 FOR ALEX.table_2;
http://www.dba-ora.fr/article-creer-ou-supprimer-un-synonyme-oracle-46440354.html
termgsi
Messages postés
678
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
3 novembre 2016
39
24 mai 2011 à 18:32
24 mai 2011 à 18:32
Ok merci je vais testé ceci