病假请了两个月,回来发现ETL有个任务一直在跑,从4月3号跑到现在都没停,也没跑完,暂停任务后清除了错误,更新了时间,TSK也没法应。手动执行Procedure,时间较长,报错 ORA-02049 分布式事务处理等待锁。
解决方案:1.先查找是否有该TSK的进程锁存在。
查询语句为
SELECT A.SID,
A.SERIAL#,
A.USERNAME,
B.TYPE
FROM V$SESSION A,V$LOCK B
WHERE A.SID=B.SID
AND a.USERNAME='CALNAV'
查询CALNAV任务是否有锁,得出SID号和SERIAL#号,查询语句为:
ALTER SYSTEM KILL SESSION '407,613' ;(SID,SERIAL#)
查杀进程时,发现杀不掉进程,百度得出
ALTER SYSTEM KILL SESSION '407,613' IMMEDIATE;
锁干掉,任务立马开始跑,大功告成。
网友评论