You are working for a company that uses huge applications to manage its customer details. During
your regular performance checks, you executed the following query:
SQL> show parameter shared_pool_reserved_size
NAME TYPE VALUE
—————————— ——————— —————–
shared_pool_reserved_size big integer 6920601
SQL> SELECT free_space, used_space, request_misses, request_failures from
V$SHARED_POOL_RESERVED;
FREE_SPACE USED_SPACE REQUEST_MISSES REQUEST_FAILURES
———- ———- ————– —————-
6469776 555528 0 113
You observed that REQUEST_FAILURES is 113 but not increasing, and also that
REQUEST_MISSES is not increasing.
What would you interpret from this?
A.
The reserved pool is very large. Consider reducing the size of the shared pool.
B.
The reserved pool is large and has free space to satisfy requests. Consider reducing the size of
the reserved pool.
C.
The reserved pool is very small and is not finding enough memory to satisfy requests. Increase
the size of the shared pool.
D.
The reserved pool is very small and is not finding enough memory to satisfy requests. Increase
the size of the reserved pool.
A is wrong. reserved pool is large, but not to reduce shared pool
B is right.
C is wrong. not small
D is wrong. not small
B.
The reserved pool is small when:
REQUEST_FAILURES > 0 (and increasing)
The DBA should Increase shared_pool_reserved_size and shared_pool_size together.
Too much memory has been allocated to the reserved pool
If REQUEST_MISS = 0 or not increasing
FREE_MEMORY = > 50% of shared_pool_reserved_size minimum
The DBA should Decrease shared_pool_reserved_size