Oracle 如何启用执行计划

1 启用Autotrace

1.1 以sys用户,运行utlxplan.sql

sqlplus / as sysdba

SQL> @$ORACLE_HOME/rdbms/admin/utlxpls.sql

1.2 通过执行plustrce.sql脚本创建plustrace角色

SQL> @$ORACLE_HOME/sqlplus/admin/plustrce.sql

1.3 授权

将 plustrace 角色授予当前用户(无 DBA 角色的用户),或者grant plustrace to public;

2 设置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;

3 Autotrace执行计划的各列的涵义

序号

列名

解释

1

ID_PLUS_EXP

每一步骤的行号

2

PARENT_ID_PLUS_EXP

每一步的Parent的级别号

3

PLAN_PLUS_EXP

实际的每步

4

OBJECT_NODE_PLUS_EXP

Dblink或并行查询时才会用到

4 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)

在内存执行的排序量

6

sorts (disk)

在磁盘上执行的排序量

你可能感兴趣的:(Oracle 如何启用执行计划)