系统全局区又称SGA (System Global Area)是Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
组成
SGA主要由数据高速缓冲区(Database Buffer Cache)、共享池(Shared Pool)、重做日志缓冲区(Redo Log Cache)、大型池(Largr Pool)、Java池(Java Pool)、流池(Streams Pool)和其他结构(如固定SGA、锁管理等)组成
编辑本段SGA几个很重要的特性
1、SGA的构成——数据和控制信息,我们下面会详细介绍; 2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和enquence控制); 3、一个SGA只服务于一个实例,也就是说,当一台机器上有多个实例运行时,每个实例都有一个自己的SGA尽管SGA来自于OS的共享内存区,但实例之间不能相互访问对方的SGA区。
编辑本段SGA主要包括:
1.数据库高速缓存(the database buffer cache), 2.重演日志缓存(the redo log buffer) 3.共享池(the shared pool) 4.数据字典缓存(the data dictionary cache)以及其它各方面的信息。 1.数据高速缓冲区(Data Buffer Cache) 在数据高速缓冲区中存放着Oracle系统最近使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用户访问的数据。如果用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。数据高速缓冲区包括三个类型的区:1) 脏的区(Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。 2) 自由区(Free Buffers):没有包含任何数据并可以再写入的区,Oracle可以从数据文件读数据块该区。 3) 保留区(Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。 2.Redo Log Buffer Cache缓存对于数据块的所有修改。 主要用于恢复其中的每一项修改记录都被称为redo 条目。利用Redo条目的信息可以重做修改。 3. Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义。 它主要由两个内存结构构成:Library cache和Data dictionary cache 修改共享池的大小:ALTER SYSTEM SET SHARED_POOL_SIZE = 64M; Libray Cache缓存最近被执行的SQL和PL/SQL的相关信息。实现常用语句的共享,使用LRU算法进行管理,由以下两个结构构成:Shared SQL area、Shared PL/SQL area、Data Dictionary Cache、Data dictionary cache缓存最近被使用的数据库定义。它包括关于数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息。在语法分析阶段,Server Process访问数据字典中的信息以解析对象名和对存取操作进行验证。数据字典信息缓存在内存中有助于缩短响应时间。
分享到:
相关推荐
### ORACLE葵花宝典:PGA与SGA详解及优化策略 #### 一、PGA与SGA的区别 在深入探讨ORACLE的PGA(Program Global Area)和SGA(System Global Area)之前,我们首先需要理解这两者的基本概念以及它们各自在Oracle数据库...
### Oracle SGA 设置详解 #### 一、Oracle SGA 概述 在Oracle数据库系统中,SGA(System Global Area)是所有用户进程共享的一块内存区域,它为Oracle实例提供了一个公共的数据和控制信息存储区。SGA的合理配置...
oracle11g10g安装备份基础维护
#### 共享池详解 **共享池**是SGA中非常重要的一部分,它负责存储SQL语句的解析结果、PL/SQL代码以及其他共享的数据字典缓存。共享池的设计目的是为了减少对数据字典的频繁访问,从而提高系统的整体性能。共享池的...
### Oracle SGA调优知识点详解 #### 一、SGA简介 SGA(System Global Area)是Oracle数据库的一个重要组成部分,它是一个共享内存区域,由多个数据库进程共享,用于存储数据库信息并加速对这些信息的访问。SGA主要...
SGA中的可变SGA(Variable SGA)如Shared Pool、Java Pool、Large Pool和Streams Pool的大小可由系统参数调整。DBWn进程,即数据库块写入进程,负责将脏块从Buffer Cache写入磁盘,释放空间。DBWn的数量可以根据系统...
#### 四、技术参数详解 1. **达林顿配置**:采用达林顿结构,具有1微米发射极,提供高截止频率(Ft)和优秀的热性能。 2. **异质结优势**:通过增强击穿电压并减少结间漏电流,提高了器件的整体性能。 3. **非线性...
### Oracle体系结构详解 Oracle体系结构是理解Oracle数据库工作原理的关键。本文将深入解析Oracle的基本组成、实例(Instance)结构以及内存结构等核心概念。 #### 一、Oracle基本组成 Oracle的基本组成部分包括...
2. **SGA源程序详解**: - `sga.c` 文件中应该包含了上述遗传算法的基本流程实现。 - 初始化部分可能包括创建初始种群、设定参数(如种群大小、迭代次数、交叉概率、变异概率等)。 - 适应度函数的实现是关键,它...
在Oracle RAC核心技术详解中,我们将深入探讨RAC的工作原理、架构、配置以及管理策略。 首先,RAC的核心在于Clusterware和Grid Infrastructure,它们为整个集群提供基础服务,包括节点间的通信、资源管理和故障恢复...
##### SGA的组成部分详解 - **数据缓冲**:这是SGA中最占用内存的部分,主要用于缓存数据库的数据块,提高数据读取效率。 - **重做日志缓冲**:该区域保存了事务提交前后的变化信息,这些信息随后会被写入到重做...
Oracle 内存架构详解 Oracle 数据库的内存架构是 Oracle 性能的关键要素之一。内存配置的合理性直接影响着 Oracle 的性能,进而影响到 CPU 和 IO 的消耗。因此,了解 Oracle 的内存架构及其组成部分是非常重要的。 ...
首先,Oracle数据库的基础部分包括数据模型理论,如关系型数据库的基本概念,以及Oracle的体系架构,包括服务器进程、后台进程、内存结构(如SGA和PGA)和磁盘结构(如数据文件、控制文件、重做日志文件等)。...
### Oracle SGA 调整知识点详解 #### 一、SGA与PGA基本概念 - **SGA (System Global Area)**:系统全局区是Oracle实例启动时分配的共享内存区域,用于存储数据和控制信息。它包括多个部分,如共享池、数据缓冲区、...
Oracle实例是一个运行中的数据库系统,它由系统全局区(SGA)和一组后台进程组成。而Oracle数据库则是一组物理文件,这些文件与Oracle实例共同工作,存储用户数据。 在Oracle体系结构中,SGA区是实例的一个关键内存...
标题:“RealView MDK 配置向导详解” 描述:“有关于mdk的初学者的配置详解,来源于无所不能的网络” 本篇文章旨在深入解析RealView MDK配置向导的使用方法,尤其针对初学者提供了详尽的指导,旨在帮助读者理解和...
Oracle 12c数据库体系结构图文详解手册 Oracle 12c数据库体系结构图文详解手册是 Oracle 12c数据库管理系统的核心组件之一,该手册详细介绍了 Oracle 12c数据库的体系结构、实例、数据库、内存结构、后台进程、...
8. **数据库监控**:掌握使用V$视图、动态性能视图来监控数据库状态,了解SGA(系统全局区)和PGA(程序全局区)的工作原理。 9. **高可用性与灾难恢复**:学习RAC(实时应用集群)、Data Guard、Flashback ...