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目录下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 10053是Oracle数据库的一个跟踪事件,用于生成查询优化器的详细执行计划。当启用该事件时,数据库会生成一个详细的日志文件,其中包含了优化器在执行查询时所做的决策和推断的详细信息。 这个日志文件通常非常庞大,并且包含了大量的技术细节。它可以帮助数据库管理员和开发人员更好地理解查询优化器的工作方式,并且可以用于调优查询性能。 解读Oracle 10053日志需要一定的经验和知识。以下是一些常见的步骤和注意事项: 1. 找到日志文件:Oracle 10053日志文件的默认位置是在数据库服务器的跟踪目录中。跟踪目录的位置可以通过查询V$DIAG_INFO视图来确定。 2. 开启10053跟踪事件:在需要分析的会话中,使用以下命令启用10053事件: ALTER SESSION SET EVENTS '10053 trace name context forever, level <level>'; 这里的"<level>"可以是1、10、100等级,级别越高,日志中包含的详细信息越多,但也会导致日志文件变得更大。 3. 分析日志文件:使用适当的文本编辑器打开日志文件,开始分析其中的内容。通常,日志文件会包含查询的各个阶段的详细信息,包括查询转换、代价估算和执行计划等。 注意,由于日志文件非常庞大,其中的信息可能有些混乱和复杂。可能需要结合官方文档和其他资源来理解日志中的内容。 4. 关闭10053跟踪事件:在分析完日志文件后,记得关闭10053事件,以避免不必要的跟踪数据生成: ALTER SESSION SET EVENTS '10053 trace name context off'; 请注意,Oracle 10053日志的解读需要一定的经验和专业知识。如果您对查询优化器和Oracle数据库的内部工作原理不熟悉,建议寻求有经验的数据库管理员或专家的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值