1 / 33

Oracle 体系结构组件

Oracle 体系结构组件. 目标. 完成这一课的学习后,您应该能达到下列目标: 概括 Oracle 体系结构及其主要组件 列出在用户连接到 Oracle 例程过程中涉及的结构. 基本组件概览. 例程. 用户进程. SGA. 共享池. 数据库缓冲区 高速缓存. 重做日志 缓冲区. 库 高速缓存. 服务器进程. 数据字典 高速缓存. 大型共享池. Java 池. PGA. PMON. SMON. DBWR. LGWR. CKPT. 其它. 重做日志文件. 数据文件. 控制文件. 参数文件. 归档 日志文件. 口令文件.

lola
Download Presentation

Oracle 体系结构组件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle 体系结构组件

  2. 目标 • 完成这一课的学习后,您应该能达到下列目标: • 概括Oracle 体系结构及其主要组件 • 列出在用户连接到Oracle 例程过程中涉及的结构

  3. 基本组件概览 例程 用户进程 SGA 共享池 数据库缓冲区高速缓存 重做日志缓冲区 库高速缓存 服务器进程 数据字典高速缓存 大型共享池 Java 池 PGA PMON SMON DBWR LGWR CKPT 其它 重做日志文件 数据文件 控制文件 参数文件 归档 日志文件 口令文件 数据库

  4. Oracle 服务器 Oracle 服务器 • Oracle 服务器: • 是一个数据库管理系统,它为信息管理提供了开放、综合和集成的方法 • 包括Oracle 例程和Oracle 数据库

  5. Oracle 例程 • Oracle 例程: • 是一种访问Oracle 数据库的方式 • 始终打开一个,并且只打开一个数据库 • 由内存结构和后台进程结构组成 例程 SGA 共享池 内存结构 数据库缓冲区 高速缓存 重做日志 缓冲区 库高速缓存 数据字典 高速缓存 大型共享池 Java池 后台进程结构 PMON SMON DBWR LGWR CKPT 其它

  6. Oracle 服务器 建立连接和创建会话 • 连接到Oracle 例程包括: • 建立用户连接 • 创建会话 服务器进程 建立的连接 创建的会话 用户进程 数据库用户

  7. Oracle 数据库 • Oracle 数据库: • 是一个被统一处理的数据集合 • 包括三类文件 Oracle 数据库 数据文件 控制文件 重做日志文件 归档的 日志文件 参数文件 口令文件

  8. 物理结构 • 物理结构包括以下三种文件类型: • 控制文件 • 数据文件 • 重做日志文件 标头 控制文件 数据文件 (包括数据 字典) 联机重做日志文件

  9. 内存结构 • Oracle 的内存结构由两个内存区组成,分别是: • 系统全局区 (SGA) :在例程启动时分配,是Oracle 例程的基本组件 • 程序全局区 (PGA) :在服务器进程启动时分配

  10. 系统全局区 • SGA 包括以下几种内存结构: • 共享池 • 数据库缓冲区高速缓存 • 重做日志缓冲区 • 其它结构(例如锁定和栓锁管理以及统计数据) • 在SGA 中还可配置其它两种内存结构: • 大型共享池 • Java 池

  11. 系统全局区 • SGA 是动态的 • 大小由SGA_MAX_SIZE参数指定 • 由SGA 组件以粒组为单位进行分配和跟踪 • 连续的虚拟内存分配 • 粒组大小由估算的SGA_MAX_SIZE总计大小确定

  12. 共享池 • 用于存储: • 最近执行的SQL 语句 • 最近使用的数据定义 • 它包括以下两个与性能相关的关键内存结构: • 库高速缓存 • 数据字典高速缓存 • 其大小由SHARED_POOL_SIZE参数确定 共享池 库高速缓存 ALTER SYSTEM SET SHARED_POOL_SIZE = 64M; 数据字典 高速缓存

  13. 库高速缓存 • 存储有关最近使用的SQL 和PL/SQL 语句的信息 • 启用常用语句共享 • 由 “最近最少使用算法” (LRU) 管理 • 包括以下两个结构: • 共享的SQL 区 • 共享的PL/SQL 区 • 大小由共享池的大小确定

  14. 数据字典高速缓存 • 数据库中最近使用的定义的集合 • 包括与数据库文件、表、索引、列、用户、权限和其它数据库对象相关的信息 • 在语法分析阶段,服务器进程会在数据字典中查找用于解析对象名和验证访问的信息 • 将数据字典信息高速缓存到内存中,可缩短查询和DML的响应时间 • 大小由共享池的大小决定

  15. 数据库缓冲区高速缓存 • 存储已从数据文件中检索到的数据块的副本 • 能够大幅提高获取和更新数据时的性能 • 通过LRU 算法管理 • 主块的大小由DB_BLOCK_SIZE确定 数据库缓冲区高速缓存

  16. 数据库缓冲区高速缓存 • 由独立的子高速缓存组成: • DB_CACHE_SIZE • DB_KEEP_CACHE_SIZE • DB_RECYCLE_CACHE_SIZE • 大小可以进行动态调整 ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

  17. 重做日志缓冲区 • 记录对数据库数据块所做的全部更改 • 主要用于恢复 • 其中记录的更改称作重做条目 • 重做条目包含用于重新构造或重做更改的信息 • 大小由LOG_BUFFER定义 重做日志缓冲区

  18. 大型共享池 • SGA 中的可选内存区 • 分担了共享池的一部分工作 • 用于: • 共享服务器的会话内存(UGA) • I/O 服务器进程 • 备份和恢复操作或RMAN • 并行执行消息缓冲区 • 将PARALLEL_AUTOMATIC_TUNING设置为TRUE • 不使用LRU 列表 • 大小由LARGE_POOL_SIZE确定

  19. Java 池 • 存储Java 命令的服务分析要求 • 在安装并使用Java 时是必需的 • 大小由JAVA_POOL_SIZE参数确定

  20. 程序全局区 • 为连接到Oracle 数据库的每个用户进程保留的内存 • 在创建进程时分配 • 在终止进程时回收 • 仅供一个进程使用 PGA 用户进程 服务器进程

  21. 进程结构 • Oracle 利用了以下几种进程的优势: • 用户进程:在数据库用户请求连接到Oracle 服务器时启动 • 服务器进程:与Oracle 例程相连接,在用户建立会话时启动 • 后台进程:在Oracle 例程启动时启动

  22. 用户进程 • 请求与Oracle 服务器交互的程序 • 必须先建立连接 • 不与Oracle 服务器直接交互 服务器进程 用户进程 建立的连接 数据库用户

  23. Oracle 服务器 服务器进程 • 直接与Oracle 服务器交互的程序 • 执行生成的调用并返回相关结果 • 可以是专用服务器或共享服务器 服务器进程 建立的连接 创建的会话 用户进程 数据库用户

  24. 后台进程 • 维护并加强物理结构与内存结构之间的关系 • 必备的后台进程: • DBWn PMON CKPT • LGWR SMON • 可选的后台进程: • ARCn LMDn RECO • CJQ0 LMON Snnn • Dnnn Pnnn • LCKn QMNn

  25. 数据库写入程序(DBWn) 例程 SGA • 在以下情况下写入: • 出现检查点 • 灰数据缓冲区达到阈值 • 没有空闲缓冲区 • 出现超时 • 执行了RAC ping 请求 • 表空间处于OFFLINE状态 • 表空间处于READ ONLY状态 • 对表执行DROP或TRUNCATE操作 • 对表空间执行BEGIN BACKUP操作 数据库缓冲区高速缓存 DBWn 重做日志文件 数据文件 控制文件 数据库

  26. 日志写入器(LGWR) 例程 SGA • LGWR 在以下情况下写入: • 提交时 • 三分之一填满时 • 有 1 MB 的重做时 • 每隔三秒 • DBWn 写入前 重做日志 缓冲区 DBWn LGWR 数据文件 控制文件 重做日志文件 数据库

  27. 系统监控程序(SMON) 例程 SGA • 职责: • 例程恢复 • 前滚重做日志中的更改 • 打开数据库供用户访问 • 回退未提交的事务处理 • 合并空闲空间 • 回收临时段 SMON 数据文件 控制文件 重做日志文件 数据库

  28. 过程监视器(PMON) 例程 SGA • 例程失败后,通过以下方法进行清理: • 回退事务处理 • 释放锁 • 释放其它资源 • 重新启动已失效的调度程序 PMON PGA 区

  29. 检查点(CKPT) 例程 SGA • 职责包括: • 在检查点发信号给DBWn • 使用检查点信息更新数据文件的标头 • 使用检查点信息更新控制文件 DBWn LGWR CKPT 数据文件 控制文件 重做日志文件 数据库

  30. 归档程序(ARCn) • 可选的后台进程 • 设置ARCHIVELOG模式时自动归档联机重做日志 • 保留数据库的全部更改记录 ARCn 重做日志文件 控制文件 归档的重做日志文件 数据文件

  31. 逻辑结构 • 指示数据库物理空间的使用情况 • 层次结构由表空间、段、区和块组成 表空间 数据文件 段 段 区 块

  32. 处理SQL 语句 • 通过以下进程连接到一个例程: • 用户进程 • 服务器进程 • 所用的Oracle 服务器组件取决于SQL 语句的类型: • 查询语句返回行 • DML 语句记录更改 • 提交操作确保事务处理的恢复 • 有些Oracle 服务器组件不参与SQL 语句的处理

  33. 小结 • 在这一课中,您应该能够掌握: • 解释数据库文件:数据文件、控制文件和联机重做日志 • 解释SGA 内存结构:数据库缓冲区高速缓存、共享池和重做日志缓冲区 • 解释主要的后台进程:DBWn、LGWR、CKPT、PMON、SMON • 解释后台进程ARCn 的用法 • 列出可选后台进程和条件后台进程 • 解释逻辑层次结构

More Related