oracle如何找出登入會話v$session的IP地址?

e71hao發表於2017-01-11
問題:如題,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部落格 ” ,連結:http://blog.itpub.net/30393770/viewspace-2132272/,如需轉載,請註明出處,否則將追究法律責任。

相關文章