SQL*Plus中plustrce.sql(SP2-0613、SP2-0611)和(SP2-0618、SP2-0611)

AUTOTRACE是一项 SQL*Plus 功能,自动跟踪为 SQL 语句生成一个执行计划并且提供与该语句的处理有关的统计。SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是您不必设置跟踪文件的格式,并且它将自动为 SQL 语句显示执行计划。然而,AUTOTRACE 分析和执行语句;而EXPLAIN PLAN仅分析语句。

  使用AUTOTRACE不会产生跟踪文件。

  一、启用Autotrace功能。任何以SQL*PLUS连接的session都可以用Autotrace,不过还是要做一些设置的,否则可能报错。

  1、报错示例:SQL :> set autotrace on;

  SP2-0613: Unable to verify PLAN_TABLE format or existence

  SP2-0611: Error enabling EXPLAIN report

  SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled

  SP2-0611: Error enabling STATISTICS report

  *******************************************************************************

  SQL> set autotrace on;

  SP2-0613: 无法验证 PLAN_TABLE 格式或实体

  SP2-0611: 启用EXPLAIN报告时出现错误

  SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色

  SP2-0611: 启用STATISTICS报告时出现错误

  该错误的的主要原因是由于当前用户下没有PLAN_TABLE这张表及相应的PLUSTRACE角色权限。

解决:

@?/sqlplus/admin/plustrce.sql

@?/rdbms/admin/utlxplan.sql

>

>

>



      


 


  


    
  
   
   
  


  

  
  
 

 
 
 
 
  
  
  
  
 



    

   

时间: 2024-09-24 03:59:07

SQL*Plus中plustrce.sql(SP2-0613、SP2-0611)和(SP2-0618、SP2-0611)的相关文章

怎么让sql server中的sql语句自动换行

怎么让sql server中的sql语句自动换行呢? 如下图: 工具--选项--所有语言 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/

PL/SQL开发中动态SQL的使用方法

动态 内容摘要:在PL/SQL开发过程中,使用SQL,PL/SQL可以实现大部份的需求,但是在某些特殊的情况下,在PL/SQL中使用标准的SQL语句或DML语句不能实现自己的需求,比如需要动态建表或某个不确定的操作需要动态执行.这就需要使用动态SQL来实现.本文通过几个实例来详细的讲解动态SQL的使用. 本文适宜读者范围:Oracle初级,中级 系统环境: OS:windows 2000 Professional (英文版) Oracle:8.1.7.1.0 正文: 一般的PL/SQL程序设计中

SQL Server中参数化SQL写法遇到parameter sniff ,导致不合理执行计划重用的快速解决方法_MsSql

parameter sniff问题是重用其他参数生成的执行计划,导致当前参数采用该执行计划非最优化的现象.想必熟悉数据的同学都应该知道,产生parameter sniff最典型的问题就是使用了参数化的SQL(或者存储过程中使用了参数化)写法,如果存在数据分布不均匀的情况下,正常情况下生成的执行计划,在传入在分布数据较多的参数的情况下,重用了正常参数生成的执行计划,而这种缓存的执行计划并非适合当前参数的一种情况. 这种情况,在实际业务中,出现的频率还是比较高的,因为存储过程一般都是采用参数化的写法

SQL Server中的SQL语句优化与效率问题

很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那

在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名_MsSql

这个问题对于规模稍微大些的项目而言,显得尤其重要了,数据库中如果有几百个存储过程, 难道还一个个找不成,即使自己很了解业务和系统,时间长了,也难免能记得住. 如何使用SQL语句进行查询呢? 下面就和大家分享下SQL查询的方法: 复制代码 代码如下: select distinct name from syscomments a,sysobjects b where a.id=b.id and b.xtype='p' and text like '%pro_GetSN%' 上面的蓝色字体部分表示要

SQL Sever中使用SQL语句实现把重复行数据合并为一行并用逗号分隔

 一.定义表变量 代码如下: DECLARE @T1 table ( UserID int ,  UserName nvarchar(50), CityName nvarchar(50) );   insert into @T1 (UserID,UserName,CityName) values (1,'a','上海') insert into @T1 (UserID,UserName,CityName) values (2,'b','北京') insert into @T1 (UserID,U

SQL Server 中查看SQL句子执行所用的时间

复制代码 代码如下: set statistics profile on set statistics io on set statistics time on go 你执行的SQL语句 复制代码 代码如下: go set statistics profile off set statistics io off set statistics time off 执行完后点消息即可.

SQL Server 中查看SQL句子执行所用的时间_MsSql

复制代码 代码如下: set statistics profile on set statistics io on set statistics time on go 你执行的SQL语句 复制代码 代码如下: go set statistics profile off set statistics io off set statistics time off 执行完后点消息即可.

parameterclass-ibatis配置文件中的SQL语句可以默认不写parameterClass吗?

问题描述 ibatis配置文件中的SQL语句可以默认不写parameterClass吗? 主要是因为我在公司看ibatis SQL配置文件中的SQL语句使用到了map中的属性作为参数,但是在所有的SQL语句中并没有添加parameterClass,我想问一下大神门是不是可以默认不写,还是什么情况? 解决方案 可以不写..相当于默认值传一个map