系统全局区(SGA)由一组内存结构组成,它是所有用户进程共享的一块内存区域。当启动例程时,Oracle 会自动分配SGA;当关闭例程时,Oracle 会自动释放SGA 所占用的内存空间。
SGA 主要包括 共享池(Shared Pool)、数据高速缓存(Database Buffer Cache)、重做日志缓冲区(Redo Log Buffer)三个部分,别外SGA 还包括大缓冲池(Large Pool)。
- 共享池:用于存放最近执行的SQL 语句和数据字典信息,其尺寸由初始化参数SHARED_POOL_SIZE 定义。
- 数据高速缓存:用于存放最近访问的数据块信息。
- 重做日志缓冲区:用于记载例程变化。
- 大缓冲区:用于为大内存操作提供相对独立的内空间。