合理计划 dictionary cache 大小

【数据字典缓冲区(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;

时间: 2024-08-05 10:45:23

合理计划 dictionary cache 大小的相关文章

Oracle的硬解析和软解析

提到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程.当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程:1.语法检查(syntax check)检查此sql的拼写是否语法.2.语义检查(semantic check)诸如检查sql语句中的访问对象是否存在及该用户是否具备相应的权限.3.对sql语句进行解析(prase)利用内部算法对sql进行解析,生成解析树(parse tree

共享内存(Shared Pool)之一:Library cache逻辑结构

What is shared pool? Shared pool是SGA中的一部分,由于它是SGA的一部分,这意味着它可以被所有的进程所访问.Shared pool物理层面上由许多内存块组成,这些内在块称为chunk.但是chunk是大小不一的,在内存中一个chunk是连续的. 按逻辑结构划分:Shared Pool主要包含了3部分:Library cache,Dictionary cache和Control Structure. 由于shared pool中最重要的是library cache

buffer cache 和shared pool 详解(之三,shared pool原理)

[深入解析--eygle] 学习笔记 1.2 shared pool原理 Shared Pool是Oracle SGA设置中最复杂也是最重要的一部分内容,Oracle通过Shared Pool来实现SQL共享.减少代码硬解析等,从而提高数据库的性能.在某些版本中,如果设置不当,Shared Pool可能会极大影响数据库的正常运行. 在Oracle 7之前,Shared Pool并不存在,每个Oracle连接都有一个独立的Server进程与之相关联,Server进程负责解析和优化所有SQL和PL/

[转载]Buffer cache的调整与优化

Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候,将会造成更多的free buffer waits事件.下面将具体描述Buffer Cache的作用.调整与优化. 一.SGA的所有组件 从动态视图v$sga_dynamic_components获取SGA的相关信息 SELECT component, current_size, min_size FROM v$sga_dynamic_components; COM

MySQL Query Cache 相关的问题

最近经常有人问我 MySQL Query Cache 相关的问题,就整理一点 MySQL Query Cache 的内容,以供参考. 顾名思义,MySQL Query Cache 就是用来缓存和 Query 相关的数据的.具体来说,Query Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集.大概来讲,就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中. 在大部分的 MySQL 分发版本中,Query Cache

Buffer cache 的调整与优化

Buffer cache 的调整与优化 -============================== -- Buffer cache 的调整与优化(一) --============================== Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候,将会造成更多的free buffer waits事件. 下面将具体描述Buffer Cache的作用,调整与优化. 一.SGA的所有组件 从动态

LevelDB Cache实现机制分析

几天前淘宝量子恒道在博客上分析了HBase的Cache机制,本篇文章,结合LevelDB 1.7.0版本的源码,分析下LevelDB的Cache机制. 概述 LevelDB是Google开源的持久化KV单机存储引擎,据称是HBase的鼻祖Bigtable的重要组件tablet的开源实现.针对存储面对的普遍随机IO问题,LevelDB采用merge-dump的方式,将逻辑场景的随机写请求转换成顺序写log和写memtable的操作,由后台线程根据策略将memtable持久化成分层的sstable.

cache和内存

CPU与内存 北桥:主桥,主要用来处理高速信号,负责与处理器的联系:CPU通过FSB前端总线来访问内存控制器. 南桥:IO桥,负责IO总线之间的通信,比如PCI总线.SATA.USB等,可以连接光驱.硬盘.键盘等设备交换数据. 架构一:内存控制器集成在北桥中,缺陷:瓶颈有二,北桥和内存,当处理器和外设争相访问内存时,增大了对北桥带宽的竞争: 架构二:将内存控制器单独隔离出来,以协调北桥与某个相应内存之间的交互,北桥可以与多个内存相连:--优点,增加了内存的访问带宽,但没有解决单一北桥芯片的瓶颈:

【转载】Java Cache系列之Cache概述和Simple Cache

原文地址:http://www.blogjava.net/DLevin/archive/2013/10/15/404770.html 前记:最近公司在做的项目完全基于Cache(Gemfire)构建了一个类数据库的系统,自己做的一个小项目里用过Guava的Cache,以前做过的项目中使用过EHCache,既然和Cache那么有缘,那就趁这个机会好好研究一下Java中的Cache库.在Java社区中已经提供了很多Cache库实现,具体可以参考http://www.open-open.com/13.