一次人大金仓剔除锁经历

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

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

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

这些pid由2个数字组成,中间用逗 隔开。但sys_terminate_backend函数里,它们全部堆上去,并无逗 。比如这个6120,明明是”6,120″。

附录:

? 长事务的弊端

  • 阻止垃圾回收,导致表和索引膨胀
  • 频繁唤醒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
    )清理长事务

幸甚至哉,记它。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月22日
下一篇 2021年5月22日

相关推荐