oracle 保留池,oracle的内存结构之--查看内存信息+保留池和循环池(摘自文平书)...

共享池、大池、Java池、高速缓存的内存通过设置分配单元作为基本单元分配。在SGA小于1GB的情况下,分配单元尺寸为

4MB,当SGA大于1GB时,单元尺寸为16MB。该单元大小能通过视图 V$SGA_DYNAMIC_COMPONENTS查询。这个单元决定了在SGA中所有

动态分配区域的组成状态。例如下面查询了系统中SGA当前分配的尺寸和单元大小:

SQL>select COMPONENT,CURRENT_SIZE,GRANULE_SIZE from V$SGA_DYNAMIC_COMPONENTS;

SQL> run

1* select COMPONENT,CURRENT_SIZE,GRANULE_SIZE from V$SGA_DYNAMIC_COMPONENTS

COMPONENT            CURRENT_SIZE GRANULE_SIZE

-------------------- ------------ ------------

shared pool              67108864      4194304

large pool                4194304      4194304

java pool                 4194304      4194304

streams pool                    0      4194304

DEFAULT buffer cache    205520896      4194304

KEEP buffer cache               0      4194304

RECYCLE buffer cache            0      4194304

DEFAULT 2K buffer ca            0      4194304

che

DEFAULT 4K buffer ca            0      4194304

COMPONENT            CURRENT_SIZE GRANULE_SIZE

-------------------- ------------ ------------

che

DEFAULT 8K buffer ca            0      4194304

che

DEFAULT 16K buffer c            0      4194304

ache

DEFAULT 32K buffer c            0      4194304

ache

COMPONENT            CURRENT_SIZE GRANULE_SIZE

-------------------- ------------ ------------

ASM Buffer Cache                0      4194304

13 rows selected.

SQL>

|||||||||||||||||||||||||||

保留池和循环池

显然,最常用的数据应该长期保留在内存结构中。保留池的作用就是长期存放某些“热”的数据块,也就是说,你应该想办法找出你的系统中那些“热”的表,并将其绑定在保留池中。

系统参数DB_KEEP_CACHE_SIZE定义了保留池的空间大小,其数据块尺寸为本系统标准的数据块尺寸。应该注意的是,保留池并不是

默认池的一个子集。因此配置时要注意其大小不应超出操作系统可以提供的容量。

当遇到一个工程上的难题:业务数据库系统中有成百上千张表,还有成千上万个索引,究竟哪些表或索引应该放入保留池呢?

遴选规则如下:

该表中数据并不是很大

该表在SQL操作中被频繁调用

该表往往是数据库实体关系图中的中间表或参照表

和保留池的意义敲好相反,一些鲜有SQL操作的大表,其数据块并无必要长期保留在数据缓存中。

这时,我们可以通过设置循环池,将这些对象放入循环池。

循环池通过初始化参数DB_RECYBLE_CACHE_SIZE指定。同样地,循环池不是默认池的一个子集。下面的命令设置DB_KEEP_CACHE_SIZE初始化

参数,将保留池尺寸定位120MB:

SQL>alter system set db_keep_cache_size=120M scope=both;

|||||

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值