Oracle体系结构及备份(五) sga

一 什么是SGA

SGA是一组为系统分配的共享的内存结构,可以包含一个数据库实例的数据或控制信 息。如果多个用户连接到同一个数据库实例,在实例的SGA中,数据可以被多个用户共享。当数据库实例启动 时,SGA的内存被自动分配;当数据库实例关闭时,SGA内存被回收。 SGA是占用内存最大的一个区域,同时 也是影响数据库性能的重要因素。

SGA区是可读写的。所有登录到实例的用户都能读取SGA中的信息,而在oracle做执行操作时,服务进程会 将修改的信息写入SGA区。

SGA主要包括了以下的数据结构:

数据缓冲(Buffer Cache)

重做日志缓冲(Redo Log Buffer)

共享池(Shared Pool)

Java池(Java Pool)

大池(Large Pool)

流池(Streams Pool --- 10g以后才有)

数据字典缓存(Data Dictionary Cache)

其他信息(如数据库和实例的状态信息)

The SGA is the Oracle structure that is located in shared memory. It contains static data structures, locks, and data buffers. Sufficient shared memory must be available to each Oracle process to address the entire SGA.

The maximum size of a single shared memory segment is specified by the shmmax kernel parameter.

The following table shows the recommended value for this parameter, depending on the platform:

时间: 2024-09-14 21:24:53

Oracle体系结构及备份(五) sga的相关文章

Oracle体系结构及备份(一) 了解体系结构

Oracle体系结构及备份开篇,了解体系结构.

Oracle体系结构及备份(十三) bg-pmon

一 什么是PMON进程 The process monitor performs processrecovery when a user process fails. PMON is responsible for cleaning up thecache and freeing resources that the process was using. PMON also checks on thedispatcher processes (described later in this ta

Oracle体系结构及备份(九) sga-large_pool

一 什么是Large Pool 大池是系统全局区中可选的一个内存区.主要在下面几种情况中使用:共享 服务器的全局用户区(UGA).并行进程.使用RMAN作备份恢复.大小由参数LARGE_POOL_SIZE决定,也可以 动态改变大小. The database administrator can configure an optional memory area called the large pool to provide large memory allocations for: Sessi

Oracle体系结构及备份(十一) bcakground-process

一 什么是后台进程 Oracle后台进程包括数据写进程(DatabaseWriter,DBWR).日志写进程(Log Writer,LGWR).系统监控(System Monitor,SMON).进程监控(Process Monitor,PMON).检查点进程 (Checkpoint Process,CKPT).归档进程.服务进程.用户进程. 数据写进程:负责将更改的数据从 数据库缓冲区高速缓存写入数据文件 日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件 系统监控:检查数据库的一致性如

Oracle体系结构及备份(十) sga-others_pool

一 其他池(Java池.流池) Java池,也是系统全局区中一个可选内存区,用于Java程序的解释和 执行,大小由参数JAVA_POOL_SIZE决定,也可以动态调整.如果granule是4M,Java池默认是24M:如果 granule是16M,默认大小是32M.如果在数据库创建时选择了安装JVM组件,那么这个池必须配置. Java Pool Java pool memoryis used in server memory for all session-specific Java code

Oracle体系结构及备份(八) sga-log_buffer

一 什么是Log Buffer Log Buffer,重做日志缓冲区,暂存数据库中所有数据块的改变.内存管理 方法是FIFO.重做日志被用于提供数据恢复功能,暂存重做日志的目的是为了提高语句的执行速度.大小由 参数LOG_BUFFER决定,但这个内存不能动态调整大小. log buffer space This event occurs when server processes are waiting for free space in the log buffer, because all

Oracle体系结构及备份(七) sga-data_buffer

一 什么是Data Buffer Data Buffer,数据高速缓冲区,暂存从数据文件中获得的数据块的数据映 像,同样遵循LRU算法管理内存.当再次需要操作这些数据可以从内存中直接获取和更新,语句执行效率能够 大幅度的提高.初始化参数DB_BLOCK_SIZE决定了数据块的大小,这也是数据库I/O的最小单位. 数据 高速缓存区由多个独立的子缓存池构成,可以独立的设置大小: -Default池: DB_CACHE_SIZE -Keep池:DB_KEEP_CACHE_SIZE -Recycle池:

Oracle体系结构及备份(六) sga-shared_pool

一 什么是shared_pool The shared pool portion of the SGA contains the library cache, the dictionary cache, the result cache, buffers for parallel execution messages, and control structures. This section includes the following topics: Library Cache The lib

Oracle体系结构及备份(四) server-process

一 什么是服务器进程 除了Oracle的后台进程外,还有一些进程是代表用户的,称为服务器进程. 这些服务器进程负责按照用户的要求检索数据,并将结果返回给用户.此外,还负责为用户修改缓冲区高数 缓存中的数据. 当用户连接到Oracle数据库服务器时,会创建一个代表用户的服务器进程,有时也称 为影子进程(shadow process).服务器进程与用户通信,并通过与Oracle交互来完成用户请求. 例如 :用户请求了一段不在SGA中的数据,服务器进程负责把数据块从数据文件中读入SGA.用户进程与服务