I have successfully implemented fine-grained access control and would now like to look at tuning the SQL statements which use the dynamic predicate. My problem is I can't access the resulting statement. It returns the correct data but whether I use SQL_TRACE, enable SQL*Net tracing, use explain plan or access v$sqlarea.sql_text for that session, the only thing I can see is the original statement with no added predicate.
What u are encountering is one of the beauties of the fine grained access control mechanism, oracle documentation says that applications cannot see the predicate created at runtime, the only way u could see the predicate is to deliberately dump an error into the predicate and this will show up as an error in a oracle generated trace file, this can then be used by u for further tuning, also remember that fine grained access control handles predicate creation at runtime and this predicate is deliberately hidden since no user shoud see the predicate , in a way ., handling complete security by the oracle kernel itself.No wonder u did not see anything in all uer attempts to see the predicate.
Click Here to Expand Forum to Full Width