在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
本文介绍通过触发器及DBMS_SESSION过程包两种方法,在Oracle数据库中记录客户端连接的IP地址,并展示如何查看v$session中的客户端IP信息。
1171

被折叠的 条评论
为什么被折叠?



