ITPub博客

首页 > 数据库 > Oracle > oracle如何找出登录会话v$session的IP地址?

oracle如何找出登录会话v$session的IP地址?

原创 Oracle 作者:e71hao 时间:2017-01-11 16:45:18 0 删除 编辑
问题:如题,oracle如何找出登录会话session的IP地址?
解答:正在登录会话的IP地址,可以用v$session的client_info列找出。
select s.CLIENT_INFO,s.* from v$session s where s.MACHINE  ='WORKGROUP\TDH0WVFP5VCCAMJ'
需要做如下设置:建立一个触发器,
create or replace trigger trg_login_on after logon on database
begin
  dbms_application_info.set_client_info( sys_context('userenv','ip_address'));
end;

2)对于历史登录会话的IP地址,保存以前登录会话ip地址在哪里呢?
在登录会话审计表 dba_audit_trail里。
select comment_text from dba_audit_trail s where s.TIMESTAMP between
       to_date('2017-01-11   00:00:00', 'yyyy-mm-dd hh24:mi:ss') and
       to_date('2017-01-11 23:38:00', 'yyyy-mm-dd hh24:mi:ss')
       and userhost like upper('%xie-PCBook01%');   
结果为:Authenticated by: DATABASE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=172.16.2.60)(PORT=1347))

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30393770/viewspace-2132272/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-08-05

  • 博文量
    133
  • 访问量
    235564