Oracle User

Résolu
Bonjour,

Voilà mon problème j'ai crée toutes mes tables à l'aide d'un utilisateur mais quand je crée un nouvelle utilisateur Oracle que les tables n'existent pas .

Merci d'avance.

2 réponses

  1. Modérateur
    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é.
    1
    1. 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à.
      0
      1. Modérateur
        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.
        0
      2. 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 ?
        0
      3. Modérateur
        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.
        0
      4. Ok merci je vais testé ceci
        0