Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> reserved shared pool
I have something funny going on in my shared pool which I just can't figure
out. I recently installed a new application which was spitting out
occasional 4031 errors for a large function (this function has about 88
inputs and 4 outputs. Yippee). When I started looking at v$sqlarea and
v$db_object_cache (v7.3.4.5 on Solaris by the way), I saw that this function
was being continually reloaded (different first_load_time with same
hash_value). It showed a sharable_mem ranging from 50-70K, which was
comparable to what I saw on v$db_object_cache. It also runs with multiple
children. V$db_object_cache showed about a 3:1 ratio between executions and
loads.
I decided to add a reserved piece to my shared pool. To get an idea of how large to make it, I did a sum of shared_mem for v$sqlarea and v$db_object_cache for everything, and for sharable_mem >= 5000. More than half of my memory usage seemed to be for sharable memory greater than 5K, so I made a 50:50 split in my shared pool. Now for the funny stuff. Most of my reserved pool (~90%) is not being used and nothing is being flushed out of it (v$shared_pool_reserved .request_failures = 0). My monster function is still being continually reloaded as per v$sqlarea with the same values (50K) for sharable_mem. V$db_object_cache, however, now shows this function with a sharable_mem of ~200 bytes (it actually fluctuates between 200 bytes and 2K as the function is loaded and freed). Finally, when I look at the load numbers for all objects in v$db_object_cache with sharable_mem >=5000, I expected to see low numbers, but that is not the case even though there is plenty of room in the reserved pool.
I know I am missing something, but what? Has anyone else seen this? Thanks Received on Wed Sep 27 2000 - 20:12:18 CDT
![]() |
![]() |