Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 11 anos, 3 meses atrás por Avatar de Fábio PradoFábio Prado.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #105737
    Avatar de mpvargasmpvargas
    Participante

      Caros Amigos,
      Preciso dar permissão de select para um grupo de analistas (4 no total) a todas as tabelas de um determinado schema… até aí tudo bem… o meu problema é que quando são criadas tabelas novas, aí nesse caso tenho que dar permissão para esse tabela também.
      …como a tabela é nova preciso dar a permissão, sendo assim gostaria de uma ajuda:
      É possível fazer com que, ao ser criada uma nova tabela nesse schema, as permissões para esses usuários sejam concedidas automaticamente?
      Será que usando uma trigger é possível fazer isso.
      Obrigado pela ajuda de todos.

      #105738
      Avatar de rmanrman
      Participante

        @mpvargas

        Pesquisando, encontrei essa solução (não testei):


        create or replace trigger trigger_grant_dml

        after create on schema

        declare

        v_job number;

        v_todo varchar2(200);

        begin

        if ora_sysevent = 'CREATE' and ora_dict_obj_type = 'TABLE' then

         v_todo:='execute immediate ''grant select, insert, update, delete on '||ora_dict_obj_name||' to my_new_role'';';
        
         dbms_job.submit(job=>v_job, what=>v_todo);
        

        end if;

        exception

        when others then

        null;

        end;

        Apesar de postar essa solução, creio que esse tipo de coisa não deve ser automatizado, afinal gerenciamento de permissão é responsabilidade do DBA. Outro ponto, o próprio OWNER pode conceder a permissão.

        #105739
        Avatar de Fábio PradoFábio Prado
        Participante

          @mpvargas,

          Eu jamais faria isso. Um script dinâmico como aquele que foi passado pelo @rman pode te ajudar a automatizar o processo, mas ele diminui a “segurança” do seu BD.

          Com segurança não se brinca, é melhor deixar um script pronto para facilitar o trabalho e ser executado manualmente por um DBA ou alguém que tenha privilégios administrativos no BD, do que criar uma trigger que faça tudo sozinha!

          []s

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.
        plugins premium WordPress