IT开放社区

Oracle 内存结构

所周知,无论个人计算机或企业服务器,影响其运行性能的三大重要因素是: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 数据库代码存储在软件区域,该区域通常位于与用户程序不同的位置 - 更独特或受保护的位置。



发表评论:

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

网站分类
最新文章
    随机文章
      站点信息
      • 文章总数:113
      • 页面总数:2
      • 分类总数:3
      • 标签总数:0
      • 评论总数:0
      • 浏览总数:24663
      左邻右舍

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

      IT开放社区:京ICP备13044647号.初创于Oracle DBA实战班.邮箱:admin@itkaifang.com

      分享:

      支付宝

      微信