`
wh870712
  • 浏览: 39351 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论
阅读更多
系统全局区又称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 体系结构详解

    oracle体系结构图文详解。 oracle实例=SGA区+后台进程 oracle服务器=oracle实例+oracle数据库 数据库实例启动实质上即为:分配SGA区,启动后台进程

    对于oracle11g 各种进程进行详解,进程与内存结构的关系,SGA的讲解

    数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),构成了Oracle的内存结构,然后启动若干个常驻内存的操作系统进程,即组成了Oracle的进程结构,内存区域和后台进程合称为一个Oracle实例。

    RealView MDK 配置向导详解

    有关于mdk的初学者的配置详解,来源于无所不能的网络

    oracle学习笔记

    oracle学习笔记 sga pga详解

    Oracle语句优化30个规则详解

    这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享。 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE...

    Oracle数据库中的基本建库操作详解

    图形建库: 1. 确定是否存在要建的库  查看 $ORACLE_BASE/admin/和$ORACLE_BASE/oradata ...PGA系统内存,数据为主)|Sizing中的块大小只能在初始的配置中修改,SGA每个用户对应一个进程,PGA一个连接池供用

    RAC概述及环境规划

    rac部署详解,配置系统环境,实例=SGA+PGA 单点故障问题.

    遗传算法MATLAB代码

    SGA遗传算法在matlab软件中的应用详解,包含交叉、变异、选择等代码

    详解Linux系统中Oracle数据库程序的启动和关闭方式

    读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、 startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档、 数据库介质恢复、 使数据文件联机或脱机, ...

    Oracle优化53解

    Oracle语句优化53个规则详解(1) Oracle sql 性能优化调整 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以...

Global site tag (gtag.js) - Google Analytics