天天看点

Oracle OAM单点实现登录后,如何查看当前登录用户数量

背景:

 一个项目上线后,尤其是门户项目,经常会要求统计在线人数的情况,那么怎样准确的统计当前系统的在线人数情况呢,下面给出查询方法

查询方法:

方法一:

 在oamconsole中,查看会话管理,可以看出此页面是ADF标准查询,上方是查询面板,有用户IP和客户机IP地址两个搜索条件,k可以输入客户机IP进行模糊搜索,此IP一般情况为OHS服务器的IP地址

Oracle OAM单点实现登录后,如何查看当前登录用户数量

如此就可以搜索出用户的在线情况,但是此方法有一定弊端,就是只能搜索出100个用户,当在线数量大于100时,就无法完全显示,这是产品后台查询限制住了,那我们还有其他方法去查询全部的用户在线情况吗,答案是肯定的

方法二:

分析:从方法一中的截图可以看出,用户记录的显示在后台肯定是有底层表的支持的,我们在安装Oam创建RCU时,会自动新建Schema,那如果找到这个Schema下存放用户登录情况的表不就可以解决问题了吗

1、先确定安装Oam创建RCU时新建的Schema名称,一般为_OAM结尾

2、pl/sql登录此Schema,查看Table,会发现有一张oam_session的表,没错,就是他,上图中的底层表,执行如下,查询语句

即可查看当前用户在线情况

select userid ,        to_char ( s.last_access_time , 'yyyy-mm-dd hh24:mi:ss' )   create_date ,        to_char ( s.last_update_time , 'yyyy-mm-dd hh24:mi:ss' )   update_date   from oam_session s   where s.identity_domain = 'UserIdentityStore1'   order by update_date desc  

有兴趣的发送邮箱到[email protected] ,提供在线技术支持

继续阅读