- 浏览: 56806 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
最新评论
-
yvonxiao:
这个的确好用,我记得我以前是自己写了个存储过程来解决这种递归问 ...
Oracle Start With Connect By
1.创建表,通过utlxplan脚本
SQL> @?/rdbms/admin/utlxplan
Table created.
2. 创建同义词为了多个用户可以共享一个plan_table 并授权给public
SQL> create public synonym plan_table for plan_table;
Synonym created.
SQL> grant all on plan_table to public;
Grant succeeded.
3.创建plustrace 角色
SQL> @?/sqlplus/admin/plustrce.sql 执行这个脚本就可以了。
SQL> drop role plustrace;
drop role plustrace
*
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist
SQL> create role plustrace;
Role created.
SQL>
SQL> grant select on v_$sesstat to plustrace;
Grant succeeded.
SQL> grant select on v_$statname to plustrace;
Grant succeeded.
SQL> grant select on v_$mystat to plustrace;
Grant succeeded.
SQL> grant plustrace to dba with admin option;
Grant succeeded.
SQL>
SQL> set echo off
4、将角色权限授予public
sql>grant plustrace to public;
完成以上几步就可以使用autotrace 功能
set autotrace off 默认为不打开
set autotrace on 查看执行计划和查询信息
set autotrace traceonly 只显示执行计划,但不显示查询输出
SQL> @?/rdbms/admin/utlxplan
Table created.
2. 创建同义词为了多个用户可以共享一个plan_table 并授权给public
SQL> create public synonym plan_table for plan_table;
Synonym created.
SQL> grant all on plan_table to public;
Grant succeeded.
3.创建plustrace 角色
SQL> @?/sqlplus/admin/plustrce.sql 执行这个脚本就可以了。
SQL> drop role plustrace;
drop role plustrace
*
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist
SQL> create role plustrace;
Role created.
SQL>
SQL> grant select on v_$sesstat to plustrace;
Grant succeeded.
SQL> grant select on v_$statname to plustrace;
Grant succeeded.
SQL> grant select on v_$mystat to plustrace;
Grant succeeded.
SQL> grant plustrace to dba with admin option;
Grant succeeded.
SQL>
SQL> set echo off
4、将角色权限授予public
sql>grant plustrace to public;
完成以上几步就可以使用autotrace 功能
set autotrace off 默认为不打开
set autotrace on 查看执行计划和查询信息
set autotrace traceonly 只显示执行计划,但不显示查询输出
发表评论
-
oracle 命令
2009-02-05 20:30 1011一、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 1170--查询所有的死锁: SELECT * FROM V$LOCK ... -
如何启用sqlplus的AutoTrace功能收藏
2009-01-21 11:31 847通过以下方法可以把Autotrace的权限授予Everyone ... -
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部分组成: 文件, 内存结 ...
相关推荐
Oracle的Autotrace是SQL*Plus中的一个强大工具,它主要用于帮助数据库管理员和开发人员分析SQL查询的执行计划,并收集执行时的性能统计数据。通过这些信息,可以有效地进行SQL查询优化,提高数据库的性能。下面是...
使用 set autotrace on 语句可以查看 SQL 的执行计划,并且可以使用 explain plan 语句来查看执行计划的详细信息。在优化器模式为 CHOOSE 时,如果表有统计信息,优化器将选择 Cost-Based Optimizer(CBO),否则...
以上内容概述了Oracle数据库中关于PL/SQL编程的一些关键概念和技术,包括如何查看和优化SQL执行计划、如何使用自动跟踪功能以及如何进行索引的管理和优化等。这些知识点对于Oracle数据库管理员和开发人员来说都是...
- 在SQL Plus中使用`SET AUTOTRACE ON`命令。 - 使用`UTLXPLAN.SQL`脚本创建`PLAN_TABLE`表,然后执行SQL语句,其执行计划将被存储在该表中供后续分析。 3. **使用CBO与RULE的区别** CBO(Cost-Based Optimizer...
2. **查看SQL执行计划**:要查看SQL的执行计划,可以设置`autotrace`为`on`,然后使用`explain plan set statement_id`和`dbms_xplan.display`来显示详细信息。这有助于分析查询性能并优化SQL语句。 3. **CBO与RULE...
2. **查看SQL执行计划**:在SQL*Plus中,可以通过设置`SET AUTOTRACE ON`或使用`EXPLAIN PLAN FOR`命令,然后执行`SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);`来查看SQL的执行计划。此外,可以创建`PLAN_TABLE`来...
答案是执行计划是数据库内部的执行步骤,可以通过 set autotrace on、select * from table、alter session set event '10046 trace name context forever,level 12 ';SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION=(SID...
从执行计划可以看到,Oracle选择了索引范围扫描的方式访问数据: ```sql 21 INDEX(RANGESCAN) OF 'INDX_T' (NON-UNIQUE) (Cost=2 Card=20) ``` 这是因为`object_type`是组合索引的第一列,因此可以有效地利用该...
- 使用 SQLPlus 的 `SET AUTOTRACE ON`: 这个命令会在执行 SQL 时自动显示执行计划。 - 使用 `ALTER SESSION SET SQL_TRACE = TRUE;`: 此命令启用 SQL 跟踪,之后执行的 SQL 会被记录到追踪文件中。 - 使用 `EXPLAIN...
2. 查看 SQL 执行计划:使用 set autotrace on 和 explain plan 语句 3. 使用 CBO 和 RULE 的区别:CBO 试图找到最低成本的访问数据方法,而 RULE 遵循简单的分级方法学 4. 定位重要(消耗资源多)的 SQL:使用 v$...
查看 SQL 执行计划的方法 #### 方法一:使用 `EXPLAIN PLAN` 和 `PLAN_TABLE` ```sql EXPLAIN PLAN SET STATEMENT_ID = 'QUERY1' FOR SELECT * FROM a WHERE aa = 1; SELECT operation, options, object_name, ...
- 在 Oracle 中,可以通过设置 `AUTOTRACE` 来查看 SQL 的执行计划: ```sql SET AUTOTRACE ON SET STATEMENT_ID='ITEM_ID' EXEC '&SQL'; ``` 或者使用 DBMS_XPLAN 包来显示执行计划: ```sql SELECT * FROM...
可以通过设置`AUTOTRACE`参数并在执行SQL语句后查看执行计划: ```sql SET AUTOTRACE ON SET STATEMENT_ID='item_id' FOR SQL; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); ``` 另外,也可以参考Oracle官方文档获取...
- 另一种方法是使用 `SET AUTOTRACE ON`,直接在 SQL*Plus 中运行 SQL 语句时自动显示执行计划。 3. **如何使用 CBO,CBO 与 RULE 的区别** - **CBO (Cost-Based Optimizer)**: 根据统计信息评估不同执行计划的...
- 使用`SET AUTOTRACE ON`命令。 - 执行`ALTER SESSION SET EVENT '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';` - 使用`SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION`过程。 - 通过PL/SQL Developer工具查看。...
查看SQL执行计划 - **使用 AUTOTRACE 功能**: - 配置AUTOTRACE功能:`SET AUTOTRACE ON` - 分析SQL语句:`EXPLAIN PLAN FOR SELECT * FROM EMP;` - 显示执行计划:`SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_...
- **查看执行计划的方式**:可以通过多种方式查看SQL语句的执行计划。 - 使用`SET AUTOTRACE ON`命令。 - 使用`EXPLAIN PLAN`命令结合`V$SQL_PLAN`视图。 - 设置`10046`事件跟踪或使用`DBMS_SYSTEM.SET_SQL_TRACE...
1. 使用`SET AUTOTRACE ON`命令,然后执行SQL语句。 2. 使用`EXPLAIN PLAN`结合`V$SQL_PLAN`视图。 3. 设置跟踪事件10046,即`ALTER SESSION SET EVENT '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';`。 4. 使用`...
Oracle 9i采用的是Rule-Based Optimization(RBO),即基于规则的优化器,它根据预定义的规则来决定执行计划。而在Oracle 10g及之后的版本,默认使用Cost-Based Optimization(CBO),即基于成本的优化器,CBO会根据...