通过以下方法可以把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`脚本。这个脚本位于`$...
1. **Autotrace设置**:通过`set autotrace on`或`set autotracetraceonly explain`启用自动追踪功能,以获取SQL语句的执行计划。这有助于理解查询的执行路径和优化策略。 2. **Timing设置**:使用`set timing on`...
要启用`AUTOTRACE`功能,同样需要先确保`plan_table`表存在。可以按照前面提到的方法创建该表。接下来,还需要创建一个角色`plustrace`,以便用户能够使用`AUTOTRACE`功能。具体步骤如下: - 在UNIX环境下运行:`$...
- `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`是开启SQLPLUS的自动跟踪功能,它会在你执行SQL语句后显示执行计划和性能统计。在SQLPLUS中输入此命令,系统会记录接下来执行的SQL语句的详细信息,包括解析、执行和收获阶段的信息。 3. **执行...
例如,可以使用 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:通过运行sqlplus\admin\plustrce.sql创建PLUSTRACE角色,然后使用SET AUTOTRACE命令开启,可以同时获取执行计划和统计信息,还可以通过SET TIMING ON/OFF查看执行时间。 - v$sql家族视图:如...
- 在 SQL*Plus 中启用 AUTOTRACE:`SET AUTOTRACE ON`。 - 运行 SQL 语句,SQL*Plus 将自动显示执行计划和统计信息。 **使用技巧**: - 使用 `SET AUTOTRACE TRACEONLY` 来仅显示执行计划而不显示结果集。 - 使用 `...
3) 在SQLPLUS中自动跟踪:若想在执行SQL时同时显示执行计划及相关信息,可以使用`SET AUTOTRACE ON`命令,它会显示执行计划、执行时间和资源消耗。 二、Tkprof工具 Tkprof是一个用于分析Oracle跟踪文件并生成易于...
6. **SQL执行计划**:使用`AUTOTRACE`功能可以方便地查看SQL的执行计划。 ```sql SET autotrace ON EXPLAIN PLAN FOR SELECT * FROM t; ``` 7. **SQL跟踪**:启用SQL跟踪,以便更细致地分析SQL语句的执行情况。...
第二种是在SQLPLUS中使用`SET AUTOTRACE ON`,这将显示执行计划和统计信息。 3. **CBO(Cost-Based Optimizer)与 RBO(Rule-Based Optimizer)**:CBO是基于成本的优化器,它根据表的统计信息选择成本最低的执行...
- **方法一: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...