通过以下方法可以把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>
分享到:
相关推荐
下面是关于启用Autotrace功能的详细步骤和相关知识点: 1. **初始化设置** 在Oracle 9i中,启用Autotrace前需要进行一些初步配置。首先,使用`sys`用户登录到数据库,运行`utlxplan.sql`脚本。这个脚本位于`$...
要启用`AUTOTRACE`功能,同样需要先确保`plan_table`表存在。可以按照前面提到的方法创建该表。接下来,还需要创建一个角色`plustrace`,以便用户能够使用`AUTOTRACE`功能。具体步骤如下: - 在UNIX环境下运行:`$...
1. **Autotrace设置**:通过`set autotrace on`或`set autotracetraceonly explain`启用自动追踪功能,以获取SQL语句的执行计划。这有助于理解查询的执行路径和优化策略。 2. **Timing设置**:使用`set timing on`...
- `set auto`:启用或禁用autotrace,用于查看SQL执行计划和性能分析。 autotrace是Oracle数据库中一个非常实用的工具,它可以生成SQL的执行计划,提供执行时间、缓冲区获取次数等统计信息,帮助优化SQL性能。尽管...
- `set autorecovery {on|off}`:启用或禁用自动恢复功能。 - `set autotrace {on|off|trace[only]} [explain[statistics]]`:为SQL语句生成执行计划和性能统计信息。 - `set blockterminator {O|on|off}`:定义PL/...
例如,可以使用 SET AUTOTRACE ON 命令启用 AutoTrace,然后就可以看到 SQL 语句的执行计划和执行成本信息。此外,还可以使用 SET Timing On 或者 Set Time On 命令,获取更多的执行信息。在 Toad 中,可以按下 Ctrl...
#### 三、自动跟踪(Autotrace)功能 自动跟踪(Autotrace)是 SQL*Plus 中的一个特性,它可以自动显示执行计划和执行统计信息,方便开发者分析 SQL 语句的执行效率。 - **开启 Autotrace:** - `SET AUTOTRACE ...
为了查看SQL执行计划,首先需要启用`Auto_trace`功能。以下是一些关键步骤: - **设置Auto_trace**: - 连接到Oracle数据库。 - 创建`plan_table`表和公共同义词。 - 授予权限给所有用户。 - 设置Auto_trace为...
- `$ORACLE_HOME/sqlplus/admin/plustrce.sql` 用于启用PL/SQL跟踪功能。 - **公共同义词**:为了使所有用户都能访问执行计划表,可以创建一个公共同义词: ```sql SQL> CREATE PUBLIC SYNONYM plan_table FOR ...
- 在 SQL*Plus 中启用 AUTOTRACE:`SET AUTOTRACE ON`。 - 运行 SQL 语句,SQL*Plus 将自动显示执行计划和统计信息。 **使用技巧**: - 使用 `SET AUTOTRACE TRACEONLY` 来仅显示执行计划而不显示结果集。 - 使用 `...
6. **SQL执行计划**:使用`AUTOTRACE`功能可以方便地查看SQL的执行计划。 ```sql SET autotrace ON EXPLAIN PLAN FOR SELECT * FROM t; ``` 7. **SQL跟踪**:启用SQL跟踪,以便更细致地分析SQL语句的执行情况。...
- **方法一:SQLPLUS中的SETTRACE功能** - **命令**:`SET AUTOTRACE ON` - **作用**:自动显示SQL执行计划和性能统计数据。 - **在命令行下使用explainplan** - **命令**:`EXPLAIN PLAN SET STATEMENT_ID = '...
- 使用 SQLPlus 的 `SET AUTOTRACE ON`: 这个命令会在执行 SQL 时自动显示执行计划。 - 使用 `ALTER SESSION SET SQL_TRACE = TRUE;`: 此命令启用 SQL 跟踪,之后执行的 SQL 会被记录到追踪文件中。 - 使用 `EXPLAIN...