在MOS 上有一篇介绍SQL 解析流程图的文档,参考[ID32895.1]。 截取主要部分内容如下:

Thisarticle show the parsing mechanism as a flow diagram. Its main purpose is toshow the difference between a 'soft' and a 'hard' parse. It is intended to givea feel of how parsing operates to make explanation of parsing activity easier.

注意事项:

1. A cursor is an address on the client that points tothe memory location of a SQL statement on the server. Multiple-client cursors may point at the same address on the server.

2. Remember that 'Client' and'Server' sides may reside on the same machine - in which caseClient/Server is a logical distinction.

3. If a cursor is open, then thestatement will be in the sql_area, so no parsing is necessary. This iswhy locks may remain when a client is terminated abnormally (such as a PCClient being turned off without closing open cursors).

4. SESSION_CACHED_CURSORS is the initialisation parameterthat specifies how many cursors to hold open for a particular session. The opencursor request will still be sent to the server but it will not be executedonce a matching cursor is found in the session cursor cache.

5. HOLD_CURSOR is an precompiler parameter that specifiesthat an individual cursor should be held open.

6. Both the soft and hard parseregister as a parse in tkprof. Hashing the current statement updates theparse count.

7. Soft parse avoids many of thesteps taken during the parse phase for a particular statement. Initialsyntactic and semantic checks are made and then the statement is hashed andcompared with hashed statements in the SQL area. If amatch is found, then existing information is used and relatively expensivesteps (such as query optimization etc.) areavoided.

8. The 10053 event is only invoked during a hard parse.

Oracle 10053 事件

http://blog.csdn.net/tianlesoftware/article/details/5859027

-------------------------------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware

Email: dvd.dba@gmail.com

DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)

DBA 超级群:63306533(满);  DBA4 群: 83829929  DBA5群: 142216823

DBA6 群:158654907  聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

Oracle SQL Parsing Flow Diagram(SQL 解析流程图)相关推荐

  1. Oracle数据库是如何执行SQL的

    文章目录 1.参考资料 2.Oracle SQL执行过程 2.1.SQL语句的执行过程 2.1.1.全局角度来看SQL请求的执行过程 2.1.2.数据库端处理SQL具体过程 2.2.Oracle对解析 ...

  2. mysql中10049是什么错误_【学习笔记】Oracle数据库10049用于分析SQL解析笔记案例

    [学习笔记]Oracle数据库10049用于分析SQL解析笔记案例 时间:2016-11-05 13:54   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 Oracle研究 ...

  3. 在Oracle中利用SQL_TRACE跟踪SQL的执行

    当你在执行一条SQL语句非常慢的时候,你是不是想问Oracle怎么执行这条语句的呢? Oracle提供的SQL_TRACE工具可以让你知道你执行的SQL究竟做了什么.执行的过程会被 输出到trace文 ...

  4. oracle gather trace,读懂SQL TRACE TKProf报告

    TKPROF是一个可执行文件,自带在Oracle Server软件中,无需额外的安装. 该工具文件可以用来解析ORACLE的SQL TRACE(10046) 以便生成更可读的内容.  实际上tkpro ...

  5. cs oracle语句跟踪,Oracle执行语句跟踪 使用sql trace实现语句追踪

    1.SQL_Plus自动跟踪: set autotrace on explain          // 显示执行计划 set autotrace traceonly explain // 仅显示执行 ...

  6. oracle distinct分页优化_Oracle SQL性能优化最常用的40条建议

    关于Oracle SQL优化的内容,这一篇应该能满足常规大部分的应用优化需求,整整40条优化建议,干货满满. 1. SQL语句执行步骤 语法分析> 语义分析> 视图转换 >表达式转换 ...

  7. oracle定义变量sql赋值_ORACLE获取SQL绑定变量值的方法总结

    本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点.在此梳理.总结一下这方面的知识点,方面日后查找.翻阅. 方法1:查询V$SQL V$S ...

  8. oracle数据库匿名快,pl/sql分匿名块和命名块

    命名块:存储过程,函数,触发器,包等 pl/sql语句块分3部分: (1)声明部分 (2)可执行部分 (3)异常处理部分 其中可执行部分是语句块中唯一要求必须存在的部分,声明部分和异常处理部分是可选的 ...

  9. 《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一第一篇 执行计划

    第一篇 执行计划 执行计划是指示Oracle如何获取和过滤数据.产生最终结果集,是影响SQL语句执行性能的关键因素.我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL ...

最新文章

  1. Linux中pip install延时问题
  2. 最常用的ES6特性(转)
  3. mysql 查询的转义字符_mysql – 如何在LIKE查询中转义字符?
  4. SAP CRM和Cloud for Customer的Account merge
  5. python 隐藏命令行窗口_python如何只执行cmd中的动作,但消除或隐藏cmd窗口 - 小众知识...
  6. epoll在ET和LT模式下读写
  7. 【动画技巧】GIF动画转SWF小技巧
  8. php 图片剪切为透明,解决PHP剪切缩略图生成png,gif透明图时,黑色背景问题
  9. git工作区状态(2)
  10. python reduce函数filter_Python filter()及reduce()函数使用方法解析
  11. 系统学习深度学习(十七)--VGG模型
  12. 进阶版启动jupyterlab教程
  13. 【51单片机】DS1302时钟芯片
  14. java 配置文件加密_Spring cloud config 配置文件加密方式
  15. 粒子滤波跟踪算法及实现
  16. GateWay网关报错:Could not obtain the keys
  17. 汇编语言——用DOSBox的debug查看CPU和内存 用机器指令和汇编指令编程
  18. 通信要学很多计算机课吗,大连海事大学通信工程专业要学哪些课程,好学吗?...
  19. 2017搜狗AI技术开放日
  20. 基于单片机的电机转速测量系统设计

热门文章

  1. 为什么要用webUI?
  2. Tomcat的类加载器
  3. Android变形(Transform)之Camera使用介绍【转】
  4. opencv学 之图像傅里叶变换dft
  5. 一种新的图像清晰度评价函数
  6. 卷积为什么如此强大?一文全解深度学习中的卷积
  7. Aspose.Cells.dll操作exel
  8. C#中配置文件的使用
  9. websphere不释放游标_不懂别瞎搞!Redis 性能优化的 13 条军规!
  10. ubantu自带防火墙的相关使用