重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1034|回复: 0
打印 上一主题 下一主题

[Oracle] 创建触发器查看Oracle连接客户端的IP等信息

[复制链接]
跳转到指定楼层
楼主
发表于 2023-9-3 11:44:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查看当前链接的IP(查看当前自己链接IP,不能查看其它的链接的IP):

SELECT USER,SID,SERIAL#,UTL_INADDR.GET_HOST_ADDRESS AS HOST,SYS_CONTEXT('USERENV','IP_ADDRESS') AS LOCAL,SYSDATE FROM V$SESSION WHERE AUDSID=SYS_CONTEXT('USERENV','SESSIONID');



查看所有链接Oracle的客户端的IP等信息:

step1: 查看每个oracle帐户的连接总数:

select username,count(username) from v$session where username is not null group by username;

USERNAME  COUNT(USERNAME)
ORCL  117
SYS  1

step2: 缺省从 v$session 中不能直接获得客户端 IP,可以在数据库中创建一个追踪客户端IP地址的触发器:

create or replace trigger on_logon_trigger after logon on database  
begin  
    dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));  
end;   
/  

step3: 比较常用的显示客户端信息的sql(通过step2执行以后,再执行step3,新链接上来的客户端信息,就能显示ip了)

select sid,serial#,username,program,machine,client_info  
from v$session  
where username is not null  
order by username,program,machine;   


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-16 20:12 , Processed in 0.159300 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表