Oracle查看IP地址

1、在数据库管理时,偶尔会需要查看数据库的IP地址

1
select sys_context( 'userenv' , 'ip_address' )from dual

2、有的时候需要查看对所有登录进数据库的用户,但是在V$SESSION视图不能很清楚的知道所有的会话是哪个地址连接进来的

可以做如下操作

  • 创建一个触发器,更新V$SESSION的client_info字段

1
2
3
4
5
create or replace trigger on_logon_trigger after logon on database
begin
     dbms_application_info.set_client_info(sys_context( 'userenv' 'ip_address' ));
end; 
/
  • 查询信息


1
2
3
4
5
6
select s.SID ,s.SERIAL# ,s.USERNAME,s.OSUSER,s.MACHINE,s.client_info,
ob.owner ,ob.OBJECT_NAME
from  V$locked_object lo left join v$session s
on s.sid=lo.SESSION_ID
left join dba_objects  ob
on lo.OBJECT_ID=ob.OBJECT_ID


你可能感兴趣的:(oracle,触发器,replace,IP地址,数据库管理)