É 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