度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 663|回复: 3
打印 上一主题 下一主题

[分享] ORACLE查询所有客户端的IP方法

[复制链接]

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
跳转到指定楼层
楼主
发表于 2020-3-18 16:23:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

利用触发器实现查看所有客户端IP的方法

收集了网上的一些做法,做个总结,方便以后用,其操作步骤:


1 在sys模式下创建一个表,用于记录客户端登录数据库服务器的详细信息。
create table login_history

(username varchar2(60),

machine varchar2(60),

login_time date,

ip varchar2(50)

);



2 在sys模式下创建一个触发器

create or replace trigger login_log

after logon on database

begin

insert into login_history

select username,machine,sysdate,sys_context('userenv','ip_address')

from v$session where audsid = userenv('sessionid');

commit;

end;



3 一些查看session数的实例(以sys用户登录)

查看login_history表

select * from login_history;


查看当前的所有session数

select count(*) from v$session;


查看当前的客户端计算机名为RHEL的所有session数

select count(*) from v$session where machine = 'RHEL';


查看当前的各个客户端计算机的连接数

select count(*) , machine from v$session group by machine;


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

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
沙发
 楼主| 发表于 2020-3-19 16:41:29 | 只看该作者
咋没人评论!
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9256

积分

论坛元老

Rank: 8Rank: 8

积分
9256
板凳
发表于 2020-3-20 22:01:36 | 只看该作者
来混个脸熟,楼主V5
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
地板
 楼主| 发表于 2020-3-21 13:55:58 | 只看该作者
万望 发表于 2016-4-20 22:01
来混个脸熟,楼主V5

回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-9-29 07:15 , Processed in 0.143738 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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