Data de último login - usuário

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
Cristiano Gomes
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Sex, 25 Mai 2007 3:21 pm
Localização: São Paulo

Bom dia pessoal!

Tenho um banco de dados Oracle 9i com vários usúarios criados.

Gostaria de saber qual tabela do Oracle consigo verificar qual foi o último login de cada usuário de um banco de dados, poie preiciso gerar um relatório com essa informação.

muito obrigado
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Amigo sabe informar se autoria esta habilidata??
ou se existe alguma Trigger para guardar essa Informação??
Cristiano Gomes
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Sex, 25 Mai 2007 3:21 pm
Localização: São Paulo

Não tem auditoria habilitada, e não existem triggers que guardem essa informação.

Olhei na V$SESSION mas essa so mostra data e hora dos usuários que estão logados e eu preciso de todos os usuários, para verificar quais a muito tempo não são utilizados.

Muito obrigado
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Tenha um Pouco mais de Paciencia ate os Feras Chegarem....
mais acho que não tem como você descobrir... se você tem as Opções que sitei habilitadas...

Vou da uma Futricada.....
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

bom.. eu num sei se tem como não...
mais para isso pode ser feito uma trigger de banco...
mais eu acho qui isso ficaria mtoooooo pesado depois de um tempo...

mais nesse site aqui tem mtos scripts que podem te ajudar:
http://www.oracle-base.com/dba/DBACategories.php

=D
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

axei no meu banco aqui uma coisa que pode te ajudar

Selecionar tudo

TRIGGER LOG_CONEXAO
AFTER LOGON ON DATABASE
DECLARE
  v_usuario  v$session.username%type;
  v_programa v$session.program%type;
  v_maquina  v$session.machine%type;
  v_terminal v$session.terminal%type;
  v_osuser   v$session.osuser%type;
BEGIN
  select trim(username),
         nvl(trim(program),'PROGRAMA NÃO INDENTIFICADO'),
         trim(machine),
         trim(osuser),
         trim(terminal)
    into v_usuario,
         v_programa,
         v_maquina,
         v_osuser,
         v_terminal
  from v$session
  where audsid = userenv('sessionid')
    and username in ('USUÁRIOS QUE SERAM PEGOS NO SELECT') -- caso sirva para todos os usuário retirar ese campo
    and upper(trim(osuser)) not in ('ORACLE','SYSTEM');

  insert into log_conexao(dt,
                          usu,
                          programa,
                          osuser,
                          terminal,
                          maquina)
                   values(sysdate,
                          v_usuario,
                          v_programa,
                          v_osuser,
                          v_terminal,
                          v_maquina);

EXCEPTION
  when no_data_found then
      null;                                                                                         
  when others then
      raise_application_error(-20000,'LOG_CONEXAO - erro= '||sqlerrm);
END;
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

então gokden

uma duvida ele se vai começar a fazer controle apos executar esse Script, ates disso não tem como ele fazer esse controle....

Tem???
Sem Auditoria Ligada??
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pois é, o ORACLE não guarda "a toa" informações desse tipo.
Isso deve ser construído e guardado apenas se é necessário.
(imagina se tudo estivesse habilitado, logs, etc... Os discos iam pro espaço rapidinho).

Por isso, a idéa da trigger é uma boa!
se você não quer que a tabela cresça muito, pode fazer uma "limpeza" de vez em quando OU guardar apenas o último login de cada um. (Faz update numa tabela com o nome do usuário e data. Se o usuário que está fazendo LOGIN já existe nessa tabela, faz UPDATE da data. Se não existe, INSERE ele)



:-o
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Entendeu....

Boa sorte Cristiano Gomes

Qualquer Coisa Manda Ai
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes