IT开放社区

内存结构

所周知,无论个人计算机或企业服务器,影响其运行性能的三大重要因素是:CPU内存存储;那么在这些硬件上运行的数据库性能的基础也应是这三大要素,oracle 数据库在内存上是怎样分配和运行的?今天就来扒一扒它的内存结构

oracle内存结构图.png  

基本内存结构

与Oracle数据库相关的基本内存结构包括:

  • 系统全局区域 System Global Area(SGA

SGA 是一组共享内存结构,包含一个 Oracle 数据库实例的数据和控制信息。SGA 由所有服务器和后台进程共享。存储在 SGA 中的数据包括高速缓存的数据块和共享 SQL 区域。

  • 项目全局区域 Program Global Area(PGA

PGA是一个非共享内存区域,它包含专门供 Oracle 进程使用的数据和控制信息。PGA 由 Oracle 数据库在 Oracle 进程启动时创建。

每个服务器进程后台进程都有一个 PGA ,单个 PGA 的集合是 PGA 的总实例,或者实例 PGA。数据库初始化参数设置实例 PGA 的大小,而不是单个的 PGA。


  • 用户全局区域 User Global Area(UGA

专用服务器模式下,进程和会话是一对一的关系,UGA 被包含在 PGA 中,在共享服务器模式下,进程和会话是一对多的关系,所以 UGA 就不再属于 PGA 了,而会在大型池 Large Pool 中分配。但如果从大型池中分配失败,如大型池太小,或是根本没有设置大型池,则从共享池 Shared Pool 中分配。

  • 软件代码区域 Software Code Areas(SCA

软件代码区域是用于存储正在运行或可以运行的代码的内存部分。Oracle 数据库代码存储在软件区域,该区域通常位于与用户程序不同的位置 - 更独特或受保护的位置。



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类
站点信息
  • 文章总数:119
  • 页面总数:2
  • 分类总数:3
  • 标签总数:12
  • 评论总数:2
  • 浏览总数:116129
友情链接

BlogPowerBy Z-BlogPHP 1.5 Zero ;Theme By 爱墙纸

Copyright © 2020-2030 ITkaifang.COM All Rights Reserved. 京ICP备13044647号.Email:dreamerqin@qq.com