Então Chiappa, o uso de INVOKER RIGHTS não é para eu executar o corpo da procedure com as permissões do usuário logado e não com usuário que eh o owner da procedure??
Por default ele pega as permissões do owner.. Tem alguma forma de eu habilitar para que os grants das roles funcionem como explícitos??? Bom o site que vi que isso era um bug é esse aqui: http://www.imasters.com.br/forum/lofiversion/index.php/t206115.html atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de jlchiappa Enviada em: sexta-feira, 20 de julho de 2007 18:24 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: RES: [oracle_br] Conceder permissao a todos objetod de UM schema Renan, obviamente o .BAT *** não "sabe" *** nada vezes nada a respeito de linguagem SQL, de PL/SQL, de banco, ele NÂO é parte do banco nem foi feito pela Oracle... Só o que ele "sabe" é processar comandos próprios e/ou chamar executáveis, o que ocorre é que quem SABE executar SQLs e PL/SQLs é o sql*plus, que é SIm um programa executável e portanto pode ser executado a partir do >BAT... A sequ~encia portanto é o .BAT chama o sqlplus que executa a tua rotina , ok ? Isso eu cito como complemento do seu conhecimento, já que vc não vai usar o >BAT , pelo que diz, então tá... No caso de procedure, rigorosamente NÂO, esse comportamento NÃO É BUG, é o comportamento default DOCUMENTADO NO MANUAL DE DESENVOLVEDORES, como citado em http://asktom.oracle.com/tkyte/Misc/RolesAndProcedures.html, quem te falou que é bUG falou uma asneira sem tamanho... Diga aí que site que é esse, que a gente já marca como fonte de DESinformação... Como citado no link, o fato é que no default quando vc cria um stored PL/SQL (seja procedure, function, package ou trigger) as roles são DESABILITADAS durante a execução, o GRANT precisar ser direto, OU em alguns casos vc pode mudar o default da identificação de privs dentro do seu stored PL/SQL, veja no manual de PL/SQL sobre INVOKER RIGHTS. []s Chiappa --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> , "Renan Nucci - CSM Software" <[EMAIL PROTECTED]> escreveu > > Clayton, o bat eu sei fazer, o q não sei eh fazer a chamada a ele sem ser > pelo SQL plus... mas acho q não vou precisar fazer o bat.. > > > > Chiappa, essa solucao que vc me ofereceu eu estava escrevendo ela quando vc > mando... pelo menos estou pensando como os grandes.. RSS > > > > Agora estou me deparando com um problema de privilégios.. > > Eu executando esse GRANT dentro da procedure eu recebo uma mensagem de erro > alegando privilégios insuficientes, mas executando por fora dela eu consigo > na boa... Este teste estou fazendo com o usuário que eh dono da procedure.. > > > > Andei vendo sobre este erro e vi um site dizendo que eh um bug do Oracle, > que não reconhece as permissões vindas de um role e somente as explicitas ao > user.. isso se confirma?? > > > > > > atenciosamente, > > > > > > Renan Nucci > > Desenvolvedor C# > > CSM Software > > Msn: [EMAIL PROTECTED] > > > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> ] Em > nome de Clayton Rocha > Enviada em: sexta-feira, 20 de julho de 2007 14:57 > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > Assunto: RES: RES: [oracle_br] Conceder permissao a todos objetod de UM > schema > > > > O que você pode fazer é um arquivo BAT que executa automaticamente esse > script... te resolve a situação? Sabe fazer? Quer ajuda? > > []'s > > Clayton > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > ] Em > nome de Renan Nucci - CSM Software > Enviada em: sexta-feira, 20 de julho de 2007 14:35 > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > Assunto: RES: RES: [oracle_br] Conceder permissao a todos objetod de UM > schema > > Eu não tinha conhecimento dos comandos que me foi passado tive de dar uma > pesquisada para ver o que fazem.. > > Eu só consigo executar esse procedimento via SQL Plus? Não tem outra forma > de adicionarmos permissão para um schema inteiro então? > > atenciosamente, > > Renan Nucci > > Desenvolvedor C# > > CSM Software > > Msn: [EMAIL PROTECTED] <mailto:renanxr3%40hotmail.com> > <mailto:renanxr3%40hotmail.com> > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > ] Em > nome de jlchiappa > Enviada em: sexta-feira, 20 de julho de 2007 13:12 > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > Assunto: Re: RES: [oracle_br] Conceder permissao a todos objetod de UM > schema > > Renan, ** TUDO ** que a gente te passou foi (claro) pra ser executado > NO SQLPLUS, apenas O SQLPLUS é que possui comandos de SPOOL, @ e > quetais , só "jogar script" lógico que não funcionará.... Se vc > quiser executar dentro de procedure (o que imho não faz lá muito > sentido, já que tipicamente num bd Produção é o DBA quem executa > rotinas do tipo, e ele sempre tem o plus na mão mas enfim), sim, vc > teria que executar via SQL dinâmico (com EXECUTE IMMEDIATE ou > DBMS_SQL) ao invés de gerar arquivo, o PL/SQL ** não tem ** suporte à > DDL nativamente, como registrado no manual de utilização PL/SQL. > > []s > > Chiappa > > --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > , "Renan Nucci - CSM Software" > <nucci.csm@> escreveu > > > > Agradeço as respostas dos amigos,, testei aqui e era isso > exatamente issu > > que precisava. > > > > Agora só uma coisa, eu tenho de rodar esse script em uma sp, tem > algum > > segredo? Pois esta dando erro na primeira linha > > > > > > > > PLS-00103: Encontrado o símbolo "GRANT" quando um dos seguintes > > > > símbolos era esperado: > > > > := . ( @ % ; > > > > > > > > Eu apenas joguei o script dentro da sp.. > > > > Tenho que fazer por execute immediate?? > > > > > > > > > > > > > > > > atenciosamente, > > > > > > > > > > > > Renan Nucci > > > > Desenvolvedor C# > > > > CSM Software > > > > Msn: renanxr3@ > > > > > > > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > ] Em > > nome de Clayton Rocha > > Enviada em: sexta-feira, 20 de julho de 2007 10:59 > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > > > Assunto: RES: [oracle_br] Conceder permissao a todos objetod de UM > schema > > > > > > > > Como fazer para todos os objetos?? Views, sps etc.. > > Você pode usar o modelo e criar o script que desejar baseado na view > > all_objects. Enquanto estou aqui escrevendo esse email o Chiappa já > te > > adiantou e está pronto o script... hehe > > > > E outra coisa, se eu rodar esse scrpits todas tabelas irão ter o > acesso, > > blz, e se depois disso uma tabela for criada?? > > > > Se depois disso algum objeto for criado você também precisará dar as > > respectivas permissões para esse objeto. A melhor coisa é pegar > esse script > > que o Chiappa acabou de mandar e executá-lo sempre que for criado > algum > > objeto novo. > > > > []'s > > > > Clayton > > > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br% > 40yahoogrupos.com.br> > > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br% > 40yahoogrupos.com.br> > > ] Em > > nome de Renan Nucci - CSM Software > > Enviada em: sexta-feira, 20 de julho de 2007 10:41 > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br% > 40yahoogrupos.com.br> > > Assunto: RES: [oracle_br] Conceder permissao a todos objetod de UM > schema > > > > Obrigado pelas respostas.. mas... > > > > Como fazer para todos os objetos?? Views, sps etc.. > > > > E outra coisa, se eu rodar esse scrpits todas tabelas irão ter o > acesso, > > blz, e se depois disso uma tabela for criada?? > > > > Esse usuário não vai ter permissao a essa tabela? > > > > atenciosamente, > > > > Renan Nucci > > > > Desenvolvedor C# > > > > CSM Software > > > > Msn: renanxr3@ <mailto:renanxr3%40hotmail.com> > > <mailto:renanxr3%40hotmail.com> > > > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br% > 40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br% > 40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > ] Em > > nome de Marcus Vinicius Miguel Pedro > > Enviada em: sexta-feira, 20 de julho de 2007 10:14 > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br% > 40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > Assunto: RES: [oracle_br] Conceder permissao a todos objetod de UM > schema > > > > Lembrando que este script vai conceder select apenas para as > tabelas. Se o > > owner tiver views e outros objetos, o grant não será realizado. > > > > _____ > > > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br% > 40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br% > 40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > ] Em > > nome de Clayton Rocha > > Enviada em: Friday, July 20, 2007 9:38 AM > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br% > 40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > <mailto:oracle_br%40yahoogrupos.com.br> > > Assunto: RES: [oracle_br] Conceder permissao a todos objetod de UM > schema > > > > Fácil... apenas substitua o SCHEMA1 e USUARIO2 no script abaixo e > rode ele > > com usuário DBA ou SCHEMA1. > > > > spool grant.sql > > > > select 'grant select on schema1.'||table_name||' to usuario2;' from > > all_tables where owner='SCHEMA1'; > > > > spool off; > > > > @grant.sql > > > > Abraço! > > > > Clayton Rocha > > > > De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> > os.com.br > > [mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> > > os.com.br] Em > > nome de Renan Nucci - CSM Software > > Enviada em: sexta-feira, 20 de julho de 2007 08:58 > > Para: grupo- Oracle_br > > Assunto: [oracle_br] Conceder permissao a todos objetod de UM schema > > > > Bom dia pessoal, > > > > Poderiam me dar uma dica de como faço para conceder permissão para > um > > usuário (ex.: user1) ter permissão de SELECT em um determinado > schema (ex.: > > schema1)??? > > > > Percebem que eu quero dar permissão para todos os objetos q fazem > parte > > desse schema especificamente, não quero dar permissão para soh um > objeto do > > schema e nem para todos os schemas, eh soh para os objetos do > schema q eu > > queira. > > > > Eu sei dar permissão para apenas um objeto do schema e para todos > schemas, q > > se não me engano eh assim: > > > > Grant select on schema1.tabela to user1 e para todos os objetos de > todos > > schemas eh assim: Grant select any table to user1 > > > > mas isso não resolve o meu problema... > > > > alguém pode me ajudar?? > > > > Obrigado > > > > Renan Nucci > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas]