`

Oracle内存体系结构

 
阅读更多

Oracle 中的基本内存结构包括

  • 系统全局区(System Global Area,SGA),此区域由所有的服务进程(server process)和后台进程(background process)共享。
  • 程序全局区(Program Global Areas,PGA),此区域是每个服务进程和后台进程所私有的;即每个进程都有一个 属于自己的 PGA。

图1 中间为 SGA。其中包括 Java 池,数据缓存区,重做日志缓冲区,共享池,数据流池,及大型池。在 SGA 之外,存在服务进程,后台进程,及 Oracle 进程,她们能够和 SGA 交换信息。同时每个进程还需与其 PGA 通信。

 

SGA 中包含了多个内存组件(component),每一组件都可以被看作为一个内存池,用于满足特定类型的内存分配请求。举例来说,内存组件中包括共享池(shared pool)(为 SQL 及 PL/SQL 的执行分配内存),Java 池(java pool)(为 Java 对象及 Java 程序的执行分配内存),及数据缓存区(buffer cache)(用于缓存磁盘上的数据块)等。所有 SGA 组件都是以预设的粒度(granule)为单位进行内存的分配与回收的。Oracle 数据库通过记录每个 SGA 组件使用的粒度单位的数量来掌握整个 SGA 的内存使用情况。

 

手动与自动SGA管理

  • 手动管理SGA,DBA 需要手工地设置 SGA 各个组件的容量,可能根据应用的改变,需要重新分配各个组件的大小
  • 自动管理SGA,无需向系统中添加额外的资源,也无需增加手工维护的工作量,就能提高系统的负载能力。比如,在 SGA 手工管理模式下,一个已编译的 SQL 语句可能会因为共享池空间不足而被频繁的移出共享池,导致系统性能降低。而使用了 SGA 自动管理后,Oracle 内部的调优算法将监控系统的负载情况,如果发现增大共享池有利于减少重复的 SQL 解析(parse)操作,就会对相关的 SGA 组件进行调整,为共享池分配更多的内存。

数据缓冲区的管理方式

——通过两个列表管理:

  1. 待写列表(write list)。待写列表中记录的是脏缓冲区(dirty buffer),即其中数据已被修改且尚未写入磁盘的缓冲区。
  2. 最近最少使用列表(least recently used(LRU)list)。最近最少使用列表中记录的是可用缓冲区(free buffer),锁定缓冲区(pinned buffer),及还没被移入待写列表的脏缓冲区。可用缓冲区内的数据无需继续保留,可以用于存储新数据。而锁定缓冲区是正在被访问的缓冲区。

重做日志缓冲区概念

  • 重做日志缓冲区(redo log buffer)是 SGA 内一块被循环使用的缓冲区,用于记录数据库内的数据变化信息。这些信息以重做条目(redo entry)的形式进行存储。Oracle 利用重做条目内的信息就可以重做由 INSERT,UPDATE,DELETE,CREATE,ALTER,及 DROP 等操作对数据库进行的修改。重做条目可以被用于进行数据库恢复(database recovery)。

 

1
4
分享到:
评论

相关推荐

    oracle数据库体系结构之一【内存结构】.docx

    oracle数据库体系结构之一【内存结构】.docx

    Oracle体系结构概述

    Oracle体系结构概述,包括结构图. 物理结构 逻辑结构 内存结构 数据库实例与进程 数据字典

    深入oracle体系结构

    深入地分析Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库(database)和实例(instance)的底层进程。讨论锁定、并发控制、事务、redo和undo,分析数据库这的物理结构,如表、索引和数据类型,并...

    培训讲义:Oracle 数据库体系结构

     ORACLE数据库体系结构决定了oracle如何使用网络、磁盘和内存。包括实例(instance),文件(file)和进程(process不包括后台进程)三部分。 实例:每一个运行的ORACLE数据库与一个ORACLE实例(INSTANCE)相联系。...

    Oracle 9i 10g编程艺术深入体系结构 中文版

    书中深入地分析了oracle数据库体系结构,包括文件、内存结构以及构成oracle数据库和实例的底层进程,然后讨论了一些重要的数据库主题,如锁定、并发控制、事务、重做和撤销,还解释了这些内容的重要性。最后,分析了...

    Oracle11g体系结构深入剖析和运维管理(三)

    Oracle 11g体系结构深入剖析和运维管理(三)资源目录:【】19_buffer状态深入剖析【】20_使用各种SQL来熟知buffercache使用情况【】21_Oracle日志原理剖析【】22_Oracle日志核心意义_快速提交_写缓存【】23_logbuffer...

    ORACLE数据库体系结构讲解

    介绍ORACLE数据库管理系统的基本轮廓和程序模块结构、实例概念和组织、进程结构和功能、内存结构和用途,数据字典结构和使用、进程配置和管理、运行模式、程序接口、事务管理。

    【试读】Oracle编程艺术:深入理解数据库体系结构(第3版)

    书中深入分析了Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库和实例的底层进程,利用具体示例讨论了一些重要的数据库主题,同时分析了数据库中的物理结构,如表、索引和数据类型,并介绍采用哪些...

    数据库内存分析和数据库的体系结构详解

    Oracle的体系结构和内存分析 Oracle10个的体系结构和内存分析

    oracle体系结构.doc

    描述oracle体系结构的经典教程,你可以有如下收获 1、 理解ORACLE 实例的组成 2、 理解ORACLE 数据库的组成 3、 理解ORACLE内存结构的组成 4、 理解后台进程的作用与分工 5、 理解数据库的物理文件与对应的逻辑结构 ...

    oracle体系结构

    该资源包括一个时长为1小时13分的视频教程,两个PPT,一个word文件,讲解oracle的体系结构(Oracle服务器体系结构,Oracle 实例 ,Oracle内存结构 ,Oracle进程结构 ,Oracle 数据库逻辑存储结构 ,Oracle 数据库...

    Oracle 9i 10g编程艺术:深入数据库体系结构

    我会深入地分析Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库(database)和实例(instance)的底层进程。然后讨论一些重要的数据库主题,如锁定、并发控制、事务、redo和undo,还会解释为什么了解...

    Oracle 编程艺术深入数据库体系结构(第2版)

    Oracle 编程艺术深入数据库体系结构(第2版)涵盖了所有重要的oracle 体系结构特性,包括文件、内存结构和进程,锁和闩,事务、并发和多版本,表和索引,数据类型,分区和并行,以及数据加密等,并利用具体的例子来...

    Oracle编程艺术:深入理解数据库体系结构 第二版

    本书是一本关于Oracle数据库体系结构的权威图书,涵盖了所有重要的Oracle体系结构特性,包括文件、内存结构和进程、锁和闩、事务、并发和多版本、表和索引、数据类型、分区和并行,以及数据加载和卸载,并利用具体的...

    Oracle Database 9i 10g 11g编程艺术 深入数据库体系结构 第2版

    本书是一本关于Oracle Database 9i、10g 和11g 数据库体系结构的权威图书,涵盖了所有重要的Oracle 体系结构特性,包括文件、内存结构和进程,锁和闩,事务、并发和多版本,表和索引,数据类型,分区和并行,以及...

    Oracle 9i&10g编程艺术:深入数据库体系结构(全本)含脚本

    1.3.1 了解Oracle体系结构 8 1.3.2 理解并发控制 14 1.3.3 多版本 19 1.3.4 数据库独立性? 25 1.3.5 “怎么能让应用运行得更快?” 41 1.3.6 DBA与开发人员的关系 45 1.4 小结 46 第2章 体系结构概述 47 2.1...

    ORACLE内存全面分析(整理版)

    共分为12小结,让你深入的了解oracle内存结构

    oracle 体系结构.doc

    在本章里你可以了解以下内容 1、 理解ORACLE 实例的组成 2、 理解ORACLE 数据库的...3、 理解ORACLE内存结构的组成 4、 理解后台进程的作用与分工 5、 理解数据库的物理文件与对应的逻辑结构 6、 理解ORACLE的整体构架

    Oracle Database 9i 10g 11g编程艺术 深入数据库体系结构

    本书是一本关于Oracle Database 9i、10g 和11g 数据库体系结构的权威图书,涵盖了所有重要的Oracle 体系结构特性,包括文件、内存结构和进程,锁和闩,事务、并发和多版本,表和索引,数据类型,分区和并行,以及...

    Oracle_Database_9i10g11g编程艺术深入数据库体系结构(第二版)PDF及涉及源代码

    喜欢做无偿分享,但平台现在要求最低资源分1...书中深入分析了Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库和实例的底层进程,利用具体示例讨论了一些重要的数据库主题,如锁定、并发控制、事务等。

Global site tag (gtag.js) - Google Analytics