Oracle中的客户端连接的MAC和IP地址

时间:2012-08-20 13:44:27

标签: oracle network-protocols

在MS SQL Server下,您可以使用 master.sys.sysprocesses master.sys.dm_exec_connections 系统视图来检索MAC地址和IP地址。给定TCP / IP客户端连接。

有没有办法在Oracle数据库中做到这一点?

提前致谢!

2 个答案:

答案 0 :(得分:1)

您可以尝试从sys_context获取IP:

SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;

答案 1 :(得分:0)

您可以通过查询v $ session来获取客户端的计算机名称,您可以尝试使用utl_inaddr.get_host_address()来获取主机名的IP地址,但

  • 您必须从v $ session进行额外的机器名处理,因为它并不总是有效的主机名
  • 如果不直接查询操作系统,您将无法获取MAC地址

事实上,我很惊讶SQL服务器提供了这些信息 - 我猜它在后台进行ARP查找以获取给定IP地址的MAC地址。当然,您可以在应用程序代码中模仿它。

为什么需要这些信息?