Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Using FGAC for implementing history
Note inline
-- Regards Jonathan Lewis http://www.jlcomp.demon.co.uk http://www.jlcomp.demon.co.uk/faq/ind_faq.html The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/seminar.html Optimising Oracle Seminar - schedule updated May 1st "Vikas Agnihotri" <usenet_at_vikas.mailshell.com> wrote in message news:2gk79pF3pv5qU1_at_uni-berlin.de...Received on Fri May 14 2004 - 10:45:22 CDT
> Jonathan Lewis wrote:
>
> > 9i introduced a dramatic change to FGAC to work
> > around a defect in 8i, but introduced a significant
> > overhead as a replacement. 10g introduces some
> > refinements (that I haven't yet examined) that look
> > as if they are the proper fix for the 8i defect.
>
> What 8i defect? What is the dramatic change in 9i? What is the overhead?
> How does 10g address it? Can you point me to the details? Thanks
>
If you hold a cursor open (or pl/sql holds it open for you), and your security predicate is dependent on context, then you can change the context, and find that the change is not applied to the cursor. Part of the work around to this that appeared in 9i is that the predicate function is called through an anonymous pl/sql block on every execution of the cursor - that's likely to be a significant overhead in an OLTP system. Check the policy defining procedures in 10g - there are several different categories of policy, such as context dependent static and so on. I haven't checked, but my guess is that this allows some flexibility about how often the predicate function executes.