Oracle記錄連接用戶IP地址的方法
阿新 • • 發佈:2018-11-26
create order 觸發器 logo 沒有 ace ipa ram ogr 我們都知道在v$session中記錄著客戶端的機器名稱,但是沒有IP,那我們如何讓v$session中也記錄IP的信息呢?
1.首先,利用 DBMS_SESSION 過程包,先執行:
BEGIN
DBMS_SESSION.set_identifier(SYS_CONTEXT(‘USERENV‘, ‘IP_ADDRESS‘));
END;
/
2.執行觸發器
create or replace trigger on_logon_trigger after logon ondatabase begin dbms_application_info.set_client_info(sys_context(‘userenv‘,‘ip_address‘)); end; / 註:執行過程包和觸發器需要dba權限
3.然後使用管理員用戶登陸pl/sql,就可以查看連接上oracle的IP信息
執行查詢sql:
select username,
program,
machine,
client_info,
sys_context(‘userenv‘, ‘ip_address‘) as ipadd
from v$session s
where username is not null
order by username, program, machine;
Oracle記錄連接用戶IP地址的方法