锁超时-(达梦数据库)

1 有时候对数据库操作会遇到锁超时

在这里插入图片描述

1.1 找到导致阻塞的会话,提交或回滚事务,阻塞解除。

  • 模糊匹配当前表全部的sql会话,若对表结构修改,需要关闭表的全部会话
SELECT * FROM V$SESSIONS WHERE SQL_TEXT LIKE '%TABLE_1%'

在这里插入图片描述

1.2 关闭阻塞的会话

SP_CLOSE_SESSION(SESS_ID)

2 通过sql语句查询锁超时相关的事务/会话

SELECT DISTINCT
        T1.WAIT_SESS_ID,
        T1.WAIT_SQL_TEXT,
        T1.WAIT_TIME WAIT_TIME_MS,
        T1.WAIT_TRX_ID,
        T2.BEFOR_TRX_ID,
        T2.BEFOR_BEGIN BEFOR_BEGIN_TIME,
        T2.BEFOR_SQL_TEXT,
        T2.BEFOR_SESS_ID
FROM
        (
                SELECT
                        SESS.SESS_ID WAIT_SESS_ID  ,
                        SESS.SQL_TEXT WAIT_SQL_TEXT,
                        TW.ID WAIT_TRX_ID          ,
                        TW.WAIT_FOR_ID WAIT_TW_ID,
                        TW.WAIT_TIME
                FROM
                        V$TRXWAIT TW,
                        V$SESSIONS SESS
                WHERE
                        TW.ID=SESS.TRX_ID
        )
        T1,
        (
                SELECT
                        SESS.SESS_ID BEFOR_SESS_ID  ,
                        SESS.SQL_TEXT BEFOR_SQL_TEXT,
                        TW.WAIT_FOR_ID BEFOR_TRX_ID,
                        LAST_RECV_TIME BEFOR_BEGIN
                FROM
                        V$TRXWAIT TW,
                        V$SESSIONS SESS
                WHERE
                        TW.WAIT_FOR_ID=SESS.TRX_ID
        )
        T2
WHERE
        T1.WAIT_TW_ID=T2.BEFOR_TRX_ID
ORDER BY BEFOR_TRX_ID;

3 查询结果如图:

在这里插入图片描述

4 结果详细说明

4.1 显示事务等待信息。

SELECT * FROM V$TRXWAIT;
序 号数据类型说明
1IDBIGINT事务 ID
2WAIT_FOR_IDBIGINT所等待的事务 ID
3WAIT_TIMEINTEGER当前等待时间

在这里插入图片描述

4.2 显示会话的具体信息,如执行的 sql 语句、主库名、当前会话状态、用户名等等。

SELECT * FROM V$SESSIONS;

在这里插入图片描述

4.3 显示活动的事务锁信息。

SELECT * FROM V$LOCK;;在这里插入图片描述在这里插入图片描述

4.4 锁模式介绍

  • DBA系统管理员手册介绍
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5 查询事务锁

SELECT
        L.LMODE      ,
        L.TABLE_ID   ,
        O.NAME       ,
        S.SQL_TEXT   ,
        L.TRX_ID     ,
        L.LTYPE      ,
        L.BLOCKED    ,
        S.CREATE_TIME,
        S.CLNT_IP    ,
        T.THRD_ID    ,
        T.STATUS
FROM
        V$LOCK L    ,
        V$TRX T     ,
        V$SESSIONS S,
        SYSOBJECTS O
WHERE
        L.TID     =T.ID
    AND T.SESS_ID =S.SESS_ID
    AND L.TABLE_ID=O.ID
ORDER BY
        CREATE_TIME DESC;

6 更多达梦数据库使用经验

查看更多达梦数据库使用经验总结 - - 点击跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值