为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:DM7 【操作系统】: 【CPU】: 【问题描述】*: 该语句执行 call sp_cancel_session_operation(140034502220904); call sp_close_session(140034502220904) 执行结果显示的成功了,但是再查询进程还存在该session 为什么?怎么彻底结束这种进程?
--查询被阻塞的信息和引起阻塞的信息 select sysdate stattime,datediff(ss,s1.last_send_time,sysdate) ss, '被阻塞的信息' wt,s1.sess_id wt_sess_id,s1.sql_text wt_sql_text,s1.state wt_state, s1.trx_id wt_trx_id,s1.user_name wt_user_name,s1.clnt_ip wt_clnt_ip, s1.appname wt_appname,s1.last_send_time wt_last_send_time, '引起阻塞的信息' fm,s2.sess_id fm_sess_id,s2.sql_text fm_sql_text,s2.state wt_state, s2.trx_id fm_trx_id,s2.user_name fm_user_name,s2.clnt_ip fm_clnt_ip, s2.appname fm_appname,s2.last_send_time fm_last_send_time from v$sessions s1,v$sessions s2,v$trxwait w where s1.trx_id=w.id and s2.trx_id=w.wait_for_id;
--生成查杀阻塞SQL的语句 select kill_cmd from ( select sysdate stattime,datediff(ss,s1.last_send_time,sysdate) ss, '被阻塞的信息' wt,s1.sess_id wt_sess_id,s1.sql_text wt_sql_text,s1.state wt_state, s1.trx_id wt_trx_id,s1.user_name wt_user_name,s1.clnt_ip wt_clnt_ip, s1.appname wt_appname,s1.last_send_time wt_last_send_time, 'sp_close_session('||s2.sess_id||');' kill_cmd , '引起阻塞的信息' fm,s2.sess_id fm_sess_id,s2.sql_text fm_sql_text,s2.state wt_state, s2.trx_id fm_trx_id,s2.user_name fm_user_name,s2.clnt_ip fm_clnt_ip, s2.appname fm_appname,s2.last_send_time fm_last_send_time from v$sessions s1,v$sessions s2,v$trxwait w where s1.trx_id=w.id and s2.trx_id=w.wait_for_id);
--查询被阻塞的信息和引起阻塞的信息
select sysdate stattime,datediff(ss,s1.last_send_time,sysdate) ss,
'被阻塞的信息' wt,s1.sess_id wt_sess_id,s1.sql_text wt_sql_text,s1.state wt_state,
s1.trx_id wt_trx_id,s1.user_name wt_user_name,s1.clnt_ip wt_clnt_ip,
s1.appname wt_appname,s1.last_send_time wt_last_send_time,
'引起阻塞的信息' fm,s2.sess_id fm_sess_id,s2.sql_text fm_sql_text,s2.state wt_state,
s2.trx_id fm_trx_id,s2.user_name fm_user_name,s2.clnt_ip fm_clnt_ip,
s2.appname fm_appname,s2.last_send_time fm_last_send_time from v$sessions s1,v$sessions s2,v$trxwait w
where s1.trx_id=w.id and s2.trx_id=w.wait_for_id;
--生成查杀阻塞SQL的语句
select kill_cmd from (
select sysdate stattime,datediff(ss,s1.last_send_time,sysdate) ss,
'被阻塞的信息' wt,s1.sess_id wt_sess_id,s1.sql_text wt_sql_text,s1.state wt_state,
s1.trx_id wt_trx_id,s1.user_name wt_user_name,s1.clnt_ip wt_clnt_ip,
s1.appname wt_appname,s1.last_send_time wt_last_send_time,
'sp_close_session('||s2.sess_id||');' kill_cmd ,
'引起阻塞的信息' fm,s2.sess_id fm_sess_id,s2.sql_text fm_sql_text,s2.state wt_state,
s2.trx_id fm_trx_id,s2.user_name fm_user_name,s2.clnt_ip fm_clnt_ip,
s2.appname fm_appname,s2.last_send_time fm_last_send_time from v$sessions s1,v$sessions s2,v$trxwait w
where s1.trx_id=w.id and s2.trx_id=w.wait_for_id);