在Oracle中查看客戶端連接的IP信息 .


大家都知道在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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM