1. 程式人生 > >在Oracle中檢視客戶端連線的IP資訊 .

在Oracle中檢視客戶端連線的IP資訊 .

前言

  • oracle 12c
  • 預設session中,未記錄客戶端ip
  • 可以通過其它方法追加ip到session中的。

方法【轉】

大家都知道在v$session 中記錄著客戶端的機器名稱,但是沒有IP , 如果記錄clinet ip 呢?

con sys/sys as dba

  1. 利用triger 這裡不介紹.

  2. 利用 DBMS_SESSION 過程包.

BEGIN
DBMS_SESSION.set_identifier(SYS_CONTEXT(‘USERENV’, ‘IP_ADDRESS’));
END;

3.

我們可以通過觸發器。

create or replace trigger on_logon_trigger
after logon on database
begin
dbms_application_info.set_client_info(sys_context( ‘userenv’, ‘ip_address’ ) );
end;

這樣當客戶端登陸後,在v$session的client_info列會記錄其相應的IP資訊。

這裡才查詢v$session ,你會發現 v$session 多了一列 記錄客戶端的IP.

select client_info from v$session;


CLIENT_INFO
192.168.1.3

參考

https://www.cnblogs.com/aoyihuashao/archive/2013/07/19/3200914.html
https://blog.csdn.net/blue225/article/details/8064554