Oracle DB SQL 性能分析器
- SQL 性能分析器:概览
执行统计信息)
量的SQL 语句的影响。SQL 性能分析器可帮助预测潜在的更改对SQL 查询工作量的性能
影响。这种功能可向DBA 提供有关SQL 语句性能的详细信息,例如,执行前后的统计信
息,提高或降低性能的语句。这样一来,您就可以执行诸如以下操作的操作:在测试环境
中进行更改,以确定数据库升级是否会改进工作量性能。
- SQL 性能分析器:使用情形
来的潜在性能问题。这些更改可以包括(但不限于)以下任何一种更改:
改。例如,随着应用程序在开发周期中的变化,数据库应用程序开发人员可以测试对方
数据库对象和重写应用程序的更改,以减轻任何潜在的性能影响。
- 使用模型:捕获 SQL 工作量
作量。包括:
游标高速缓存的 STS 。
要的SQL。
术完成的。
- 使用模型:传输到测试系统
中导出,然后将其导入到测试系统。
- 使用模型:在更改性能前建立
在更改之前,SQL 性能版本是
SQL 工作量性能基线。
- 使用模型:在更改性能后建立
SQL 执行计划和执行统计信息。
- 使用模型:比较和分析性能
disk_reads, ...
的影响:
SQL。
线。
间、CPU 时间和缓冲区获取次数之类的执行统计信息。如果SQL 性能在有些情况下出现
回归,则DBA 必须立即或按预定时间运行SQL 优化指导来优化SQL 语句。对于任何优
化策略,建议一次仅实施一项更改,并在进一步更改之前重新进行测试。
- SQL 性能分析器:概要
集。可以使用SQL 优化集或自动工作量资料档案库(AWR) 来捕获要传送的信息。因
为AWR 本质上是捕获高负载的SQL ,所以应考虑修改默认的AWR 快照设置和捕获
的顶级SQL ,以确保AWR 捕获最大数量的SQL 语句。这可以确保捕获更加完整的
SQL 工作量。
STS ,然后将STS 导入到测试系统。
改对工作量性能的可能影响所需的基线信息。在此阶段收集的信息给出了系统工作量
当前状态的一个快照。性能数据包括:
成的信息)
响。
的每个语句都在虚拟执行(仅收集统计信息)模式下运行,收集与步骤3 所捕获的信
息相同的信息。
之后版本与之前版本的数据来进行性能分析。比较的根据是执行统计信息,如所用时
间、CPU 时间和缓冲区获取次数等。
时可能导致性能问题。在此阶段中可以使用任何一种数据库工具来优化系统。例如,
可以对确认的语句使用SQL 优化指导或访问指导,然后实施相应的建议。也可以使
用在步骤3 中捕获的计划植入SQL 计划管理(SPM) 以确保计划保持不变。在实施了
任何优化操作后,应重复该过程来创建新的之后版本,然后分析性能差异以确保新的
性能是可接受的。
- 捕获SQL 工作量
中新引进的,它与以前版本的数据库遵循完全相同的工作流。图中对此概念进行了简
短的说明。可以使用Enterprise Manager 向导或DBMS_SQLTUNE PL/SQL 程序包。
选项卡访问“SQL Tuning Sets (SQL 优化集)”页。
变化的条件下对其进行测试。此过程中将捕获以下信息:
用的初始化参数。
性能的进程会在测试系统中计算性能数据。SQL 性能分析器将在数据库更改前后跟踪同
一STS 的SQL 性能。
- 创建SQL 性能分析器任务
能分析器。或者选择“Database Instance(数据库实例)> Advisor Central(指导中心)>
Advisors(指导)> SQL Performa nce Analyzer(SQL 性能分析器)”。
将创建SQL 性能分析器任务,并使用设置为初始值的
optimizer_features_enable参数执行第二次试运行。然后,运行这两次试运
行的重放试验比较报告。
能分析器任务,并使用设置为基础值的参数执行初次试运行。使用设置为更改值的参
数执行第二次试运行。然后,运行这两次试运行的重放试验比较报告。
执行自定义试验。
- 优化程序升级模拟
的性能影响。在示例中,执行了一次从10.2.0.1 到11.1.6 的模拟升级(可以降
级到8.0.0)。
语句的时间限制:
升级到的新版本。将创建两个重放试验。第一个重放试验使用原始优化程序版本捕获
STS 性能,第二个重放试验使用目标版本。
- SQL 性能分析器:任务
包含的语句数量。在执行任务时,可以单击“SQL Performance Analyzer(SQL 性能分析
器)”页上的“Refresh(刷新)”按钮,直到在“SQL Performance Analyzer Tasks(SQL
性能分析器任务)”表中任务的“Last Run Status(上次运行状态)”列中看到一个绿色
的对勾。
任务名称对应的链接。这时会转到相应的“SQL Performance Analyzer Task(SQL 性能分
析器任务)”页。
- SQL 性能分析器任务页
条件下执行特定的SQL 优化集。在执行了该任务后,可以评估这些更改对SQL 优化集性
能的影响。在评估更改的环境条件对指定SQL 优化集性能的影响时,“Comparison
Report (比较报表)”很有用。
(创建重放试验)”。有关创建重放试验的详细信息,请参阅“Guided Workflow
(指导式工作流)”页。
运行创建一个比较报表。
较的详细信息,请参阅“Guided Workflow(指导式工作流)”页。
报表。
- 比较报表
试验比较报表。该页将显示以下常规详细资料:
(出现错误的SQL 语句)”链接可访问“Errors(错误)”表。
比较度量显示每个重放试验的计划工作量,以及改进、回归和整体影响。单击各个影
响的链接可以细化到每个类别的SQL 语句的完整列表。
改变性能的SQL 语句的数量。柱形的颜色表明在两次试运行之间计划是否有更改。
句列表),然后单击“SQL ID”便可访问SQL 详细资料。
的前10 个SQL 语句)”表:在此表中单击特定的“SQL ID”可细化至对应的“SQL
Details (SQL 详细资料)”页。
每个重放试运行之间的逐行比较。还可以找到每个试验的解释计划。
- 优化回归语句
过调用SQL 优化指导直接优化所有回归语句。为此,请单击“Run SQL Tuning Advisor
(运行SQL 优化指导)”按钮访问“Schedule SQL Tuning Task(调度SQL 优化任务)”
页,从中可以指定优化任务名称和一个调度。
析器找到的所有回归语句。
- 优化回归语句
析器任务结果)”页,在此页中的“Recommendations(建议案)”部分可以清楚地看
到,现在有了一个与性能分析关联的优化任务。
(SQL 优化结果)”页,从中可以看到“Recommendations(建议案)”表,其中列出了
回归语句的所有建议案。
Tuning Results(SQL 优化结果)”页,方法是:针对您的试验比较单击“Replay Trial
Comparisons(重放试验比较)”部分“SQL Tune Report(SQL 优化报表)”列中的眼镜
- 防止回归
请在“SQL Performance Analyzer Task Result(SQL 性能分析器任务结果)”页中单击
“Create SQL Plan Baselines (创建SQL 计划基线)”按钮。
- 参数更改分析
参数值发生更改时对SQL 优化集性能的影响。此选项很有用,因为很难预测参数值的更
改会带来正面的影响还是负面的影响。
语句的时间限制,
始化参数执行第二次试运行。最后,使用指定的比较度量生成两次试验的重放试验比较报
表。
- 指导式工作流分析
测试的步骤顺序。这些步骤如下:
验环境。这些试验可以包括更改初始化参数、收集优化程序统计信息以及创建索引。
境创建第二次重放试验。两次试验之间的性能差异归因于环境的差异。
STS 的性能影响。
(试验环境已建立)”选项。但是,必须手动进行必要的更改。
- SQL 性能分析器:PL/SQL 示例
某些更改所带来的SQL 性能影响。可以方便地改写此示例来运行自己的分析。
long 100000 、longchunksize 100000和linesize 90 )。通过此项调用,
可以指定各种参数,其中包括:
SQL 工作量中的所有SQL 语句生成解释计划。设置为TEST EXECUTE,执行
SQL 工作量中的所有SQL 语句。该过程仅执行DML 语句中的查询部分,以避免
对数据库或用户数据产生副作用。如果指定了TEST EXECUTE,则该过程将生
成执行计划和执行统计信息。
指定了在超时前处理SQL 优化集中所有SQL 语句的全局时间限制。
local_time_limit 参数指定了在超时前处理SQL 优化集中每个SQL 语句的
时间限制。
dbms_advisor.arglist( 'execution_name1', 'before',
- SQL 性能分析器:数据字典视图
信息
计信息的列表
列表。
户拥有的SQL 编译或执行统计信息列表。
分析系统环境更改所带来的影响而创建的。
器至少创建三次执行,分析更改对SQL 工作量的影响:一次执行用于收集工作量更
改前版本的性能数据,第二次执行用于收集工作量更改后版本的数据,最后一次执行
用于进行实际分析。
果:性能回归、症状、错误和参考性消息。
- 小结
Oracle DB SQL 性能分析器的更多相关文章
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...
- OCM_第十五天课程:Section6 —》数据库性能调优 _SQL 访问建议 /SQL 性能分析器/配置基线模板/SQL 执行计划管理/实例限制
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- Oracle 数据库SQL性能查看
作为一个开发/测试人员,或多或少都得和数据库打交道,而对数据库的操作归根到底都是SQL语句,所有操作到最后都是操作数据,那么对sql性能的掌控又成了我们工作中一件非常重要的工作.下面简单介绍下一些查看 ...
- mysql的sql性能分析器
MySQL 的SQL性能分析器主要用途是显示SQL执行的整个过程中各项资源的使用情况.分析器可以更好的展示出不良SQL的性能问题所在. mysql sql profile的使用方法 1.开启mysql ...
- [MySQL优化] -- 如何使用SQL Profiler 性能分析器
mysql 的 sql 性能分析器主要用途是显示 sql 执行的整个过程中各项资源的使用情况.分析器可以更好的展示出不良 SQL 的性能问题所在. 下面我们举例介绍一下 MySQL SQL Profi ...
- Oracle 高性能SQL引擎剖析----执行计划
执行计划是指示Oracle如何获取和过滤数据.产生最终结果集,是影响SQL语句执行性能的关键因素.我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL引擎为语句生成执行 ...
- ORACLE数据库学习之SQL性能优化详解
Oracle sql 性能优化调整 ...
- 转://Oracle数据库升级后保障SQL性能退化浅谈
一.数据库升级后保障手段 为了保障从10.2.0.4版本升级到11.2.0.4版本更加平稳,我们事先采用了oracle性能分析器(SQL Performance Analyzer)来预测数据库的关键S ...
- 使用Oracle执行计划分析SQL性能
执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述.即就是对一个查询任务,做出一份怎样去完成任务的详细方案. 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的 ...
随机推荐
- JavaScript实现在textbox输入时自动去数据库匹配并找出类似值列出,选择后记得将值填入本textbox及下一个textbox
1. <script src='<%= Application["rootURL"] %>JS/jquery-1.4.1.min.js' type="t ...
- C++经典编程题#5:寻找下标
总时间限制: 1000ms 内存限制: 65536kB 描述 已知一个整数数组x[],其中的元素彼此都不相同.找出给定的数组中是否有一个元素满足x[i]=i的关系,数组下标从0开始. 举例 ...
- SWD模式连接与注意事项
JTAG模式与SWD模式连接图 SWD 仿真模式概念简述 一.SWD 和传统的调试方式区别 1. SWD 模式比 JTAG 在高速模式下面更加可靠. 在大数据量的情况下面 JTAG 下载程序会失败, ...
- jquery 点击空白处隐藏div元素
<style type="text/css">.pop {display:none;width: 200px;height: 130px;background: #08 ...
- 弹窗插件layer
layer的插件的地址:http://layer.layui.com/简单使用: layer.open({ type: , //page层 area: ['500px', '300px'], titl ...
- zookeeper session tracker机制分析
说到zookeeper session管理 ,免不了要问 什么是session? session id/session是如何产生的? session 信息如何存储? 本文以session tracke ...
- XCode环境变量及路径设置
一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的 ...
- 在HTML中调用iOS
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- UIButton详解
// ----------------------------------UIButton------------------------------ // UIButtonTypeSystem 点击 ...
- windows远程控制ubuntu尝试--未成功
按照百度知道上的步骤一步一步操作,下载xrdp,一切很顺利. 直至出现了,如下的語言: connecting to sesman ip 尝试找到原因第一个原因 第二次的分析解释 至今还没找出原因