缺省从 v$session 中不能直接获得客户端 IP,需要执行 dbms_application_info.set_client_info 存储过程才能将登录数据终端机的 IP 地址记录在 client_info 字段中。
可以使用以下方法创建触发器来完成自动记录IP地址功能:
create or replace trigger login_on_record_ip
after logon on database
begin
dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));
end;
/
create or replace trigger login_on_record_ip
after logon on database
begin
dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));
dbms_session.set_identifier(sys_context('userenv', 'HOST'));
exception
when others then
rollback;
end;
/