视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
初始建库SGA该设多大、PGA该设多大的建议
2020-11-09 14:09:45 责编:小采
文档


1.背景情况 很多新业务系统上线,大部分DBA也不懂业务,就闷着头建库,SGA值设多大,PGA设多大,随便指定一个值就得了,运行一段时间后,也许就因为这个值是随便指定的,例如SGA+PGA大于总物理内存,SGA值或PGA值太小等等,造成DOWN机或性能低下的情况,屡见

1.背景情况

很多新业务系统上线,大部分DBA也不懂业务,就闷着头建库,SGA值设多大,PGA设多大,随便指定一个值就得了,运行一段时间后,也许就因为这个值是随便指定的,例如SGA+PGA大于总物理内存,SGA值或PGA值太小等等,造成DOWN机或性能低下的情况,屡见不鲜。

其实,SGA初始设置多大,PGA初始设置多大,在OLTP系统上该怎么设,在OLAP系统上又该怎么设,ORACLE是有说法的。

2.ORACLE实例总占用内存规划

2.1下面是ORACLE官方的建议

Assume that an Oracle database instance is configured to run on a system with 4 GB of physical memory. Part of that memory should be left for the operating system and other non-Oracle applications running on the same hardware system. You might decide to dedicate only 80% (3.2 GB) of the available memory to the Oracle database instance.

2.2含义理解:

如果运行ORACLE数据库的机器上,在不考虑运行其它特殊程序的情况下,以及假设只运行一个实例的情况下,可以将总物理内存的80%分配给数据库实例使用,例如总物理内存为4GB,那就可以为数据库配置3.2GB内存(SGA+PGA)

3.SGA和PGA初始值到底该设置成多大

3.1下面是ORACLE官方的建议

■For OLTP systems, the PGA memory typically accounts for a small fraction of the total memory available (for example, 20%), leaving 80% for the SGA.

■For DSS systems running large, memory-intensive queries, PGA memory can typically use up to 70% of the available memory.

Oracle recommends initially dedicating 50% of the available memory to the PGA, and 50% to the SGA. Therefore, the initial value of the PGA_AGGREGATE_TARGET parameter for a DSS system can be calculated as:

3.2含义理解

(1)对于OLTP系统,SGA占数据库使用总内存的80%,PGA占数据库使用内存的20%(例如总物理内存4GB,PGA则需要占用约655MB)

(2)对于OLAP(DSS)系统,对于密集大查询的系统,PGA可以占到数据库使用总内存的70%(例如总物理内存4GB,PGA则需要占用约2.2GB(2.24GB),建议最初设置数据库使用总内存的50%

3.3建议计算公式

(1)OLTP系统:

SGA_TARGET = (total_mem * 0.8) * 0.8

PGA_AGGREGATE_TARGET=(total_mem * 0.8) * 0.2

(2)OLAP(DSS)系统:

SGA_TARGET= (total_mem * 0.8) * 0.5

PGA_AGGREGATE_TARGET =(total_mem * 0.8) * 0.5

4.上线后调整值参考

上面的一切初始建议值,都是在上线前的最佳配置建议值,在上线运行一段时间后,系统运行特性真面目就慢慢的体现出来了,这时,就应该根据运行实际需求及时的调整SGA_TARGET与PGA_AGGREGATE_TARGET的值了。

SGA_TARGET的实际需求建议值,可以参考V$SGA_TARGET_ADVICE

PGA_AGGREGATE_TARGET的实际需求建议值,可以参考V$PGA_TARGET_ADVICE视图

下载本文
显示全文
专题