Does oracle capture ROWID of rows returned for SELECT statements being run on a table?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Does oracle capture ROWID of rows returned for SELECT statements being run on a table?

elenakretova
We have information in Oracle (Exadata) table distinguished by PK (say id). I need to make sense of which clients are getting to which pushes in this Oracle table.

I realize that there is approach to have Oracle catch data about "which clients has gotten to a table".

There is likewise fragment data Oracle Exadata catch in v$segment_statistics however that doesn't reveal to me which columns are being gotten to by which client.

In any case, I am looking if there is a path for Oracle to catch "which clients has gotten to which rowid by means of SELECT inquiries".

My chairman is suggesting that there is no chance to get for Oracle to catch this information.
Reply | Threaded
Open this post in threaded view
|

Re: Does oracle capture ROWID of rows returned for SELECT statements being run on a table?

ErmanArslansOracleBlog
Administrator
You can create triggers for this.. (but this has performance overhead)

You can also use Flashback Data Archive for this.. (recommended)
If your DB version is 12C, then you are lucky..

Flashback Data Archive has been extended to enable the capture of context-level information automatically and without changes to the base tables.
When rows are inserted, updated, or deleted in the tables which are associated with a flashback archive, any context information in the standard USERENV context (as well as any custom user-defined contexts) will be captured for each transaction..


Reference:

A Fresh Look at Auditing Row Changes By Connor McDonald

http://www.oracle.com/technetwork/issue-archive/2016/16-mar/o26performance-2925662.html