一次人大金仓剔除锁经历

Posted 左直拳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次人大金仓剔除锁经历相关的知识,希望对你有一定的参考价值。

前几天有同事在群里问,怎么杀掉人大金仓的锁?因为伊在安装软件的时候遇到警告,提示有锁,无法继续。

这种问题,应该由DBA负责,但我们都是二把刀,甚至连二把刀都称不上,不是专业的DBA,况且人大金仓刚接触。不过就算oracle,遇到这种问题,也只能查资料或翻看以往的记录,不可能记住这些繁琐的命令。这次也是从网上搜来的语句,我试了一下,问题解决。

SELECT pid,usename,application_name
app,client_addr,xact_start,wait_event_type,wait_event,state,query
FROM sys_stat_activity
WHERE pid<>(SELECT sys_backend_pid())
AND datname='gistest' AND usename='sde';//数据库名和用户名

SELECT sys_terminate_backend(6120);//将觉得有问题的pid处理一下,居然是用select,有点令人惊讶

第一条语句查找指定数据库和用户的当前活动,最重要的是列出了pid。如果觉得有些活动有问题,就终结它(terminate)。终结者,terminator,阿诺猪华生力啤。

这些pid由2个数字组成,中间用逗号隔开。但sys_terminate_backend函数里,它们全部堆上去,并无逗号。比如这个6120,明明是"6,120"。
在这里插入图片描述
sys_stat_activity,是人大金仓里的一个动态统计视图,显示每个会话进程的当前活动信息,如进程PID、进程状态、查询语句、 开始时间等。

在这里插入图片描述

附录:

 长事务的弊端

  • 阻止垃圾回收,导致表和索引膨胀
  • 频繁唤醒autovacuum进程,浪费I/O
     查找长事务
  • SELECT pid,state,query FROM sys_stat_activity WHERE state <> ‘idle’ AND now()-xact_start >
    interval ‘300s’;
     终止长事务、长连
  • SELECT sys_terminate_backend(pid
    )清理长事务

幸甚至哉,记它。

以上是关于一次人大金仓剔除锁经历的主要内容,如果未能解决你的问题,请参考以下文章

人大金仓数据库的备份与还原 KingbaseES V8R6

人大金仓数据库的备份与还原 KingbaseES V8R6

人大金仓数据库可以在服务器设置每天自动备份吗?

国产化人大金仓数据库转库工具:oracle12c数据库转kingbase8.6人大金仓数据库实例演示

将pg的表复制到人大金仓

人大金仓最大连接数