如何停oracle的job,ORACLE如何停止一个JOB
ORACLE如何停止一個JOB
2010-06-08 11:23
1 相關表、視圖
dba_jobs
all_jobs
user_jobs 包含登錄用戶所有的JOB信息
dba_jobs_running 包含正在運行job相關信息
注意
須使用oracle的sys用戶登錄到數據庫,才能查看dba_jobs_running,
v$process, v$session表的信息。同時,登錄操作系統時,要用oracle用戶。
2 問題描述
為同事解決一個因為網絡連接情況不佳時,執行一個超長時間的SQL插入操作。
既然網絡狀況不好,就選擇了使用一次性使用JOB來完成該插入操作。在JOB
執行一段時間后,我發現被插入表有些問題(慚愧,當時也沒有先檢查檢查就做了)。準備停止JOB,因為在JOB運行情況下,我的所有修改都會報系統資源忙的錯誤。
強行KILL SESSION是行不通的,因為過會兒,JOB還會重新啟動,如果執行的SQL也被KILL了通過重新啟動的JOB還是會被再次新執行的。
3 解決辦法
比較好的方法應該是;
1. 首先確定要停止的JOB號
在10g中可通過Dba_Jobs_Running進行確認。
查找正在運行的JOB:
select sid from dba_jobs_running;
查找到正在運行的JOB的spid:
select a.spid from v$process a ,v$session b where a.addr=b.paddr and b.sid in (select sid from dba_jobs_running);
2. Broken你確認的JOB
總結
以上是生活随笔為你收集整理的如何停oracle的job,ORACLE如何停止一个JOB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据在java中加时间,如何在Or.jF
- 下一篇: oracle最新scn补丁,更新:Ora