é mandei errado hahaha era pra ele.. ----- Original Message ----- From: Caio Spadafora To: oracle_br@yahoogrupos.com.br Sent: Wednesday, May 06, 2009 11:12 AM Subject: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Willian, Acredito que a dúvida seja do Danilo :), mas acredito que isso ajude ele sim, com exceção das consultas que essas duas triggers não iriam capturar, só com a auditoria do próprio Oracle. Sei que a trigger de logon possui alguns BUGs no que diz respeito a captura do programa que está acessando o banco em alguns casos, mas como o Danilo citou IP acredito que ela resolva. Atenciosamente, Caio Spadafora. http://0011brothers.blogspot.com/ --- Em ter, 5/5/09, Willian Fernando Frasson <wfras...@yahoo.com.br> escreveu: De: Willian Fernando Frasson <wfras...@yahoo.com.br> Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.com.br Data: Terça-feira, 5 de Maio de 2009, 17:41 Caio veja se isso te ajuda: Faça uma trigger de logon,(teste primeirobase teste) e ah criei a tabela sys_log_utilizacao antes. Create or replace TRIGGER "SYS".AUDIT_ LOGON AFTER LOGON ON DATABASE DECLARE w_prog varchar2(48) ; Begin SELECT nvl(substr(lower( module),1, 40),program) into w_prog from v$session where audsid = userenv('SESSIONID' ); insert into sys.sys_log_ utilizacao ( NOME_TAB,DATA_ OPER,TIPO_ AIE,ID_REGISTRO, NOME_TERMINAL, NOME_USR_WINDOWS, NOME_USR_ BANCO,IP_ TERMINAL, programa) values ('LOGON',SYSDATE, 'L',1, userenv('TERMINAL' ),SYS_CONTEXT( 'USERENV' ,'OS_USER' ), USER,sys_context( 'userenv' ,'ip_address' ),w_prog) ; end; Depois uma trigger na tabela assim: CREATE OR REPLACE TRIGGER TRIGGER_AUDITORIA BEFORE INSERT OR UPDATE OR DELETE ON CLIPAR FOR EACH ROW DECLARE V_OSUSER VARCHAR2(50) ; V_AUDIT NUMBER; LOGADO NUMBER; USU_NOME VARCHAR2(50) ; USU_NIVEL VARCHAR2(50) ; BEGIN --Verifica o usuario logado SELECT userenv('SESSIONID' ) INTO LOGADO FROM DUAL; --Selecionar o OSUSER e AUDITORIA SELECT OSUSER, AUDITORIA INTO V_OSUSER, V_AUDIT FROM SYS.sys_log_ utilizacao WHERE AUDITORIA = LOGADO; --Seleciona o nivel SELECT USU_NOM, USU_NIVEL INTO USU_NOME, USU_NIVEL FROM SINTRA.USUCAD WHERE USU_NIVEL = '7'; IF DELETING THEN IF UPPER(V_OSUSER) <> TRIM(USU_NOME) THEN :NEW.CLI_FATMT3 := :OLD.CLI_FATMT3; :NEW.CLI_TABPRE := :OLD.CLI_TABPRE; END IF; END IF; IF INSERTING THEN IF UPPER(V_OSUSER) <> TRIM(USU_NOME) THEN :NEW.CLI_FATMT3 := :OLD.CLI_FATMT3; :NEW.CLI_TABPRE := :OLD.CLI_TABPRE; END IF; END IF; IF UPDATING THEN IF UPPER(V_OSUSER) <> TRIM(USU_NOME) THEN :NEW.CLI_FATMT3 := :OLD.CLI_FATMT3; :NEW.CLI_TABPRE := :OLD.CLI_TABPRE; END IF; END IF; END; ----- Original Message ----- From: Danilo Oliveira - CINBESA To: oracle...@yahoogrup os.com.br Sent: Tuesday, May 05, 2009 4:19 PM Subject: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i. Caio, boa tarde! Preciso auditar as DML's de duas tabelas, acessos, alterações, inclusões e exclusões. Como o usuário é um só para aplicação fazer o acesso ao banco, preciso colher o endereço IP e o usuario do S.O. Lendo a documentação do 9i e não acho nada nesse sentido, estou procurando na documentação na www.oracle.com e googleando. Att. Danilo L. C. Oliveira. DPS-Cinbesa. (91) 30840714/ 8852-6114 / 81695659 De: oracle...@yahoogrup os.com.br [mailto:oracle...@yahoogrup os.com.br] Em nome de Caio Spadafora Enviada em: terça-feira, 5 de maio de 2009 15:52 Para: oracle...@yahoogrup os.com.br Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. A auditoria interna do banco é mais pratica de implementar, agora exatamente o que você precisa auditar? somente DMLs, ou qualquer tipo de acesso? Agora independente de qual tecnologia já prepare-se para limpar as informações de auditoria de tempos em tempos. Detalhe um pouco mais o que você precisa auditar, por favor. Atenciosamente, Caio Spadafora. http://0011brothers .blogspot. com/ --- Em ter, 5/5/09, Danilo Oliveira - CINBESA <dan...@cinbesa. com.br <mailto:danilo% 40cinbesa. com.br> > escreveu: De: Danilo Oliveira - CINBESA <dan...@cinbesa. com.br <mailto:danilo% 40cinbesa. com.br> > Assunto: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle...@yahoogrup os.com.br <mailto:oracle_ br%40yahoogrupos .com.br> Data: Terça-feira, 5 de Maio de 2009, 15:23 Boa Tarde Grupo! Gostaria em 1° lugar, pois será meu 1° post, de agradeçer e parabenizar ao grupo que é muito dinâmico, prestativo e unido. Bem vamos a minha dúvida, Estou com uma necessidade de auditar as operações de tabelas no banco Oracle 9i. O problema é que não sei se uso triggers ou habilito a auditagem do proprio Oracle, alguém me indica o que é melhor, no seu ponto de vista? Preciso colher informações do Sistema Operacional também, como usuário e endereço IP. Desde já agradeço a todos. Att. Danilo L. C. Oliveira. DPS-Cinbesa. (91) 30840714/ 8852-6114 / 81695659 [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbusca dos.yahoo. com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] ------------ --------- --------- --------- --------- --------- - O Banco de Dados de Vírus interno expirou. Verificado por AVG - http://www.avgbrasi l.com.br Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de Lançamento: 30/1/2009 17:31 [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] ------------------------------------------------------------------------------ O Banco de Dados de Vírus interno expirou. Verificado por AVG - http://www.avgbrasil.com.br Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de Lançamento: 30/1/2009 17:31 [As partes desta mensagem que não continham texto foram removidas]