zoukankan      html  css  js  c++  java
  • 查看Oracle中是否有锁表的sql

    1、查看是否有锁表的sql
    代码如下:

    select 'blocker('||lb.sid||':'||sb.username||')-sql:'|| qb.sql_text blockers,
    'waiter ('||lw.sid||':'||sw.username||')-sql:'|| qw.sql_text waiters
    from v$lock lb,
    v$lock lw,
    v$session sb,
    v$session sw,
    v$sql qb,
    v$sql qw
    where lb.sid=sb.sid
    and lw.sid=sw.sid
    and sb.prev_sql_addr=qb.address
    and sw.sql_address=qw.address
    and lb.id1=lw.id1
    and sw.lockwait is not null
    and sb.lockwait is null
    and lb.block=1 ;

    2、查看被锁的表
    代码如下:

    select p.spid,a.serial#,c.object_name,b.session_id,b.oracle_username,b.os_user_name
    from v$process p,v$session a, v$locked_object b,all_objects c
    where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id ;

    3、查看那个用户那个进程造成死锁,锁的级别
    代码如下:

    select b.owner,b.object_name,l.session_id,l.locked_mode fromv$locked_object l, dba_objects

    4、查看连接的进程
    代码如下:

    SELECT sid, serial#, username, osuser FROMv$session;

    5、查看是哪个session引起的
    代码如下:

    select b.username,b.sid,b.serial#,logon_time
    from v$locked_object a,v$session b
    where a.session_id = b.sid order by b.logon_time;

    6、杀掉进程
    代码如下:

    alter system kill session 'sid,serial#';

  • 相关阅读:
    log4j(二)——如何控制日志信息的输出?
    Java生成指定范围内的工具类
    JavaBean和Map转换封装类
    cron表达式详解
    数据库主键按照固定前缀生成工具类
    邮件发送工具类
    NFC
    牛逼辩论
    快速排序
    希尔排序
  • 原文地址:https://www.cnblogs.com/168cuiyuan/p/5292205.html
Copyright © 2011-2022 走看看