SGA 系统全局区(System Global Area),几乎所有进程都会访问SGA中某一个点。

PGA 进程全局区(Process Global Area),进程或者线程专属内存区,其它进程或线程不能访问,由进程或者线程本地分配,在专用模式下

PGA内存包含UGA,PGA其它区用于排序,位图合并,以及散列

UGA 用户全局区(User Global Area),这段内存与会话相关联,共享服务模式下UGA在SGA区,专用服务器模式下UGS在SGA区

SGA由谁在分配?

每个进程都有一个PGA区?PGA是一段内存,这段内存供各个进程和线程用,关于排序和散列操作,会有一个工作区的概念,每一个排序都会有一个工作区。

PGA 中进UGA 内存 手动管理与自动管理:

手动管理:采用这种方法管理,需要指定如果一个特定的进程允许使用多少内存来完成排序或散列

自动管理:只需要指定在系统范围内可以使用多少内存。

手动内存管理相关参数:

SORT_AREA_SIZE:在信息换出磁盘之前,用于对信息排序的内存总量

SORT_AREA_RETAINED_SIZE:排序完成后用于保存已排序数据的内存总量,也就是说,如果
          SORT_AREA_SIZE 是512 KB,SORT_AREA_RETAINED_SIZE 是256 KB,那么服务器进程最初处理查
          询时会用512 KB 的内存对数据排序。等到排序完成时,排序区会“收缩”为256 KB,这256 KB
          内存中放不下的已排序数据会写出到临时表空间中。

HASH_AREA_SIZE:服务器进程在内存中存储散列表所用的内存量

散列联结时会使用这些散列表结构,通常把一个大集合与另一个集合联结时就会用到这些结构。两个集合中较小的一
         个会散列到内存中,散列区中放不下的部分都会通过联结键存储在临时表空间中。

SORT_AREA_SIZE~SORT_AREA_ RETAINED_SIZE 这部分内存一般从PGA 分配,SORT_AREA_RETAINED_SIZE 这部分内存会在UGA 中分配

使用*_AREA_SIZE 参数时,需要记住以下重要的几点:
这些参数控制着SORT、HASH 和/或BITMAP MERGE 操作所用的最大内存量。一个查询可能有多个操作,这些操作可能都要使用这个内存,这样会创建多个排序/散列区。要记住,可以同时打开多个游标,每个游标都有自己的SORT_AREA_RETAINED 需求。所以,如果
把排序区大小设置为10 MB,在会话中实际上可以使用10 MB、100 MB、1 000 MB 或更多RAM。这些设置并非对会话的限制;它们只是对一个操作的限制。你的会话中,一个查询可以有多个排序,或者多个查询需要一个排序。这些内存区都是根据需要来分配的。如果像我们一样,将排序区大小设置为1 GB,这并不是说你要分配1 GB 的RAM,而只是说,你允许Oracle 进程为一个排序/散列操作最多分配1 GB
的内存。

一般地,随着在一个数据库上运行类似应用的用户数的增加,排序/散列所用的内存量也会线性增长。如果有10 个并发用户,排序区大小为1 MB,这就会使用10 MB 的内存,100 个并发用户可能使用100 MB,1 000 个并发用户则可能使用1 000MB,依此类推。

内存控制:根据上一条,手动分配很难保证Oracle 实例“合法”地使用内存,甚至不可能保证。你不能控制实例要用的内存量,因为你根本无从控制会发生多少并发的排序/散列。很有可能要使用的实际内存(真正的物理空闲内存)过多,而机器上并没有这么多可用内存。

自动管理

,理论上讲,如果一台机器有2 GB 的物理内存,可以分配768 MB 内存给SGA,768 MB内存分配给PGA,余下的512 MB 内存留给操作系统和其他进程。

WORK_SIZE_POLICY:这个参数可设置为MANUAL或者AUTO,如果是MANUAL,会使用排列区和散列区大小参数来控制分配内存量;如果是AUTO,分配的内存量会根据数据库中当前工作负载而变化。默认为AUTO,推荐使用AUTO

PGA_AGGREGATE_TARGET:这个参数会控制实例为完成排序,散列的所有工作区总共应分配多少内存,

Oracle SGA PGA UGA相关推荐

  1. oracle SGA PGA UGA 内存

    SGA&PGA&UGA SGA的设置 Fixed Size oracle 的不同平台和不同版本下可能不一样,但对于确定环境是一个固定的值,里面存储了SGA 各部分组件的信息,可以看作引 ...

  2. oracle+sga+pga用途,Oracle9i 动态SGA,PGA特性探索

    Oracle9i 动态SGA,PGA特性探索 更新时间:2009年03月03日 23:23:54   作者: 虽然Oracle9i中的内存管理仍然需要很多的手工操作,不过大部分的Oracle管理员可以 ...

  3. oracle sga pga mysql_oracle实例内存(SGA和PGA)调整-xin

    一.名词解释 (1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. ( ...

  4. sga pga uga分配情况分析

    网络上流传着给Oracle数据库分配内存的一条法则:把80%的内存分配给Oracle使用,而又将这80%的内存分配80%给Oracle的SGA,剩下的20%分给Oracle的PGA.记得Tom曾说过类 ...

  5. Oracle内存结构:SGA PGA UGA

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

  6. oracle 的三个主要内存结构SGA,PGA,UGA

    SGA:全局的很大的共享内存段,几乎所有的ORACLE进程要访问: PGA: 一个进程或者线程专用的内存,其他进程或线程不能访问: UGA:此内存区与特定的会话相关联,可能在SGA中分配也可能在PGA ...

  7. Oracle12C SGA PGA UGA

    SGA和PGA简介 1 sga组成: 2b4p1s(记忆) database buffer cache:包括 default pool,keep pool,recycle pool: redo log ...

  8. oracle sga pga mysql_Oracle 体系结构 SGA 和PGA 总结

    SGA 和PGA 一.SGA SGA是由Oracle分个配的共享内存结构,包含一个数据库实例的数据和控制信息,SGA数据供所有的服务器进程和后台进程共享.所以又称为共享全局区.该内存区随着数据库实例的 ...

  9. oracle sga pga mysql_修改Oracle数据库SGA和PGA大小

    SGA的大小:一般物理内存20%用作操作系统保留,其他80%用于数据库. SGA普通数据库可以分配40%-60%之间,PGA可以分配20%-40%之间. 1.以dba身份登录 并查看SGA信息: SQ ...

最新文章

  1. [Vert.x Core手册 for Java]-了解Vert.x
  2. mysql访问oracle数据_python访问Oracle及Mysql数据库
  3. chrome java上传文件_springboot+webuploader 实现大文件切片上传,兼容IE8+,chrome等浏览器,可运行...
  4. boost::multiprecision模块float128相关的测试程序
  5. python fpga_如何实现用Python开发FPGA?
  6. 一文搞懂JAVA与GO垃圾回收
  7. shell脚本详解(一)——Shell编程规范与变量
  8. php注册页面模板,选项卡式WordPress登陆注册模板
  9. 2016专接本c语言真题_云南特岗教师考试真题(中学信息技术)9套(无答案)
  10. C++语言基础 —— STL —— 算法 —— unique() 的使用
  11. C#获取本执行程序所在的当前路径
  12. iPhone 13与12对比图曝光:更厚、更大了
  13. [线筛五连]线筛莫比乌斯函数
  14. nginx-ingress-controller开启modsecurity
  15. 深度学习CTR模型粗略记录
  16. 数据库拆分:横向拆分和纵向拆分
  17. C#调用DLL的几种方法
  18. 04-如何选购台式电脑显卡?小白装机通俗易懂的独立显卡知识指南
  19. (SEED-LabCross-Site Scripting (XSS) Attack Lab跨站脚本攻击实验
  20. QWidget 半透明窗口解决方案

热门文章

  1. flowable6.5解析(3)----数据模型
  2. python api网关_kong服务网关API
  3. 2022年全国职业院校技能大赛网络安全竞赛试题 A-2样题
  4. 手撸架构,Mysql 面试126问
  5. 用python来处理待打印的深色背景图片
  6. 使用EasyExcel导入表格实现xlsx文件批量插入-----linux的mysql
  7. 俯瞰·明统系列·落霞与孤鹜齐飞、南征与北伐并举
  8. python 计算斐波那契数列方法,递归方法求第N项的斐波那契数
  9. 制造业大数据分析解决方案,助力生产效率提升
  10. Java进阶4-Elasticsearch