Oracle 应用优化培训课程
内容提示
本课程的学员需要具备基本的Oracle数据库原理和应用开发的知识,有一定的工作经验。数据库应用优化方法主要集中在发现Oracle数据库的资源瓶颈,发现应用代码中典型的高负载SQL的不合理性,从而找到提高SQL执行效率、减少资源消耗的方法。我们发现,80%以上的性能问题与应用的架构及SQL性能相关,如果能在项目前期对系统架构进行合理的规划设计,在开发阶段写出良好的SQL代码,在数据库中部署合理的索引,将极大地减少数据库的资源消耗,提高应用响应时间,增大数据库的吞吐量。不论是系统架构,还是代码开发,或者SQL算法的选择,这些性能点的合理优化都需要对数据库底层原理有深入的理解、经验和判断力。本课程正是希望解决这样的问题,课程重点放在数据库优化的原理和实践上,课程由浅入深的详细讲解了Oracle数据库应用优化的方法和工具,同时针对实际案例进行分析和指导。
培训内容
引子 简单SQL的性能误区
讲述一些SQL使用技巧,描述开发人员容易出错或者低效的一些SQL语句写法,通过案例分析提高是开发人员SQL的书写能力。下面的SQL部分重点讲解一些有多年开发经验的开发人员也会忽略的SQL技巧和性能要点。
1、简单SQL的性能误区
一些SQL使用技巧,错误或者低效的一些SQL语句写法,通过Oracle内部性能优化工具展示不为我们所关注的那些性能隐患
2、集合操作、GROUP BY 子句的增强以及一些影响性能的高级子查询
3、数据操作的性能影响
了解影响DML操作的性能因素,分析锁竞争对DML性能下降的影响,以及其他可能带来DML慢的原因。
培训主题一、应用优化思路与高级优化工具
1、数据库应用调优概述
.海量数据库优化的思路和一些误区
.优化的三个阶段以及各阶段的步骤和方法
.了解整个系统构建过程中各部分对性能的影响以及有哪些可以优化的部分,尤其对海量数据库的架构设计、E-R模型设计及开发中的一些性能要点进行了详细说明
.大数据量数据库不同类型应用优化的方向和方法,根据应用需求确定优化方向,对大数据访问及高并发访问的应用优化方向进行分析
.优化的基本步骤、方法以及注意事项
2、优化工具介绍
.性能优化的七种武器,通过各种案例学习如何通过Oracle提供给我们的工具发现、分析、解决性能问题:
.诊断性能问题的帮手:Statspack与AWR/ADDM,提供性能信息收集与性能差异报告,通过结合客户的性能差异报告掌握如何进行性能问题分析与诊断
培训主题二、数据库应用优化——应用存储优化
1、从性能的角度分析如何用好你的表:
.怎么选择表
.从作用上分析如何选择永久表和临时表
.从数据访问需求上,根据分区表、索引组织表、聚簇表或者普通表对性能的影响,选择合理的数据存储方法
.从数据特征上考虑字段类型选择
.从竞争和I/O需求上考虑表的存储参数和属性设置
.怎么管理表
.松散表的判断方法,解决松散表的move与shrink的执行效率和性能影响
培训主题三、数据库应用优化——应用SQL优化
1、SQL语句的处理过程
.了解Sql语句的优化思路和优化重点
分析Oracle数据库中SQL语句的处理过程,了解SQL解析、执行、取操作的每个环节对性能的影响,掌握SQL硬解析对性能的影响和优化硬解析的方法
2、CBO和RBO介绍
.了解决定SQL语句执行计划生成方法的优化模式,并选择适合的优化模式以便得到正确的执行计划,对比CBO、RBO各自适合的场景
3、优化SQL语句的相关工具
了解数据库Sql语句的优化方法,通过相关工具定位具有高影响力的SQL,收集SQL语句的统计信息和执行计划,分析执行计划的正确性,对比统计信息,选择最佳执行计划。涉及到的SQL优化工具包括:
.提供SQL优化集的Statspack与awr
.使用Explai.plan分析执行计划
.通过autotrace分析故障语句的执行计划和统计信息
.通过Sq.trace查找有性能问题的SQL语句
.通过10g的Sq.tunning advise自动分析语句性能
.通过10g的Sq.access advise自动分析语句算法
4、数据访问方法(大量案例演示):
.介绍执行计划中的数据访问方法以及各自的优缺点
.分析索引加速查询的原理,确定索引与全表扫描到底如何选择
.确定哪些因素影响索引访问的性能
.索引适合建立在哪些字段上
.B*tree索引与位图索引的选择
.DML操作对索引的影响,以及如何设置索引的存储参数和属性
.索引无效的原因以及如何书写语句以便选择正确的执行计划
.如何通过索引加快COUNT
.对比hash join、nest loop、sort merge这三种夺表连接算法的优劣
.对物化视图进行分析,确定这种最快的数据访问方法的特点和使用场景,并通过案例说明这些数据访问方法对性能的影响
5、收集统计信息
.通过analyze或者dbms_stats方法收集统计信息
.理解各种统计信息对性能有何种影响
.分析绑定变量与统计信息的关系,确定使用绑定变量优化解析最适合的场景
6、应用或者强制执行计划)
通过对语句的修改影响RBO下的执行计划,通过修改参数值影响CBO生成的执行计划,通过hints直接强制执行计划
7、Sql语句优化经验
将实际经验中总结出的Sql使用方法和经验进行讲解,让大家了解什么样的Sql语句是比较好的语句,以及如何判断语句性能的问题
培训师介绍
李老师擅长Oracle数据库的应用需求分析、架构设计、数据建模、数据库管理、性能优化、灾难恢复等,服务客户涉及金融、电信、税务、公安、电力、民航、铁路等行业,为各行业客户设计部署稳定的系统架构,解决各种数据库疑难故障,优化数据库应用系统性能,保证客户数据库的正常运行。基于多年的工作经历,李老师对Oracle数据库的设计、优化、管理、开发等各项工作具有独到的见解和丰富的经验。
Oracle 应用优化培训课程