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 |
转载于:https://blog.51cto.com/zhangjingke/1427925