Extrair IP pelo HostName

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
JonatasP
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qua, 31 Out 2018 3:47 pm

Tenho uma tabela de log que mostra quantas vezes o computador acessou uma aplicação, mas mostra somente o nome do computador.

Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

Selecionar tudo

select UPPER(ds_maquina) ds_maquina, 
count(ds_maquina) qtd_estacao
from Log_Acesso where dt_acesso between '01/10/2018' AND '10/10/2018'
and ds_maquina is not null
group by UPPER(ds_maquina)
order by UPPER(ds_maquina)
Como posso saber o IP do computador pelo nome do Micro? Tendo essa informação colocaria mais uma coluna de IP.
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Bom dia.
Bom, talvez pela demora já tenhas achado a solução, mas...segue aqui algo que talvez te ajute:

Selecionar tudo

 SELECT SYS_CONTEXT('USERENV', 'SERVER_HOST')   "Nome SERVIDOR",
         SYS_CONTEXT('USERENV', 'INSTANCE_NAME') "Instância",
         SYS_CONTEXT('USERENV', 'HOST')          "CLIENTE",
         SYS_CONTEXT('USERENV', 'IP_ADDRESS')    "IP Cliente",
         SYS_CONTEXT('USERENV', 'OS_USER')       "Usuário SO",
         SYS_CONTEXT('USERENV', 'SESSION_USER')  "Usuário BD"
          FROM    DUAL;
Com isso, você pode colocar na sua aplicação, quando usuário acessar ela, faz este select e um insert na sua tabela de log.

Qualquer coisa, grita aee.

t+
Avatar do usuário
fbifabio
Moderador
Moderador
Mensagens: 199
Registrado em: Ter, 22 Fev 2011 1:51 pm
Localização: São Paulo - SP
Contato:
Fábio Prado
www.fabioprado.net

No artigo https://www.fabioprado.net/2010/11/recu ... uario.html do meu blog tem mais explicações sobre o SQL que o colega passou na resposta anterior.
[]s
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Awww TOP....eu acompanho esses blogs e sempre que vejo algo interessante, anoto em um bloco de notas e deixo salvo. Não guardo a referencia porque, na maioria das vezes, as páginas não são encontradas.

Abraços
JonatasP
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qua, 31 Out 2018 3:47 pm

Obrigado pelo retorno,

Mas como eu poderia montar meu select para mostrar o IP?
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Boa tarde.
Então, teria que analisar sua aplicação, mas, poderias adicionar mais um atributo na sua tabela, do tipo Varchar2(15)....quando for fazer o insert na sua LOG_ACESSO, faz o select

Selecionar tudo

SELECT SYS_CONTEXT('USERENV', 'IP_ADDRESS')    "IP Cliente"
into Variavel
FROM    DUAL;
E depois insere na LOG_ACESSO.


Abraços
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Majestic-12 [Bot] e 6 visitantes