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

      Caros Amigos,

      Fui solicitado a dar permissão para um determinado usuário a uma tablespace.
      Existe alguma forma de dar permissão para que um usuário acesse todos os objetos de uma determinada tablespace ou tenho que dar acesso para cada tabela?

      Ex.: Usuário A acessa tablespace 1 – total 500 tabelas
      Usuário B acessa tablespace 2 – total 20 tabelas

      Se eu quiser que o usuário B acesse as 500 tabelas da tablespace 1, tenho que dar permissão tabela à tabela, ou existe algum comando que dê permissão a todas as tabelas do usuário A?

      #94313
      diegolenhardt
      Participante

        Eu acredito que tenha que dar as permissões por tabela…

        O que poderia fazer para facilitar seria montar um cursor na dba_tables e
        where tablespace_name = XX faz o comando do grant para os objetos automaticamente,

        bem tranquilo..

        #94351
        mpvargas
        Participante

          Diego

          Você diz criar uma procedure?
          Teria como passar um exemplo pra mim?
          Obrigado

          #94353
          burga
          Participante

            Executa esse select:

            select 'GRANT SELECT ON ' || owner || '.' || table_name || ' TO USUARIO_B;' from dba_tables
            where tablespace_name = 'TABLESPACE_1';

            Trocando USUARIO_B e TABLESPACE_1 pelo nome do usuario que você quer dar as grants e o nome da tablespace que contém os objetos que você quer dar permissão de acesso.

            A saída já vai ser os comandos de grant, assim você não precisa executar um por um.

            Foi isto que o diego quis dizer!

            Ou ainda você pode criar uma role, atribuir os grants para ela e atribuí-la ao usuário, em questão de organização seria melhor.

            Modifique o grant na consulta de acordo com o que você quer (INSERT, UPDATE,DELETE…).

            #94362
            mpvargas
            Participante

              Valeu Burga,
              realmente é bem simples…
              Eu que “viajei” pensando em procedure

              Obrigado pela ajuda

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