• oracle中查看锁表,ORACLE中查看当前系统中锁表情况


    1、ORACLE中查看当前系统中锁表情况

    select * from v$locked_object

    2、可以通过查询v$locked_object拿到sid和objectid,然后用sid和v$session链表查询是哪里锁的表,用v$session中的objectid字段和dba_objects的id字段关联,查询详细的锁表情况。

    查询SQL如下:

    select sess.sid,

    sess.serial#,

    lo.oracle_username,

    lo.os_user_name,

    ao.object_name,

    lo.locked_mode

    from v$locked_object lo, dba_objects ao, v$session sess, v$process p

    where ao.object_id = lo.object_id

    and lo.session_id = sess.sid;

    3、查询是什么SQL引起了锁表的原因,SQL如下:

    select l.session_id sid,

    s.serial#,

    l.locked_mode,

    l.oracle_username,

    s.user#,

    l.os_user_name,

    s.machine,

    s.terminal,

    a.sql_text,

    a.action

    from v$sqlarea a, v$session s, v$locked_object l

    where l.session_id = s.sid

    and s.prev_sql_addr = a.address

    order by sid, s.serial#;

    4、ORACLE解锁的方法

    alter system kill session ’146′; –146为锁住的进程号,即spid

  • 相关阅读:
    「BJOI2018」治疗之雨
    「NOIP2016」换教室
    「HNOI2015」亚瑟王
    2019/9/15 四校联训
    【AtCoder】 ARC 097
    【AtCoder】 ARC 098
    【AtCoder】 ARC 099
    【AtCoder】 ARC 100
    React:JS中的this和箭头函数
    React:styled-components
  • 原文地址:https://www.cnblogs.com/lcword/p/16194150.html
Copyright © 2020-2023  润新知