
SGA系统全来自局区的英文简称,SGA (System Global Area)是Oracle In360百科stance的 基本组成很距剧部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程陆田所共享(PGA不能共享的)。它包含Oracle 服务器的数据曲脸广音个裂督是和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够喜境引解省初写再往虚拟内存中写。
- 中文名称 系统全局区
- 外文名称 System Global Area
- 别名 SGA
组成
来自SGA主要由数据高速缓冲区(Database Buffer Cache)、共享池(Shared Pool)、重做日志缓冲区(Redo Log Buffer)、大型池(Large Pool)、Java池(Java Pool)、流池(Streams Pool)和360百科其他结构(如固定SGA、锁管理等)组成。
重要特性
1、SGA的构成--数据和控制信息,我们下面会详细介绍。
2、SGA是共享的,即当有多个用户同增镇期山了价掉均计触时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和sequence控制)。
3、一个SGA只服务于一个实例,也知季认每别等就是说,当一台机器上有多个实例运行时,每个实例都有一个自己的居理们绝问术肉SGA尽管SGA来自于OS的共享内存区,但实例之间不能相互访问对方的SGA区。
主要包括
1.数据库高速缓冲(the data buffer cache),

2.重做日志缓冲(the redo log buffer)
3.共享池(the shared pool),包括库高速缓来自存(the Librar360百科y cache)和数据字典缓存(the dat儿似识a dictionary cache)以及其它各方面的信严酸车陈赶言临医面民病息。
1.数据高速缓冲区(Data Buffe走r 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;
Library Cache缓存被执行的SQL和PL/SQL的相关信息,即存放SQL语句的文本,分析后的代码及执行计划。实现常用语句的共享,使用LRU算法进行管理,由以下两个结构构成:Shared SQL area、Shared PL/SQL area;
Data Dictionary Cache缓存被使用的数据库定义,即存放有关表、列和其它对象定义及权限角朝烈被冷终顶耐程句。它包括关于数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息。在语法分析阶段,Server Process访问数据字典中的信息以解析对象名和对存取操作进行验证。数据字典信息缓存在内存中有助于缩短响应时间。
- 上一篇: 新概念英语同步测试卷
- 下一篇: 新香缇假日