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的 ...
随机推荐
- C++经典编程题#6:分配病房
总时间限制: 1000ms 内存限制: 65536kB 描述 某个科室的病房分为重症和普通,只有当病人的疾病严重程度超过了入住重症病房的最低严重值,才可以安排入住重症病房. 现在要求设计一个程序, ...
- Altium designer 小技巧
平常收集的小技巧都放在这里备忘. 1.连线完成后怎么检查飞线没连上? Ctrl+D,选择所有元素隐藏,剩下的就是没有连上的飞线了.
- iOS7 修改导航系统默认返回按钮文字及颜色
//iOS7 修改系统默认返回按钮文字及颜色 UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"返" ...
- bind和unbind事件的应用
1.bind 先从一动画的示例看起,如图: 而图中表示的mouseout(移出).mouseover(移入)事件的操作,比较简单,具体代码如下: 从中我可以得出bind()的语法: $().bind( ...
- 安装好mysql后允许远程连接
安装好mysql后允许远程连接 http://blog.sina.com.cn/s/blog_3eba8f1c0100tsox.html http://blog.csdn.net/zxyvb/arti ...
- 你应该知道的2016年有关App开发的技术创新
上一篇简述了2016年有关App产品的年中总结,这篇开始历数有关App开发的技术创新!无论你是创业者,还是程序员,无论你是否懂编程.写代码,利用APICloud平台数据撰写的年中总结,集合了移动应用创 ...
- awk实现 文本内的换行符 为分隔符,输出变为逗号
awk实现 文本内的换行符 为分隔符,输出变为逗号 [liujianzuo@ow2 scripts]$ awk -F $ '{print $0}' ldap_member.log ruanshujun ...
- 针对大的sql文件删除行操作
今天处理开发已导出的库的一个sql文件.未gzip压缩 ,1.3G 需要删除 17 18 24行的SET行. 想到了两个办法 1 sed 方法 主意 由于 sed 虽然指定行 进行 替换, 也会读完 ...
- EF Code First教程-01 创建一个简单的Code First程序
1 从nuget中搜索并添加EF 2 在app.config或web.config中添加数据库连接 <connectionStrings> <add name="conns ...
- 单臂路由+DHCP+VLAN
使用思科模拟软件Cisco Packet Tracer Student,软件功能有限,只能架设简单的网络架构,适合初学者使用.