美文网首页
达梦7锁超时查询、解锁

达梦7锁超时查询、解锁

作者: 喵咪很生气 | 来源:发表于2020-06-06 20:09 被阅读0次

在数据库中经常会碰到对象被锁住的情况,这里分享下我之前整理的以下达梦中锁相关的一些脚本。
–查询活动会话数

SQL>select count(*) from v$sessions where state = 'active';

–已经执行超过2s的活动SQL

select * from (
SELECT sess_id,sql_text,datediff(ss,last_recv_time,sysdate) Y_EXETIME,
       SF_GET_SESSION_SQL(SESS_ID) fullsql,clnt_ip
 FROM V$SESSIONS WHERE STATE='ACTIVE')
 where Y_EXETIME>=2;

–锁查询

select o.name,l.* from v$lock l,sysobjects o where l.table_id=o.id and blocked=1;

–阻塞查询

with locks as(
  select o.name,l.*,s.sess_id,s.sql_text,s.clnt_ip,s.last_send_time  from v$lock l,sysobjects o,v$sessions s
  where l.table_id=o.id and l.trx_id=s.trx_id ),
 lock_tr as (   select trx_id wt_trxid,row_idx blk_trxid from locks where blocked=1),
 res as(    select sysdate stattime,t1.name,t1.sess_id wt_sessid,s.wt_trxid,
     t2.sess_id blk_sessid,s.blk_trxid,t2.clnt_ip,SF_GET_SESSION_SQL(t1.sess_id) fulsql,
     datediff(ss,t1.last_send_time,sysdate) ss,t1.sql_text wt_sql  from lock_tr s,locks t1,locks t2
    where t1.ltype='OBJECT'  and t1.table_id<>0   and t2.ltype='OBJECT'  and t2.table_id<>0
     and s.wt_trxid=t1.trx_id  and s.blk_trxid=t2.trx_id)
select distinct wt_sql,clnt_ip,ss,wt_trxid,blk_trxid  from res;

经常用到的两个查询被锁住对象和解锁脚本:

select a.*,b.NAME,c.SESS_ID from v$lock a
left join sysobjects b on b.ID=a.TABLE_ID
left join v$sessions c on a.TRX_ID=c.TRX_ID;

–kill对应的session

sp_close_session(sess_id);

相关文章

  • 达梦7锁超时查询、解锁

    在数据库中经常会碰到对象被锁住的情况,这里分享下我之前整理的以下达梦中锁相关的一些脚本。–查询活动会话数 –已经执...

  • Oracle锁表查询及解锁

    Oracle锁表查询及解锁kill进程简介

  • 使用synchronized和wait实现一个显示锁Lock

    首先明确一次显示锁Lock需要的功能: 线程加锁; 线程超时加锁,超时报超时异常; 线程解锁; 获取阻塞的线程集合...

  • redis

    1.redis 分布式锁及问题 (1)实现: 加锁:setnx、解锁:del、锁超时:expire (2)可能出现...

  • 失效的分布式锁解锁

    为了解决保证不出现死锁,每个分布式锁都有一个超时时间,解锁由一个 task 来执行。 最近发现无法解锁,也就是解锁...

  • ReentrantLock

    1.整体调用结构 默认情况下是非公平锁: 对于加锁、解锁、可中断锁、超时加锁、抢占非阻塞式加锁(tryLock()...

  • oracle表解锁2019-03-25

    oracle表解锁 第一步 查询被锁表(object_name),锁表对象(session_id) select ...

  • 分布式锁redis和zk的使用和比较

    一 基于redis的分布式锁 setnx 方式设置值;从而加锁; 解锁时,为了保证原子性(查询锁,判断值并删除),...

  • InnoDB死锁3

    数据库错误: InnoDB的行锁和解锁都是针对主键索引的,如果查询(SELECT)时根据索引锁表,但更新(UPDA...

  • 爬虫数据写入mysql数据库时报错,遇到locked timeo

    先查询全局等待事物锁超时时间,一般默认是50, show global variables like 'innod...

网友评论

      本文标题:达梦7锁超时查询、解锁

      本文链接:https://www.haomeiwen.com/subject/opdnzhtx.html