Oracle体系结构之内存结构(3)
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)的更多相关文章
- Oracle 体系结构二 内存结构
Oracle实例由共享内存块(SGA)以及大量的后台进程构成. SGA必须包含的数据结构: 数据库缓冲区缓存 日志缓冲区 共享池 可选的数据结构: 大池 JAVA池 流池 其他缓冲区缓存池 用户会话还 ...
- Oracle的内存结构
备注:本图片截图自“炼数成金” Oracle的体系结构分为内存结构.进程,磁盘文件. 内存结构分为SGA, PGA.SGA是系统全局区,是所有的用户共享区,PGA是某个用户的私有区. SGA分为sha ...
- Oracle体系结构详解
对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的.同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专 ...
- oracle 体系结构
oracle 体系结构 数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. 1. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序 ...
- 三、oracle 体系结构
1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracle工作原理: 1).在数据库 ...
- oracle 体系结构解析
三.oracle 体系结构 1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracl ...
- 00 - Oracle体系结构课程内容
1.导论 自己把本书内容分为几个部分, (1)体系结构,(2)并发控制和事务,(3)物理存储, (4)其他. 嗯,拿到一个新的数据库,我们也要从这几个方面去认识它. 2.体系结构 3.Oracle ...
- 【转】oracle 体系结构
前几天面试的时候面试官才问过我Oracle的体系结构,让我在一张白纸上画出来.回头想想当时答得还不错,大部分内容都描述出来了,呵呵,刚才在网上看到一篇讲解ORACLE体系结构的文章,觉得不错,转过来存 ...
- 转:oracle 体系结构
前几天面试的时候面试官才问过我ORACLE的体系结构,让我在一张白纸上画出来.回头想想当时答得还不错,大部分内容都描述出来了,呵呵,刚才在网上看到一篇讲解ORACLE体系结构的文章,觉得不错,转过来存 ...
随机推荐
- js中获取时间new date()的用法
获取时间: var myDate = new Date();//获取系统当前时间 获取特定格式的时间: myDate.getYear(); //获取当前年份(2位) myDate.getFullYea ...
- 3754. 【NOI2014】魔法森林(LCT)
Problem 给定一个\(n\)个结点,\(m\)条边的的无向图,每条边有两个权值\(ai,bi\). 现在从\(1\)出发,要到达\(n\),每次只能沿着\(ai\le A\)且\(bi\le B ...
- go语言基础知识笔记(二)之数组和切片
数组和切片知识用的也是比较多,的给我们工作带来很大的便利 (一) 数组 定义:在golang中数组的长度是不可变,数组存放要求是同一种数据类型 //golang中数组定义的四种方法1.先声明,后赋值 ...
- jQuery使用():Callbacks回调函数列表之异步编程(含源码分析)
Callbacks的基本功能回调函数缓存与调用 特定需求模式的Callbacks Callbacks的模拟源码 一.Callbacks的基本功能回调函数缓存与调用 Callbacks即回调函数集合,在 ...
- 部署kubernetes-dashboard
1.生成访问证书 | awk '{print $2}' | base64 -d >> kubecfg.crt | awk '{print $2}' | base64 -d >> ...
- [译]Ocelot - Quality of Service
原文 可以针对每个ReRoute设置对下游服务的熔断器circuit breaker.这部分是通过Polly实现的. 将下面的配置添加到一个ReRoute下面去. "QoSOptions&q ...
- D. Vanya and Treasure Codeforces Round #355 (Div. 2)
http://codeforces.com/contest/677/problem/D 建颗新树,节点元素包含r.c.dis,第i层包含拥有编号为i的钥匙的所有节点.用i-1层更新i层,逐层更新到底层 ...
- MDK调试无法进入main()函数
今天在用MDK调试stm32时出现了无法进入main函数,进入startup文件的情况. 在网上查找资料时发现,MDK调试设置断点最多只能设置5个.在减少断点后,调试果然能够正常进入main()函数了 ...
- 【codeforces 983E】NN country
Description In the NN country, there are n cities, numbered from 1 to n, and n−1 roads, connecting t ...
- PHP中的数组
一.数组的基础 php数组的分类 按照下标的不同,php分为关联数组与索引数组: 索引数组:下标从零依次增长(以前那种) 关联数组:下标为字符串格式,每个下标字符串与数组的值一一关联对应(有点儿像对象 ...