Question: I need to track the IP
address of Oracle transactions whereby I can see which IP
address u[updated specific database rows. The table
are high DML with over 1.,000 updates per second, and I
hesitate to use a DML trigger for auditing IP addresses.
How do I capture the IP address for each user and how do
I associates the user's IP address with a DML event?
Is it rational in terms of performance to put some triggers
on sensitive tables and use the method you mentioned to
audit which client ran DML on them?
Answer: A DML audit on a highly
volatile table would impose a significant system overhead
and a possible bottleneck.
If you know the user ID
and you want to pair it with the IP address, you could use a
login trigger to capture the user ID and the IP address
associated with each user:
First, see how to capture the IP address with
sys_context. using a
login trigger to capture the user ID and IP address
Next, you could deploy the
LogMiner utility to display details about
a specific users associated with a row update, and look-up
the users IP address using the time and user ID from
LogMiner.