`
fourfire
  • 浏览: 411299 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

启用sqlplus的autotrace功能

    博客分类:
  • db
阅读更多
通过以下方法可以把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 explain plan总结

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

    oracle 小结 sqlplus 系统表

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

    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默认用户名与密码速查表.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 ...

    dba常用sql多年长期总结

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

    Oracle面试题

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

Global site tag (gtag.js) - Google Analytics