引用网址:http://www.cnblogs.com/cangos/archive/2011/12/19/2293935.html
今天在一台机器中想分析下执行计划,但是在sqlplus中输入set autotrace on 报cannot set autotrace 错误
解决方法如下:
首先必须采用用Oracle的sqlplus登陆sys账号
sqlplus " sys/sys@XXX as sysdba "
然后执行如下脚本:
@F:\oracle\product\10.2.0\db_1\sqlplus\admin\plustrce.sql (创建plustrace角色并授权)
@F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql (创建执行计划的表)
然后执行: grant all on plan_table to public; (也可以授权给某一个单独的用户)
grant plustrace to public ;
运行结果:
SQL> grant all on plan_table to public;
授权成功。
SQL> grant plustrace to public ;
授权成功。
然后就可以进行 set autotrace了 但是只能在sqlplus中运行相关命令,在pl/sql developer等工具中仍然报错
运行结果:
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,但是不显示查询输出
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) |
在磁盘上执行的排序量 |
相关推荐
但是,在 sqlplus 工具下,使用 set autotrace on 和 set timing on 的方式是比较简便的。 使用 set autotrace on 和 set timing on 可以得到 SQL 语句的实际运行时间和查询计划。首先,在 sqlplus 工具下,输入 ...
3. **查看执行结果**:在SQLPlus中执行完`execute.sql`后,可以查看每条SQL语句的执行结果以及是否有任何错误发生。如果在SQL文件中加入了`show error;`语句,则可以直接查看错误信息。 #### 三、注意事项 1. **...
只需在执行SQL语句之前输入`set autotrace on`命令。这将自动追踪接下来执行的SQL语句,展示执行计划和性能统计信息。 5. **解决权限问题** 如果遇到“ORA-01039: 视图基本对象的权限不足”的错误,可能是因为用户...
在SQL*Plus环境中,`set`命令是一种非常重要的工具,用于调整用户会话的各种设置,以优化输出格式、控制查询行为或改善交互式操作的体验。以下是对标题和描述中涉及的`set`命令常用用法的详细说明: 1. **设置页面...
在Linux环境下,SQL*Plus是Oracle数据库管理系统的命令行工具,用于执行SQL语句和PL/SQL块。然而,有时用户可能会遇到字符编码问题,导致输出显示为乱码。这通常与系统环境变量、终端设置或者数据库自身的字符集不...
### Oracle SQLPlus 测试出现错误的解决方法 在使用Oracle SQLPlus工具时,尤其是在Windows 7环境下通过命令提示符(CMD)启动SQLPlus时,可能会遇到一个常见的错误:SP2-1503: 无法初始化 Oracle 调用界面。这个...
摘要:本文主要介绍了在 SQLPlus 中改变字体和字符集的方法,对于 Oracle 数据库管理员来说,这是一项非常重要的技能。通过对注册表的修改,可以改变 SQLPlus 中的字体大小和字符集,从而提高工作效率。 知识点一:...
通过熟练运用这些技巧,你将在SQLPlus环境中更加游刃有余,提高你的工作效率,减少手动输入的错误,并更好地管理你的SQL查询和脚本。记住,实践是提高技能的关键,不断尝试和熟悉这些方法,你将成为SQLPlus的专家。
### 获取SQL语句的执行计划 在Oracle数据库中,了解SQL语句的执行...以上方法涵盖了在Oracle数据库中获取SQL语句执行计划的主要途径。根据实际需求选择合适的方法,可以帮助开发者和DBA更好地理解并优化SQL查询性能。
在实际应用中,熟练使用SQLPlus不仅可以进行数据查询,还可以创建和修改数据库对象,执行数据库备份和恢复,以及进行性能优化等高级任务。因此,熟悉SQLPlus及相关的中文插件对于从事Oracle数据库管理工作的专业人士...
SQLPLUS是Oracle数据库系统中的一个命令行工具,用于执行SQL语句和PL/SQL块,进行数据查询、数据库管理以及数据库脚本的编写。这个"SQLPLUS命令查询文档"很可能是一个详细介绍了SQLPLUS使用方法的CHM(Compiled ...
SQLplus 日期格式和中文乱码解决方法 在数据库中查询数据时,我们经常会遇到日期时间格式的问题,例如显示语言、显示格式等。这可能是因为数据库中存储的格式是YYYY-MM-DD HH24:MI:SS,但是查询出来的却是22-1月-10...
在SQL*Plus中,用户可能会遇到输入删除键(Delete)或方向键时出现乱码的问题。这通常是由于终端编码设置不正确或者SQL*Plus的NLS设置与系统环境不匹配导致的。以下是一些详细的知识点,帮助你解决这个问题: 1. **...
在Oracle数据库环境中,当用户尝试使用oci(Oracle Call Interface)或者sqlplus进行连接时,可能会遇到"ORA-12737"错误。这个错误通常表明客户端与服务器之间的字符集不兼容,具体在这个例子中是"Instant Client ...
在Bash Shell脚本中,我们可以利用SQLPLUS的这些特性来执行一系列数据库操作。例如,创建一个Shell脚本,其中包含SQLPLUS命令行,可以实现数据备份、查询、更新等任务。使用`system()`或`echo`命令将SQLPLUS命令传递...
1.本机 orcl 数据库:需要在 tnsnames.ora 中配置 ORCL,否则报“ORA-12514:TNS:无法解析指定的连接符”的错误。 2.本机 cesp 数据库:同上,需要在 tnsnames.ora 中配置。 3.远程 scordbd1 数据库:同上,需要在...
2. 退出SQLPLUS:在SQLPLUS会话中,输入`EXIT`或`QUIT`命令即可退出。 二、SQLPLUS基本命令 1. `HELP`:显示SQLPLUS的帮助信息,如`HELP command`显示特定命令的帮助。 2. `\h`:同`HELP`,用于查看帮助。 3. `\p`...
SQLPlus是Oracle数据库管理系统中的一个实用工具,它允许用户通过命令行界面执行SQL查询、脚本和数据库管理任务。这个“SQLPlus命令使用大全PDF”很可能是为用户提供了一个全面的指南,涵盖了各种SQLPlus操作和命令...
4. 使用SQLPLUS执行批处理: 执行批处理文件,需要在SQLPLUS命令行中调用该文件。打开命令行窗口,输入以下命令: ``` sqlplus 用户名/密码@数据库实例 @batch.sql ``` 这里的"用户名"是数据库的登录账号,"密码...