39、Oracle 数据库内存管理:SGA 与 PGA 配置指南

Oracle 数据库内存管理:SGA 与 PGA 配置指南

1. 手动配置 SGA 参数

如果你想对系统全局区(SGA)的内存分配进行更多控制,可以从完全自动内存管理(AMM)切换到自动共享内存管理(ASMM)。启用 ASMM 很简单,只需将 SGA_TARGET 设置为所需的值。即使启用了 ASMM,你仍然可以控制由 SGA_TARGET 控制的 SGA 组件的最小大小。此外,你还需要手动调整一些初始化参数。

1.1 理解自动共享内存管理

使用 ASMM 有助于简化 SGA 内存管理,特别是当你希望为 SGA 分配固定数量的内存时。在在线事务处理(OLTP)活动繁忙时,如缓冲区缓存等组件可以扩展;在非高峰时段,当 OLTP 活动较低且 RMAN 备份需要更多大池内存时,大池可以以牺牲缓冲区缓存为代价进行扩展,这样可以减少与内存相关的错误。

如果使用服务器参数文件(SPFILE),自动调整的参数会在关闭数据库时保存。因此,每次重启实例时,你不必等待 Oracle 重新学习最佳参数。

ASMM 使用内存管理器(MMAN)后台进程来协调内存大小的变化。每隔几分钟,MMAN 会检查每个组件的大小,并在一个组件需要更多内存而另一个组件未充分使用其分配的内存时进行调整。

1.2 切换到 ASMM

切换到 ASMM 可能是从完全手动共享内存管理或 AMM 进行切换,每种情况的过程略有不同,但在两种情况下,都需要将 SGA_TARGET 设置为所需的 SGA 大小。

你可能感兴趣的:(解读Oracle,Oracle数据库,SGA配置,PGA配置)