【达梦数据库】会话sp_close关闭不掉
背景
一个纯查询的语句,执行了很久,sp_close关闭不掉
排查方法
1、会话sp_close关闭不掉,sp_cance后再执行sp_close依旧关闭不了;
sp_close_session(sess_id)
sp_cancel_session_operation(sess_id)
2、通过分析事务视图v$trx的ROLLBACK_FLAG字段=0,发现存在事务但不存在回滚
;
select * from v$trx;
后续分析原因:纯查询的语句中某个函数进入死循环导致,并非事务回滚;而若是事务回滚的话,只能等待其回滚完成,重启也是要回滚的(只不过重启可能会快一些)
3、因查询未结束,可能切换不成功,目前不考虑切换;
p.s. 尝试过切换,切换不过去。
4、只能选择择机重启,重启后环境正常;
p.s. 不要通过PID杀掉会话线程,有可能会导致整个数据库进程崩掉