欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DM的一些运维小技巧(4)-----锁处理

程序员文章站 2022-06-02 22:08:42
...

锁是大家在运维期间不可避免会遇到的问题,在我做dba期间,经常遇到客户突然一个电话袭来—喂,在吗?我数据库好卡呀,能看下吗?

哈哈哈,不知大家是否有这样的经历呢? 当然不是数据库“卡”,我们就归结为数据库里有锁,小编只是向大家讲述一个DBA的小日常。

那么,言归正传,我问遇到达梦数据库有锁这个情况该怎么办呢?

记住,不要慌,有条不紊的按小编的步骤来,包你把锁治的服服帖帖的。

第一步:查询锁

SELECT a.name,b.* from V$LOCK a,SYSOBJECTS b
where b.table_id = a.id and blocked = 1;

通过上述语句,查看是否有事务阻塞。

第二步: 查询源头锁

通过查询对应的系统视图v$TRXWAIT

select * from v$TRXWAIT 

第三步:阻塞的解决方法

根据需求,可以有两种解决方案。

3.1提交或回滚产生阻塞的事务。

根据上文,我们可知产生阻塞的事务会话ID为xxxxx。此时,我们只需要在该会话下提交或回滚事务,锁自然会被释放,阻塞解决。

3.2关闭产生阻塞的会话

同样,我们也可以使用系统过程SP_CLOSE_SESSION(SESS_ID)来关闭对应的会话,具体使用

相关标签: 达梦