当前位置: 代码迷 >> Oracle开发 >> job调用跨用户存储,怎么杀后台session
  详细解决方案

job调用跨用户存储,怎么杀后台session

热度:189   发布时间:2016-04-24 06:24:52.0
job调用跨用户存储,如何杀后台session
测试库定时了一个job,在执行的时候,会调用生成的存储。
测试库的job被杀掉了,但是跑job调用生成的session仍然存在,请问这样的问题,怎么杀生成的session。
------解决思路----------------------
先 kill session
然后orakill pid
------解决思路----------------------
1:查V$DB_OBJECT_CACHE 
SELECT * FROM V$DB_OBJECT_CACHE WHERE name='P_DATA_SYNC_CHECK' ; 
注意:P_DATA_SYNC_CHECK为存储过程的名称。
发现locks=2,
2:按对象查出sid的值
select SID from V$ACCESS WHERE object='P_DATA_SYNC_CHECK';
注意:P_DATA_SYNC_CHECK为存储过程的名称。
3:查sid,serial#
SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID'; 
4:alter system kill session 'sid值,serial#值' immediate;
  相关解决方案