Here are some scripts related to Shared Pool Information
.
Quick Check
SHARED POOL QUICK CHECK NOTES:
select 'You may need to increase the SHARED_POOL_RESERVED_SIZE' Description,
'Request Failures = '||REQUEST_FAILURES Logic
from v$shared_pool_reserved
where REQUEST_FAILURES > 0
and 0 != (
select to_number(VALUE)
from v$parameter
where NAME = 'shared_pool_reserved_size')
union
select 'You may be able to decrease the SHARED_POOL_RESERVED_SIZE' Description,
'Request Failures = '||REQUEST_FAILURES Logic
from v$shared_pool_reserved
where REQUEST_FAILURES < 5
and 0 != (
select to_number(VALUE)
from v$parameter
where NAME = 'shared_pool_reserved_size')
Memory Usage
SHARED POOL MEMORY USAGE NOTES:
Owner - Owner of the object
Object - Name/namespace of the object
Sharable Memory - Amount of sharable memory in the shared pool consumed by the object
select OWNER,
NAME||' - '||TYPE object,
SHARABLE_MEM
from v$db_object_cache
where SHARABLE_MEM > 10000
and type in ('PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE')
order by SHARABLE_MEM desc
Loads
LOADS INTO SHARED POOL NOTES:
Owner - Owner of the object
Object - Name/namespace of the object
Loads - Number of times the object has been loaded. This count also increases when
an object has been invalidated.
select OWNER,
NAME||' - '||TYPE object,
LOADS
from v$db_object_cache
where LOADS > 3
and type in ('PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE')
order by LOADS desc
Executions
SHARED POOL EXECUTION NOTES:
Owner - Owner of the object
Object - Name/namespace of the object
Executions - Total number of times this object has been executed
select OWNER,
NAME||' - '||TYPE object,
EXECUTIONS
from v$db_object_cache
where EXECUTIONS > 100
and type in ('PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE')
order by EXECUTIONS desc
Details
SHARED POOL DETAIL NOTES:
Owner - Owner of the object
Name - Name of the object
DB Link - Database link name, if any
Namespace - Namespace of the object
Type - Type of the object
Sharable Memory - Amount of sharable memory in the shared pool consumed by the object
Loads - Number of times the object has been loaded. This count also increases when
an object has been invalidated.
Executions - Total number of times this object has been executed
Locks - Number of users currently locking this object
Pins - Number of users currently pinning this object
select OWNER,
NAME,
DB_LINK,
NAMESPACE,
TYPE,
SHARABLE_MEM,
LOADS,
EXECUTIONS,
LOCKS,
PINS
from v$db_object_cache
order by OWNER, NAME
Library Cache Statistics
SHARED POOL V$LIBRARYCACHE STATISTIC NOTES:
Namespace - Library cache namespace (SQL AREA, TABLE/PROCEDURE, BODY, TRIGGER, INDEX, CLUSTER, OBJECT, PIPE)
Gets - Number of times the system requests handles to library objects belonging to this namespace
GetHits - Number of times the handles are already allocated in the cache.
If the handle is not already allocated, it is a miss. The handle is then allocated and inserted into the cache.
GetHit Ratio - Number of GETHITS divided by GETS. Values close to 1 indicate that most of the handles the system
has tried to get are cached.
Pins - Number of times the system issues pin requests for objects in the cache in order to access them.
PinHits - Number of times that objects the system is pinning and accessing are already allocated and
initialized in the cache. Otherwise, it is a miss, and the system has to allocate it in the cache and initialize it with
data queried from the database or generate the data.
PinHit Ratio - Number of PINHITS divided by number of PINS. Values close to 1 indicate that most of the objects
the system has tried to pin and access have been cached.
Reloads - Number of times that library objects have to be reinitialized and reloaded with data because
they have been aged out or invalidated.
Invalidations - Number of times that non-persistent library objects (like shared SQL areas) have been invalidated.
GetHit Ratio and PinHit Ratio should be > 70
select NAMESPACE,
GETS,
GETHITS,
round(GETHITRATIO*100,2) gethit_ratio,
PINS,
PINHITS,
round(PINHITRATIO*100,2) pinhit_ratio,
RELOADS,
INVALIDATIONS
from v$librarycache
Reserve Pool Settings
SHARED POOL RESERVED SIZE NOTES:
Parameter - Name of the parameter
Value - Current value for the parameter
shared_pool_reserved_size - Controls the amount of SHARED_POOL_SIZE reserved for large allocations. The fixed view V$SHARED_POOL_RESERVED helps you tune these parameters. Begin this tuning only after performing all other shared pool tuning on the system.
shared_pool_reserved_min_alloc - Controls allocation for the reserved memory. To create a reserved list, SHARED_POOL_RESERVED_SIZE must be greater than SHARED_POOL_RESERVED_MIN_ALLOC. Only allocations larger than SHARED_POOL_RESERVED_POOL_MIN_ALLOC can allocate space from the reserved list if a chunk of memory of sufficient size is not found on the shared pool's free lists. The default value of SHARED_POOL_RESERVED_MIN_ALLOC should be adequate for most systems.
select NAME,
VALUE
from v$parameter
where NAME like '%reser%'
Pinned Objects
PINNED OBJECT NOTES:
Object Name - Name of the object
Object Type - Type of the object (INDEX, TABLE, CLUSTER, VIEW, SET, SYNONYM,
SEQUENCE, PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, TRIGGER, CLASS, OBJECT, USER, DBLINK)
Kept Status - YES or NO, depending on whether this object has been "kept" (permanently pinned in memory) with the PL/SQL procedure DBMS_SHARED_POOL.KEEP
select NAME,
TYPE,
KEPT
from v$db_object_cache
where KEPT = 'YES'
Since you are seeing this, it means that your browser does not
support cascading style sheets. Please download and use one
of the many browsers that support web standards.