一、权限问题:
A.以SYS用户登录:
oracle>sqlplus '/ as sysdba';
B.运行utlxplan.sql($ORACLE_HOME/rdbms/admin下) 脚本创建 PLAN_TABLE;
grant all on plan_table to scott;
C.通过执行 plustrce.sql($ORACLE_HOME/sqlplus/admin/plustrce.sql)脚本创建 plustrace 角色
grant plustrace to scott;
grant select any dictionary to scott;
二、设置Autotrace的命令。
|
序号 |
命令 |
解释 |
|
1 |
SET AUTOTRACE OFF |
此为默认值,即关闭Autotrace |
|
2 |
SET AUTOTRACE ON |
产生结果集和解释计划并列出统计 |
|
3 |
SET AUTOTRACE ON EXPLAIN |
显示结果集和解释计划不显示统计 |
|
4 |
SETAUTOTRACE TRACEONLY |
显示解释计划和统计,尽管执行该语句但您将看不到结果集 |
|
5 |
SET AUTOTRACE TRACEONLY 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) |
在磁盘上执行的排序量 |
select L3.lookup_type
from ra_cust_trx_line_gl_dist_all CTLGD ,ar_lookups L3
Where L3.lookup_type= decode(ctlgd.collected_tax_ccid, null, 'AUTOGL_TYPE', 'DISTRIBUTION_SOURCE_TYPE');)
1
2 ----------------------------------------------------------------------------------------
3 | Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
4 ----------------------------------------------------------------------------------------
5 | 0 | SELECT STATEMENT | | 2705K| 108M| 14998 (3)|
6 |* 1 | HASH JOIN | | 2705K| 108M| 14998 (3)|
7 |* 2 | TABLE ACCESS FULL| FND_LOOKUP_VALUES | 13571 | 384K| 2189 (2)|
8 | 3 | TABLE ACCESS FULL| RA_CUST_TRX_LINE_GL_DIST_ALL | 2597K| 32M| 12782 (3)|
9 ----------------------------------------------------------------------------------------
11 Predicate Information (identified by operation id):
14 1 - access("LV"."LOOKUP_TYPE"=DECODE(TO_CHAR("CTLGD"."COLLECTED_TAX_CCID"),NU
15 LL,'AUTOGL_TYPE','DISTRIBUTION_SOURCE_TYPE'))
16 2 - filter("LV"."VIEW_APPLICATION_ID"=222 AND
17 "LV"."LANGUAGE"=USERENV('LANG') AND "LV"."SECURITY_GROUP_ID"=0)
和
select L3.lookup_type
from ar_lookups L3,
(select decode(ctlgd.collected_tax_ccid, null, 'AUTOGL_TYPE', 'DISTRIBUTION_SOURCE_TYPE') can
from ra_cust_trx_line_gl_dist_all CTLGD) ct1
where L3.lookup_type=ct1.can;)
2 ----------------------------------------------------------------------------------------
3 | Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
4 ----------------------------------------------------------------------------------------
5 | 0 | SELECT STATEMENT | | 2705K| 108M| 14998 (3)|
6 |* 1 | HASH JOIN | | 2705K| 108M| 14998 (3)|
7 |* 2 | TABLE ACCESS FULL| FND_LOOKUP_VALUES | 13571 | 384K| 2189 (2)|
8 | 3 | TABLE ACCESS FULL| RA_CUST_TRX_LINE_GL_DIST_ALL | 2597K| 32M| 12782 (3)|
9 ----------------------------------------------------------------------------------------
11 Predicate Information (identified by operation id):
14 1 - access("LV"."LOOKUP_TYPE"=DECODE(TO_CHAR("CTLGD"."COLLECTED_TAX_CCID"),NU
15 LL,'AUTOGL_TYPE','DISTRIBUTION_SOURCE_TYPE'))
16 2 - filter("LV"."VIEW_APPLICATION_ID"=222 AND
17 "LV"."LANGUAGE"=USERENV('LANG') AND "LV"."SECURITY_GROUP_ID"=0)
自己总结,如有不对,望各位高手指出
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27059641/viewspace-755901/ ,如需转载,请注明出处,否则将追究法律责任。