利用ORACLE ADV 功能完成SQL TUNING 调优(顾问培训) “让DBA失业还是解脱?”
oracle自动判断SQL性能功能.
11G的ADV,建议.SNAPSHOT,数据集合, 存储在oracle sys $_开头的表(10几条).
创建SNAPSHOT时选择天数, 默认14天.
sql orderde by Gets.
Gets per exac每执行一次读取缓存次数.
executions 每小时执行次数(因为snapshot 每小时执行一次)
自动化调优建议.
--语句修改, rewrite.
--物理优化.
--调整索引. 想象的索引不走.
--gather, 不产生物理方面的变化, 信息采集. 自动重新当前表关联语句执行计划.
--对执行计划的固化. 提供了SQL PROFILE,与cursor绑定,将执行计划固化.效果很好.
(不需要oracle多一个对象) ==:取消固化.
如上,是adv的推荐. 提高的百分比推荐.
oracle Enterprise Mangerment.
-Data pump Export(当前数据server)/
-Original Export.(任意汇出地址,汇入更慢)
transaction执行上万秒, 看有没有阻塞的session.
active-session 几十分钟
dba -session 十几天.
阻塞与waiting.
单位是微妙. *1000 = 毫秒
如下为上机作业部分: (做一遍, 如上那些就都懂了!)
总结: 获得数据库自动推荐的tuning sql 优化建议, 包括物理, 静态等优化建议.
做完, "DBA就是失业"了?
开什么玩笑, 他们又偷懒了.
计算机追求无止境..... 偷懒混日子也是有妙招.
前文预热:
select sql_id, child_number,executions,parse_calls,loads,invalidations ,LAST_LOAD_TIME from v$sql where sql_text like 'SELECT distinct substr(l.line_name, 1, 1) || substr(l.line_nam%' order by LAST_LOAD_TIME;
单引号内的字符串是原始sql语句的部分
本次上机作业内容如下:
--
在sqlplus 中运行
select * from table(dbms_xplan.display_cursor('31b1ba01z95b1',null,'all ALLSTATS LAST'));
如果在语句运行前在sqlplus中设置
alter session set statistics_level=all;
alter session set timed_statistics=true;
执行计划的内容会更丰富,以上设置在退出该session就失效。
--1 根据sqlid执行查询计划
select * from table(dbms_xplan.display_cursor('c5pqy84v71vry',0,'all ALLSTATS LAST'));
--2 定义变量, 已完成查询计划的, 完成相应自动优化建议task任务
variable stmt_task varchar2(64);
exec :stmt_task:=sys.dbms_sqltune.create_tuning_task(sql_id=>'c5pqy84v71vry');
--3 获取当前已有优化建议的任务id
select task_id,task_name from user_advisor_tasks order by EXECUTION_START;
--4 执行相应分析处的执行计划, 获得优化建议.
exec dbms_sqltune.execute_tuning_task(task_name => 'TASK_836');
--5 查询获得相应的优化建议内容
select dbms_sqltune.report_tuning_task('TASK_836')from dual;
利用ORACLE ADV 功能完成SQL TUNING 调优(顾问培训) “让DBA失业还是解脱?”的更多相关文章
- 转-利用Oracle审计功能来监测试环境的变化
http://blog.csdn.net/luowangjun/article/details/5627102利用Oracle审计功能来监测试环境的变化 做过测试的人都应该会碰到这样的情况:测试发现的 ...
- SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
- SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)
前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块 ...
- SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)
前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...
- SQL Server 调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)
前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...
- SQL Server 调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)
前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块 ...
- SQL Server 调优系列玩转篇一(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
- SQL Server调优系列基础篇
前言 关于SQL Server调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL 调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优. 通过 ...
- SQL Server调优系列基础篇(联合运算符总结)
前言 上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧. 废话少说,直接进入本篇的主题. 技术准备 基于SQL Server200 ...
随机推荐
- java中的hashtable
好久没写博客了,这次总结一下hashtable,哈希表是我们在数据结构时候所学,在网络安全时候,老师说可以用来加密,在数据库中,可以用来当作索引. http://www.cnblogs.com/leo ...
- 链表反转C实现(递归与循环)
//逆转链表http://blog.163.com/lichunliang1988116@126/blog/static/26599443201282083655446/ #include<io ...
- ACM编程技巧--常用字符操作函数
字符串与基本数据类型的转换 int sscanf(buff,"%d%d",&a,&b); //返回值是参数个数 int sprintf(buff,"%d% ...
- Hadoop系列(一)hadoop2.2.0源码编译
操作系统:Centos 所需条件:能上网 编译所需工具: apache-ant-1.9.2-bin.tar.gz apache-maven-3.0.5-bin.tar.gz findbugs-2.0. ...
- 【原创】Hadoop机架感知对性能调优的理解
Hadoop作为大数据处理的典型平台,在海量数据处理过程中,其主要限制因素是节点之间的数据传输速率.因为集群的带宽有限,而有限的带宽资源却承担着大量的刚性带宽需求,例如Shuffle阶段的数据传输不可 ...
- VPN两点注意事项
今天折腾了半天vpn,特记录以下两点注意事项: 1.客户端VPN连接,点右键属性=>网络选项卡=>双击Internet 协议版本 4 IPV4=>高级=>远程网络上使用默认网关 ...
- Java多重if....else if
public class HelloWorld { public static void main(String[] args) { int age=25; if(age>60){ System ...
- 如何调试什么时候SaveFileDialog会被Dispose
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何调试什么时候SaveFileDialog会被Dispose.
- Android Fragment 生命周期
启动的事件触发顺序 F Fragmeent A Activity onAttach(F) onAttachFragment(A) onCreate(F) onCreateView(F) onActiv ...
- 20169210《Linux内核原理与分析》第十一周作业
第17章 设备与模块 关于设备驱动和设备管理,讨论四种内核成分. 设备类型:在所有的linux系统中为了统一普遍设备的操作所分的类. 模块:Linux内核中用于按需加载和卸载目标码的机制. 内核对象: ...