paperino 0 Denunciar post Postado Maio 3, 2007 Trabalho com unix e com a base de dados oracle.Aqui o desenvolvimento é feito por uma empresa e os testes por outra (minha empresa) Estou fazendo uma query para monitorar os acessos à nossa base de testes porque notamos, através do select abaixo, que existem muitos desenvolvedores que acessavam a nossa base de testes com o usuário sysadm do oracle, o que é inadimissível. O acesso para esses desenvolvedores só é permitido via usuário readonly. A equipe que controla os ambientes me disse que não temos como impedir o acesso deles à nossa base porque mesmo alterando as senhas frequentemente é possível descobrir, num arquivo de core dump do Unix, o usuário e senha sysadm da base. O que pensei em fazer é monitorar os acessos pra gerar relatórios e pra isso a query abaixo ajudou bastante, porém descobrimos que quando alguém acessa via dblink, mesmo quando logado como readonly, o resultado da query diz que o usuário acessou como sysadm. Alguém sabe como tornar este select mais preciso? Bastaria informar através de outra coluna se o acesso é feito por um DBLINK ou não. Query:select DECODE(p.paddr, null, status, 'ORACLE' || DECODE(status, 'ACTIVE',null, '*')) status , DECODE(osuser, 'UNKNOWN',null, osuser) || ';' osuser , s.username || ';', machine, DECODE(p.name, null, s.program, p.name || ' - ' || p.description) program, a.sql_Text || ';', w.seconds_in_wait || ';', w.state || ';', w.event , 'alter system kill session ''' || s.sid || ',' || s.serial# || ''';' KILL, pro.spidfrom v$session s, v$bgprocess p, v$session_wait w, v$sqlarea a, v$process prowhere s.paddr = p.paddr(+) and w.sid(+) = s.sid and a.address(+) = s.sql_Address and s.paddr = pro.addrorder by 1,2,3 ; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 4, 2007 Tente criar uma trigger para verificar que se loga CREATE OR REPLACE TRIGGER TESTE_LOGON AFTER LOGON ON DATABASE BEGIN IF USER = 'SYSDBA' THEN -- FAZ ALGUMA COISA END IF; END; Compartilhar este post Link para o post Compartilhar em outros sites