buffer cache理解(3)

本文介绍了 Oracle 数据库中缓存参数的配置方法,包括 db_writer_processes 的设置建议及 db_cache_size 的调整策略。通过 SQL 查询展示不同组件的当前大小,并提供自动调整 buffer cache 大小的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

show parameter writer
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes                  integer     1

一般是cpu数量/8

alter system set  db_writer_processes =2  scope=spfile;

SQL> select  COMPONENT, CURRENT_SIZE  ,MIN_SIZE from v$sga_dynamic_components;

COMPONENT                                                        CURRENT_SIZE   MIN_SIZE
---------------------------------------------------------------- ------------ ----------
shared pool                                                          62914560   62914560
large pool                                                            4194304    4194304
java pool                                                             4194304    4194304
streams pool                                                                0          0
DEFAULT buffer cache                                                163577856  163577856
KEEP buffer cache                                                           0          0
RECYCLE buffer cache                                                        0          0
DEFAULT 2K buffer cache                                                     0          0
DEFAULT 4K buffer cache                                                     0          0
DEFAULT 8K buffer cache                                                     0          0
DEFAULT 16K buffer cache                                                    0          0
DEFAULT 32K buffer cache                                                    0          0
ASM Buffer Cache                                                            0          0

13 rows selected.


在OLTP系统中,对于DB_CACHE_SIZE的设置,推荐配置是:
DB_CACHE_SIZE = SGA_MAX_SIZE/2~ SGA_MAX_SIZE*2/3
SQL> 


 增加db_cache_size顺序

1、SGA_max_size

2、sga_target

3、db_cache_size

alter system set db_cache_size=20M scope=both;


自动判断buffercache的大小

SELECT size_for_estimate "Cache Size (MB)",size_factor,buffers_for_estimate "Buffers",
estd_physical_read_factor est_read_factor,
estd_physical_reads estd_phy_red,estd_physical_read_time est_phy_red_t
FROM  v$db_cache_advice
WHERE NAME='DEFAULT' AND block_size=(SELECT VALUE FROM v$parameter WHERE NAME='db_block_size');


Cache Size (MB) SIZE_FACTOR    Buffers EST_READ_FACTOR ESTD_PHY_RED EST_PHY_RED_T
--------------- ----------- ---------- --------------- ------------ -------------
             12       .0769       1497          2.5842        23878           128
             24       .1538       2994          2.0105        18577            97
             36       .2308       4491          1.4669        13554            67
             48       .3077       5988          1.1893        10989            52
             60       .3846       7485          1.0697         9884            46
             72       .4615       8982          1.0511         9712            45
       84       .5385      10479          1.0093         9326            42
             96       .6154      11976               1         9240            42
            108       .6923      13473               1         9240            42
            120       .7692      14970               1         9240            42
            132       .8462      16467               1         9240            42
            144       .9231      17964               1         9240            42
            156           1      19461               1         9240            42
            168      1.0769      20958               1         9240            42
            180      1.1538      22455               1         9240            42
            192      1.2308      23952               1         9240            42
            204      1.3077      25449           .9721         8982            40
            216      1.3846      26946           .9373         8660            38
            228      1.4615      28443            .892         8242            36
            240      1.5385      29940           .8362         7727            33

20 rows selected.

SQL>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值