latch相关视图整理(原创)
V$LATCH
V$LATCH视图在选取X$KSLLT记录时,进行了Group By及SUM运算,从而得出了一个汇总信息,保存了自实例启动后各类栓锁的统计信息。常用于当v$session_wait中发现栓锁竞争时鉴别SGA区中问题所在区域。
 
v$latch表的每一行包括了对不同类型latch的统计,每一列反映了不同类型的latch请求的活动情况。不同类型的latch请求之间的区别在于,当latch不可立即获得时,请求进程是否继续进行。按此分类,latch请求的类型可分为两类:willing-to-wait和immediate。
 
Willing-to-wait:是指如果所请求的latch不能立即得到,请求进程将等待一很短的时间后再次发出请求。进程一直重复此过程直到得到latch。 
 
Immediate:是指如果所请求的latch不能立即得到,请求进程就不再等待,而是继续执行下去。
 
V$LATCH中的常用列:
NAME:latch名称
IMMEDIATE_GETS:以Immediate模式latch请求数
IMMEDIATE_MISSES:IMMEDIATE_GETS的失败数
GETS:以Willing to wait请求模式latch的请求数
MISSES:GETS that did not obtain the latch on first try,Gets 不成功次数
SPIN_GETS:GETS that got the latch within SPIN_GET tries and did not have to sleep 第一次尝试失败,但在以后的轮次中成功
SLEEP1-SLEEP3: GETS that succeeded only after sleeping one to three times
SLEEP4: GETS that only succeeded after sleeping four or more times
WAIT_TIME: Elapsed time spent waiting for this latch ,花费在等待latch的时间
MISSES_WAITLIST: Number of latch misses on the associated wait list latch 
SLEEPS_WAITLIST: Number of sleeps while trying to acquire the associated wait
list latch 
WAIT_TIME_WAITLIST: Wait time for the associated wait list latch
 
关于latch的统计信息,主要关注以下几部分
 
misses/gets的比率是多少
获自spinning的misses的百分比是多少
latch请求了多少次
latch休眠了多少次
 
latch有40余种,但作为DBA关心的主要应有以下几种: 
Cache buffers chains latch:当用户进程搜索SGA寻找database cache buffers时需要使用此latch。
Cache buffers LRU chain latch:当用户进程要搜索buffer cache中包括所有 dirty blocks的LRU (least recently used) 链时使用该种latch。 
Redo log buffer latch:这种latch控制redo log buffer中每条redo entries的空间分配。 
Row cache objects latch:当用户进程访问缓存的数据字典数值时,将使用Row cache objects
latch。
 
V$LATCH_CHILDREN
V$LATCH_CHILDREN是具体每个子LATCH的统计,V$LATCH是每一种LATCH的统计,前者比后者多了一个CHILD#,相同的LATCH#表示同种LATCH,ADDR是子LATCH的地址。V$LATCH_CHILDREN视图和v$Latch视图的差别与v$sql和v$sqlarea的区别相似并不进行汇总运算,所以也就显示了子Latch的相关信息。所谓子Latch就是library cache在系统中包含了多少个具体的物理数量的library
cache,他们的分配原则是这样的。v$latch_children内容的条数一般都是v$latch
cpu+1倍,例如:从v$latch查询出有1个library cache latches,系统cpu个数为2,则v$latch_children中library cache latches的子latch个数应该为3。
v$latch_children除了比v$latch多了child#其他列都一样,这里不再赘述。
V$LATCHHOLDER 
通过v$latchholder可以查看当前持有latch的会话和进程。由于LATCH的等待时间都很短,该视图多用于查看长时间等待LATCH的SESSION
PID:进程标识,用于和v$process关联
SID: 会话标识,用于和V$SESSION关联
LADDR: Latch address  V$LATCH_CHILDRN    
NAME: Name of the latch being held V$LATCH / V$LATCHNAME / V$LATCH_CHILDRN
GETS:NUMBER
Number of times that the latch was obtained in either wait mode or no-wait mode
 
V$LATCHNAME
显示了v$latch中latch的名称,和v$latch中的信息一一对应
LATCH#:Latch number
NAME:Latch name
HASH:Latch hash
 
常用SQL 
#查看持有latch的sql信息和会话信息
SELECT
s.sql_hash_value,s.sql_id,s.sid l.name
  FROM V$SESSION s, V$LATCHHOLDER l
WHERE s.sid = l.sid;
 
#根据latch名称显示对latch的统计信息
select
c.name,a.addr,a.gets,a.misses,a.sleeps,
a.immediate_gets,a.immediate_misses,b.pid
from v$latch a, v$latchholder b, v$latchname c
where a.addr = b.laddr(+) and a.latch# = c.latch#
and c.name like '&latch_name%' order by a.latch#;
 
# 查看latch的命中率
SQL>SELECT name, gets, misses, sleeps, 
      immediate_gets, immediate_misses
     FROM v$latch
   WHERE name = 'cache buffers chains';
 
# 如果在Top 5中发现latch free热点块事件时,可以从V$latch_children中查询具体的子Latch信息
SELECT
*
  FROM (SELECT   addr, child#, gets, misses, sleeps,
immediate_gets igets,
               
immediate_misses imiss, spin_gets sgets
            FROM
v$latch_children
           WHERE NAME =
'cache buffers chains'
        ORDER BY sleeps DESC)
 WHERE ROWNUM < 11;

latch相关视图整理的更多相关文章

  1. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  2. 转:基于IOS上MDM技术相关资料整理及汇总

    一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...

  3. EasyUI相关知识点整理

    EasyUI相关知识整理 EasyUI是一种基于jQuery.Angular..Vue和React的用户界面插件集合.easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能.也就 ...

  4. 基于IOS上MDM技术相关资料整理及汇总

    (转自:http://www.mbaike.net/special/1542.html) 一.MDM相关知识:MDM (Mobile Device Management ),即移动设备管理.在21世纪 ...

  5. 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO

    刷新SQL Server所有视图.函数.存储过程 更多   sql   此脚本用于在删除或添加字段时刷新相关视图,并检查视图.函数.存储过程有效性. [SQL]代码 --视图.存储过程.函数名称 DE ...

  6. [Cxf] cxf 相关知识整理

    ① 请求方式为GET @GET @Path(value = "/userAddressManage") @Produces( { MediaType.APPLICATION_JSO ...

  7. DBGrid相关技术整理

    DBGrid相关技术整理: 注:对于DBGrid相关属性.方法的学习融入到技术整理过程中 一,多选 设置属性: Options->dgMultiSelect = True; ->dgRow ...

  8. libmodbus相关资料整理

    /****************************************************************************** * libmodbus相关资料整理 * ...

  9. Oracle用户角色权限相关视图

    常用相关视图概述 DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 USER_SYS_PRIVS: 当前用户所拥有的系统权限 SESSION_PRIVS: 当前用户所拥有的全部权限 ROLE ...

随机推荐

  1. 伙计,给我来一杯package.json!不加糖

    前言:夜深了,我熬了一锅热气腾腾的package.json,给大家端上来,希望大家喜欢 json和JS对象的区别 package.json,顾名思义,它是一个json文件,而不能写入JS对象. 所以我 ...

  2. 原生ajax封装,数据初始化,

    var ajaxTool = { setting : { method : 'get', url : location.href, data : '', callback : function(){a ...

  3. (转载)在spring的bean中注入内部类

    原文链接:http://outofmemory.cn/java/spring/spring-DI-inner-class 在spring中注入内部类,有可能会遇到如下异常信息: 2014-5-14 2 ...

  4. python简单实现websocket

    协议选择的是新的Hybi-10,参考文章如下: http://www.cnblogs.com/zhuweisky/p/3930780.html http://blog.mycolorway.com/2 ...

  5. JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

    前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...

  6. 教你做一个单机版人事管理系统(Winform版)treeview与listview使用详情

    ------------------------------------------------------------------部门部分------------------------------ ...

  7. jenkins+ANT+jmeter 接口测试环境搭建

    目的 jmeter很早就接触了,最近又在接触项目的时候整了一下.写这篇博客主要有两个目的 1,为了给自己搭建jmeter做一个总结. 2,在部署过程中遇到过一些坑,在这分享出来,也希望能给需要的人一个 ...

  8. nopCommerce 3.9 大波浪系列 之 事件机制(生产者、消费者)

    一.nop事件机制简介 应用场景:客户支付成功后,需要发送短信.邮件告知客户订单支付成功(短信.邮件由不同模块实现) 实现方法: 1.定义支付成功OrderPaidEvent事件. 2.定义短信,邮箱 ...

  9. RxSwift 实战操作【注册登录】

    前言 看了前面的文章,相信很多同学还不知道RxSwift该怎么使用,这篇文件将带领大家一起写一个 注册登录(ps:本例子采用MVVM)的例子进行实战.本篇文章是基于RxSwift3.0写的,采用的是C ...

  10. 利用GPU实现大规模动画角色的渲染

    0x00 前言 我想很多开发游戏的小伙伴都希望自己的场景内能渲染越多物体越好,甚至是能同时渲染成千上万个有自己动作的游戏角色就更好了. 但不幸的是,渲染和管理大量的游戏对象是以牺牲CPU和GPU性能为 ...