10g~12c 编程优化方法
Jerry Zhao 查看讲师
百林哲咨询(北京)有限公司专家团队成员
20余年软件的设计、开发与管理工作,具有编程的经验与技巧,熟悉大型数库库开发、设计、测试、管理,为甲骨文、海关总署、上海中金所、宁夏地税、苏州郎新、中海油、广东联通、伊利集团、中国邮政等培训和咨询。
浏览:2910次
详情 DETAILS

简介

对于一些处理要求复杂的软件项目来说,开发人员应该在编码阶段注意每个语句的编写规范与基于Oracle环境的必须注意的问题。 

目前许多应用系统的开发阶段到测试阶段的时间都很短,导致Oracle系统投入使用后不久就开始遇到性能逐步下降问题,许多针对性能问题的优化方法在网上已经很多了,我们的现在要做的事:每个编程人员在开发阶段如果都按照规范和Oracle公司推荐的方法去做,维护阶段性能问题就少许多。

本课程就是基于这样的思想,我们根据多年的经验,为软件开发人员(包括测试人员)给出基于Oracle系统的编程优化方法介绍,为那些最辛苦的一线编程人员提供一点技巧参考。

Oracle 11g/12c 系统性能问题可能是数据量太大导致的,也可能是我们编程时使用SQL语句不当导致的,那么,如何才能避免使用不当呢?下面样例可帮助你理解Oracle 系统SQL的使用方法。

目标

Oracle环境应用程序优化方法

Oracle环境应用系统测试方法

Oracle环境应用系统性能问题诊断与调整方法

课程时长

3天(18H)

受众人群

基于Oracle环境的软件开发人员、基于Oracle 系统的软件测试人员、Oracle 数据库管理人员、Oracle 数据库最终用户相关人员、Oracle 系统应用维护人员

学员要求

参与学习的技术人员应该具有SQL 基本知识,特别是SELECT 语句、PL/SQL 的基本编程方法、了解Oracle 数据库的基本架构、了解RDBMS的基本概念。 

分享提纲

1.Oracle应用优化与工具了解基于Oracle环境的性能诊断方法非常关键,开发人员和优化工程师可使用你最喜欢而且又是得力的工具,可帮助你快速定位性能问题的根源。

SQL*Plus 环境 ;

DBA_xxx数据字典;

V$_xxx / X$_xxx 性能视图介绍 ;

附加的数据字典概要 ;

Oracle 系统诊断工具 ;

Statspack与AWR 视图;

Unix 环境的常用命令;

第三方诊断工具 。

2.Oracle应用优化与SQL规范基础当我们完成软件项目的数据库结构设计后,即可进入应用编码阶段,如果开发团队的每个编码人员都遵守必要的规范和理解基于Oracle 11g版本的SQL用法,可以提高整个应用的效率,此外,也降低维护阶段的成本。

了解表/索引结构;

排序操作与优化;

常见SQL规范与建议;

避免数据类型转换;

索引的使用概要;

其他优化建议;

操作样例。

3.Oracle环境表的连接方法与性能由于关系数据库的表之间存在依赖关系,所以在应用处理过程中需要访问多个表才能获取完整的数据,这就是关联查询。而关联查询的SELECT 语句书写是否符合Oracle系统的要求直接与性能有关,这里介绍基于Oracle 11g版本的多表连接方法。

应用优化有关的术语;

SQL 语句的处理流程;

关于SQL语句的执行计划;

表的访问方式;

Oracle系统SQL优化器;

Oracle系统表的连接方法;

使用提示影响表连接 。

4.Oracle 11g/12c CBO与提示方法

Oracle 10g版本开始,Oracle 系统优化器采用CBO优化模式,采用CBO模式后,开发人员可对SQL语句采用提示方法来要求优化器的行为,这就是提示方法。本课程介绍基于Oracle 11g/12c版本的常见的提示方法和样例。

CBO模式的提示概要;

CBO 模式常用提示 ;

统计数据提示;

访问路径提示;

表的连接提示。

OPTIMIZER_INDEX_COST_ADJ 等参数调整方法

5.Oracle环境应用DML语句优化

对于大型数据处理来说(特点是批量数据的处理和大数据的处理)DML操作也是制约性能的因素之一。我们这里介绍针对批量数据处理的优化方法和技巧,相信能对大型批量数据处理的应用有帮助。

Oracle 实例工作原理回顾;

DML/事务/Undo/Redo

INSERT 优化方法;

UPDATE/DELETE 优化;

关于直接I/O方法;

并行的使用方法 ;

长时间未提交的DML操作监控方法 。

6.Oracle应用瓶颈问题与诊断方法

在应用系统性能问题的分析中,我们常遇到的困难是:应用系统的多条SQL语句哪个语句是影响性能的根源,当找到具体的SQL语句或对象后,我们才能有针对性地进行调整。这里介绍如何从性能视图中找到性能的具体语句和优化方法。

会话相关的数据字典与视图 ;

如何确定问题的大方向 ;

逐步逼近获取详细SQL语句及相关对象;

分析与解决问题及测试 ;

几个瓶颈案例分析 。

7.Oracle11g编程优化的其他方法

当开发人员或维护工程师在进行应用的优化时,经常不知道如何下手,其实,我们的本着一种简单的理念是:“把应该做好的事情做好”。因为,你花许多时间去研究某个语句的性能问题,还不如先将那些我们忽视了很久的事情做好,再去攻破那些顽固的问题。这也是一种解决问题的简单方法。

临时表的使用方法;

Nologging 使用问题;

关于热块问题;

CBO模式相关问题;

多块读方法;

索引与相关参数;

新版SQL语句与性能;

分区表与修剪关键。

8.Oracle 11g/12c 统计数据与性能

我们虽然知道CBO模式下,搜集表/索引的统计数据很重要,但是,有时我们刚完成了表和索引的统计数据的搜集,查询语句仍然效率低下,这时,我们需要进一步搜集表/索引更详细的数据,比如,搜集列的直方图数据等,此外,还要分析表/索引的详细统计数据等,从而找出问题的根源,从而进行有针对性的解决。

CBO 与统计数据 ;

Oracle 系统统计数据的搜集;

列的统计数据/直方图与应用性能 ;

索引的集群因子与应用性能分析 ;

如何处理重组表与消除不良的索引集群因子。

9.Oracle 11g应用优化与参数

Oracle系统参数合理调整可以提高应用性能,部分参数可由DBA统一来修改,部分参数(称会话级参数)可以根据应用的需求情况在应用中修改和设置,这里介绍如何在应用中根据具体情况设置和修改相关的会话级参数,从提高应效率。而由DBA修改的参数在下一个小节介绍。

Oracle 11g 实例参数;

会话级参数使用方法;

应用性能有关的参数;

CBO 模式与会话参数的修改;

DBMS_SYSTEM 包 ;

DBMS_SESSION 包 。

10.Oracle 11g数据库调整

即使在应用系统正式运行前我们对Oracle系统进行了认真的设置,但是当应用系统运行一段时间后,还需要根据Oracle系统具体运行情况进行适当的调整与优化。这里介绍如何分析Oracle系统的运行情况和调整相应的参数的方法。

常见归档参数 ;

归档参数的调整方法;

常见未归档参数;

未归档参数的调方法;

参数调整后的监控。

11.Oracle Hang现象诊断

Oracle 系统有时突然出现系统没有反应的情况,我们称为Hang住,当Oracle 系统出现Hang住时,如何及时确定问题的起因呢?这里,我们介绍诊断的方法。

Oracle 常见问题;

高 CPU 使用查询;

I/O 瓶颈诊断;

顶级会话诊断;

内存异常问题 。

12.Oracle统性能问题小结与讨论

了解Oracle环境的应用系统性能的主要问题根源,可以帮助你从整个环境的高度来观察Oracle系统的性能问题,避免直接陷入几个局部的问题中。这里介绍常遇到的性能问题根源和分析方法。

Oracle 系统性能问题根源;

设计与开发阶段质量问题;

Oracle 性能多层次问题;

Oracle 系统性能调整方法;

Oracle 系统性能诊断建议;

附录:常见的设计、开发与调整问题。



企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1