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)来关闭对应的会话,具体使用
上一篇: CentOS7设置固定IP、更改网卡名称为eth0
下一篇: 达梦数据库非分区表如何转换为分区表