Alexandre Garcia 0 Denunciar post Postado Junho 13, 2018 Boa Noite Srs, Tenho um SCHEMA Biblioteca e precisei criar vários usuários que terão acesso a esse schema. Ele poderão ler e inserir dados em todas as tabelas do SCHEMA Biblioteca. Para não ir dando permissão um a um resolvi criar uma role mas não sei como fazer isso. Alguém pode me ajudar? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Junho 14, 2018 Bom dia, o Oracle não da permissão a nivel schema, para dar permissão de insert ou de select em uma tabela de um schema, você terá que varrer os objetos desse schema e ai aplicar o grant.. você pode varrer assim: select 'grant select on Biblioteca .'||table_name||' to <schema que você criou>;' From Dba_Tables where owner ='Biblioteca'; select 'grant insert on Biblioteca .'||table_name||' to <schema que você criou>;' From Dba_Tables where owner ='Biblioteca'; o resultado dessa query será grat para cada tabela do scema, ai é só você executar. espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
Alexandre Garcia 0 Denunciar post Postado Junho 14, 2018 Obrigado DLMS. Eu tinha pensado nessa alternativa. O problema dela é que caso uma nova tabela seja criada grant tem que ser dado novamente para tabela nova. Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Junho 14, 2018 É, mas não terá outra maneira , a nível schema o Oracle não faz, tem que ser a nível objeto que se deseja mesmo outra maneira seria um grant com ANY , mas nem falei essa por que você comprometeria a segurança do banco por esse schema poder inserir ou visualizar qualquer objeto em outro schema e não só em biblioteca. Compartilhar este post Link para o post Compartilhar em outros sites