- 浏览: 56803 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
最新评论
-
yvonxiao:
这个的确好用,我记得我以前是自己写了个存储过程来解决这种递归问 ...
Oracle Start With Connect By
通过以下方法可以把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权限,可以把对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 命令
2009-02-05 20:30 1010一、ORACLE的启动和关闭 ... -
通过dbms_flashback找回误删除的数据收藏
2009-01-21 11:35 1346在使用DBMS_FLASHBACK时要首先注意以下几个事项: ... -
优化Oracle数据库性能收藏
2009-01-21 11:35 889优化策略 为了保 ... -
Oracle Start With Connect By
2009-01-21 11:33 1572Start With Connect By 是用来实现在一个 ... -
Oracle 表空间操作收藏
2009-01-21 11:32 1009创建表空间: 1、递增 ... -
移动数据文件收藏
2009-01-21 11:32 736移动数据文件: 1、首先使要移动数据文件的表空间离线. ... -
Oracle 死锁会话处理收藏
2009-01-21 11:31 1169--查询所有的死锁: SELECT * FROM V$LOCK ... -
Oracle 9i 打开autotrace on 查看执行计划收藏
2009-01-21 11:31 13321.创建表,通过utlxplan脚本 SQL> @? ... -
user和schema的区别:
2009-01-21 11:30 1053说穿了其实user是控制权限的,而schema是个容器,非所有 ... -
解决Oracle数据文件和日志文件丢失的问题收藏
2009-01-21 11:29 2101今天不小心误删除了数据库的数据文件和日志文件,在启动数据库时报 ... -
Oracle表段中的高水位线HWM收藏
2009-01-21 11:28 2633在Oracle数据的存储中, ... -
深入了解oracle的高水位(HWM)收藏
2009-01-21 11:26 2273说到HWM,我们首先要简要的谈谈ORACLE的逻辑存储管理.我 ... -
ORACLE 日志文件相关查询收藏
2009-01-21 11:25 11921.查询系统使用的是哪一组日志文件: select * fro ... -
ORACLE热备份恢复手册收藏
2009-01-21 11:22 2330概要 1.1. 本文的目的 为了模拟测试oracle热备份的 ... -
(转)windows命令行下启动oracle
2009-01-21 09:56 1528--总结启动命令如下: lsnrctl [start|stop ... -
小议分析函数中排序对结果的影响(一)
2009-01-12 13:24 926分析函数中经常会包括O ... -
ORACLE10g新特性——全局HASH分区索引
2009-01-12 13:23 1762在10g以前,Oracle的全局索引分区方法只有一种,即范围分 ... -
深入认识Oracle Supplemental logging
2008-12-22 18:35 3143对于有过逻辑standby,streams搭建体验的朋友,肯定 ... -
深入分析Oracle数据库日志文件
2008-12-22 15:19 999深入分析Oracle数据库日志文件 作者:程永新 发文时间: ... -
oracle 介绍
2008-09-20 21:04 1159第二章 架构 ORACLE架构由3部分组成: 文件, 内存结 ...
相关推荐
下面是关于启用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...