Oracle OAM单点实现登录后,查看当前登录用户数量的方法
程序员文章站
2022-04-21 20:51:07
背景:
一个项目上线后,尤其是门户项目,经常会要求统计在线人数的情况,那么怎样准确的统计当前系统的在线人数情况呢,下面给出查询方法
查询方法:
方法一:
在oamconso...
背景:
一个项目上线后,尤其是门户项目,经常会要求统计在线人数的情况,那么怎样准确的统计当前系统的在线人数情况呢,下面给出查询方法
查询方法:
方法一:
在oamconsole中,查看会话管理,可以看出此页面是ADF标准查询,上方是查询面板,有用户IP和客户机IP地址两个搜索条件,k可以输入客户机IP进行模糊搜索,此IP一般情况为OHS服务器的IP地址
如此就可以搜索出用户的在线情况,但是此方法有一定弊端,就是只能搜索出100个用户,当在线数量大于100时,就无法完全显示,这是产品后台查询限制住了,那我们还有其他方法去查询全部的用户在线情况吗,答案是肯定的
方法二:
分析:从方法一中的截图可以看出,用户记录的显示在后台肯定是有底层表的支持的,我们在安装Oam创建RCU时,会自动新建Schema,那如果找到这个Schema下存放用户登录情况的表不就可以解决问题了吗
1、先确定安装Oam创建RCU时新建的Schema名称,一般为_OAM结尾
2、pl/sql登录此Schema,查看Table,会发现有一张oam_session的表,没错,就是他,上图中的底层表,执行如下,查询语句
即可查看当前用户在线情况
selectuserid,
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
fromoam_session s
wheres.identity_domain='UserIdentityStore1'
orderbyupdate_datedesc