星期一 九月 26, 2011

SQL调优工具SQLT简介(一)

背景

    SQLTXPLAIN (简称SQLT) Oracle提供的一种用来诊断SQL语句调优问题的工具。通常,当用户遇到一个SQL语句调优问题时,Oracle Support会要求提供很多的信息,比如SQL语句,10046/10053 trace,对象统计信息,optimizer信息等等。这些信息的收集是非常繁琐的事情,而且需要用户具有深入的产品知识。由于信息收集不全,或者客户不知道如何收集,导致一些问题最终无法解决。Oracle提供了SQLT这个工具来解决这个问题。

功能

  • 收集单条SQL语句的信息,包括:
  • SQL文本
  • 执行计划(explain)
  • 真实执行计划(row source operation)
  • 运行时的信息(时间,记录数等等)
  • 10046/10053 trace
  • 收集影响optimizer的统计信息(包括SYSTEM statisticsObject statistics)
  • 收集所有可能会影响optimizer计算的参数:
  • 平台
  • 版本
  • NLS信息
  • 初始化参数
  • fix_control
  • gather_statistics_job
  • 如果Oracle Tuning Packs是可以使用的话,自动调用SQL Tuning Advisor来生成优化报告。
  • 自动导出相关数据以方便客户/Oracle Support/Oracle Development创建test case来重现客户的问题,加速问题的处理。
  • 自动生成SQL Profile的脚本,来固定SQL的执行计划。

特点

  • SQLT是用SQLPL/SQL编写的,可以运行在各种不同版本操作系统的数据库。
  • 代码都是非加密的,可以清楚的看到操作的内容。
  • 不会泄露用户敏感数据。比如Column的最大/最小值还有histogram可以选择隐藏起来。
  • 安装在自己的schema下,不会影响用户数据。
  • 免费下载和使用,只需有一个可用的My Oracle Support license

下载及使用

  • 下载:下载文档 ID:215187.1中的附件需登陆My Oracle Support)。目前SQLT有两个不同的版本,一个是基于9.2/10.1的,另一个是基于10.2以后的。
  • 使用说明:解压缩文件夹中的sqlt_instructions.html或者SQLTXPLAIN.pdf。在解压缩文件夹下的doc目录下也可以找到相同的信息(PPT)

    在绝大多数的情况下,SQLT包含了诊断SQL语句调优问题的所有必要信息。因此推荐客户尽可能安装并用它来收集信息,以便于问题更有效率的解决。

         如果您在使用SQLT的过程中遇到问题,或者是有任何改进的建议或意见,可以在文档ID:215187.1下添加英文评论,您的评论会直接反馈给作者。

About

本博客由Oracle全球技术支持中国区的工程师维护。为中文用户提供数据库相关的技术支持信息,包括常用的诊断工具、诊断方法、产品新特性、案例分析等。此外,MOS也陆续推出各类中文内容:技术通讯统一发布在Note 1529795.1 中,中文文档列表更新在Note 1533057.1 中,网上讲座请查看MOS文档 1456176.1,在"Archived"中可以下载历史的录音和文档。

Search

Archives
« 四月 2014
星期日星期一星期二星期三星期四星期五星期六
  
1
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今天