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. [GXOI/GZOI2019]旧词(树上差分+树剖)

    前置芝士:[LNOI2014]LCA 要是这题放HNOI就好了 原题:\(\sum_{l≤i≤r}dep[LCA(i,z)]\) 这题:\(\sum_{i≤r}dep[LCA(i,z)]^k\) 对于 ...

  2. JS学习笔记Day17

    一. 创建对象的方法 (一)在了解原型链之前,首先先了解一下创建对象的几种方式,介绍以下三种. 代码: <script type="text/javascript"> ...

  3. win10 右下角显示秒

    点击Contana搜索框,输入“regedit”打开注册表编辑器: 查找:HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Exp ...

  4. django环境部署 crm和路飞学城

    环境依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-de ...

  5. 细说java系列之HashMap原理

    目录 类图 源码解读 总结 类图 在正式分析HashMap实现原理之前,先来看看其类图. 源码解读 下面集合HashMap的put(K key, V value)方法探究其实现原理. // 在Hash ...

  6. 【知乎Live】狼叔:如何正确的学习Node.js

    文章链接 https://i5ting.github.io/How-to-learn-node-correctly/#1 或在 https://github.com/i5ting/How-to-lea ...

  7. C语言strcpy,strncpy和strlcpy讲解

    前言 C风格的字符串处理函数有很多,如strcpy().strcat()等等. strcpy与strcat char* strcpy (char* dest, const char* src); ch ...

  8. 第30月第13天 supportedInterfaceOrientationsForWindow旋转

    1. 对于做视频横屏播放的情况下:做旋转有3种方法. 第一种:就是网上说的用旋转矩阵方法CGAffineTransformMakeRotation来做,直接旋转某个view,之后setFrame,至于 ...

  9. git下载/上传文件提示:git did not exit cleanly

    问题:git操作下载/上传文件,提示信息如下 TortoiseGit-git did not exit cleanly (exit code 1) TortoiseGit-git did not ex ...

  10. will not be managed by Spring/ [managed: 15; max: 15]

    检查事务配置 检查 mybatis 配置文件扫描路径是否正确 <!-- 自动扫描 --> <context:component-scan base-package="com ...