SQL grant ou connect

Résolu
Bonjour,

Sous Oracle, je souhaiterais donner des droits sur la totalité d'une base à un utilisateur.

J'ai une base toto et une base tutu.
Je souhaiterais que l'utilisateur de toto puisse utiliser n'importe quelle table de tutu (select * from tutu.table) sans avoir à granter chaque table de tutu.

Merci d'avance

Deep
Configuration: Windows XP Internet Explorer 6.0

6 réponses

  1. Contributeur
    Visiblement il n'est pas possible d'utiliser un GRANT pour un schéma entier.

    Par contre, regarde de ce côté :

    DECLARE
      	CURSOR C_TABLE IS
        		SELECT TABLE_NAME
        		FROM ALL_TABLES
        		WHERE OWNER = 'USER1';
     	req STRING(200);
    BEGIN
     
      	FOR CUR IN C_TABLE LOOP
    		req := 'GRANT SELECT ON USER1.' || CUR.TABLE_NAME || ' TO USER2';
        		execute immediate (req);
      	END LOOP;
    END;
    /


    Source : https://www.developpez.net/forums/d553039/bases-donnees/oracle/administration/oracle-10g-grant-select-schema/

    1. Salut,

      je n'utilise pas beaucoup le GRANT, mais avec :
      GRANT select
      ON tutu.*
      TO maurice;
      


      Maurice est ton utilisateur hein =D

      Je ne garantis pas du tout que ça marche
      1. Joli HostOfSepharin, j'y avais pas pensé...

        Ya des fonctions énormes quand même, surtout sur Oracle... Tous des mathématiciens fous ceux qui bossent sur les BDD =D
        1. Contributeur
          J'aime pas trop les maths, moi... :-)

          L'inconvénient de la méthode au-dessus, c'est que ça ne fait un GRANT pour les tables du schéma qu'à un instant T. Il faudrait voir à créer à la limite un trigger pour automatiser le GRANT pour les futures tables.

      2. C'est pas faux, mais bon, il a le code principal, c'est très facile maintenant, en une manip il revoque les droits et peut les remettre, ou les modifier...
        Mais en effet un trigger automatiserait tout (quels fainéants ces informaticiens :p )
        1. Les informaticiens et les mathématiciens sont fainéants par nature. :D
          1. Merci à tous...
            La solution est là, encore faut il que j'aie les droits pour créer des triggers, ce qui n'est visiblement pas le cas....