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