当Linux主机内存是:256G
我一般会采取如下分配内存方式:
Oracle database 内存分配RAC:
sga:256*0.7=180G
sga:256*0.8*0.2=40G
alter system set sga_target=180g scope=spfile sid='*';
alter system set sga_max_size=180g scope=spfile sid='*';
(当然了由于个人爱好:我一般设置120G ^_^)
在OLTP(联机事务处理)系统中,典型PGA内存设置应该是总内存的较小部分(例如20%),剩下80%分配给SGA。
OLTP:PGA_AGGREGATE_TARGET = (total_mem * 80%) * 20%
在DSS(数据集)系统中,由于会运行一些很大的查询,典型的PGA内存最多分配70%的内存。
DSS:PGA_AGGREGATE_TARGET = (total_mem * 80%) * 50%
DBWn的个数
一般的它的默认值DBWn的个数是cpu数量除上8
alter system set db_writer_processes=* scope=spfile;
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');
alter system set db_cache_size='*' scope=spfile sid='*' ;
版权声明:本文为博主原创文章,未经博主允许不得转载。
Oracle内存分配
- 上一篇:vmstat详解命令
- 下一篇:dstat命令常用参数