首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下:

每个数据库实例有两个关联的内存结构—系统全局区(SGA),程序全局区(PGA)。

  • 系统全局(SGA):一组共享的内存结构(称为SGA 组件),其中包含一个OracleDB 实例的数据和控制信息。SGA 由所有服务器进程和后台进程共享。SGA 中存储的数据有高速缓存的数据块和共享SQL 区域等;SGA的大小由参数sga_target决定。
  • 程序全局区(PGA):包含某个服务器进程或后台进程的数据及控制信息的内存区域。PGA 是Oracle DB 在服务器进程或后台进程启动时创建的非共享内存。服务器进程对PGA 的访问是独占式的。每个服务器进程和后台进程都具有自己的PGA。PGA的大小由参数pga_aggregate_target决定。

SGA几个关键组件做以说明:

  • 共享池:shared pool,用于缓存可在用户间共享的各种构造,比如给定SQL 语句的语法分析树和执行计划。
  • 数据库缓冲区高速缓存:buffer cache,从数据库中检索到的数据块是缓存在此,数据块从此内存组件对数据块进行操作,降低了硬盘IO负担,如果用户进程所需的数据在该区域能很找到,我们称之为高速缓存区命中,高的命中率反映出来的效果就是操作反应快,这点很好理解,数据库优化中很有必要考虑这点

  在buffer cache中,存在以下的缓冲区:

(*)KEEP 缓冲区池:一种专用数据库缓冲区高速缓存,用于长时间在内存中保留数据块。一些频繁使用的数据块可相对长期的保留在此,不至于每次都从硬盘获取,从而优化了数据库的性能;

(*)RECYCLE 缓冲区池:一种专用数据库缓冲区高速缓存,用于从内存中快速回收或删除数据块。相对于KEEP的对立面,很好理解;

(*) nK 缓冲区高速缓存:多种专用数据库缓冲区高速缓存中的一种,用于存放大小不同于默认数据库块大小的数据块。注意默认数据块为8K

  • 重做日志缓冲区:log buffer,用于存放有关对数据库所做更改的信息,重做信息在写入磁盘中重做日志文件(即redo文件)前,将缓存在此处。
  • 大型池,用于为某些大型进程(例如Oracle 备份和恢复操作)和I/O 服务器进程提供大型内存分配。
  • Java池和流池

数据字典在sga的哪一个组件中缓存_【赵强老师】Oracle数据库的内存结构相关推荐

  1. 数据字典在sga的哪一个组件中缓存_非功能性约束之性能(1)-性能银弹:缓存...

    在<什么是架构属性>一文中提到提高「性能」的主要方式是优化,而优化的其中一个主要手段就是添加缓存! 在软件工程里有这么一句话:「没有银弹」!就是说由于软件工程的复杂性,没有任何一种技术或方 ...

  2. Oracle体系结构之内存结构(SGA、PGA)

    Oracle体系结构之内存结构(SGA.PGA) 一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area):由每个 ...

  3. oracle select 行数据_【赵强老师】什么是Oracle的数据字典?

    欢迎关注赵强老师微信公众号:myitshare 数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询.数据字典是oracle数据库系统的信息核心,它是一 ...

  4. oracle中exist什么意思,oracle中not exists 是什么意思 , oracle数据库中exists的作用

    导航:网站首页 > oracle中not exists 是什么意思 , oracle数据库中exists的作用 oracle中not exists 是什么意思 , oracle数据库中exist ...

  5. 【赵强老师】SQL中的子查询

    ​先看视频,视频全长73分钟,相信对大家有帮助. [赵强老师]SQL中的子查询 这里主要向大家介绍了Oracle数据库之Oracle子查询之简单子查询,通过具体的内容向大家展现,希望对大家学习Orac ...

  6. oracle中字典指的是什么,ORACLE数据库中什么是数据字典及作用

    Oracle数据库一个最重要的部分就是数据字典,是只读类型的表的集合,提供数据库的信息.一个数据字典包括:    数据库对象所有的框架对象的定义[表.视图.索引.群集.同义词.序列.过程.函数.包.触 ...

  7. syslog 向内存中缓存_漫谈缓存(Cache)、大规模芯片系统的存储层次结构优化以及开源仿真工具ZSim...

    这次的话题将从缓存开始,以一种易于理解的方式向大家呈现缓存的基本概念,然后拓展至大规模芯片系统的非均一访问延时的缓存访问问题,最后简要介绍一种缓存仿真工具--ZSim. 缓存的概念 处理器和内存之间存 ...

  8. syslog 向内存中缓存_动画:深入浅出从根上理解 HTTP 缓存机制及原理!

    HTTP 缓存,对于前端的性能优化方面来讲,是非常关键的,从缓存中读取数据和直接向服务器请求数据,完全就是一个在天上,一个在地下. 我们最熟悉的是 HTTP 服务器响应返回状态码 304,304 代表 ...

  9. syslog 向内存中缓存_内存问题排查手段及相关文件介绍

    5. 内存问题排查手段及相关文件介绍[重点] 对于内存问题排查,或者OOM问题排查,一般会涉及到如下文件,下面将如下文件的分析和设置介绍一下,这也是本文档的重点,后面排查内存信息还是要根据这些文件信息 ...

最新文章

  1. PC端、移动端手机竖拍原图压缩上传顺时针旋转90°的解决方案
  2. php各种编码集详解和在什么情况下进行使用 [php 字符集 显示]
  3. SAP QA32 做使用决策系统报错:分类数据的不一致性=交易终止
  4. ce修改器传奇刷元宝_真原始传奇刷元宝方法 不封号刷元宝技巧
  5. python语言怎么用-科学家们是如何使用 Python 语言的?
  6. Software-Defined Networking之搬砖的故事
  7. android项目两种构建方式的整合(Eclipse/idea和Android Studio)
  8. 【LeetCode】LeetCode之乘积最大子数组——枚举+动态规划+Kadane算法
  9. 2.Lucene3.6.2包介绍,第一个Lucene案例介绍,查看索引信息的工具lukeall介绍,Luke查看的索引库内容,索引查找过程
  10. 研究SAP service order status存储字段
  11. Java高并发编程详解系列-7种单例模式
  12. java集合框架源代码_面试必备——Java集合框架
  13. python创建图形界面_Python入门四:创建第一个图形界面-Go语言中文社区
  14. kubernetes kubeadm init this version of kubeadm only supports deploying clusters kubeadm版本降级
  15. [CC-CHEFINV]Chef and Swaps
  16. anaconda开发python_使用anaconda和pycharm搭建多python本版的开发环境
  17. 基于粒子群优化算法的函数寻优算法
  18. IDEA主题分享与代码颜色设置
  19. Git上一些不错的项目
  20. 关于Java平台无关性你该知道这些

热门文章

  1. 计算机科学考试大纲,计算机科学与技术考试大纲.doc
  2. python剑指offer面试题_剑指offer面试题Q10 斐波那契数列 python解法
  3. php处理ajax post请求超时,php – 如何处理AJAX请求中的会话超时
  4. win7变成xp风格了怎么改回_XP退役了,如何把Win7变成XP风格
  5. observable_Java Observable notifyObservers()方法与示例
  6. 不错!SpringBoot发布Jar包优化瘦身指南!
  7. 最常见并发面试题整理!(速度收藏)
  8. LeetCode450题—— 删除二叉搜索树中的节点
  9. python创建二维空列表_python定义二维空数组
  10. 计算机专业410分能上哪些大学,2021年高考410分能报什么学校