oracle autotrace使用
来源:互联网 发布:淘宝网的商业模式 编辑:程序博客网 时间:2024/05/05 06:54
AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句的处理有
的统计。SQL*Plus AUTOTRACE可以用来替代SQL Trace使用,AUTOTRACE的好处是您不必设置跟踪文件的格式,并且它将自动为SQL语句显示执行计划。然而,AUTOTRACE分析和执行语句;而EXPLAIN PLAN仅分析语句。使用AUTOTRACE不会产生跟踪文件。
一、启用Autotrace功能。
任何以SQL*PLUS连接的session都可以用Autotrace,不过还是要做一些设置的,否则可能报错
SQL> set autotrace on
SP2-0613: Unable to verify PLAN_TABLE format or existence
SP2-0611: Error enabling EXPLAIN report
该错误的的主要原因是由于当前用户下没有PLAN_TABLE这张表及相应的PLUSTRACE角色权限。
2、解决方法:
A.以SYS用户登录:
C:\Documents and Settings\Ares>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on Sat Sep 29 20:09:36 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL>
B.运行utlxplan.sql(rdbms/admin下)脚本创建PLAN_TABLE;
NT:(D:\oracle\rdbms\admin\utlxplan.sql)
Linux/Unix($oracle_home/rdbms/admin/utlxplan.sql)
SQL>@ D:oracle\rdbms\admin\utlxplan.sql
Table created.
create table PLAN_TABLE (
statement_id varchar2(30),
plan_id number,
timestamp date,
remarks varchar2(4000),
operation varchar2(30),
options varchar2(255),
object_node varchar2(128),
object_owner varchar2(30),
object_name varchar2(30),
object_alias varchar2(65),
object_instance numeric,
object_type varchar2(30),
optimizer varchar2(255),
search_columns number,
id numeric,
parent_id numeric,
depth numeric,
position numeric,
cost numeric,
cardinality numeric,
bytes numeric,
other_tag varchar2(255),
partition_start varchar2(255),
partition_stop varchar2(255),
partition_id numeric,
other long,
distribution varchar2(30),
cpu_cost numeric,
io_cost numeric,
temp_space numeric,
access_predicates varchar2(4000),
filter_predicates varchar2(4000),
projection varchar2(4000),
time numeric,
qblock_name varchar2(30),
other_xml clob
);
C.通过执行plustrce.sql(ORACLE_HOME/sqlplus/admin/plustrce.sql)脚本创建plustrace角色,这将V$视图上
的选择权限授予该角色,也将plustrace角色授予DBA角色
SQL> @d:\oracle\sqlplus\admin\plustrce.sql
drop role plustrace;
create role plustrace;
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$mystat to plustrace;
grant plustrace to dba with admin option;
D.将plustrace角色授予当前用户(无DBA角色的用户)。
grant plustrace to jojoa;
grant select any dictionary to jojoa;
二、设置Autotrace的命令。
序号
命令
解释
1
SET AUTOTRACE OFF
此为默认值,即关闭Autotrace
2
SET AUTOTRACE ON
产生结果集和解释计划并列出统计
3
SET AUTOTRACE ON EXPLAIN
显示结果集和解释计划不显示统计
4
SET AUTOTRACE TRACE ONLY
显示解释计划和统计,尽管执行该语句但您将看不到结果集
5
SET AUTOTRACE
TRACE ONLY STATISTICS
只显示统计
Eg:SET AUTOTRACE ON,set timing on,alter session set time_statistics=true;
.
三、Autotrace执行计划的各列的涵义
序号
列名
解释
1
ID_PLUS_EXP
每一步骤的行号
2
PARENT_ID_PLUS_EXP
每一步的Parent的级别号
3
PLAN_PLUS_EXP
实际的每步
4
OBJECT_NODE_PLUS_EXP
Dblink或并行查询时才会用到
四、AUTOTRACE Statistics常用列解释
序号
列名
解释
1
db block gets
从buffer cache中读取的block的数量
2
consistent gets
从buffer cache中读取的undo数据的block的数量
3
physical reads
从磁盘读取的block的数量
4
redo size
DML生成的redo的大小
5
sorts (memory)
在内存执行的排序量
7
sorts (disk)
在磁盘上执行的排序量
- ORACLE 使用AUTOTRACE功能
- ORACLE之autotrace使用
- ORACLE之autotrace使用
- oracle autotrace使用
- ORACLE 使用AUTOTRACE功能
- ORACLE之autotrace使用
- ORACLE之autotrace使用
- ORACLE之autotrace使用
- Oracle autotrace
- oracle autotrace
- oracle autotrace
- 如何使用Oracle中autotrace来实现性能优化
- Oracle 非dba用户 使用 set autotrace 功能
- Oracle 非dba用户 使用 set autotrace 功能
- autotrace setup oracle
- oracle set autotrace
- oracle autotrace problem
- Setting Oracle AUTOTRACE&STATSPACK
- body标签
- Python学习
- SSL配置
- 『转』PowerDesigner设置集锦
- 外边距叠加
- oracle autotrace使用
- Driver API tracing
- 物联网
- Dijkstra算法matlab代码
- 日期的加减
- date的命令
- 《矩阵计算》习题1.1.6
- ARM芯片的引导过程
- 返回非整数的函数(输入一串数字,改变其形式以计数)