返回顶部
首页 > 资讯 > 精选 >如何使用10046查看执行计划并读懂trace文件
  • 722
分享到

如何使用10046查看执行计划并读懂trace文件

2023-06-06 01:06:22 722人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何使用10046查看执行计划并读懂trace文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sq

这篇文章给大家分享的是有关如何使用10046查看执行计划并读懂trace文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划中每一个步骤的逻辑读, 物理读以及花费的时间等. 这种细粒度的跟踪对于我们分析 sql 性能尤其有用.

一般来说, 使用 10046 事件得到 sql 执行计划的步骤如下:
1. 激活当前 session 10046 事件
2. 在当前 session 中执行 sql 语句
3. 关闭当前 session 10046 事件

执行完上述步骤后, 通常会自动生成一个 trace 文件. 在 oracle 11g 中, trace 文件一般放在$ORACLE_BASE/diag/rdbms/{database_name}/$ORACLE_SID/trace 目录下. 如果使用 oradebug 激活跟踪 10046后, 可以使用 oradebug tracefile_name 得到刚刚生成的 trace 文件的完整路径.

刚刚提到的 oradebug 激活跟踪 10046 事件, 我想大部分 dba 都会使用. oradebug 是个功能强大非常好用的工具, 使用 oradebug help 将会看到它的功能很多

  1. SQL> oradebug help

  2. HELP           [command]                 Describe one or all commands

  3. SETMYPID                                 Debug current process

  4. SETOSPID       <ospid>                   Set OS pid of process to debug

  5. SETORapiD      <orapid> ['force']        Set Oracle pid of process to debug

  6. SETORAPNAME    <orapname>                Set Oracle process name to debug

  7. SHORT_STACK                              Get abridged OS stack

  8. CURRENT_SQL                              Get current SQL

  9. DUMP           <dump_name> <lvl> [addr]  Invoke named dump

  10. DUMPSGA        [bytes]                   Dump fixed SGA

  11. DUMPLIST                                 Print a list of available dumps

  12. EVENT          <text>                    Set trace event in process

  13. SESSION_EVENT  <text>                    Set trace event in session

  14. DUMPVAR        <p|s|uga> <name> [level]  Print/dump a fixed PGA/SGA/UGA variable

  15. DUMPTYPE       <address> <type> <count>  Print/dump an address with type info

  16. SETVAR         <p|s|uga> <name> <value>  Modify a fixed PGA/SGA/UGA variable

  17. PEEK           <addr> <len> [level]      Print/Dump memory

  18. POKE           <addr> <len> <value>      Modify memory

  19. WAKEUP         <orapid>                  Wake up Oracle process

  20. SUSPEND                                  Suspend execution

  21. RESUME                                   Resume execution

  22. FLUSH                                    Flush pending writes to trace file

  23. CLOSE_TRACE                              Close trace file

  24. TRACEFILE_NAME                           Get name of trace file

  25. LKDEBUG                                  Invoke global enqueue service debugger

  26. NSDBX                                    Invoke CGS name-service debugger

  27. -G             <Inst-List | def | all>   Parallel oradebug command prefix

  28. -R             <Inst-List | def | all>   Parallel oradebug prefix (return output

  29. SETINST        <instance# .. | all>      Set instance list in double quotes

  30. SGATOFILE      <SGA dump dir>            Dump SGA to file; dirname in double quotes

  31. DMPCOWSGA      <SGA dump dir> Dump & map SGA as COW; dirname in double quotes

  32. MAPCOWSGA      <SGA dump dir>            Map SGA as COW; dirname in double quotes

  33. HANGANALYZE    [level] [syslevel]        Analyze system hang

  34. FFBEGIN                                  Flash Freeze the Instance

  35. FFDEREGISTER                             FF deregister instance from cluster

  36. FFTERMINST                               Call exit and terminate instance

  37. FFRESUMEINST                             Resume the flash frozen instance

  38. FFSTATUS                                 Flash freeze status of instance

  39. SKDSTTPCS      <ifname>  <ofname>        Helps translate PCs to names

  40. WATCH          <address> <len> <self|exist|all|target>  Watch a region of memory

  41. DELETE         <local|global|target> watchpoint <id>    Delete a watchpoint

  42. SHOW           <local|global|target> watchpoints        Show  watchpoints

  43. DIRECT_ACCESS  <set/enable/disable command | select query> Fixed table access

  44. CORE                                     Dump core without crashing process

  45. IPC                                      Dump ipc infORMation

  46. UNLIMIT                                  Unlimit the size of the trace file

  47. PROCSTAT                                 Dump process statistics

  48. CALL           <func> [arg1] ... [argn]  Invoke function with arguments

感谢各位的阅读!关于“如何使用10046查看执行计划并读懂trace文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何使用10046查看执行计划并读懂trace文件

本文链接: https://lsjlt.com/news/245564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用10046查看执行计划并读懂trace文件
    这篇文章给大家分享的是有关如何使用10046查看执行计划并读懂trace文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sq...
    99+
    2023-06-06
  • Oracle 11g 查看执行计划10046事件
    使用10046事件查看真实的执行计划操作如下:SQL> conn / as sysdbaConnected.SQL> SQL> oradebug setmypid Stateme...
    99+
    2024-04-02
  • 如何使用dbms_xplan查看执行计划
    小编给大家分享一下如何使用dbms_xplan查看执行计划,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述 dbms_xpl...
    99+
    2024-04-02
  • 如何快速看懂MySQL执行计划
    这篇文章主要介绍了如何快速看懂MySQL执行计划的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何快速看懂MySQL执行计划文章都会有所收获,下面我们一起来看看吧。通常查询慢查...
    99+
    2023-03-15
    mysql
  • 使用autotrace查看执行计划
    set autotrace off 不产生autotrace报告,默认值 set autotrace on explain autotrace报告只展示最优的执行方式(optimizer exe...
    99+
    2024-04-02
  • Oracle如何查看执行计划
    一、如何查看执行计划在Oracle数据库里,我们通常可以使用如下方法(包括但不限于)得到目标SQL的执行计划:explain plan 命令DBMS_XPLAN包SQLPLUS中的AUTOTRACE开关10...
    99+
    2024-04-02
  • Mysql中如何查看执行计划
    目录explain执行计划包含的信息各字段详解idselect_typetypepossible_keyskeykey_lenrefrowsExtra综合Case执行顺序使用explain关键字可以模拟优化器执...
    99+
    2024-04-02
  • Oracle中如何查看执行计划
    这篇文章主要介绍了Oracle中如何查看执行计划,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方法一、通过使用工具PLSQL Develop...
    99+
    2024-04-02
  • db2如何查看sql执行计划
    在DB2中,您可以使用以下方法查看SQL执行计划: 1、使用EXPLAIN命令:在运行您的SQL查询之前,可以在查询前添加EXPLA...
    99+
    2024-04-12
    db2 sql
  • PostgreSQL中如何查看执行计划
    在 PostgreSQL 中,可以使用 EXPLAIN 命令来查看查询语句的执行计划。执行计划显示了 PostgreSQL 优化器将...
    99+
    2024-04-09
    PostgreSQL
  • plsql的执行计划如何查看
    在PL/SQL中,可以使用以下方法来查看执行计划: 使用DBMS_XPLAN包:这是Oracle提供的一个包,可以用于显示SQL语...
    99+
    2024-04-09
    plsql
  • postgres explain如何查看sql执行计划
    这篇文章主要为大家展示了“postgres explain如何查看sql执行计划”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“postgres explain如...
    99+
    2024-04-02
  • MySQL 5.7如何查看SQL执行计划
    这篇文章将为大家详细讲解有关MySQL 5.7如何查看SQL执行计划,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 可以使用EXPLAIN语句...
    99+
    2024-04-02
  • 如何使用Oracle TRCA分析10046 Trace RAW文件
    这篇文章将为大家详细讲解有关如何使用Oracle TRCA分析10046 Trace RAW文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 Oracle 10046是我们常用的...
    99+
    2023-06-06
  • oracle中如何查看SQL的执行计划方法
    这篇文章主要介绍了oracle中如何查看SQL的执行计划方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Oracle查看SQL执行计划的方...
    99+
    2024-04-02
  • 数据库中如何查看执行计划的内容
    这篇文章主要介绍了数据库中如何查看执行计划的内容,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。    ...
    99+
    2024-04-02
  • 数据库中普通用户如何调用dbms_xplan.display_cursor查看执行计划
    这篇文章主要为大家展示了“数据库中普通用户如何调用dbms_xplan.display_cursor查看执行计划”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数...
    99+
    2024-04-02
  • 如何使用SQL Server的执行计划分析慢查询
    要使用SQL Server的执行计划来分析慢查询,可以按照以下步骤操作: 打开SQL Server Management Studio并连接到您的数据库服务器。 在查询窗口中输入您想要分析的慢查询,并执行该查询。 在查询结果窗口...
    99+
    2024-06-03
    sql server
  • 如何在thinkphp中使用windows计划任务定时执行php文件
    实现思路如下: 通过win的“任务”功能来定时执行一个bat文件,bat文件会调用php.exe文件,php.exe可以传递参数指定执行哪个类和方法 方法如下: 一,thinkphp...
    99+
    2024-04-02
  • oracle如何使用outline固定执行计划事例
    这篇文章主要介绍了oracle如何使用outline固定执行计划事例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.查看现在数据库等待事件...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作