暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle内存管理

在路上 2025-01-20
52

1.oracle内存管理方式

AMM:automatic memory management自动内存管理

ASMM:auto shared memory management自动共享内存管理

MSMM:manual shared memory management手动共享内存管理


2.AMM自动内存管理(11g默认)

11g引入,自动管理实例中的pga和sga,动态调整sga和pga大小提高数据库性能和可扩展性


1)查看oracle是否开启AMM,检查memory两项如果设置且非0,就是自动管理。如果两个等于0关闭自动内存管理

show parameter memory_target; #sga和pga可以使用的内存总大小,不重启库调整
show parameter memory_max_target;#定义memory_target上限,修改要重启数据库
复制

2)查看sga和pga,如果为0,说明启用AMM管理

sga_target:sga目标内存大小,启用AMM后,这个参数为0,sga=memory_target*0.6
pga_aggregate_target:pga目标内存大小,启用AMM后,这个参数为0,pga=memory_target*0.4
复制

3)例外1,如果设置memory_target,同时设置sga_target和pga_aggregate_target

此时sga_target+ pga_aggregate_target要<=memory_target。
sga_targetpga_aggregate_target分别为SGAPGA大小的下限。
sga_max_sizesga大小的上限。
如memory_target=5G,sga_target=2g,pga_aggregate_target=1g,则SGA下限为2g,PGA下限为1g
复制

4)例外2 ASMM,如果没有设置memory_target,同时设置sga_target和pga_aggregate_target

#开启了自动共享内存管理ASMM(SGA自动管理),SGA内各个组件之间自动的分配内存
alter system set memory_target=0 scope=both;
alter system set sga_target=1024m scope=both;
复制

5)例外3 MSMM,如果memory_target和sga(pga)_target都没有设置,为手动共享内存管理

#设置sga中的组件
shared pool (通过 shared_pool_size 参数管理)
buffer cache (通过 db_cache_size 参数管理)
streams pool (通过 streams_pool_size 参数管理)
java pool (通过 java_pool_size 参数管理)
large pool (通过 large_pool_size 参数管理)
复制

3.sga内存

1)内存大小查看

select * from v$sgainfo where name like 'Maximum SGA%' or name like 'Free SGA%';

select component,current_size from v$memory_dynamic_components where component like '%Target%';

2)sga内存区组成

database buffer cache数据库高速缓存:缓存从数据文件中检索出来的数据块,提高数据访问效率。减少磁盘io,使用LRU算法,确保最近最少使用的数据块被优先替换。
redo log buffer重做日志缓冲区:暂存执行dml操作时产生的重做记录。事务提交前,重做记录优先写入重做日志缓冲区,然后有LGWR进程将其写入重做日志文件。
shared pool共享池:library cache(库缓存)存储最近解析或编译后的sql、pl/sql;dictionary cache(数据字典缓存)存储数据库运行所需的动态信息,如数据库结构用户权限等加速对数据字典的访问。
large pool大型池:支持特定的内存结构,如rman备份恢复,并行执行。
java pool java池:运行java代码提供服务,存储java代码在解析和执行中所需的内存
streams pool流池:oracle streams环境中使用
复制



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论