首页 > 解决方案 > 我正在使用 Oracle EBS R2 是否有任何解决方案来获取客户端机器的 IP 地址

问题描述

我已经尝试过以下方法,但它是基于用户的。无论哪个用户连接到该客户端,我都在尝试获取客户端计算机 IP 地址。

SELECT distinct 
       c.CLIENTIP
  FROM v$process a, 
       v$session b, 
       fnd_logins c, 
       fnd_user d
 WHERE a.pid = c.pid
   AND d.user_id = c.user_id
   and d.user_name = '&User_name'
   AND a.addr = b.paddr
   AND c.end_time IS NULL;

标签: sqloracleoracle12coracleformsoracle-ebs

解决方案


Andrew 的查询应该在不限制用户的情况下为您提供查询。

MOS Note 2069190.1 的第 3 节和相关的 zip 包含一些 fnd 登录和 icx 会话表的示例查询,这些查询对于此类查询以及表之间的连接很有用。

在 E-Business Suite 中查询 IP 地址时要记住以下几点:

  • 当前仅在 FND 登录表中捕获客户端 IP 地址,而不是 HTML(自助服务)页面(尽管在未来的版本中可能会更改)。
  • HTML 页面的 IP 地址可以在 Apache 访问日志中找到 - 但很难将这些地址与特定用户相关联。
  • 如果您在 E-Business Suite 前面有负载平衡器或反向代理,您可能会获得该机器的 IP 地址,除非您通过客户端 IP - 但这是另一个问题。

推荐阅读