【数据字典缓冲区(Data Dictionary Cache) 】
用于存放Oracle系统管理自身所需要的所有信息,包括登录的用户名、用户对象、权限等。
查看 data dictionary cache 的命中率
SQL> desc v$rowcache;
Name Null? Type
----------------------------------------- -------- ----------------------------
CACHE# NUMBER
TYPE VARCHAR2(11)
SUBORDINATE# NUMBER
PARAMETER VARCHAR2(32)
COUNT NUMBER
USAGE NUMBER
FIXED NUMBER
GETS NUMBER
GETMISSES NUMBER
SCANS NUMBER
SCANMISSES NUMBER
SCANCOMPLETES NUMBER
MODIFICATIONS NUMBER
FLUSHES NUMBER
DLM_REQUESTS NUMBER
DLM_CONFLICTS NUMBER
DLM_RELEASES NUMBER
SYS @ prod >select sum(gets),sum(getmisses) ,1-(sum(getmisses)/(sum(gets)+sum(getmisses))) from v$rowcache;
SUM(GETS) SUM(GETMISSES) 1-(SUM(GETMISSES)/(SUM(GETS)+SUM(GETMISSES)))
---------- -------------- ---------------------------------------------
82077 15211 .843649782
如果data dictionary cache的命中率小于95%,应该适当增加shared pool 的大小
查看data dictionary cache 的大小
SYS @ prod >select sum(sharable_mem)/1024/1024 "size: M" from v$sqlarea;
size: M
----------
3.23309803
可使用以下语句修改该参数
alter system set shared_pool_size=***M;