利用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 ...
随机推荐
- 经典sql总结(2)
如何做呢,跟上文区别不大. 我建个表,输入以下 select year, () as m1, () as m2, () as m3 from info2 as t group by year;
- 【wuzhicms】apache 设置禁止访问某些文件或目录
[apache配置禁止访问] 1. 禁止访问某些文件/目录 增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库: <Files ~ "\.inc$&qu ...
- POJ 1321 棋盘问题 DFS搜索
简单搜索 练习一下回溯 #include <iostream> #include <cstdio> #include <cstring> #include < ...
- 如何把.rar文件隐藏在一个图片内
首先假设我们要隐藏的.rar文件叫a.rar,图片叫a.jpg.先把他俩放到同一个目录下,然后通过“cmd”进入windows命令行,进入目标目录下,使用以下命令进行隐藏: copy/B a.jpg ...
- gcc编译选项的循环重复查找依赖库等命令
link时,若liba.a依赖libb.a,若这样写 -lb -la,则链接通不过,gcc有个选项:-Xlinker ,可以让gcc在链接时反复查找依赖库,用法 : gcc -shared -o li ...
- proftpd的示例配置文件
# This is a basic ProFTPD configuration file (rename it to # 'proftpd.conf' for actual use. It estab ...
- 如何解决Python脚本在Linux和Windows上的格式问题
python是一种对缩进有严格要求的语言, Python脚本可以使用非常多的工具进行编写,笔者在Linux系统使用JEdit进行Python脚本编写,由于在Linux编写脚本比较痛苦,比如想一眼看出相 ...
- Oracle数据库编程:PL/SQL编程基础
2.PL/SQL编程基础: PL/SQL块: declare 定义部分 begin 执行部分 exception 异 ...
- 24C02操作--松瀚汇编源码
; ; P_CLKIIC EQU P1.2 ; P_DATIIC EQU P1.3 ; PM_DATIIC EQU P1M.3 ; EE_ADDR DS 1 ;地址寄存器 ; TMP3_IIC DS ...
- [Javascript] Use Number() to convert to Number if possilbe
Use map() and Number() to convert to number if possilbe or NaN. var str = ["1","1.23& ...