- 浏览: 1194195 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
一、启用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角色权限。
2、解决方法:
A.以SYS用户登录:
oracle>sqlplus '/ as sysdba';
B.运行utlxplan.sql($ORACLE_HOME/rdbms/admin下) 脚本创建 PLAN_TABLE;
grant all on plan_table to scott;
C.通过执行 plustrce.sql($ORACLE_HOME/sqlplus/admin/plustrce.sql)脚本创建 plustrace
角色
grant plustrace to scott;
grant select any dictionary to scott;
二、设置Autotrace的命令。
序号
|
命令
|
解释
|
1
|
SET AUTOTRACE OFF |
此为默认值,即关闭Autotrace |
2
|
SET AUTOTRACE ON |
产生结果集和解释计划并列出统计 |
3
|
SET AUTOTRACE ON EXPLAIN |
显示结果集和解释计划不显示统计 |
4
|
SETAUTOTRACE TRACEONLY |
显示解释计划和统计,尽管执行该语句但您将看不到结果集 |
5
|
SET AUTOTRACE TRACEONLY STATISTICS |
只显示统计 |
Eg:SET AUTOTRACE ON
set timing on
alter session set time_statistics=true;
三、Autotrace执行计划的各列的涵义
序号
|
列名
|
解释
|
1 |
ID_PLUS_EXP |
每一步骤的行号 |
2 |
PARENT_ID_PLUS_EXP |
每一步的Parent的级别号 |
3 |
PLAN_PLUS_EXP |
实际的每步 |
4 |
OBJECT_NODE_PLUS_EXP |
Dblink或并行查询时才会用到 |
四、AUTOTRACE Statistics常用列解释
序号
|
列名
|
解释
|
1
|
db block gets |
从buffer cache中读取的block的数量 |
2
|
consistent gets |
从buffer cache中读取的undo数据的block的数量 |
3
|
physical reads |
从磁盘读取的block的数量 |
4
|
redo size |
DML生成的redo的大小 |
5
|
sorts (memory) |
在内存执行的排序量 |
7
|
sorts (disk) |
在磁盘上执行的排序量 |
======================================================
set autotrace 报错sp2-0613&sp2-0618
同事创建了role plustrace,使用system登录可以使用autotrace。
但以普通用户test登录时,报错:
SQL> connect test/test
Connected.
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> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
TEST CONNECT NO YES NO
TEST PLUSTRACE NO YES NO
TEST RESOURCE NO YES NO
检查表
SQL> select synonym_name,table_name,table_owner from all_synonyms where synonym_name = 'PLAN_TABLE';
no rows selected
应是表PLAN_TABLE没有赋予plustrace select权限。
SQL> connect system/manager as sydba
Connected.
SQL> create public synonym plan_table for plan_table;
Synonym created.
SQL> grant all on plan_table to public;
Grant succeeded.
再试:
SQL> connect test/test
Connected.
SQL> set autotrace on
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report
网上查找,tom说了:
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:5671636641855
Followup:
look up a couple of reviews.
I believe you have slightly mismatched versions of SQLPlus and database.
9203 and up use v$mystat
9202 and before use v$session
9201 client and lower queries v$session
9203 client and higher queries v$mystat
make sure plustrace has select on v$mystat and v$session or use the same version
of sqlplus as database.
我的Oracle server和SQL*Plus的版本都是9.0.2.4.0,找到原因了
SQL> connect system/manager as sydba
Connected.
SQL> grant select on v_$mystat to plustrace;
Grant succeeded.
SQL> connect test/test
Connected.
SQL> set autotrace on
成功!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cockcrow/archive/2006/03/02/614058.aspx
发表评论
-
并发行级锁超2秒报警监控sql
2010-07-20 16:18 1923并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1442按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1388Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1468Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1386Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1836一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19617oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1869Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3472去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2128一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
RMAN配置及备份与恢复练习
2009-09-27 18:06 16191.创建表空间SQL>create tablespace ... -
误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)
2009-09-27 18:01 3376要达到删除数据,有以下几种方式都可以:1、delete2、dr ... -
IMP数据到指定的表空间
2009-09-27 12:47 9087IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1874为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3057一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1976加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2054一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 7927AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1470select to_char(sysdate, 'Day'), ...
相关推荐
### Oracle Explain Plan 总结 #### 一、Oracle 执行计划的重要性 在Oracle数据库中,为了提高查询效率和...无论是使用`EXPLAIN PLAN`还是`AUTOTRACE`,都能够帮助我们更好地理解SQL语句的执行流程,并据此进行优化。
Oracle 中的 explain_plan 是一个强大的分析工具,能够帮助用户了解 SQL 语句的执行计划,通过它可以了解 Oracle 是如何连接表、使用什么方式扫描表(索引扫描或全表扫描)以及使用到的索引名称。下面详细讲解 ...
使用SQL*Plus可以说明连接和会话间的区别。 使用autotrace命令时可以产生两个会话,通过一个使用单个进程的连接也可以建立两个会话。例如,在SQL*Plus中执行以下操作: SQL>select username,sid,serial#,server,...
在SQL语句中使用/*+parallel(t,4)*/提示可以让Oracle在执行查询时使用并行处理,这里的数字4表示使用4个并行线程。在处理大型数据表时,这可以显著提高查询性能。 14. CRAS和CREATE INSERT的性能测试 CRAS是创建表...
8.5.5 使用 AUTOTRACE 获得 SQL 语句 执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2 使动态扩充最小化 8.6.3 分布回退段的 I/O 8.7 优化索引 8.7.1 怎样确定和重建产生碎片的索引 8.7.2 ...
在Oracle数据库中,可以使用`SET AUTOTRACE ON`命令来展示实际执行的SQL语句的执行计划。例如,查询各部门员工信息的SQL语句,其执行计划可能如下: ``` ExecutionPlan -------------------------------------------...
此外,文件还提到了使用SET AUTOTRACE ON和EXPLAIN PLAN命令来查看SQL的执行计划,以及通过DBMS_XPLAN.DISPLAY()函数来显示具体的执行计划信息。 性能监控的另一重要工具是statspack,它能够在业务高峰期快速抓取...
§10.13.8 使用ORACLE 诊断工具 126 第三部分 ORACLE应用系统开发优化 128 第11章 诊断与调整工具- 128 §11.1 警告日志文件 128 §11.1.1 警告日志文件管理 128 §11.1.2 参考警告日志文件调整 128 §11.2 后台进程...
- **SQL*PLUS环境**:详细说明了如何设置和使用SQL*PLUS环境,这是Oracle提供的一个交互式SQL和PL/SQL语句运行环境。 - **自动追踪设置**:解释了如何在SQL*PLUS中设置AUTOTRACE,以便自动追踪SQL语句的执行计划和...
在Oracle中,默认情况下使用的优化器模式为`CHOOSE`,这意味着如果查询涉及的表有可用的统计信息,则使用CBO,否则使用RBO。可以通过以下命令查看当前会话的优化器模式: ```sql SHOW PARAMETERS optimizer_mode; `...
Oracle性能调优主要包括查询处理、执行计划分析(Explain plan)和自动追踪(Autotrace)等技术,这些都是提升数据库性能的关键手段。 查询处理是数据库系统的核心功能之一,涉及如何高效地执行SQL查询。在查询处理...
Autotrace是Oracle提供的一种方便查看SQL执行计划和统计信息的功能。它可以通过命令行设置不同的模式: - `set autotrace off`: 关闭autotrace功能。 - `set autotrace on explain`: 显示执行计划。 - `set ...
综上所述,文档提供的信息说明了通过精心编写和优化SQL语句,可以显著提升ORACLE数据库的性能。这涉及到对执行计划的分析、合理使用索引、避免不必要的资源消耗以及诊断和优化慢查询等多个方面。数据库管理员和...
根据提供的文件信息,这里将对Oracle常用命令进行详细的解析与说明。从标题“Oracle 常用命令大全”以及描述“Oracle 常用命令大全”来看,文章旨在全面介绍Oracle数据库中的各种实用命令。接下来,我们将逐一分析并...