ORACLE数据库作为世界上一款功能强大的数据库管理软件,功能体系特别庞大。我们有必要对它的每一部分学习了解,然后才从全局的角度进行有效把握。我们会着重从理论基础体系角度再逐步到实战应用。实际上,如果没有掌握基础理论体系,而直接生搬硬套一些维护技术经验,那也只是空中楼阁罢了。而如果你想直接通过一两篇文章学到什么秘籍成为维护或是DB优化高手那也是不现实的。所以这些文适合静下心来真正想了解学习ORALCE体系的读者。方法论掌握好,起码头脑中的思路方向是正确的,至于术也就是水到渠成。

我们通常所说的ORACLE 11g 中g也就是grid,代表网格技术。

Oracle 网格计算技术包括:

• 自动存储管理(ASM)

• RealApplication Cluster (RAC)

•Application Server Cluster

• Enterprise Manager Grid Control

ORACLE内存结构简介

我们所说的广义上的内存是指服务器硬件内存。当数据库部署在服务器上后会分配给它一定的内存空间,内存的管理就交由数据库本身来管理。很多数据库性能问题反应在内存不足上。不足有可能是服务器预分配给oracle的内存本来就少了,或者是内存没有利用好。本文就oracle内存管理机制做一下介绍,起到抛砖引玉。

上图来源于oracle官方文档,此图很好的描述了oracle的内存组件结构。

每个数据库实例有两个关联的内存结构—系统全局区(SGA),程序全局区(PGA)。

系统全局区(SGA):一组共享的内存结构(称为SGA 组件),其中包含一个OracleDB 实例的数据和控制信息。SGA 由所有服务器进程和后台进程共享。SGA 中存储的数据有高速缓存的数据块和共享SQL 区域等;

程序全局区(PGA):包含某个服务器进程或后台进程的数据及控制信息的内存区域。PGA 是Oracle DB 在服务器进程或后台进程启动时创建的非共享内存。服务器进程对PGA 的访问是独占式的。每个服务器进程和后台进程都具有自己的PGA。

就SGA几个关键组件做以说明:

共享池:用于缓存可在用户间共享的各种构造,比如给定SQL 语句的语法分析树和执行计划;

数据库缓冲区高速缓存:从数据库中检索到的数据块是缓存在此,数据块从此内存组件对数据块进行操作,降低了硬盘IO负担,如果用户进程所需的数据在该区域能很找到,我们称之为高速缓存区命中,高的命中率反映出来的效果就是操作反应快,这点很好理解,数据库优化中很有必要考虑这点;

KEEP 缓冲区池:一种专用数据库缓冲区高速缓存,用于长时间在内存中保留数据块。一些频繁使用的数据块可相对长期的保留在此,不至于每次都从硬盘获取,从而优化了数据库的性能;

RECYCLE 缓冲区池:一种专用数据库缓冲区高速缓存,用于从内存中快速回收或删除数据块。相对于KEEP的对立面,很好理解;

nK 缓冲区高速缓存:多种专用数据库缓冲区高速缓存中的一种,用于存放大小不同于默认数据库块大小的数据块。注意默认数据块为8K;

重做日志缓冲区:用于存放有关对数据库所做更改的信息,重做信息在写入磁盘中重做日志文件(即redo文件)前,将缓存在此处。重做日志写入磁盘的频率很高,什么时间什么条件下写都是挺有意思的知识,重做日志文件方面我们计划在后边存储体系章节再讨论学习。

大型池:用于为某些大型进程(例如Oracle 备份和恢复操作)和I/O 服务器进程提供大型内存分配;

看到此你或许就有疑问,oracle是怎么让这些内存结构和谐共处的。在创建DB的时候会生成初始化参数,当然这些参数是可以手动修改的。当然最简单的办法是让oracle自己管理并优化内存结构,因为只有它最懂自己的身体内部。这些知识我们会在后期性能优化章节来介绍的。

今天的知识就到此,希望能给你带来一些帮助。欢迎你留言交流,欢迎关注分享。

---------------END----------------

【取知有道】这里欢迎爱好学习的朋友,着重数据库等IT知识的分享学习。

请敬关注【取知有道】订阅号。微信搜索公众号【取知有道】,添加关注!

或长按此二维码添加关注!

近期即将分享(6月份):

Oracle基础体系结构方面,涉及实例内存结构、进程结构、物理存储结构、逻辑存储体系等基础理论。

 

转载于:https://www.cnblogs.com/hytty/p/5584850.html

ORACLE内存结构简介相关推荐

  1. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

  2. oracle的基本内存结构有,oracle内存结构(一)

    Oracle 内存结构 与Oracle 实例关联的基本内存结构包括: 系统全局区(SGA):由所有服务器进程和后台进程共享 程序全局区(PGA):由每个服务器和后台进程专用,每个进程都有一个PGA. ...

  3. Oracle内存结构:SGA PGA UGA

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

  4. oracle数据库 uga,Oracle内存结构

    当实例启动时,Oracle数据库会分配一块内存区域并启动后台进程.OLAP页池也存放在UGA中.这个池管理着OLAP的数据页,它们与数据块 14.Oracle内存结构 14-1 Oracle内存结构介 ...

  5. Oracle 内存结构

    Oracle内存结构 一.概述 每当数据库启动,系统全局区(SGA)被分配,并启动了Oracle后台进程. 系统全局区用于数据库用户共享数据库信的内存区域, 后台进程和内存缓冲区称为Oracle实例, ...

  6. oracle内存结构(PGA、SGA)

    一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area):由每个服务进程.后台进程专有:每个进程都有一个PGA. ...

  7. [精]Oracle 内存结构详解

    内存结构 现代计算机中,CPU 对内存的访问速度要比从磁盘的速度快千倍,因此 Oracle 对于数据的访问 也尽量都在内存中完成,而不是直接修改硬盘上的数据.内存内容在合适的时候再同步到磁盘. Ora ...

  8. Oracle内存结构详解(三)--管理Oracle Share Pool

    SGA中的共享池由库缓存(Library Cache).字典缓存(Dictionary Cache).用于并行执行消息的缓冲以及控制结构组成. Shared Pool的大小由参数SHARED_POOL ...

  9. oracle数据缓冲区作用,Oracle内存结构(02)--缓冲区

    用户提交一个新SQL语句时,Oracle会分析(parse)该句SQL(硬解析),这个过程将耗费相对较多的时间.分析完毕后,oracle会将该SQL的分析结果给保存在Library Cache中,当数 ...

最新文章

  1. php 去掉img,php如何删除img标签
  2. 如何解决ORA-12547错误!
  3. 面试关于ISO七层模型你应该知道的东西
  4. BZOJ 1920 Luogu P4217 [CTSC2010]产品销售 (模拟费用流、线段树)
  5. 2014腾讯实习生招聘软件开发类附加题
  6. 7-88 二叉搜索树的结构 (30 分)
  7. 永福股份遭宁德时代减持3% 后者产业链投资浮盈已达80亿
  8. arm-linux-gcc 没有那个文件或目录
  9. Golang defer 快速上手
  10. windows 远程连接mongo_MongoDB 在windows服务器安装部署与远程访问配置
  11. 腾达U12千兆无线网卡在Linux下的支持方式(安装过程)
  12. 怎么在云服务器上建网站_怎么在云服务器建网站?阿里云服务器搭建网站教程...
  13. vue各模块功能范围,webpack属性配置
  14. Lab: Exploiting XSS to perform CSRF:利用XSS执行CSRF
  15. 老款Mac装win10黑屏或灰屏
  16. 华为鸿蒙和苹果ios哪个好,华为鸿蒙和安卓、IOS相比有哪些区别?最终还是输给了苹果!...
  17. 应用程序无法正常启动(oxc000007b)
  18. 【论文翻译】Automatic Conversion of Road Networks from OpenDRIVE to Lanelets
  19. 电功率与力功率的学习
  20. python基于PHP旅游网站的设计与开发

热门文章

  1. poj2065 SETI
  2. 如何分配和释放存储空间
  3. 双链表的建立、求长、定位、插入、删除、输出和释放
  4. matlab 图像处理函数(第八章) 图像的增强
  5. 【中文情感分析】SO-PMI算法(HarvestText库的修正以及解析)
  6. 讲解泊松融合文章推荐
  7. mysql having实例_Mysql必读mysql group by having 实例代码
  8. 第五讲 一阶自治ODE
  9. 【前端学习日记】用reveal.js实现制作网页幻灯片
  10. ArcGIS案例学习1_2