Não, o usuário recebeu GRANT de DML na tab de horário, é ** APENAS ** 
isso que ele vai poder fazer diretamente : já que a tabela tem um 
PL/SQL "amarrado" nela, o PL/SQL vai ser executado, ** MAS ** vai ser 
executado na conta do dono, o usuário final ** NÂO ** vai receber 
nenhum priv extra. Exemplo :

==> usuário master cria tudo :

[EMAIL PROTECTED]:SQL>create table TAB_HORA(c1 number);

Tabela criada.

[EMAIL PROTECTED]:SQL>create table TAB_AUDIT(username varchar2(50), 
datahora date);

Tabela criada.

[EMAIL PROTECTED]:SQL>create trigger TRG_AUDIT after INSERT on TAB_HORA
  2  BEGIN
  3     insert into TAB_AUDIT values(user, sysdate);
  4  END;
  5  /

Gatilho criado.

==> dou GRANT ** apenas ** de INSERT na tabela de hora, então é 
APENAS isso que o usuário-final vai ter :

[EMAIL PROTECTED]:SQL>grant insert on TAB_HORA to SCOTT;

Concessão bem-sucedida.

==> vamos conectar como usuário-final :

[EMAIL PROTECTED]:SQL>create synonym TAB_HORA for chiappa.TAB_HORA;

Sinônimo criado.

[EMAIL PROTECTED]:SQL>insert into TAB_HORA values(1);

1 linha criada.

[EMAIL PROTECTED]:SQL>commit;

Validação completa.

==> consegui fazer o que tenho GRANT, veja que ** NÂO ** recebi 
grant "extra" nenhum por causa da trigger :

[EMAIL PROTECTED]:SQL>select * from chiappa.TAB_AUDIT;
select * from chiappa.TAB_AUDIT
                      *
ERRO na linha 1:
ORA-01031: privilégios insuficientes <<==== ok ??


==> mas veja que o PL/SQL ** foi ** sim executado, mas na conta do 
master :


[EMAIL PROTECTED]:SQL>select * from chiappa.TAB_AUDIT;

USERNAME         DATAHORA
---------------- -------------------
SCOTT            09/02/2006 09:32:17

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, "ESTUDO" <[EMAIL PROTECTED]> 
escreveu
>
> olá Chiappa.. hum vou tentar explicar melhor.. mas acredito q vc ja 
respondeu.
> Quem criou a trigger e a tabela de auditoria e de horario  foi o 
usuario master.
> 
> O master deu acesso de insert na tabela de horario pro usuario 
user1.
> 
> Então isso quer dizer que o user1 tem acesso na auditoria por ela 
estar na trigger da tabela de horario?
> 
>   ----- Original Message ----- 
>   From: jlchiappa 
>   To: oracle_br@yahoogrupos.com.br 
>   Sent: Thursday, February 09, 2006 8:38 AM
>   Subject: [oracle_br] Re: duvida de privilegios
> 
> 
>   Tá meio confuso aí : a QUEM pertence (ie, quem criou) a tabela de 
>   auditoria ?? QUEM criou o trigger ?? A regra no PL/SQL (trigger é 
>   PL/SQL) funciona assim : que criou e é dono do objeto SEMPRE o 
consegue 
>   usar normalmente em qquer PL/SQL que ele mesmo vá criar. 
>   Já se a tabela de dados em questão e a trigger foram criada por 
um 
>   OUTRO usuário e o usuário destino recebeu grant de DML nela, 
>   automaticamente o "GRANT de execução" do trigger vem junto, e a 
trigger 
>   vai rodar sob permissão do usuário que a criou, o que implica que 
terá 
>   acesso á tabela de auditoria normalmente.
>     Se não é isso a sua situação, explica melhor aí, que a gente 
tenta 
>   solucionar a sua dúvida.
> 
>   []s
> 
>   Chiappa
>   --- Em oracle_br@yahoogrupos.com.br, "ESTUDO" <[EMAIL PROTECTED]> 
escreveu
>   >
>   > Bom Dia
>   > 
>   > Pessoal, estou com a seguinte duvida:
>   > Tenho uma tabela de auditoria uma de horario e o usuario user1.
>   > O user1 tem acesso full na tabela de horario.
>   > Na tabela de horario tenho uma trigger que insere na auditoria.
>   > 
>   > Pergunta: O user1 precisa ter acesso na auditoria pra trigger 
>   funcionar?
>   > 
>   > Obrigada
>   > 
>   > Cris
>   > 
>   > 
>   > [As partes desta mensagem que não continham texto foram 
removidas]
>   >
> 
> 
> 
> 
> 
> 
>   ------------------------------------------------------------------
--------------------------------------------------------
>   Atenção! As mensagens deste grupo são de acesso público e de 
inteira responsabilidade de seus remetentes.
>   Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
>   ------------------------------------------------------------------
--------------------------------------------------------
__________________________________________________________________
>   Moderador e Fundador: Dorian Anderson Soutto [EMAIL PROTECTED]
>   
__________________________________________________________________ 
> 
> 
>         Yahoo! Grupos, um serviço oferecido por: 
>               PUBLICIDADE
>                 
>        
> 
> 
> --------------------------------------------------------------------
----------
>   Links do Yahoo! Grupos
> 
>     a.. Para visitar o site do seu grupo na web, acesse:
>     http://br.groups.yahoo.com/group/oracle_br/
>       
>     b.. Para sair deste grupo, envie um e-mail para:
>     [EMAIL PROTECTED]
>       
>     c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos 
do Serviço do Yahoo!. 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>






--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
Moderador e Fundador: Dorian Anderson Soutto [EMAIL PROTECTED]
__________________________________________________________________ 
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:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a