I have a read-only table which contains confidential information and I want to be able to know who is querying that table and exactly what select statement they are issuing.

I have turned on auditing for select only on that table and can see who querying the table and when. But I can't see the SQL issued. I know the SQL is in V_$SQLAREA and I thought of capturing it in a separate table when the AUD$ table has an entry written to it but I get an error message indicating that you can't write a trigger for a table in the SYS schema.

I want to have some way of automatically writing timestamp, osuser, username, terminal and SQL_text to a table and then reviewing the table once a week or so.