Oracle DB 服务器体系机构

Oracle DB 内存结构
一个SGA 若干个PGA

共享池
包含:
- 库高速缓存
- 共享SQL区域
- 数据字典高速缓存 (类似于图书馆)
- 控制结构

数据库缓冲区高速缓存(DB Buffer)
- 属于SGA
- 存放从数据文件读取的数据数据块的副本
- 由所有并行用户共享

重做日志缓冲区
- 是SGA中的循环缓冲区
- 存放有关对数据库所做更改的信息
- 包含重做条目,这些条目中包含对DML和DDL等操作所做的更改进行重做的相关信息。

大型池
为以下对象提供大型内存分配:
- 共享服务器和Oracle XA 接口的会话内存
- I/O服务器进程
- DB备份和还原操作

程序全局区(PGA)

进程体系机构
- 是连接到Oracle DB 的应用程序或工具
- 服务器进程: 连接到Oracle实例,在用户建立会话时启动
- 后台进程: 在启动Oracle实例时启动
- 网络监听程序
- Grid infrastructure 守护程序

进程结构
重点关注

数据量写进程(DBWn)
将数据库缓冲区高速缓存中经过修改的缓冲区(灰数据缓冲区)
写入磁盘有两种方式:

日志写进程(LGWR)
将重做日志缓冲区写入磁盘上的重做日志文件中
在以下情况下执行写操作:
- 用户进程提交事务处理时
- 重做日志缓冲区的三分之一已满时
- DBWn进程将经过修改的缓冲区写入磁盘之前
- 每隔3秒

检查点进程(CKPT)

系统监视进程(SMON)

进程监视器进程(PMON)
- 清除数据库缓冲区高速缓存
- 释放该用户进程使用的资源
- 监视会话,查看是否发生空闲会话超时
- 在监听程序中动态注册数据库服务

归档进程(ARCn)
- 在发生日志切换之后,将重做日志文件复制到指定的存储设备
- 可以收集事务处理重做数据,并将该数据传输到备用目标位置。

数据库存储体系结构
- 控制文件
- 数据文件
- 联机重做日志文件
- 参数文件
- 备份文件
- 归档重做日志文件
- 口令文件
- 预警日志和跟踪文件

逻辑和物理数据库结构

段、区和块
- 段存在于表空间中
- 段是区的集合
- 区是数据块的集合
- 数据块映射到磁盘块

表空间和数据文件

SYSTEM 和SYSAUX表空间
- SYSTEM和SYSAUX表空间是在创建数据库时创建的表空间。这些表空间必须联机。
- SYSTEM表空间用于核心功能
- 辅助的SYSAUX表空间用于附加的数据库组件
- 不建议使用SYSTEM和SYSAUX表空间来存储应用程序的数据。

自动存储管理
- 是可移植的高性能集群文件系统
- 管理Oracle DB 文件
- 通过ASM集群文件系统(ACFS)管理应用程序文件
- 建立数据镜像以防范故障
- 解决存储管理挑战

内存、进程和存储
