千家信息网

Oracle记录连接用户IP地址的方法

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,我们都知道在v$session中记录着客户端的机器名称,但是没有IP,那我们如何让v$session中也记录IP的信息呢?1.首先,利用 DBMS_SESSION 过程包,先执行:BEGIN DBM
千家信息网最后更新 2025年01月24日Oracle记录连接用户IP地址的方法

我们都知道在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 ondatabasebegin  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;
0