Oracle内存结构由系统全局区SGA和程序全局区PGA组成。

SGA是实例启动的时候分配的Oracle实例中的一个基本成分。
PGA是服务器进程启动时分配。

1.系统全局区SGA
系统全局区SGA由:Shared Pool, Database Buffer Cache, Redo Log Buffer,Large Pool,Java Pool等组成,其中Large Pool,Java Pool是可选的。

1.1 Shared Pool
Shared Pool用来存储最近最多执行的SQL语句和最近最多使用的数据定义。它包括:Library Cache和Data dictionary cache。它的大小由SHARED_POOL_SIZE这个参数决定。

1.1.1 Library Cache
library cache存储最近最多执行的SQL和PLSQL语句信息,使用LRU算法进行管理,由共享SQL区和共享PLQSQL区两种结构组成。

1.1.2 Data dictionary cache
Data dictionary cache是数据库里最经常访问的对象的定义的集合。包括:数据文件名,表,索引,列,用户权限等数据库对象信息。在解析期间,服务器进程会查找数据字典获取允许接入的关联对象信息。缓存数据字典信息在内存区能提高查询数据的响应时间。它的大小由shared pool的大小决定。

1.2 Database Buffer Cache
存储以前从数据文件中取出过的数据块的拷贝信息。当修改或得到数据时能使性能提高。它使用LRU算法进行管理。由DB_BLOCK_SIZE决定大小。由独立的子缓存组成:DB_CACHE_SIZE,DB_KEEP_CACHE_SIZE,DB_RECYCLE_CACHE_SIZE。可以动态改变尺寸。DB_CACHE_ADVICE可以设置以收集统计信息来预测不同缓冲区大小。

1.3 Redo Log Buffer
重做日志缓冲区记录数据块所有变化,首要目的是恢复,记录的信息可用来重做改变,尺寸由LOG_BUFFER定义。

1.4 Large Pool
Large Pool是SGA中的一个可选的区域,只配置在共享服务器环境中,能减轻共享池的负担,用在UGA,备份和恢复等操作中,大小由LARGE_POOL_SIZE决定。

1.5 Java区
Java区是为了解开Java命令,如果安装并使用Java是必须的,大小由JAVA_POOL_SIZE参数决定。

2. 程序全局区(PGA)

PGA是每个用户进程连接Oracle数据库分配的区域。
用户进程连接到Oracle实例时,就会创建一个对应的会话,该会话使用一个服务器进程来完成客户端与Oracle实例之间的通信。
每个服务器进程都有一个自己的PGA。PGA由Oracle为服务器进程分配,专门用于作为当前用户会话的内存区。
这个内存区是非共享的,只有服务器进程本身才能访问它自己的PGA区。而SGA区则是所有服务器进程都能共享,可写的内存区。

Oracle体系结构之内存结构(3)的更多相关文章

  1. Oracle 体系结构二 内存结构

    Oracle实例由共享内存块(SGA)以及大量的后台进程构成. SGA必须包含的数据结构: 数据库缓冲区缓存 日志缓冲区 共享池 可选的数据结构: 大池 JAVA池 流池 其他缓冲区缓存池 用户会话还 ...

  2. Oracle的内存结构

    备注:本图片截图自“炼数成金” Oracle的体系结构分为内存结构.进程,磁盘文件. 内存结构分为SGA, PGA.SGA是系统全局区,是所有的用户共享区,PGA是某个用户的私有区. SGA分为sha ...

  3. Oracle体系结构详解

    对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的.同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专 ...

  4. oracle 体系结构

    oracle 体系结构 数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. 1. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序 ...

  5. 三、oracle 体系结构

    1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracle工作原理: 1).在数据库 ...

  6. oracle 体系结构解析

    三.oracle 体系结构 1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracl ...

  7. 00 - Oracle体系结构课程内容

    1.导论 自己把本书内容分为几个部分, (1)体系结构,(2)并发控制和事务,(3)物理存储, (4)其他. 嗯,拿到一个新的数据库,我们也要从这几个方面去认识它.   2.体系结构 3.Oracle ...

  8. 【转】oracle 体系结构

    前几天面试的时候面试官才问过我Oracle的体系结构,让我在一张白纸上画出来.回头想想当时答得还不错,大部分内容都描述出来了,呵呵,刚才在网上看到一篇讲解ORACLE体系结构的文章,觉得不错,转过来存 ...

  9. 转:oracle 体系结构

    前几天面试的时候面试官才问过我ORACLE的体系结构,让我在一张白纸上画出来.回头想想当时答得还不错,大部分内容都描述出来了,呵呵,刚才在网上看到一篇讲解ORACLE体系结构的文章,觉得不错,转过来存 ...

随机推荐

  1. elasticsearch中head插件中的定制增加用户名密码范例

    在head插件目录下一般 在 elasticsearch目录下的 plugins\head目录 下 在 或 plugins\head\site目录下 有 一个index.html文件.把这个文件用下面 ...

  2. jmeter+maven+jenkins自动化接口测试(下)

    maven+jmeter已经写好了,可以通过maven来执行jmeter的接口测试脚本,怎样实现定时执行测试并发送报告邮件就需要通过jenkins了(jmeter或者testng也可以结合不同的邮件j ...

  3. Struts2 返回 json 格式数据

    最近由于工作原因,没时间更新,那些没能看到的同学,很抱歉了,话不多说,继续写~~ 关于json的返回需要用到一个工具包来将书转换为json格式,在此用到的jar包为: import net.sf.js ...

  4. 二、docker的安装和基本命令

    一.docker的安装 1.安装依赖 # yum install -y yum-utils device-mapper-persistent-data 2.设置yum源 # yum-config-ma ...

  5. 什么是Annotation

    Annotation 被称为注解,在Java开发中是相当常见的,通过注解,我们可以简化代码提高开发效率.例如Override Annotation,这个应该算是在开发过程中使用最多的注解了.注解(An ...

  6. STDIN_FILENO和stdin

    title: STDIN_FILENO和stdin date: 2019/03/15 22:03:22 toc: true --- STDIN_FILENO和stdin https://blog.cs ...

  7. com.fasterxml.jackson工具类

    老版本的Jackson使用的包名为org.codehaus.jackson,而新版本使用的是com.fasterxml.jackson. Jackson主要包含了3个模块: jackson-core ...

  8. Python高级笔记(四) -- 多继承_方法解析顺序表MRO

    1. 多继承以及MRO顺序 1.1 单独调用父类的方法 # -*- encoding=utf-8 -*- class Parent(object): def __init__(self, name): ...

  9. 我的长大app开发教程第一弹:Fragment布局

    在接下来的一段时间里我会发布一个相对连续的Android教程,这个教程会讲述我是如何从零开始开发“我的长大”这个Android应用. 在开始之前,我先来介绍一下“我的长大”:这是一个校园社交app,准 ...

  10. k-means cluster images

    说明 慕课网上例子,使用k-means算法分类图片, 此处调试运行通过, 并添加包管理内容, 使得其他同学容易运行. 例子地址: https://github.com/fanqingsong/clus ...