`

如何启用sqlplus的AutoTrace功能

阅读更多

通过以下方法可以把Autotrace的权限授予Everyone,

如果你需要限制Autotrace权限,可以把对public的授权改为对特定user的授权。

 

 

D:\oracle\ora92>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 3 15:16:03 2003

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect sys as sysdba
请输入口令:
已连接。
SQL> @?\rdbms\admin\utlxplan

表已创建。

SQL> create public synonym plan_table for plan_table;

同义词已创建。

SQL> grant all on plan_table to public ;

授权成功。

SQL> @?\sqlplus\admin\plustrce
SQL>
SQL> drop role plustrace;
drop role plustrace
*
ERROR 位于第 1 行:
ORA-01919: 角色'PLUSTRACE'不存在

SQL> create role plustrace;

角色已创建
SQL>
SQL> grant select on v_$sesstat to plustrace;

授权成功。

SQL> grant select on v_$statname to plustrace;

授权成功。

SQL> grant select on v_$session to plustrace;

授权成功。

SQL> grant plustrace to dba with admin option;

授权成功。

SQL>
SQL> set echo off

 

 

DBA用户首先被授予了plustrace角色,然后我们可以把plustrace授予public

这样所有用户都将拥有plustrace角色的权限.

 

 

SQL> grant plustrace to public ;

授权成功。

 

然后我们就可以使用AutoTrace的功能了.

 

 

SQL> connect eqsp/eqsp
已连接。
SQL> set autotrace on
SQL> set timing 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,但是不显示查询输出

 

SQL> set autotrace traceonly
SQL> select table_name from user_tables;

已选择98行。

已用时间: 00: 00: 00.04

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 NESTED LOOPS
2 1 NESTED LOOPS (OUTER)
3 2 NESTED LOOPS (OUTER)
4 3 NESTED LOOPS (OUTER)
5 4 NESTED LOOPS (OUTER)
6 5 NESTED LOOPS
7 6 TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
8 7 INDEX (RANGE SCAN) OF 'I_OBJ2' (UNIQUE)
9 6 TABLE ACCESS (CLUSTER) OF 'TAB$'
10 9 INDEX (UNIQUE SCAN) OF 'I_OBJ#' (NON-UNIQUE)
11 5 TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
12 11 INDEX (UNIQUE SCAN) OF 'I_OBJ1' (UNIQUE)
13 4 INDEX (UNIQUE SCAN) OF 'I_OBJ1' (UNIQUE)
14 3 TABLE ACCESS (CLUSTER) OF 'USER$'
15 14 INDEX (UNIQUE SCAN) OF 'I_USER#' (NON-UNIQUE)
16 2 TABLE ACCESS (CLUSTER) OF 'SEG$'
17 16 INDEX (UNIQUE SCAN) OF 'I_FILE#_BLOCK#' (NON-UNIQUE)
18 1 TABLE ACCESS (CLUSTER) OF 'TS$'
19 18 INDEX (UNIQUE SCAN) OF 'I_TS#' (NON-UNIQUE)

 

Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
1389 consistent gets
0 physical reads
0 redo size
2528 bytes sent via SQL*Net to client
569 bytes received via SQL*Net from client
8 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
98 rows processed

SQL>

分享到:
评论

相关推荐

    oracle使用autotrace 功能

    下面是关于启用Autotrace功能的详细步骤和相关知识点: 1. **初始化设置** 在Oracle 9i中,启用Autotrace前需要进行一些初步配置。首先,使用`sys`用户登录到数据库,运行`utlxplan.sql`脚本。这个脚本位于`$...

    oracle 小结 sqlplus 系统表

    1. **Autotrace设置**:通过`set autotrace on`或`set autotracetraceonly explain`启用自动追踪功能,以获取SQL语句的执行计划。这有助于理解查询的执行路径和优化策略。 2. **Timing设置**:使用`set timing on`...

    oracle explain plan总结

    要启用`AUTOTRACE`功能,同样需要先确保`plan_table`表存在。可以按照前面提到的方法创建该表。接下来,还需要创建一个角色`plustrace`,以便用户能够使用`AUTOTRACE`功能。具体步骤如下: - 在UNIX环境下运行:`$...

    Oracle连接和使用.pdf

    - `set auto`:启用或禁用autotrace,用于查看SQL执行计划和性能分析。 autotrace是Oracle数据库中一个非常实用的工具,它可以生成SQL的执行计划,提供执行时间、缓冲区获取次数等统计信息,帮助优化SQL性能。尽管...

    Oracle数据库基础及应用第05章SQLPlus命令.pptx

    - `set autorecovery {on|off}`:启用或禁用自动恢复功能。 - `set autotrace {on|off|trace[only]} [explain[statistics]]`:为SQL语句生成执行计划和性能统计信息。 - `set blockterminator {O|on|off}`:定义PL/...

    ORACLE命令行查看实际的执行计划

    `SET AUTOTRACE ON`是开启SQLPLUS的自动跟踪功能,它会在你执行SQL语句后显示执行计划和性能统计。在SQLPLUS中输入此命令,系统会记录接下来执行的SQL语句的详细信息,包括解析、执行和收获阶段的信息。 3. **执行...

    Oracle默认用户名与密码速查表.doc

    例如,可以使用 SET AUTOTRACE ON 命令启用 AutoTrace,然后就可以看到 SQL 语句的执行计划和执行成本信息。此外,还可以使用 SET Timing On 或者 Set Time On 命令,获取更多的执行信息。在 Toad 中,可以按下 Ctrl...

    ORACLE之FAQ -- 性能调整

    #### 三、自动跟踪(Autotrace)功能 自动跟踪(Autotrace)是 SQL*Plus 中的一个特性,它可以自动显示执行计划和执行统计信息,方便开发者分析 SQL 语句的执行效率。 - **开启 Autotrace:** - `SET AUTOTRACE ...

    Oracle培训讲义(性能分析与调整).docx

    为了查看SQL执行计划,首先需要启用`Auto_trace`功能。以下是一些关键步骤: - **设置Auto_trace**: - 连接到Oracle数据库。 - 创建`plan_table`表和公共同义词。 - 授予权限给所有用户。 - 设置Auto_trace为...

    oracle笔记二--plsql 编程.txt

    - `$ORACLE_HOME/sqlplus/admin/plustrce.sql` 用于启用PL/SQL跟踪功能。 - **公共同义词**:为了使所有用户都能访问执行计划表,可以创建一个公共同义词: ```sql SQL> CREATE PUBLIC SYNONYM plan_table FOR ...

    SQL优化器相关知识.pptx

    - SQL*PLUS的AUTOTRACE:通过运行sqlplus\admin\plustrce.sql创建PLUSTRACE角色,然后使用SET AUTOTRACE命令开启,可以同时获取执行计划和统计信息,还可以通过SET TIMING ON/OFF查看执行时间。 - v$sql家族视图:如...

    sql_performance_turning

    - 在 SQL*Plus 中启用 AUTOTRACE:`SET AUTOTRACE ON`。 - 运行 SQL 语句,SQL*Plus 将自动显示执行计划和统计信息。 **使用技巧**: - 使用 `SET AUTOTRACE TRACEONLY` 来仅显示执行计划而不显示结果集。 - 使用 `...

    oralce 性能優化

    3) 在SQLPLUS中自动跟踪:若想在执行SQL时同时显示执行计划及相关信息,可以使用`SET AUTOTRACE ON`命令,它会显示执行计划、执行时间和资源消耗。 二、Tkprof工具 Tkprof是一个用于分析Oracle跟踪文件并生成易于...

    dba常用sql多年长期总结

    6. **SQL执行计划**:使用`AUTOTRACE`功能可以方便地查看SQL的执行计划。 ```sql SET autotrace ON EXPLAIN PLAN FOR SELECT * FROM t; ``` 7. **SQL跟踪**:启用SQL跟踪,以便更细致地分析SQL语句的执行情况。...

    ORACLE笔试题[参考].pdf

    第二种是在SQLPLUS中使用`SET AUTOTRACE ON`,这将显示执行计划和统计信息。 3. **CBO(Cost-Based Optimizer)与 RBO(Rule-Based Optimizer)**:CBO是基于成本的优化器,它根据表的统计信息选择成本最低的执行...

    Oracle性能调整建议手册

    - **方法一:SQLPLUS中的SETTRACE功能** - **命令**:`SET AUTOTRACE ON` - **作用**:自动显示SQL执行计划和性能统计数据。 - **在命令行下使用explainplan** - **命令**:`EXPLAIN PLAN SET STATEMENT_ID = '...

    Oracle面试题

    - 使用 SQLPlus 的 `SET AUTOTRACE ON`: 这个命令会在执行 SQL 时自动显示执行计划。 - 使用 `ALTER SESSION SET SQL_TRACE = TRUE;`: 此命令启用 SQL 跟踪,之后执行的 SQL 会被记录到追踪文件中。 - 使用 `EXPLAIN...

Global site tag (gtag.js) - Google Analytics