Pular para o conteúdo
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #81557
    djdigao
    Participante

      Bom dia pessoal!

      Estou com uma dúvida, sou novo ainda com o oracle e gostaria de saber se realmente tenho que dar permissões de select, update, insert e delete para cada tabela de um determinado schema? Eu não tenho uma role que possa me dar essas condições para o equema que eu quiser? Eu gostaria de criar o usuário X e dar permissão de select, update, insert e delete para o usuário X no esquema Y, ai tudo que ele criar no schema Y ele já tem as permissões para executar no eschema Y, pois do jeito que esta se ele cria uma tabela no schema Y eu tenho que dar as permissões para ele, mesmo sendo ele que criou a tabela. Como eu faço para resolver isso sem dar muita permissão para o usuário X?

      Obrigado pessoal 🙂

      #81559
      Marcio68Almeida
      Participante

        Bom…
        Não entendi a parte do usuário X criar objetos no esquema Y…
        Você pode (e deve) criar uma role onde serão dadas todas as permissões referentes ao esquema Y e atribuir a role ao usuário X.
        Sempre que for ciado um novo objeto você percias das as referidas permissões à role. Até dá para fazer direto via trigger, mas realmetne não é recomendado.

        #81562
        djdigao
        Participante

          Entendi Marcio, agora existe alguma permissão que eu posso usar que permita que no caso o usuário X ou qualquer usuário crie e edite tabelas somente em um determinado schema? Eu tenho o Create Any Table, o Drop Any Table parace que eles dão permisão para criar e deletar tabelas em qualquer schema, mas eu não queria isso queria que fosse em apenas um schema, é possível isso?

          #81563
          Marcio68Almeida
          Participante

            Quando você dá grant de resource, o usuário passa a poder criar objetos em seu próprio esquema.

            #81564
            souza
            Participante

              Montei um script p/ ti usar:

              • create role role_teste;

              depois execute

              spool C:/grant.sql
              select ‘grant select, insert, update, delete on ‘ || object_name || ‘ to ‘ || ‘ROLE_TESTE’ || ‘;’
              from all_objects where owner = ‘NOME_SCHECMA_TABELAS’
              and object_type in (select distinct object_type from all_objects)
              and object_type=’TABLE’;
              spool off

              @C:/grant.sql

              • depois vc pode fazer assim

              grant role _teste to usuario1;

              grant role _teste to usuario2;

              Espero ter ajudado

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