trace_explain解析.pdf

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
查找和修补有错误的查询时在很大程度上要借助于合适的工具。不同 的场合需要使用不同的工具。本章谈到的 Oracle 提供的实用程序包括有 SQL TRACE、TKPROF、EXPLAIN PLAN 和 STORED OUTLINE(也称为 PLAN STABILITY)。在Oracle 10g 中,这些工具得到了增强,包括增加了 DBMS_MONITOR 程序包和 TRCSESS。DBMS_MONITOR 程序包的作用是对 SQL 跟踪选项进行集中和扩展。TRCSESS 则是一个命令行工具,开发人员和 DBA 可以借助该工具将多个跟踪文件中的信息合并到一个输出文件中。 本章主要内容: ● 使用 SQLTRACE/TKPROF 的简单步骤 ● SQL TRACE 输出部分 ● 跟踪更复杂的查询,了解如何确定有用信息来提高性能 ● DBMS_MONITOR——10g版本的新特性 ● TRCSESS——10g版本的新特性 ● 使用 EXPLAIN PLAN ● 阅读EXPLAIN PLAN:从头至尾或从尾至头 ● 使用 DBMS_XPLAN ● 另一种 EXPLAIN PLAN 方法:父/子树结构方法 ● 开发工具中的跟踪 ● 表 PLAN_TABLE 中一些重要的列 ● 跟踪错误和未记录入档 (documented)的 init.ora 参数 ● 构建和运用 STORED OUTLINES ● 使用 STORED OUTLINES(PLAN STABILITY)迁移基于规则的优化器中的 SQL 6.1 Oracle 的 SQL TRACE 实用程序 利用 Oracle 的 SQL TRACE 实用程序可以对指定的查询、批处理进程 和整个系统做时间统计。它可以帮助我们彻底地找到系统中可能存在的 瓶颈。SQL TRACE 有如下的功能: ● SQL TRACE 运行这个查询并输出一个所执行的 Oracle 查询(或一系列查询)的统计信息。 ● SQL TRACE 帮助开发人员分析查询的每个部分。 通常情况下,Oracle 的 SQL TRACE 实用程序在一个跟踪文件里记录 了数据库的所有活动(特别是查询)。这个跟踪文件由Oracle SQL TRACE 生成,但它非常难于读取,因此需要用 TKPROF 实用程序把它转换成可以 阅读的格式。 6.1.1 对简单查询使用 SQL TRACE 的简单步骤 下面列出了如何设置并运行 Oracle 的 SQL TRACE 实用程序的步骤: (1) 设置下面的 init.ora 参数 (SPFILE用户将需要使用 ALTER SYSTEM 命令改变这些参数): TIMED_STATISTICS = TRUE MAX_DUMP_FILE_SIZE = unlimited (also see metalink article 108723.1) USER_DUMP_DEST = /oracle/admin/ora9i/udump 参数 TIMED_STATISTICS 允许在系统中执行跟踪操作。 USER_DUMP_DEST 参数指定了文件所在位置,而 MAX_DUMP_FILE_SIZE 参数 则指定了“设备级中最小物理块尺寸”块中最大的文件大小。这也就是 文件能增大的最大值;如果已经到达最大值,将忽略所有后续记录的数 据,它们不会被写入到跟踪文件里,从而可能会丢失。所有这 3 个参数 都可以用 ALTER SYSTEM 命令 (对整个系统)来设置,当下一个用户登录时 就会起作用,但不会对当前已登录到系统的用户起作用。可以使用 ALTER SESSION(对一个单独的会话)命令在会话级别上设定 TIMED_STATISTICS 和 MAX_DUMP_FILE_SIZE。 (2) 对 SQL*Plus 会话启用 SQL TRACE(这样就可以开始对会话进行跟 踪): alter session set SQL_TRACE true; 其实还有其他开始和终止跟踪会话的方法,我们将在本章后面会谈到。 (3) 运行需跟踪的查询: Select table_name, owner, initial_extent,

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档