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_target和pga_aggregate_target分别为SGA的PGA大小的下限。
sga_max_size是sga大小的上限。
如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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
458次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
444次阅读
2025-04-15 17:24:06
墨天轮个人数说知识点合集
JiekeXu
382次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
369次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
352次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
317次阅读
2025-04-08 23:57:08
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
306次阅读
2025-04-15 14:48:05
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
302次阅读
2025-03-24 09:42:53
oracle定时任务常用攻略
virvle
294次阅读
2025-03-25 16:05:19
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
294次阅读
2025-03-19 14:41:51