课程简介
本课程将为学员介绍Oracle数据库的体系结构、特性以及性能优化等相关知识。让学员全面系统的掌握Oracle关系型数据库。本课程主要针对数据库的研发人员,数据库构师,数据库运维人员而设置。全面介绍传统的关系数据库Oracle的体系架构、原理实现以及开发部署。本课程主要包含以下方面内容:
Oracle的体系架构
Oracle性能的诊断和优化
目标收益
掌握传统的关系数据库Oracle的体系架构,为进一步学习Oracle的优化奠定基础。
学会诊断Oracle SQL的性能问题,并掌握Oracle性能优化工具的使用
掌握Oracle数据模型的使用和优化:索引、分区
掌握利用Oracle的三大性能报告(AWR、ADDM、ASH)进行数据性能的诊断优化
培训对象
数据库研发人员,数据库架构师,数据库运维人员
课程大纲
|
第一天:Oracle数据库的体系架构 Oracle体系架构基础 |
Oracle的客户端组件 Oracle的服务器端组件 数据库跟实例的关系 |
| 深入Oracle的体系架构 |
存储结构 物理存储结构 数据文件 联机重做日志 控制文件 其他文件 逻辑存储结构 数据库 表空间 段、区、块 什么是Oracle的坏块 内存结构 SGA的组成和各个组成部分的作用 PGA的组成和各个组成部分的作用 SGA和PGA的优化基础 自动内存管理与自动共享内存管理 进程结构 服务器端进程 客户端进程 Oracle数据库的Open打开 |
| Oracle的索引 |
Oracle索引概述 B树索引 索引键压缩 反向键索引 降序索引 B树索引的使用场景 位图索引 位图索引的使用场景 位图联接索引 基于函数的索引 什么是基于函数的索引及其应用场景 部分行建立索引 实现有选择的唯一性 函数索引小节 Oracle的并行查询 |
| 管理Oracle数据库的锁 |
什么是锁 开发过程中,锁引起的问题 丢失更新 悲观锁定和乐观锁定 阻塞 死锁 锁升级 锁的类型 DML锁 DDL锁 闩 手动锁定和用户自定义锁 |
| 管理和诊断undo还原数据 |
数据处理 Transactions和Undo数据 撤消数据与重做数据 配置Undo保留 |
|
第二天:Oracle故障诊断与优化工具 Oracle故障诊断与优化基础 |
性能优化课程的目标 调优的三大问题 调优的普遍问题 调优的目标 |
| Oracle基本性能诊断优化工具的使用 |
告警日志 统计信息与等待事件 执行计划 跟踪文件 auto trace 动态性能视图 |
| 统计信息和AWR |
统计信息的基本概念和收集 AWR的架构 AWR和数据库的性能 |
| 使用AWR进行SQL的诊断 |
创建和管理AWR快照 产生,并读懂AWR报告 创建报告的对比 SQL诊断优化案例分析 |
| 使用基于AWR的工具 |
Oracle的自动维护任务 ADDM报告 ASH报告 |
| 优化应用程序 |
查询优化器的功能 使用hints 优化器的统计信息 使用参数控制优化器的行为 影响访问路径 全表扫描 Row ID扫描 索引扫描 索引唯一扫描 索引范围扫描(升序或降序) 索引跳跃式扫描 完全扫描 快速完全索引扫描 索引联接 联接操作 排序操作 |
|
第三天:Oracle相关组件的诊断与优化 优化高速缓冲区Buffer Cache |
Buffer Cache的结构和相关数据字典 搜索Buffer Cache的过程 使用Buffer Cache指导建议 Buffer Cache相关的等待事件 |
| 优化共享池Shared Pool |
共享池的结构及相关数据字典 诊断库高速缓存(Library Cache) ORA-4031错误解析与解决方案 诊断数据字典高速缓存(Dictionary Cache) 诊断SQL查询结果高速缓存(Result Cache) 使用共享池优化指导(v$shared_pool_advice) |
| 优化PGA |
Oracle数据库的内存结构 PGA的组成结构与相关数据字典 软解析与硬解析 设置PGA_AGGREGATE_TARGET的初始值 PGA和AWR报告 |
| 优化临时空间 |
Oracle数据库的临时数据 管理临时表空间的最佳方法 :本地管理 使用 V$TEMPSEG_USAGE监视临时表空间 使用临时表空间组 |
| 优化应用程序 |
查询优化器的功能 使用hints 优化器的统计信息 使用参数控制优化器的行为 影响访问路径 全表扫描 Row ID扫描 索引扫描 索引唯一扫描 索引范围扫描(升序或降序) 索引跳跃式扫描 完全扫描 快速完全索引扫描 索引联接 联接操作 排序操作 |
| 优化输入与输出 |
磁盘基础知识及读写原理 减少物理I/O 文件的条带化(分布式I/O) 与I/O相关的等待事件 |
|
第一天:Oracle数据库的体系架构 Oracle体系架构基础 Oracle的客户端组件 Oracle的服务器端组件 数据库跟实例的关系 |
|
深入Oracle的体系架构 存储结构 物理存储结构 数据文件 联机重做日志 控制文件 其他文件 逻辑存储结构 数据库 表空间 段、区、块 什么是Oracle的坏块 内存结构 SGA的组成和各个组成部分的作用 PGA的组成和各个组成部分的作用 SGA和PGA的优化基础 自动内存管理与自动共享内存管理 进程结构 服务器端进程 客户端进程 Oracle数据库的Open打开 |
|
Oracle的索引 Oracle索引概述 B树索引 索引键压缩 反向键索引 降序索引 B树索引的使用场景 位图索引 位图索引的使用场景 位图联接索引 基于函数的索引 什么是基于函数的索引及其应用场景 部分行建立索引 实现有选择的唯一性 函数索引小节 Oracle的并行查询 |
|
管理Oracle数据库的锁 什么是锁 开发过程中,锁引起的问题 丢失更新 悲观锁定和乐观锁定 阻塞 死锁 锁升级 锁的类型 DML锁 DDL锁 闩 手动锁定和用户自定义锁 |
|
管理和诊断undo还原数据 数据处理 Transactions和Undo数据 撤消数据与重做数据 配置Undo保留 |
|
第二天:Oracle故障诊断与优化工具 Oracle故障诊断与优化基础 性能优化课程的目标 调优的三大问题 调优的普遍问题 调优的目标 |
|
Oracle基本性能诊断优化工具的使用 告警日志 统计信息与等待事件 执行计划 跟踪文件 auto trace 动态性能视图 |
|
统计信息和AWR 统计信息的基本概念和收集 AWR的架构 AWR和数据库的性能 |
|
使用AWR进行SQL的诊断 创建和管理AWR快照 产生,并读懂AWR报告 创建报告的对比 SQL诊断优化案例分析 |
|
使用基于AWR的工具 Oracle的自动维护任务 ADDM报告 ASH报告 |
|
优化应用程序 查询优化器的功能 使用hints 优化器的统计信息 使用参数控制优化器的行为 影响访问路径 全表扫描 Row ID扫描 索引扫描 索引唯一扫描 索引范围扫描(升序或降序) 索引跳跃式扫描 完全扫描 快速完全索引扫描 索引联接 联接操作 排序操作 |
|
第三天:Oracle相关组件的诊断与优化 优化高速缓冲区Buffer Cache Buffer Cache的结构和相关数据字典 搜索Buffer Cache的过程 使用Buffer Cache指导建议 Buffer Cache相关的等待事件 |
|
优化共享池Shared Pool 共享池的结构及相关数据字典 诊断库高速缓存(Library Cache) ORA-4031错误解析与解决方案 诊断数据字典高速缓存(Dictionary Cache) 诊断SQL查询结果高速缓存(Result Cache) 使用共享池优化指导(v$shared_pool_advice) |
|
优化PGA Oracle数据库的内存结构 PGA的组成结构与相关数据字典 软解析与硬解析 设置PGA_AGGREGATE_TARGET的初始值 PGA和AWR报告 |
|
优化临时空间 Oracle数据库的临时数据 管理临时表空间的最佳方法 :本地管理 使用 V$TEMPSEG_USAGE监视临时表空间 使用临时表空间组 |
|
优化应用程序 查询优化器的功能 使用hints 优化器的统计信息 使用参数控制优化器的行为 影响访问路径 全表扫描 Row ID扫描 索引扫描 索引唯一扫描 索引范围扫描(升序或降序) 索引跳跃式扫描 完全扫描 快速完全索引扫描 索引联接 联接操作 排序操作 |
|
优化输入与输出 磁盘基础知识及读写原理 减少物理I/O 文件的条带化(分布式I/O) 与I/O相关的等待事件 |
近期公开课推荐