在v$session 中记录客户端连接的IP信息,有两种方式,一种是触发器、一种是过程包。
1.trigger
--可system或sys用户创建
create or replace trigger on_logon_trigger
after logon on database
begin
dbms_application_info.set_client_info(sys_context( 'userenv', 'ip_address' ) );
end;
2.DBMS_SESSION 过程包
BEGIN
DBMS_SESSION.set_identifier(SYS_CONTEXT('USERENV', 'IP_ADDRESS'));
END;
再登录时,查询v$session ,你会发现 v$session 多了一列 记录客户端的IP.
select client_info from v$session;
---------------------------------
CLIENT_INFO
172.16.66.19