sqlplus 分析执行计划

转载 http://xm-koma.iteye.com/blog/1048451

对于oracle9i,需要手工设置plustrace角色,步骤如下: 
1、在SQL>connect sys/密码 as sysdba  (密码为:数据库所在的那台服务器的密码)

在sys用户下运行$ORACLE_HOME/sqlplus/admin/plustrce.sql 
SQL>@$ORACLE_HOME/sqlplus/admin/plustrce.sql

这段sql的实际内容如下: 
set echo on 
drop role plustrace; 
create role plustrace; 
grant select  on v_$sesstat to plustrace; 
grant select on v_$statname to plustrace; 
grant select on v_$mystat  to plustrace; 
grant plustrace to dba with admin option; 
set echo off

以上产生plustrace角色

2、在sys用户下把此角色赋予一般用户 
SQL> grant PLUSTRACE to 用户名;   (用户名为:当前你登陆数据库的用户名,如:bbass) 
3、然后在当前用户下运行$ORACLE_HOME/rdbms/admin/utlxplan.sql 
SQL>@$ORACLE_HOME/rdbms/admin/utlxplan.sql  它会创建一个plan_table,用来存储分析SQL语句的结果。 
4、SQL> set timing on 
可查看SQL语句执行的用时 
SQL> set autotrace on; 
可查看SQL执行计划分析。

  关于Autotrace几个常用选项的说明: 
  SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式 
  SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告 
  SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息 
  SET AUTOTRACE ON ----------------- 包含执行计划和统计信息 
    SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询

5,关闭以上功能,在SQL/PLUS的窗口运行以下命令

set time off;                      (说明:关闭时间显示) 
set autotrace off;

时间: 2024-07-29 10:43:32

sqlplus 分析执行计划的相关文章

Hive语法层面优化之五分析执行计划追踪导致数据倾斜的原因

count(distinct key)案例 explain select count(distinct session_id) from trackinfo where ds=' 2013-07-21' ; STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 is a root stage STAGE PLANS: Stage: Stage-1 Map Reduce Alias -> Map Operator Tree: trackinfo T

开启sqlplus中执行计划

在sqlplus中我们一般用Autotrace来查看执行计划,从而对于一些语句执行过程分析,开展优化工作.这里就演示一下如何将autotrace权限授予给普通的用户,以scott用户为例(set autotrace on;) 工具/原料 sqlplus ssh linux 方法/步骤 1.登录scott用户,验证scott是否具有autotrace权限. 启用autotrace功能:以sysdba用户连接,运行相关脚本 3.授予需要的权限(plustrace)给scott用户 4.登录scott

分析oracle的执行计划(explain plan)并对对sql进行优化实践

基于oracle的应用系统很多性能问题,是由应用系统sql性能低劣引起的,所以,sql的性能优化很重要,分析与优化sql的性能我们一般通过查看该sql的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对sql进行优化做相应说明. 一.什么是执行计划(explain plan) 执行计划:一条查询语句在oracle中的执行过程或访问路径的描述. 二.如何查看执行计划 1.set autotrace on 2.explain plan for sql语句; select plan_tabl

SQL Sever 2008性能分析之执行计划

一直想找一些关于SQL语句性能调试的权威参考,但是有参考未必就能够做好调试 2的工作.我深信实践中得到的经验是最珍贵的,书本知识只是一个引导.本篇来源于<Inside Microsoft SQL Server 2008>,有经验的高手尽管拍砖把. 这个部分将讲解一些性能分析工具,这些性能分许主要关注在执行计划. 缓存执行计划  SQL Server 2008提供了一些服务器对象来分析执行计划Sys.dm_exec_cached_plans:    包含缓存的执行计划,每个执行计划对应一行.Sy

SQL性能分析之执行计划

一直想找一些关于SQL语句性能调试的权威参考,但是有参考未必就能够做好调试的工作.我深信实践中得到的经验是最珍贵的,书本知识只是一个引导.本篇来源于<Inside Microsoft SQL Server 2008>,有经验的高手尽管拍砖把. 这个部分将讲解一些性能分析工具,这些性能分许主要关注在执行计划. 缓存执行计划  SQL Server 2008提供了一些服务器对象来分析执行计划Sys.dm_exec_cached_plans:    包含缓存的执行计划,每个执行计划对应一行.Sys.

SQL点滴27—性能分析之执行计划

原文:SQL点滴27-性能分析之执行计划 一直想找一些关于SQL语句性能调试的权威参考,但是有参考未必就能够做好调试的工作.我深信实践中得到的经验是最珍贵的,书本知识只是一个引导.本篇来源于<Inside Microsoft SQL Server 2008>,有经验的高手尽管拍砖把. 这个部分将讲解一些性能分析工具,这些性能分许主要关注在执行计划. 缓存执行计划  SQL Server 2008提供了一些服务器对象来分析执行计划Sys.dm_exec_cached_plans:    包含缓存

一次有意思的错选执行计划问题定位(涉及SYS_OP_C2)

这两天和广分的兄弟看了一个问题,比较有意思,过程也比较曲折... 问题现象: 1. 11g的库,话说有一个应用程序新上线,应用中使用了绑定变量的方式执行一条简单的SQL,例如select a from b where c = :x,c列是该表复合主键的前导列,表定义是varchar2类型,从spotlight监控看这条SQL的执行计划是全表扫描,一次执行要1个小时,这张表是运行很久的引用分区表,数据量是亿级,测试的时候正常,但很显然测试的数据量可能和生产非常不一致,导致没察觉. 2. 在sqlp

Oracle数据库查看执行计划

基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明. 一.什么是执行计划(explain plan) 执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述. 二.如何查看执行计划 1: 在PL/SQL下按F5查看执行计划.第三方工具toad等. 很多人以为PL/SQL的执行计划只能看到基数.优化器.耗

【SQL进阶】03.执行计划之旅1 - 初探

听到大牛们说执行计划,总是很惶恐,是对知识的缺乏的惶恐,所以必须得学习执行计划,以减少对这一块知识的惶恐,下面是对执行计划的第一讲-理解执行计划. 本系列[T-SQL]主要是针对T-SQL的总结. SQL基础 [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础]04.表表达式-上篇 [T-SQL基础]04.表表达式-下篇 [T-SQL基础]05.集合运算 [T-SQL基础]06.透视.逆透视.分组集 [T-SQL