Pular para o conteúdo
Visualizando 10 posts - 1 até 10 (de 10 do total)
  • Autor
    Posts
  • #106382
    Avatar de C-S-RC-S-R
    Participante

      Salve pessoal do GPO,

      Estou tentando criar uma view da vsession que so mostre as sessões de um determinado usuário. Porém estou tomando o erro ORA-01031: privilégios insuficientes.

      Segue oq estou tentando fazer

      grant select on sys.v_$session to hr;
      create view hr.vw_teste as select * from sys.v_$session where username = ‘csr’
      grant select on hr.vw_teste to csr;

      ORA-01031

      Mesmo se eu der a grant

      grant select on sys.v_$session to csr;

      Aparece o mesmo erro.

      Alguém consegue me ajudar?

      #106384
      Avatar de rmanrman
      Participante

        @C-S-R

        Utilize o usuário SYS as DBA para realizar o GRANT. 🙂

        #106388
        Avatar de C-S-RC-S-R
        Participante

          @rman

          Estou utilizando o usuário sys para dar as grants.

          #106389
          Avatar de rmanrman
          Participante

            @C-S-R

            Bom, acabei de executar aqui exatamente os seus comandos e não deu problema nenhum. :blink:

            #106390
            Avatar de C-S-RC-S-R
            Participante

              @rman

              Voce conseguiu fazer select na view, vw_teste, com o usuario csr?

              Com o usuário hr eu consigo fazer o select.

              #106391
              Avatar de rmanrman
              Participante

                @C-S-R

                Realmente ao realizar o SELECT apresenta o erro de permissão.

                Qual o problema de liberar a V_$SESSION direto para o usuário? Quais informações são realmente necessárias para o usuário? Dependendo da situação essas informações podem ser obtidas através da função SYS_CONTEXT.

                #106392
                Avatar de C-S-RC-S-R
                Participante

                  @rman

                  Vou colocar na aplicação e enviar para o cliente, se for a grant na v_$session a aplicação vai conseguir ver as sessions de todas as aplicações, inclusive as que não são nossas. Isso torna a aprovação pelo cliente mais complicada.

                  A ideia era fazer a view somente para nossa aplicação limitando pelo usuário. Para conseguir a aprovação.

                  Com isso quero achar os processos que estão com problema de lock.
                  Com a coluna event da view posso saber quem ta em lock.

                  #106396
                  Avatar de C-S-RC-S-R
                  Participante

                    Alguem com ideias para o problema?

                    @rman, muito obrigado pela ajuda

                    #106397
                    Avatar de rmanrman
                    Participante

                      @C-S-R

                      Bom, consegui resolver o problema, mas não sei se facilita ou dificulta a aprovação. A sacada é utilizar o GRANT com WITH GRANT OPTION, essa opção possibilita o usuário que recebeu a permissão passar a permissão para frente, que de certa forma é o que acontece. O usuário HR recebeu a permissão e implicitamente repassa para o usuário CSR quando o mesmo acessa a VIEW. Um detalhe o usuário HR agora pode conceder a permissão para qualquer outro usuário de maneira explicita também, ou seja, ele pode executar GRANT SELECT ON SYS.V_$SESSION TO RMAN. :woohoo:


                      grant select on sys.v_$session to hr WITH GRANT OPTION;
                      create view hr.vw_teste as select * from sys.v_$session where username = 'csr'
                      grant select on hr.vw_teste to csr;

                      #106400
                      Avatar de C-S-RC-S-R
                      Participante

                        @rman,

                        Opa funcionou aqui.

                        Muito obriagdo rman.

                        Acredito que não tenha problema.
                        O schema não pode conectar na aplicação e todo alter é passado por validação, então não tem como mudar a view para outro usuario.

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