10053事件

10046:SQL到底是如何执行的

10053:SQL为什么要这样执行

一、数据库代价的计算方法

Oracle数据库代价的计算:

8i版本 COST=I/O,9i以上版本 COST=I/O + CPU (I/O占大约98%的比例,CPU大约占2%的比例)

 Cost = (

         #SRds +  --单块读时间

         #MRds * mreaditm / sreadtim +  --多块读时间

         #CPUCycles / (cpuspeed * sreadtim)  --CPU时间

        ) 

二、生成10053事件

2.1 10053事件有两个级别:

Level 2:2级是1级的一个子集,它包含以下内容:

Column statistics

Single Access Paths

Join Costs

Table Joins Considered

Join Methods Considered (NL/MS/HA)

Level 1: 1级比2级更详细,它包含2级的所有内容,在加如下内容:

Parameters used by the optimizer

Index statistics

2.2 启用10053事件:

ALTER session set tracefile_identifier='masicong';

ALTER SESSION SET EVENTS='10053 trace name context forever, level 1';

ALTER SESSION SET EVENTS='10053 trace name context forever, level 2'; 

关闭10053事件:

ALTER SESSION SET EVENTS '10053 trace name context off';

2.3 SQL_trace路径

在Oracle 10g中,SQL_TRACE生成的trace文件默认路劲是$ORACLE_BASE/admin/SID/udump.       

在Oracle 11g,trace 默认路径在:$ORACLE_BASE/diag/rdbms/orcl/orcl/trace目录下

你可能感兴趣的:(oracle)