我们在查询v$session表时,只能看到客户端的机器名,而无法看到客户机的IP地址。要想查看IP地址可以建立一个数据库级别的触发器,在成功用户登陆数据库后将客户的IP地址写入v$session的client_info字段中。
按如下方法创建这个触发器(trigger):
create or replace trigger on_logon_trigger after logon on database
--登录时向v$session的client_info列更新用户IP
begin
dbms_application_info.set_client_info(sys_context( 'userenv', 'ip_address' ) );
end;