You created a PL/SQL function with the RESULT_CACHE and RELIES_ON clauses. In which
scenarios is the cached result bypassed? (Choose all that apply.)
A.
when the size for the memory allocated for the result cache is increased
B.
when the function is executed in a session frequently with the same parameter value
C.
when the database administrator has disabled the use of the result cache during application
patching
D.
when a data manipulation language (DML) statement is executed in a session on a table or
view that was specified in the RELIES_ON clause of a result-cached function
C and D is correct.
C , D
C,D
C,D
Bypassing the Result Cache
When the cache is bypassed:
– The function computes the result instead of retrieving it from the cache.
– The result that the function computes is not added to the cache.
Some examples of situations in which the cache is bypassed are:
– The cache is unavailable to all sessions.
For example, the database administrator has disabled the use of the result cache during application patching
– A session is performing a DML statement on a table or view that was specified
in the RELIES_ON clause of a result-cached function.
Cache bypass ensures the following:
– The user of each session sees his or her own uncommitted changes.
– The PL/SQL function result cache has only committed changes that are visible to all sessions,
so that uncommitted changes in one session are not visible to other sessions.
http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/subprograms.htm#g3336645