Você vai ter que dar permissão direto no objeto, se nao me engano dentro de procedure a permissão de role não funciona.
De a permissão dessa forma: grant select on sys.v$license to usuario; faça o teste e retorne com o resultado. At. Marcelo Procksch Em 11 de janeiro de 2012 13:44, emerson_sanches < emerson_sanc...@yahoo.com.br> escreveu: > ** > > > Infelizmente não deu certo............continua o mesmo erro. > > Mesmo assim, obrigado Fabio. > > --- Em oracle_br@yahoogrupos.com.br, Fabio Agarie <agarie@...> escreveu > > > > > Tente colocar o owner sys.v$license. > > > > Regards, > > > > Fabio > > > > On 11/01/2012, at 14:45, "emerson_sanches" <emerson_sanches@...> wrote: > > > > > Bom dia pessoal da lista, tenho um usuário oracle que precisava fazer > um select na tabela do sistema V$LICENSE então, logado com o usuário SYSTEM > dei essa permissão com o comando: > > > > > > GRANT SELECT_CATALOG_ROLE TO <usuario> > > > > > > funcionou que é uma beleza, mas agora esta surgindo o seguinte > problema, eu preciso usar um select desta tabela em um cursor dentro de uma > procedure, porem, na procedure, gera o erro: > > > > > > ORA-00942: table or view does not exist > > > > > > era o mesmo erro que dava quando não tinha dado permissão de uso na > tabela. Alguém sabe me dizer porque isso ocorre e como resolver? > > > > > > Obrigo pela atenção de todos..... > > > > > > Emerson Sanches > > > > > > Segue o código da procedure que gera o erro: > > > > > > CREATE OR REPLACE PROCEDURE SGI5_IUD_ADMD_LIC_LOG > > > IS > > > CURSOR C_USU IS > > > SELECT A.SESSIONS_CURRENT USU_ATU, > > > A.SESSIONS_HIGHWATER USU_MAX, > > > A.CPU_COUNT_CURRENT COR_ATU, > > > A.CPU_COUNT_HIGHWATER COR_MAX, > > > A.CPU_SOCKET_COUNT_CURRENT SOK_ATU, > > > A.CPU_SOCKET_COUNT_HIGHWATER SOK_MAX > > > FROM V$LICENSE A; > > > > > > BEGIN > > > FOR CR IN C_USU > > > LOOP > > > INSERT INTO SGI5_TAB_ADMD_LIC_LOG(LIC_DAT ,LIC_USU, > > > LIC_USU_MAX,LIC_COR, > > > LIC_COR_MAX,LIC_SOK, > > > LIC_SOK_MAX) > > > VALUES (SYSDATE ,CR.USU_ATU, > > > CR.USU_MAX ,CR.COR_ATU, > > > CR.COR_MAX ,CR.SOK_ATU, > > > CR.SOK_MAX ); > > > END LOOP; > > > END; > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -- Att. Marcelo E. Procksch [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -------------------------------------------------------------------------------------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -------------------------------------------------------------------------------------------------------------------------- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ ------------------------------------------------------------------------------------------------------------------------ Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html