DB2数据库查询正在执行的sql进程并杀掉的四步骤
1、连接数据库db2 connect to database_name user user_name using password(备注:如 db2 connect to test_data user aaa using bbb 即用用户aaa密码bbb登录test_data数据库)2、查询正在执行的长sql,存过的 AGENT_ID号db2 "select AGENT_ID,appl_name,
1、连接数据库
db2 connect to database_name user user_name using password
(备注:如 db2 connect to test_data user aaa using bbb 即用用户aaa密码bbb登录test_data数据库)
2、查询正在执行的长sql,存过的 AGENT_ID号
db2 "select AGENT_ID,appl_name,stmt_text from sysibmadm.long_running_sql" |grep -i sql_code
(备注:sql_code即为你执行的sql的语句的关键词,比如select ,delete,insert表名字段名等)
3、查看 agentid 为13349的执行sql内容
db2 get snapshot for application agentid 13349
4、杀掉正在执行的 agentid 为13349的sql语句
db2 "force application ( 13349 )"
此时正在执行的某个sql进程就被杀掉了。可以再执行步骤2查询发现刚才的sql进程已不存在。
注:如果上面实现不了,则继续看下面的
二、DB2查看死锁进程以及杀死死锁进程
方法一:
使用SecureCRT
db2 "get snapshot for locks on 数据库名"
db2 "force application(进程hander)"
杀掉死锁进程
方法二:
用管理员帐户登陆,在"管理员模式下"
使用select agent_id,tabname,lock_mode from table(snap_get_lock('BL_DEVP')) as aa
查看:进程hander,表名,锁模式
然后进控制中心,选择对应数据库,右键选择"应用程序",找到对应进程hander,选"强制"杀掉死锁进程

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)