Nah, não creio que seja mistério não, muito provavelmente esse banco 
tem é umas lambanças das boas nele . Por exemplo : se vc pede um desc 
f_auditoria e ele te responde object "DBA_UNIFI"."F_AUDITORIA" , isso 
implica que estão sendo usados sinônimos, e vc não imagina como é 
fácil ter-se caquinhas tipo : existe um sinônimo PÚBLICO pro objeto 
X, esse sinônimo público está incorreto, e ALGUNS usuários tem um 
sinônimo PRIVADO correto, ambos com o mesmo nome do objeto - num caso 
tipo esse, quem tem o sinônimo privado correto , o banco o encontra 
antes do público, funciona ok, já quem não tem o privado, o banco cai 
no sinônimo público, logicamente não funciona, exemplo :

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

Tabela criada.

[EMAIL PROTECTED]:SQL>create public synonym TAB_TT for chiappa.lixo;

Sinônimo criado.

[EMAIL PROTECTED]:SQL>grant select on TAB_TT to public;

Concessão bem-sucedida.

==> ok, vamos primeiro a um usuário que tem sinônimo privado :

[EMAIL PROTECTED]:SQL>@conn scott/[EMAIL PROTECTED]
Conectado.

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

Sinônimo criado.

[EMAIL PROTECTED]:SQL>@desc tab_tt
 Nome                                      Nulo?    Tipo
 ----------------------------------------- -------- ------------------
----------
 C1                                                 NUMBER

==> ok, funcionou, vamos ter um user que só tem acesso ao sin. 
público, que está errado :

[EMAIL PROTECTED]:SQL>@conn usr_consulta/[EMAIL PROTECTED]
Conectado.
[EMAIL PROTECTED]:SQL>@desc tab_tt
ERROR:
ORA-04043: o objeto "CHIAPPA"."LIXO" não existe


===>> é isso, confere ?? veja, eu ****** NÃO ****** estou dizendo que 
é esse o seu problema, só demonstro que PODEM ocorrer coisas do tipo, 
por incompetência/descontrole de administração dum banco Oracle, 
certo ?? Só vc mesma, como DBA, é que VAI debugar isso....

Da mesma forma, é ultra-documentado que quando vc acessa um objeto 
que não é seu em stored PL/SQL, as roles por default SÂO DESLIGADAS, 
são IGNORADAS, é preciso GRANT direto, será que não tem a ver com o 
assunto ?? Provável... Da mesma forma, a trigger :

a) não dispara se houve erro no SQL

b) dispara na MESMA transação, então se o cliente fizer um ROLLBACK 
(seja rollback automático por erro, seja de propósito),o INSERT na 
tabela de AUDIT *** vai *** ser desfeito.... Pra isto, AUTONOMOUS 
TRANSACTION é a solução.

==>  Então o seu trabalho é DEBUGAR exatamente a situação, e pra isso 
como eu disse na msg original vc VAI ter que ver exatamente quais são 
os objetos envolvidos, QUAL privilégio foi dado, COMO está sendo 
feito o acesso à tabela de horas (se SQL ou PL/SQL).... 

[]s

 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, "ESTUDO" <[EMAIL PROTECTED]> 
escreveu
>
> É  tanto misterio que veja algo:
> 
> 1. Conectei com o user1 (ADRIANAV)
> 
> SQL> desc f_auditoria
> ERROR:
> ORA-04043: object "DBA_UNIFI"."F_AUDITORIA" does not exist
> 
> 
> SQL> desc dba_unifi.F_AUDITORIA
> ERROR:
> ORA-04043: object dba_unifi.F_AUDITORIA does not exist
> 
> 2.Vou ver os acessos da  ADRIANAV :
> 
> SQL> SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE  GRANTEE   
= 'ADRIANAV' 
>   2  /
> 
> GRANTED_ROLE
> ------------------------------
> FDIS_VDA
> 
> SQL> select TABLE_NAME,  PRIVILEGE from dba_tab_privs where GRANTEE 
= 'ADRIANAV'
>   2  AND TABLE_NAME = 'F_AUDITORIA'
>   3  /
> 
> não há linhas selecionadas
> 
> SQL>  select TABLE_NAME,  PRIVILEGE from dba_tab_privs where 
GRANTEE = 'FDIS_VDA'
>   2   AND TABLE_NAME = 'F_AUDITORIA'
>   3  /
> 
> não há linhas selecionadas
> 
> SQL> Select TABLE_NAME,  PRIVILEGE from dba_COL_privs where 
GRANTEE  IN ('FDIS_VDA','ADRIANAV')
>   2  AND TABLE_NAME = 'F_AUDITORIA'
>   3  /
> não há linhas selecionadas
> 
> 
> Bom ela nao tem acesso na F_AUDITORIA, mas como ela ja gravou isso 
HJ?
> 
> 
>  Select TABELA, DATA,SUBSTR(CONTEUDO_ANTIGO,8,12) antigo, hora from 
f_auditoria
>  where USUARIO =  'ADRIANAV'
>  and tabela =  'F_HORARIO_REAL'
>  and data = '09/02/2006'
> 
> TABELA                                             DATA     
ANTIGO             HORA
> -------------------------------------------------- -------- --------
---- ----------
> F_HORARIO_REAL                                     09/02/06 
VAGA=025          93036
> F_HORARIO_REAL                                     09/02/06 
VAGA=010          93036
> F_HORARIO_REAL                                     09/02/06 
VAGA=010          93036
> F_HORARIO_REAL                                     09/02/06 
VAGA=012          93036
> F_HORARIO_REAL                                     09/02/06 
VAGA=012          93036
> F_HORARIO_REAL                                     09/02/06 
VAGA=012          93036
> F_HORARIO_REAL                                     09/02/06 
VAGA=012          93036
> F_HORARIO_REAL                                     09/02/06 
VAGA=014          92316
> F_HORARIO_REAL                                     09/02/06 
VAGA=013          93041
> F_HORARIO_REAL                                     09/02/06 
VAGA=013          93041
> 
> 
> Obrigada
> 
> Cris
> 
> 
>   ----- Original Message ----- 
>   From: jlchiappa 
>   To: oracle_br@yahoogrupos.com.br 
>   Sent: Thursday, February 09, 2006 9:25 AM
>   Subject: [oracle_br] Re: duvida de privilegios
> 
> 
>   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]
>   
__________________________________________________________________ 
> 
> 
>         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