Pular para o conteúdo

Fóruns Banco de dados Oracle SELECT USARIO EM DIFERENTES SCHEMAS SELECT USARIO EM DIFERENTES SCHEMAS

#109399
Avatar photoJosé Laurindo Chiappa
Moderador

    Ah, dois detalhes adicionais :

    1. normalmente é mais de um usuário do banco que precisa receber um determinado conjunto de GRANTs : assim, muitas vezes o que se faz é cria uma ROLE, associar a ROLE com os usuários desejados e dar os privilégiso desejados PARA A ROLE : automaticamente, quando vc fazer um GRANT pribilégio TO ROLE, os usuários TODOS que estão assignados para aquela ROLE herdam o privilégio…
    A vantagem principal das ROLEs é que quando vc precisar criar um novo usuário que deve ter os mesmos privs já dados para a role X, basta vc associar a role X para o novo usuário e pronto…
    A desvantagem principal das ROLEs é que elas são DESLIGADAS/DESCONSIDERADAS para programas PL/SQL armazenados no banco que foram criados com DEFINER RIGHTS (AUTHID DEFINER, que é o Default) – roles só funcionam ok para stored PL/SQLs criados com AUTHID CURRENT_USER

    2. óbvio, sempre que vc criar um novo usuário ou um novo objeto que precisa ser permissionado, os GRANTs específicos para esse novo objeto TEM que ser refeitos (para a role ou para os usuários diretos) – idealmente vc teria um conjunto de scripts que fazem os GRANTs necessários à mão, e os executaria logo após criar o novo usuário….
    Em tese é possível Automatizar isso com uma trigger de DDL (http://www.oaktable.net/content/automatically-granting-privileges-newly-created-tables exemplifica) mas eu prefiro a opção de scripts…

    []s

    Chiappa