Oracle doesn't keep explicit data about the usage of the tables.
If you need this you can create triggers to monitor DML (DELETE, INSERT, UPDATE)
activities, but there is no possibility to monitor SELECT access.
There is Fine Grained Audit fature:
9i FGA provides support for SELECT statements only.
10g FGA extends in the following ways:
--> Support for DML statements :
A. INSERT
B. UPDATE
C. DELETE
Auditing is turned off by default in Oracle, so unless you (or some DBA at your organization in the past) has turned on auditing, your audit_trail will be empty!
The audit records can either be written to an ASCII log file on the server, or they can be written to the database where they are visible in the view: DBA_AUDIT_TRAIL. This is controlled by the init parameter: "AUDIT_TRAIL" that can be set or changed in your init*.ora file or spfile.
Main Topics
Browse All Topics





by: mrjoltcolaPosted on 2009-04-09 at 08:09:53ID: 24107946
I'll say right away that I am not aware of a table that has LAST ACCESS time of a table, but I welcome another expert to enlighten me. DBA_TAB_MODIFICATIONS does log DML, but a SELECT is not DML.
What you CAN do is to use 10g Fine Grained Auditing and set a policy on all those tables to log SELECT. Then run a report at the end of 30 days, or however long, and you'll see who is accessing what.