碎片化现象造成共享池中的可用空间均成为许多零散的片段,而没有足够大的连续空间,这是共享池
中的普遍现象。消除共享池错误(参阅第4 章和第13 章以了解更多信息)的关键是理解哪些对象会引起问题。
一旦知道了会引起潜在问题的PL/SQL 对象,就可以在数据库启动时固定这个代码(这时共享池是完全连续
的)。可以查询V$DB_OBJECT_CACHE 视图,以决定哪个PL/SQL 占用空间,而目前尚未固定下来。该查询只
显示缓存中的现有语句。下面程序清单中的示例搜索那些所需空间大于100KB 的对象。
select name, sharable_mem
from v$db_object_cache
where sharable_mem > 100000
and type in ('PACKAGE', 'PACKAGE BODY',
'FUNCTION', 'PROCEDURE')
and kept = 'NO';
NAME SHARABLE_MEM
----------------------------------- ------------
MGMT_JOB_ENGINE 238590
DBMS_STATS_INTERNAL 220939
STANDARD 435820
DBMS_RCVMAN 354875
WK_CRW 183688
DBMS_BACKUP_RESTORE 258495
DBMS_STATS 446886
技巧:
通过V$DB_OBJECT_CACHE 视图可以查看尚未固定且所需空间较大,可能会引起潜在问题
的对象。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25198367/viewspace-707576/
,如需转载,请注明出处,否则将追究法律责任。