栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Dm数据库锁问题处理

Dm数据库锁问题处理

模拟一个锁
Session1
SQL> create table t1(a int);
SQL> create table t2(a int);
SQL> insert into t1 values(1);
SQL> insert into t2 values(2);
SQL> commit;
SQL> update t1 set a=1000 where a=1;

Session2
SQL> update t2 set a=2000 where a=2;

Session1
SQL> update t2 set a=3000 where a=2;
session1一直处于等待状态:

以上为模拟的锁问题,下面是问题的处理过程

另开一个会话Session3
session3查询执行时间较长的sql:
SQL> SELECT *
2 FROM (SELECt sess_id,
3 sql_text,
4 datediff (ss, last_recv_time, SYSDATE) Y_EXETIME,
5 SF_GET_SESSION_SQL (SESS_ID) fullsql,
6 clnt_ip
7 FROM V$SESSIONS
8 WHERe STATE = ‘ACTIVE’)
9 WHERe Y_EXETIME >= 2;

查询当前数据库实例是否有阻塞
SELECt o.name, l.*
FROM v$lock l, sysobjects o
WHERe l.table_id = o.id AND blocked = 1;

从v$trx视图中查看事物锁的情况
SQL> select ID,MIN_ACTIVE_ID, STATUS from

v$trx;

行号 ID MIN_ACTIVE_ID STATUS


1 13048 13048 LOCK WAIT
2 13049 13048 ACTIVE
3 13050 13048 ACTIVE

已用时间: 3.454(毫秒). 执行号:613.

查询视图
v$lock

SQL> select ADDR,TRX_ID,LMODE,BLOCKED, TABLE_ID,ROW_IDX, TID from v$lock;

从以上查询可以看出,事物13048申请的锁,被事物13049持有。
或通过v$trxwait查看等待情况
SQL> select * from

v$trxwait;

行号 ID WAIT_FOR_ID WAIT_TIME


1 13048 13049 4881923

已用时间: 2.123(毫秒). 执行号:817.

解除事务13048的等待,提交或回滚或终止13049的事务。

SQL> sp_close_session(107353480);
DMSQL 过程已成功完成

查看session1的事务已执行成功
SQL> select * from t2;

行号 A


1 2000

已用时间: 2.764(毫秒). 执行号:408.

更多资讯请上达梦技术社区了解:https://eco.dameng.com

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327380.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号