1、Redo Log Buffer
Redo Log Buffer是SGA中一段保存数据库修改信息的缓存。这些信息被存储在重做条目(Redo Entry)中.重做条目中包含了由于INSERT、UPDATE、DELETE、CREATE、ALTER或DROP所做的修改操作而需要对数据库重新组织或重做的必须信息。在必要时,重做条目还可以用于数据库恢复。
重做条目是Oracle数据库进程从用户内存中拷贝到Redo Log Buffer中去的。重做条目在内存中是连续相连的。后台进程LGWR负责将Redo Log Buffer中的信息写入到磁盘上活动的重做日志文件(Redo Log File)或文件组中去的。
参数LOG_BUFFER决定了Redo Log Buffer的大小。它的默认值是512K(一般这个大小都是足够的),最大可以到4G。10g中可通过参数自动设置。当系统中存在很多的大事务或者事务数量非常多时,可能会导致日志文件IO增加,降低性能。这时就可以考虑增加LOG_BUFFER。
但是,Redo Log Buffer的实际大小并不是LOB_BUFFER的设定大小。为了保护Redo Log Buffer,oracle为它增加了保护页(一般为11K):
SQL> select * from v$sgastat where name = 'log_buffer';
POOL         NAME       BYTES
------------ -------------------------- ----------
log_buffer     7135232
SQL> show parameter log_buffer
NAME                    TYPE        VALUE
------------------------------------ ----------- ----------------
log_buffer                 integer     7024640
SQL>
2、大池(large pool)
大池是SGA中的一块可选内存池,根据需要时配置。在以下情况下需要配置大池:
1) 用于共享服务(Shared Server MTS方式中)的会话内存和Oracle分布式事务处理的Oracle XA接口
2) 使用并行查询(Parallel Query Option PQO)时
3)  IO服务进程
4) Oracle备份和恢复操作(启用了RMAN时)
通过从大池中分配会话内存给共享服务、Oracle XA或并行查询,oracle可以使用共享池主要来缓存共享SQL,以防止由于共享SQL缓存收缩导致的性能消耗。此外,为Oracle备份和恢复操作、IO服务进程和并行查询分配的内存一般都是几百K,这么大的内存段从大池比从共享池更容易分配得到。
参数LARGE_POOL_SIZE设置大池的大小。大池是属于SGA的可变区(Variable Area)的,它不属于共享池。对于大池的访问,是受到large memory latch保护的。大池中只有两种内存段:空闲(free)和可空闲(freeable)内存段。它没有可重建(recreatable)内存段,因此也不用LRU链表来管理(这和其他内存区的管理不同)。大池最大大小为4G。
为了防止大池中产生碎片,隐含参数_LARGE_POOL_MIN_ALLOC设置了大池中内存段的最小大小,默认值是16K(同样,不建议修改隐含参数)。
此外,large pool是没有LRU链表的。
3、Java池(Java Pool)
Java池也是SGA中的一块可选内存区,它也属于SGA中的可变区。
Java池的内存是用于存储所有会话中特定Java代码和JVM中数据。Java池的使用方式依赖与Oracle服务的运行模式。
Java池的大小由参数JAVA_POOL_SIZE设置。Java Pool最大可到1G。
在Oracle 10g以后,提供了一个新的建议器——Java池建议器——来辅助DBA调整Java池大小。建议器的统计数据可以通过视图V$JAVA_POOL_ADVICE来查询。如何借助建议器调整Java池的方法和使用Buffer Cache建议器类似,可以参考Buffer Cache中关于建议器部分。
4、流池(Streams Pool)
流池是Oracle 10g中新增加的。是为了增加对流的支持。
流池也是可选内存区,属于SGA中的可变区。它的大小可以通过参数STREAMS_POOL_SIZE来指定。如果没有被指定,oracle会在第一次使用流时自动创建。如果设置了SGA_TARGET参数,Oracle会从SGA中分配内存给流池;如果没有指定SGA_TARGET,则从buffer cache中转换一部分内存过来给流池。转换的大小是共享池大小的10%。
Oracle同样为流池提供了一个建议器——流池建议器。建议器的统计数据可以通过视图V$STREAMS_POOL_ADVICE查询。使用方法参看Buffer Cache中关于优化器部分。
更多oracle视频教程:http://crm2.qq.com/page/portalpage/wpa.php?uin=800060152&f=1&ty=1&aty=0&a=&from=6

转载于:https://blog.51cto.com/19880614/1175844

Oracle内存结构详解(四)--Oracle SGA其他组成部分相关推荐

  1. [精]Oracle 内存结构详解

    内存结构 现代计算机中,CPU 对内存的访问速度要比从磁盘的速度快千倍,因此 Oracle 对于数据的访问 也尽量都在内存中完成,而不是直接修改硬盘上的数据.内存内容在合适的时候再同步到磁盘. Ora ...

  2. Oracle内存结构详解(三)--管理Oracle Share Pool

    SGA中的共享池由库缓存(Library Cache).字典缓存(Dictionary Cache).用于并行执行消息的缓冲以及控制结构组成. Shared Pool的大小由参数SHARED_POOL ...

  3. JVM之内存结构详解

    对于开发人员来说,如果不了解Java的JVM,那真的是很难写得一手好代码,很难查得一手好bug.同时,JVM也是面试环节的中重灾区.今天开始,<JVM详解>系列开启,带大家深入了解JVM相 ...

  4. C++内存分配详解四:std::alloc行为剖析

    侯捷C++内存分配课程总结四:std::alloc行为剖析 剖析标准的容器分配器的动作 文章内容参照于侯捷 C++内存分配系列教程 文章目录 侯捷C++内存分配课程总结四:std::alloc行为剖析 ...

  5. ORACLE内存结构:PGA And UGA,ORACLE用户进程、服务器进程

    执行一个SQL语句 执行查询语句的过程: 用户进程执行一个查询语句如select * from emp where empno=7839 用户进程和服务器进程建立连接,把改用户进程的信息存储到PGA的 ...

  6. 边学边记(七) lucene索引结构详解四(_N.fdx,_N.fdt)

    (_N.fdx,_N.fdt) FieldData信息存储在_N.fdt文件中 Field的index信息存储在_N.fdx文件中 根据fdx文件中的存储的field 数据的指针在fdt文件中查找对应 ...

  7. oracle11 share pool,Oracle Shared pool 详解

    . Shared Pool概述 在之前的blog对的内存也做了一个概述,参考: Oracle内存架构详解 在网上搜到一篇介绍shared pool非常详细的pdf资料. 原文链接以找不到,但还是要感谢 ...

  8. oracle语句中dual什么意思,oracle中dual详解

    oracle中dual详解 基本上oracle引入dual为的就是符合语法 1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的. 2. ...

  9. Oracle内存结构:SGA PGA UGA

    oracle内存结构: SGA.PGA.UGA 内存结构是oracle数据库最重要的组成部分之一,在数据库中的操作或多或少都会依赖到内存,是影响数据库性能的重要因素Oracle数据库中包括3个基本的内 ...

  10. oracle 11g目录结构详解

    oracle 11g目录结构详解-pf文件 概述 前段时间有朋友留言需要oracle目录结构的介绍,所以整理了下这方面内容,这里简单分享下,下面以oracle 11g目录结构做说明. 11g目录结构 ...

最新文章

  1. Vsphere 回收未消使用的磁盘空间
  2. 自然语言交流系统 phxnet团队 创新实训 个人博客 (二)
  3. 转:构建高性能ASP.NET站点 第五章—性能调优综述(中篇)
  4. dpdk对虚拟化的支持调研
  5. Android 颜色渲染(九) PorterDuff及Xfermode详解
  6. 系统学习 Java IO (六)----管道流 PipedInputStream/PipedOutputStream
  7. allure的安装和使用(windows环境)
  8. linux 发送测试数据帧,ubuntu – 测试巨型帧是否真正起作用
  9. 国家铁路调度中心在哪_博慈46寸液晶拼接屏打造上海铁路局南翔站指挥中心显示系统...
  10. 打开php网页中木马,常见PHP网页木马
  11. 轻量级过程改进之项目计划
  12. 你知不知道痛楚的滋味?
  13. 部署 LAMP 平台
  14. C语言怎样提取一个数的十位个位百位千位
  15. armbian 安装python3
  16. 人工智能的“虚假式繁荣”
  17. 10个良心的软件免费下载网站,你知道吗?
  18. 司空见惯 - 神奇的数字7
  19. uedit使用技巧2
  20. 堆、栈的概念及使用特性

热门文章

  1. 深入理解函数中分配内存的问题
  2. 2018.09.18 循环终止
  3. myeclipse使用步骤总结
  4. [POJ3177]Redundant Paths
  5. node.js小工具--修改Xcode 'Create by'作者名称
  6. 未来手机、电脑和网络将整合为一块
  7. Django项目 BBS论坛
  8. pm2 简介与常用指令
  9. Allegro16.6导出位号图
  10. Tomcat+MySql+jdbc