日常运维中,在v$session中,只记录了登陆主机名称,但是没有主机IP,排查问题时很不方便,特别是开放视图给第三方的情况。
原理:利用触发器在v$session中增加client_info字段信息
create or replace trigger on_logon_trigger after logon on database begin dbms_application_info.set_client_info(sys_context( 'userenv', 'ip_address' ) ); end;
关闭PLSQL重新登陆,确认一下,大功告成。其他未显示的需要待释放连接重新连接后才会触发触发器记录IP。