MS SQL Server では、master.sys.sysprocessesおよびmaster.sys.dm_exec_connectionsシステム ビューを使用して、特定の TCP/IP クライアント接続の MAC アドレスと IP アドレスを取得できます。
Oracle Databaseでこれを正確に行う方法はありますか?
前もって感謝します!
MS SQL Server では、master.sys.sysprocessesおよびmaster.sys.dm_exec_connectionsシステム ビューを使用して、特定の TCP/IP クライアント接続の MAC アドレスと IP アドレスを取得できます。
Oracle Databaseでこれを正確に行う方法はありますか?
前もって感謝します!
sys_context から IP の取得を試みることができます。
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;
v $ sessionを照会することでクライアントのマシン名を取得でき、utl_inaddr.get_host_address()を使用してホスト名のIPアドレスを取得してみることができますが、
実際、SQLサーバーがこの情報を提供していることに驚いています。特定のIPアドレスのMACアドレスを取得するためにバックグラウンドでARPルックアップを実行していると思います。もちろん、これをアプリケーションコードで模倣することもできます。
なぜこの情報が必要なのですか?