网站建设捌金手指下拉六,万网免费域名,网站备案成功后可以改吗,小程序制作工具Oracle数据库查看与修改内存配置 Oracle内存管理模式查看Oracle内存分配修改Oracle内存分配 Oracle内存管理模式
Oracle数据库的内存管理模式从自动管理化程度由高到低依次可以分为#xff1a;
自动内存管理#xff1a;完全由Oracle自动管理内存分配。DBA只需设置MEMORY_TA… Oracle数据库查看与修改内存配置 Oracle内存管理模式查看Oracle内存分配修改Oracle内存分配 Oracle内存管理模式
Oracle数据库的内存管理模式从自动管理化程度由高到低依次可以分为
自动内存管理完全由Oracle自动管理内存分配。DBA只需设置MEMORY_TARGET以及可选初始化参数MEMORY_MAX_TARGETOracle就会在SGA和PGA之间自动分配内存。自动共享内存管理DBA只需设置SGA_TARGET和PGA_AGGREGATE_TARGET两个初始化参数。Oracle会分别在SGA和PGA中自动分配各组件的内存。手动内存管理由DBA为SGA和PGA中的所有组件逐一手动分配内存。
在自动共享内存管理模式下还可以手动为SGA中的某些重要组件指定最小的内存分配值例如Shared Pool和Buffer Cache。
查看Oracle内存分配
检查各内存参数的TARGET配置
SQL show parameter targetNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
memory_max_target big integer 0
memory_target big integer 0
pga_aggregate_target big integer 1561M
sga_target big integer 4688M其中memory_target和memory_max_target都为0并且sga_target和pga_aggregate_target不为0表示当前数据库使用的是自动共享内存管理模式。
检查SGA和PGA相关参数的配置
SQL show parameter sgaNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 4688M
sga_min_size big integer 0
sga_target big integer 4688MSQL show parameter pgaNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_limit big integer 3122M
pga_aggregate_target big integer 1561M查看SGA中各组件的内存使用情况
SQL select * from v$sgainfo;NAME BYTES RESIZEABLE CON_ID
-------------------------------- ---------- ---------- ----------
Fixed SGA Size 8906552 No 0
Redo Buffers 7868416 No 0
Buffer Cache Size 3992977408 Yes 0
In-Memory Area Size 0 No 0
Shared Pool Size 872415232 Yes 0
Large Pool Size 33554432 Yes 0
Java Pool Size 0 Yes 0
Streams Pool Size 0 Yes 0
Shared IO Pool Size 134217728 Yes 0
Data Transfer Cache Size 0 Yes 0
Granule Size 16777216 No 0NAME BYTES RESIZEABLE CON_ID
-------------------------------- ---------- ---------- ----------
Maximum SGA Size 4915722040 No 0
Startup overhead in Shared Pool 405891224 No 0
Free SGA Memory Available 0 014 rows selected.其中Buffer Cache Size和Shared Pool Size是需要重点关注的内容。
修改Oracle内存分配
如果我们升级了服务器物理内存配置就需要对Oracle的内存参数进行修改。
在自动共享内存管理模式下一般按照如下原则配置内存
SGA_TARGET一般配置为物理内存的30%到70%之间PGA_AGGREGATE_TARGET一般配置为物理内存的5%到25%之间SGA_TARGET和PGA_AGGREGATE_TARGET之和不要超过物理内存的80%Buffer Cache Size一般配置为SGA_TARGET的 20% 左右Shared Pool Size一般配置为SGA_TARGET的 10% 左右。
修改数据库内存配置
--备份参数文件
create pfile/home/oracle/pfile.ora from spfile;--禁用自动内存管理
alter system set memory_target0M scopespfile;--设置SGA_TARGET
alter system set sga_max_size9G scopespfile;
alter system set sga_target9G scopespfile;--设置Buffer cache、共享池、Java池的最小值
alter system set db_cache_size2G scopespfile;
alter system set shared_pool_size1G scopespfile;
alter system set java_pool_size128m scopespfile;--设置PGA_AGGREGATE_TARGET
alter system set pga_aggregate_target1G scopespfile;然后重启数据库即可生效。
SQL show parameter sga_targetNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 9GSQL show parameter pgaNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_limit big integer 3000M
pga_aggregate_target big integer 1GSQL show parameter db_cache_sizeNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 2GSQL show parameter shared_pool_sizeNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size big integer 1GSQL show parameter java_pool_sizeNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_pool_size big integer 128M需要注意的是服务器物理内存变化通常还涉及内核参数kernel.shmall和kernel.shmmax的调优。如果数据库使用了大页还需要调优操作系统的大页配置。
# 查看是否开启大页
SQL show parameter use_large_pages# 查看操作系统大页配置
cat /proc/meminfo | grep HugePage
cat /proc/meminfo | grep Hugepagesize