【赵强老师】Oracle数据库的内存结构[通俗易懂]

【赵强老师】Oracle数据库的内存结构[通俗易懂]首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下: 每个数据库实例有两个关联的内存结构—系统全局区(SGA),程序全局区(PGA)。 系统全局(SGA):一组共享的内存结构(称为SG

【赵强老师】Oracle数据库的内存结构

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

【赵强老师】Oracle数据库的内存结构[通俗易懂]

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

  • 系统全局(SGA):一组共享的内存结构(称为SGA 组件),其中包含一个OracleDB 实例的数据和控制信息。SGA 由所有服务器进程和后台进程共享。SGA 中存储的数据有高速缓存的数据块和共享SQL 区域等SGA的大小由参数sga_target决定。

 【赵强老师】Oracle数据库的内存结构[通俗易懂]

  • 程序全局区(PGA):包含某个服务器进程或后台进程的数据及控制信息的内存区域。PGA Oracle DB 在服务器进程或后台进程启动时创建的非共享内存。服务器进程对PGA 的访问是独占式的。每个服务器进程和后台进程都具有自己的PGAPGA的大小由参数pga_aggregate_target决定。

【赵强老师】Oracle数据库的内存结构[通俗易懂]

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

  • 共享池:shared pool用于缓存可在用户间共享的各种构造,比如给定SQL 语句的语法分析树和执行计划。

【赵强老师】Oracle数据库的内存结构[通俗易懂]

  • 数据库缓冲区高速缓存:buffer cache从数据库中检索到的数据块是缓存在此,数据块从此内存组件对数据块进行操作,降低了硬盘IO负担,如果用户进程所需的数据在该区域能很找到,我们称之为高速缓存区命中,高的命中率反映出来的效果就是操作反应快,这点很好理解,数据库优化中很有必要考虑这点

【赵强老师】Oracle数据库的内存结构[通俗易懂]

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

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

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

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

  • 重做日志缓冲区:log buffer用于存放有关对数据库所做更改的信息,重做信息在写入磁盘中重做日志文件(redo文件)前,将缓存在此处。

【赵强老师】Oracle数据库的内存结构[通俗易懂]

  • 大型池,用于为某些大型进程(例如Oracle 备份和恢复操作)和I/O 服务器进程提供大型内存分配。

【赵强老师】Oracle数据库的内存结构[通俗易懂]

  • Java池和流池

【赵强老师】Oracle数据库的内存结构[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9109.html

(0)
上一篇 2023-02-15
下一篇 2023-02-15

相关推荐

  • Python 查询变量类型的方法

    Python 查询变量类型的方法Python是一种动态类型语言,这就意味着在声明变量时不需要显式地指定其类型。Python会在运行时自动确定变量的类型。然而,当我们需要在程序中处理不同类型的数据时,我们需要知道变量的类型。在这篇文章中,我将介绍几种查询Python变量类型的常用方法。

    2024-05-22
    62
  • 杭州联合银行 x 袋鼠云:打造智能标签体系,助力银行大零售业务转型「终于解决」

    杭州联合银行 x 袋鼠云:打造智能标签体系,助力银行大零售业务转型「终于解决」“智能标签平台上线后,支行及业务部门已创建多个客群用于营销,为我行客户精细化管理打下了良好基础。” 杭州联合银行始终以服务市民、小微企业、经济组织和地方经济发展为己任,本着“做小、做散、做深”的原则,

    2023-06-20
    152
  • 技术分享 | InnoDB Handler_read_* 变量解释「建议收藏」

    技术分享 | InnoDB Handler_read_* 变量解释「建议收藏」作者:高鹏 文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。 源码版本:percona 5.7.14 本文为学习记录,可能有误…

    2022-12-15
    134
  • 使用Python进行数据爬取

    使用Python进行数据爬取在当今的信息时代,数据分析和数据处理都已经成为日常生活和工作中不可或缺的一部分。而在获取数据的流程中,数据爬取无疑是其中最为重要和必要的一环。使用Python进行数据爬取在近些年也变得越来越流行和便捷,成为了许多数据分析师和数据科学家必备的技能之一。

    2024-07-08
    45
  • 利用oswalk遍历文件夹实现文件管理器功能

    利用oswalk遍历文件夹实现文件管理器功能文件管理器是我们使用电脑时常用的一个功能,它能够方便地管理我们的文件和目录。在Python中,我们可以使用os.walk函数来遍历指定目录及其子目录下的所有文件和目录,并且可以根据自己的需求对其进行分类和管理。

    2024-08-31
    25
  • MySQL第四课[通俗易懂]

    MySQL第四课[通俗易懂]CREATE TABLE biao( name VARCHAR(20) PRIMARY KEY, age INT(11) NOT NULL, sex CHAR(11)DEFAULT 1, love V

    2022-12-18
    147
  • “初学者怎样看懂代码”_零基础如何看懂代码

    “初学者怎样看懂代码”_零基础如何看懂代码在学习编程的初期,看不懂代码是非常正常的现象,因为程序代码的背后涉及到编程语法、资源整合、算法设计、数据结构等一系列内容,要想搞清楚这些代码的含

    2022-12-14
    148
  • 赛程过半,谁在让 TiDB 变得更好用?「终于解决」

    赛程过半,谁在让 TiDB 变得更好用?「终于解决」随着越来越多的同学选择使用 TiDB, TiDB 的易用性收到越来越多用户的关注,让 TiDB 变得更好用就显得越来越重要。为了能够打造一个大家心中的真正好用易用的 TiDB,我们启动了 “我的 T…

    2023-02-21
    151

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注