时间响应指标:

RT:= CLient Time + Network TIme + DB Time

DB Time:= Parse TIme + Execute Time + Commit TIme

Parse Time:=Parse CPU Time + Parse Wait Time

Parse Wait Time:= Parse Time - Parse CPU Time

Parse Time:= Hard Parse Time + Soft Parse Time

Hard Parse Time:= Hard Parse CPU + Hard Parse Wait Time

吞吐量指标:

Parse Count

Hard Parse Count

众所周知:Hard Parse的成本远远高于soft parse,而不同的soft parse其成本差异也极大。采用Parse Count作为Parse Time的吞吐量指标不是很准确,我们认为采用以下指标作为Parse 阶段的吞吐量指标会更加真实。

parse过程基本上是不断访问shared pool的过程,由于我们无法从total LIO中分解出parse过程的LIO,我们采用访问内存必须的latch获得来进行parse吞吐量计数:

library cache latch gets

shared pool latch gets

row cache objects latch gets

采用mutex的度量会遇到问题,mutex仅仅记录具有sleep的mutex,在一个高吞吐量系统应该不存在着no sleep的mutex,这里暂且采用mutex sleep的进行合计。问题是awr自动收集缺乏mutex信息,使我们需要自己来收集mutex相关信息。

从简单测试发现,v$mutex_sleep_history无法代表lmutex的get数量,所以采用这个来衡量吞吐量需要另外去获得。

我们来看一下相关的比较:

1431595225    parse time elapsed    79926695

372226525    hard parse elapsed time    77738549

3    549    parse count (total)    64    46471

4    550    parse count (hard)    64    2452

1    row cache objects    1253506

2    shared pool              333468

由于library cache latch为parse阶段最为重要的latch,在mutex模式似乎没有办法获得。如果无法获得mutex的get通道,也许采用latch或者mutex gets来标记parse级别吞吐量存在问题。

为什么选择latch gets来替代parse count:

latch gets可以精细的描述各种不同的parse,使不同的parse可以被同一个标准所衡量。

比如我们来看:

parse count无法标记出:soft parse,soft soft parse,no parse以及High Version parse之间的区别,大家知道即使是soft parse,soft soft parse等等会有各自很大的不同,但是latch gets在某种程度上可以准确的衡量出不同parse之间的成本差异。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/92650/viewspace-775662/,如需转载,请注明出处,否则将追究法律责任。

oracle的parse是什么意思,Oracle性能测量体系(Parse Time)相关推荐

  1. oracle修改c root,从新发现Oracle太美之root.sh

    重新发现Oracle太美之root.sh 如果你执行下以下命令基本上会在Oracle软件目录下会发现两个root.sh的脚本 [oracle@rh64 Templates]$ find /u01/ - ...

  2. oracle连接外部数据库_使用Oracle验证外部数据

    oracle连接外部数据库 我经常在Corda Slack频道中闲逛,并尽可能回答问题. 我尝试回答的合理数量的问题与Oracle有关. 更具体地说,何时使用. 我觉得我可以回答,"当您需要 ...

  3. oracle中orand使用,Postgres兼容Oracle研究——orafce调研

    一.背景 PostgreSQL是和Oracle最接近的企业数据库,包括数据类型,功能,架构和语法等几个方面.甚至大多数的日常应用的性能也不会输给Oracle. 但是Oracle有些函数或者包,默认Po ...

  4. oracle查看表空间的序号,Oracle查询所有序列

    --查看当前用户的所有序列 select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='用户名'; --查 ...

  5. oracle字符界面安装,怎么解决oracle在linux 纯字符界面安装有关问题

    之前在oracle 下面用图形装了(oracle图形界面安装遇到的问题), 毕竟图形界面用于个人使用,而服务器下的一般是字符界面,所以安又尝试字符界面的安装 我的环境是centos 6.3 64位 + ...

  6. oracle em 性能点不进,oracle em节点启动不成功问题处理总结

    客户数据库项目从oracle 9i数据库升级到oracle10g后,oracle em在节点1启动不成功,节点2可以正常启动. 节点1启动时报错如下: [oracle@zhgsdb1 ~]$ emct ...

  7. oracle 字符集 自造字,循序渐进Oracle:自定义字符集的使用、更改字符集的内部方式及字符集更改的案例...

    第3章  Oracle的字符集(3.9-3.11) Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据.通过全球支持,Oracle可以支持多 ...

  8. oracle加as报错,【Oracle】-【sqlplus / as sysdba登录报错问题】-新用

    [Oracle]-[sqlplus / as sysdba登录报错问题]-新用户使用sqlplus / as sysdba登录报错解决 [Oracle]-[sqlplus / as sysdba登录报 ...

  9. exp导oracle数据库,使用exp/imp 在oracle数据库间导数据

    最近工作需要将oracle数据库的表数据导出到另一个oracle数据库表,找到了oracle 自带的命令行,并记录下导数据过程. 导数据过程分以下几步: 假设源数据库为A,目标数据库为B 1.在B上通 ...

最新文章

  1. java对象的状态,Java编程菜鸟课程:状态对象
  2. 深入理解计算机系统:进程
  3. 如何绘制逻辑图— 4. 要素的属性:黑盒与白盒
  4. Matlab 神经网数据预处理的函数
  5. 1011.log4cplus移植记录
  6. 李国庆夺章后“发配”俞渝,当当网上线“从摔杯到抢章”专题,书目亮了
  7. day2-python工具的选择使用
  8. Netty+SpringBoot+FastDFS+Html5实现聊天App详解(四)
  9. Python如何安装模块
  10. python为啥叫屁眼_python的递归
  11. 为程序界面添加滑动条
  12. mysql 网页员工登记表_作业1:小型考勤登记表
  13. 各类编程开发软件及资源全版本下载地址合集
  14. 六安技师学院计算机网络技术,安徽六安技师学院2021年招生简章
  15. 饥荒联机版把服务器删掉了怎么找回,饥荒联机服务器角色存档删除 | 手游网游页游攻略大全...
  16. 高铁订票系统设计C语言,数学建模 高铁订票系统建模
  17. 高等数学-空间解析几何与向量代数
  18. 成长,没你想象的那么迫切!
  19. 气传导蓝牙耳机优缺点有哪些?气传导耳机科普及推荐
  20. 什么是抽象类?(简述)

热门文章

  1. python hsv inrange 范围_仅20行代码,用python给证件照换底色
  2. mysql卸载安装视频_MYSQL安装与卸载(一)
  3. php 加七天减七天,php实战第七天_PHP教程
  4. 数据结构算法 二进制转十进制_数据结构 - 栈
  5. 原来这些元器件最容易引发电路故障。。。
  6. 【深度好文】过了30岁,做技术开发、工程师还有前途吗?
  7. 卷积神经网络minst的verilog实现
  8. 闭包、装饰器与递归_月隐学python第12课
  9. 给图片加一层半透明_PPT小技巧——图片的处理
  10. figtree需要在JAVA下运行吗_Phylogenomic_Tutorial || ML_Tree inference