0

MS SQL Server では、master.sys.sysprocessesおよびmaster.sys.dm_exec_connectionsシステム ビューを使用して、特定の TCP/IP クライアント接続の MAC アドレスと IP アドレスを取得できます。

Oracle Databaseでこれを正確に行う方法はありますか?

前もって感謝します!

4

2 に答える 2

1

sys_context から IP の取得を試みることができます。

SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;
于 2012-08-20T14:05:26.577 に答える
0

v $ sessionを照会することでクライアントのマシン名を取得でき、utl_inaddr.get_host_address()を使用してホスト名のIPアドレスを取得してみることができますが、

  • マシン名は常に有効なホスト名であるとは限らないため、v$sessionからマシン名の追加処理を行う必要があります。
  • OSに直接クエリを実行しないとMACアドレスを取得できません

実際、SQLサーバーがこの情報を提供していることに驚いています。特定のIPアドレスのMACアドレスを取得するためにバックグラウンドでARPルックアップを実行していると思います。もちろん、これをアプリケーションコードで模倣することもできます。

なぜこの情報が必要なのですか?

于 2012-08-20T14:01:58.353 に答える