RES: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Muito obrigado Chiappa. Att. Danilo L. C. Oliveira. DPS-Cinbesa. (91) 30840714/ 8852-6114 / 81695659 De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de jlchiappa Enviada em: quarta-feira, 6 de maio de 2009 13:37 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i. Só complementando a minha resposta (dando mais opções), realmente a auditoria de comandos por si só não registra o IP, ** MAS ** se for ativa a auditoria de CONEXÕES via AUDIT CONNECT, o IP ** vai sim ** ser capturado no audit_trail, cfrme : SQL> select COMMENT_TEXT from dba_audit_trail; COMMENT_TEXT -- Authenticated by: DATABASE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0 .1)(PORT=2536)) []s Chiappa --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> , "jlchiappa" escreveu > > Colega, pode checar as docs 9i, ele não guarda o IP, mas guarda o hostname/terminal/usuário do SO , com isso vc consegue fazer um traceroute pelo nome e descobrir o IP, ou algo assim ? SE sim, blz, isso deve te atender, se não vc teria que ter uma trigger de logon ou similar aonde vc obtém o IP (com UTL_INADDR.GET_HOST_ADDRESS(HOST_NAME), provavelmente) e registra isso numa tabela sua. > > []s > > Chiappa > --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> , "Danilo Oliveira - CINBESA" escreveu > > > > William Frasson, Bom dia. > > > > > > > > Verifique sua solução e avaliei junto com o audit_trail do proprio oracle. O > > audit_trail é quase tudo que preciso, só me falta guardar o endereço IP > > junto com a auditagem do Oracle, será sé alguma maneira de colher essa > > informação a partir do audit_trail e guardar junto com as informações do > > audit_trail? > > > > > > > > Desde já agradeço a todos. > > > > > > > > Att. > > > > > > > > Danilo L. C. Oliveira. > > > > DPS-Cinbesa. > > > > (91) 30840714/ 8852-6114 / 81695659 > > > > > > > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> ] Em > > nome de Willian Fernando Frasson > > Enviada em: terça-feira, 5 de maio de 2009 17:41 > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > > Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. > > > > > > > > > > > > > > > > > > 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_TA
Re: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Só complementando a minha resposta (dando mais opções), realmente a auditoria de comandos por si só não registra o IP, ** MAS ** se for ativa a auditoria de CONEXÕES via AUDIT CONNECT, o IP ** vai sim ** ser capturado no audit_trail, cfrme : SQL> select COMMENT_TEXT from dba_audit_trail; COMMENT_TEXT Authenticated by: DATABASE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0 .1)(PORT=2536)) []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "jlchiappa" escreveu > > Colega, pode checar as docs 9i, ele não guarda o IP, mas guarda o > hostname/terminal/usuário do SO , com isso vc consegue fazer um traceroute > pelo nome e descobrir o IP, ou algo assim ? SE sim, blz, isso deve te > atender, se não vc teria que ter uma trigger de logon ou similar aonde vc > obtém o IP (com UTL_INADDR.GET_HOST_ADDRESS(HOST_NAME), provavelmente) e > registra isso numa tabela sua. > > []s > > Chiappa > --- Em oracle_br@yahoogrupos.com.br, "Danilo Oliveira - CINBESA" > escreveu > > > > William Frasson, Bom dia. > > > > > > > > Verifique sua solução e avaliei junto com o audit_trail do proprio oracle. O > > audit_trail é quase tudo que preciso, só me falta guardar o endereço IP > > junto com a auditagem do Oracle, será sé alguma maneira de colher essa > > informação a partir do audit_trail e guardar junto com as informações do > > audit_trail? > > > > > > > > Desde já agradeço a todos. > > > > > > > > Att. > > > > > > > > Danilo L. C. Oliveira. > > > > DPS-Cinbesa. > > > > (91) 30840714/ 8852-6114 / 81695659 > > > > > > > > De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em > > nome de Willian Fernando Frasson > > Enviada em: terça-feira, 5 de maio de 2009 17:41 > > Para: oracle_br@yahoogrupos.com.br > > Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. > > > > > > > > > > > > > > > > > > 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_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > > Sent: Tuesday, May 05, 2009 4:19 PM >
Re: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
No 9i se consegue ** FACILMENTE ** obter o efeito de trigger de select (ie, auditoria de SELECTs) com a FGA, que pode ser setada até JUNTO com a auditoria via AUDIT, se for o caso... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Caio Spadafora escreveu > > Nunca implementei a auditoria própria do banco, mas com triggres sei que é > possível fazer o que você precisa, com exceção de consultas, para isso > provavelmente você terá que estudar a auditoria do banco. > > Uma contingência seria você auditar os DMLs e auditar as conexões no banco > com um trigger de logon, de uma pesquisada nesse tipo de trigger, aliando ela > com as variáveis de ambiente e consultas na v$session você consegue capturar > quem é o usuário do sistema operacional e o IP por exemplo, além de outras > informações. > > Espero ter ajudado, > Atenciosamente, > Caio Spadafora. > http://0011brothers.blogspot.com/ > > --- Em ter, 5/5/09, Danilo Oliveira - CINBESA escreveu: > > De: Danilo Oliveira - CINBESA > Assunto: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i. > Para: oracle_br@yahoogrupos.com.br > Data: Terça-feira, 5 de Maio de 2009, 16:19 > > > > > > > > > > > > > > > > > > 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 > <mailto:danilo% 40cinbesa. com.br> > escreveu: > > > > De: Danilo Oliveira - CINBESA > <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] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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] >
RES: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Muito obrigado pelas dicas, orientações, exemplos, disponibilidade e atenção de todos. Irei implementar a solução com base nas informações discutidas por aqui e repasso um retorno do resultado para o grupo. Att. Danilo L. C. Oliveira. DPS-Cinbesa. (91) 30840714/ 8852-6114 / 81695659 De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Caio Spadafora Enviada em: quarta-feira, 6 de maio de 2009 11:43 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i. Danilo, Acho que se o audit trail não pega o IP talvez você precisa utilizar o Audit Vault (outro produto que não o Oracle Database Server) Atenciosamente, Caio Spadafora. http://0011brothers.blogspot.com/ --- Em qua, 6/5/09, Danilo Oliveira - CINBESA mailto:danilo%40cinbesa.com.br> > escreveu: De: Danilo Oliveira - CINBESA mailto:danilo%40cinbesa.com.br> > Assunto: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> Data: Quarta-feira, 6 de Maio de 2009, 11:11 William Frasson, Bom dia. Verifique sua solução e avaliei junto com o audit_trail do proprio oracle. O audit_trail é quase tudo que preciso, só me falta guardar o endereço IP junto com a auditagem do Oracle, será sé alguma maneira de colher essa informação a partir do audit_trail e guardar junto com as informações do audit_trail? Desde já agradeço a todos. 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 Willian Fernando Frasson Enviada em: terça-feira, 5 de maio de 2009 17:41 Para: oracle...@yahoogrup os.com.br Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. 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 <mailto:oracle_ br%40yahoogrupos .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_ br%40yahoogrupos .com.br> [mailto:oracle...@yahoogrup os.com.br <mailto:oracle_ br%40yahoogrupos .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 <mailto:oracle_ br%40yahoogrupos .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
Re: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Colega, pode checar as docs 9i, ele não guarda o IP, mas guarda o hostname/terminal/usuário do SO , com isso vc consegue fazer um traceroute pelo nome e descobrir o IP, ou algo assim ? SE sim, blz, isso deve te atender, se não vc teria que ter uma trigger de logon ou similar aonde vc obtém o IP (com UTL_INADDR.GET_HOST_ADDRESS(HOST_NAME), provavelmente) e registra isso numa tabela sua. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "Danilo Oliveira - CINBESA" escreveu > > William Frasson, Bom dia. > > > > Verifique sua solução e avaliei junto com o audit_trail do proprio oracle. O > audit_trail é quase tudo que preciso, só me falta guardar o endereço IP > junto com a auditagem do Oracle, será sé alguma maneira de colher essa > informação a partir do audit_trail e guardar junto com as informações do > audit_trail? > > > > Desde já agradeço a todos. > > > > Att. > > > > Danilo L. C. Oliveira. > > DPS-Cinbesa. > > (91) 30840714/ 8852-6114 / 81695659 > > > > De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em > nome de Willian Fernando Frasson > Enviada em: terça-feira, 5 de maio de 2009 17:41 > Para: oracle_br@yahoogrupos.com.br > Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. > > > > > > > > > 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_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.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_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> > ] Em > nome de Caio Spadafora > Enviada em: terça-feira, 5 de maio de 2009 15:52 > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.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á prep
Re: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Danilo, Acho que se o audit trail não pega o IP talvez você precisa utilizar o Audit Vault (outro produto que não o Oracle Database Server) Atenciosamente, Caio Spadafora. http://0011brothers.blogspot.com/ --- Em qua, 6/5/09, Danilo Oliveira - CINBESA escreveu: De: Danilo Oliveira - CINBESA Assunto: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.com.br Data: Quarta-feira, 6 de Maio de 2009, 11:11 William Frasson, Bom dia. Verifique sua solução e avaliei junto com o audit_trail do proprio oracle. O audit_trail é quase tudo que preciso, só me falta guardar o endereço IP junto com a auditagem do Oracle, será sé alguma maneira de colher essa informação a partir do audit_trail e guardar junto com as informações do audit_trail? Desde já agradeço a todos. 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 Willian Fernando Frasson Enviada em: terça-feira, 5 de maio de 2009 17:41 Para: oracle...@yahoogrup os.com.br Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. 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 <mailto:oracle_ br%40yahoogrupos .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_ br%40yahoogrupos .com.br> [mailto:oracle...@yahoogrup os.com.br <mailto:oracle_ br%40yahoogrupos .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 <mailto:oracle_ br%40yahoogrupos .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 mailto:danilo% 40cinbesa. com.br> <mailto:danilo% 40cinbesa. com.br> > escreveu: De: Danilo Oliveira - CINBESA mailto:danilo% 40cinbesa. 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%40yahoogru
RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
William Frasson, Bom dia. Verifique sua solução e avaliei junto com o audit_trail do proprio oracle. O audit_trail é quase tudo que preciso, só me falta guardar o endereço IP junto com a auditagem do Oracle, será sé alguma maneira de colher essa informação a partir do audit_trail e guardar junto com as informações do audit_trail? Desde já agradeço a todos. Att. Danilo L. C. Oliveira. DPS-Cinbesa. (91) 30840714/ 8852-6114 / 81695659 De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Willian Fernando Frasson Enviada em: terça-feira, 5 de maio de 2009 17:41 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Auditoria de Tabelas em Oracle 9i. 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_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.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_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> ] Em nome de Caio Spadafora Enviada em: terça-feira, 5 de maio de 2009 15:52 Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.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 mailto:danilo%40cinbesa.com.br> <mailto:danilo%40cinbesa.com.br> > escreveu: De: Danilo Oliveira - CINBESA mailto:danilo%40cinbesa.com.br> <mailto:danilo%40cinbesa.com.br> > Assunto: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.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/
Re: [oracle_br] Auditoria de Tabelas em Oracle 9i.
é 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 escreveu: De: Willian Fernando Frasson 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 mailto:danilo% 40cinbesa. com.br> > escreveu: De: Danilo Oliveira - CINBESA 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 é
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 escreveu: De: Willian Fernando Frasson 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 mailto:danilo% 40cinbesa. com.br> > escreveu: De: Danilo Oliveira - CINBESA 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
Re: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Nunca implementei a auditoria própria do banco, mas com triggres sei que é possível fazer o que você precisa, com exceção de consultas, para isso provavelmente você terá que estudar a auditoria do banco. Uma contingência seria você auditar os DMLs e auditar as conexões no banco com um trigger de logon, de uma pesquisada nesse tipo de trigger, aliando ela com as variáveis de ambiente e consultas na v$session você consegue capturar quem é o usuário do sistema operacional e o IP por exemplo, além de outras informações. Espero ter ajudado, Atenciosamente, Caio Spadafora. http://0011brothers.blogspot.com/ --- Em ter, 5/5/09, Danilo Oliveira - CINBESA escreveu: De: Danilo Oliveira - CINBESA Assunto: RES: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.com.br Data: Terça-feira, 5 de Maio de 2009, 16:19 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 mailto:danilo% 40cinbesa. com.br> > escreveu: De: Danilo Oliveira - CINBESA 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] 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]
Re: [oracle_br] Auditoria de Tabelas em Oracle 9i.
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_br@yahoogrupos.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_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Caio Spadafora Enviada em: terça-feira, 5 de maio de 2009 15:52 Para: oracle_br@yahoogrupos.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 mailto:danilo%40cinbesa.com.br> > escreveu: De: Danilo Oliveira - CINBESA mailto:danilo%40cinbesa.com.br> > Assunto: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.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.maisbuscados.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.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]
RES: [oracle_br] Auditoria de Tabelas em Oracle 9i.
Caio, boa tarde! Preciso auditar as DMLs 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_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Caio Spadafora Enviada em: terça-feira, 5 de maio de 2009 15:52 Para: oracle_br@yahoogrupos.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 mailto:danilo%40cinbesa.com.br> > escreveu: De: Danilo Oliveira - CINBESA mailto:danilo%40cinbesa.com.br> > Assunto: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.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.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
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 escreveu: De: Danilo Oliveira - CINBESA Assunto: [oracle_br] Auditoria de Tabelas em Oracle 9i. Para: oracle_br@yahoogrupos.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.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Auditoria de Tabelas em Oracle 9i.
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]