• 人工模拟获取latch


    人工模拟获取latch

    任意地dump一latches结构文件:
    SQL> oradebug dump latches 10
    ORA-00074: no process has been specified
    SQL> oradebug setmypid
    Statement processed.
    SQL> oradebug dump latches 10
    Statement processed.
    SQL> oradebug tracefile_name
    /oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_5564.trc

    找到文件并随便找一个latch地址查看:
    我们这里找的是地址为0x60019d98的一个active checkpoint queue,当前状态为free:
    60019d98  active checkpoint queue latch level=5
            Location from where latch is held: kcbk.h LINE:2222 ID:kcbbacq: scan active checkpoints:
            Context saved from call: 0
            state=free [value=0] wlstate=free [value=0]
        gotten 2345 times wait, failed first 0 sleeps 0
        gotten 0 times nowait, failed: 0

    通过oradebug验证:
    SQL> oradebug peek 0x60019d98 8
    [060019D98, 060019DA0) = 00000000 00000000   
    该latch的当前值为0,确为free状态,我将它值改动为1:
    SQL> oradebug poke 0x60019d98 2 1
    BEFORE: [060019D98, 060019D9C) = 00000000
    AFTER:  [060019D98, 060019D9C) = 00000001
    再次dump一个latches结构文件,并找到上述latch的信息:
    60019d98  active checkpoint queue latch level=5
            Location from where latch is held: kcbk.h LINE:2222 ID:kcbbacq: scan active checkpoints:
            Context saved from call: 0
            state=busy [holder orapid=1] wlstate=free [value=0]
        waiters [orapid (seconds since: put on list, posted, alive check)]:
         10 (30, 1402142587, 30)
         waiter count=1
        gotten 2607 times wait, failed first 0 sleeps 0
        gotten 0 times nowait, failed: 0
    的状态busy。

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    ubuntu 13.04 root权限设置方法详解
    观锁和乐观锁——《POJOs in Action》
    观锁与悲观锁(Hibernate)
    关于python的环境变量问题
    vs2010 调试快捷键
    VIM7.3中文手册
    Java最全文件操作实例汇总
    response letter模板
    数据库字段类型
    Tomcat系列之Java技术详解
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4832880.html
Copyright © 2020-2023  润新知