a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 85|回复: 0

[综合] Oracle作业job没有自动调度起来

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
问题:有一同事报过来,说有两个job已经近一周没有自动调起了,让我帮忙解决。 1、检查:
" V4 |5 `6 w  p5 ^2 v(1)在生产库中检查,其他的job都能自动调度
: h: N: I3 o4 ], A8 q  a(2)select * from all_jobs where job in(2704,2706); 检查正常,并无异常 (dba_jobs或PL/SQL Developer DBMS_Jobs 也可查看)- p# L9 @9 C4 M; c2 ?% r2 }
(3)select * from dba_jobs_running where job in(2704,2706);  在其列表中) y2 I) C$ U0 \1 s9 `9 D. Y
结论:进程挂死未完成,导致不能自动调度!& k$ f& o2 P, N* [$ S! ^
2、解决:先备份两job的内容再将job删除,然后将进程杀掉,并重建5 W! Z0 {3 m0 [
(1)利用上面查出job运行列表中的sid 如 3695,并查出哪些进程需要杀掉,查询语句如下:" o; O- a- I  X
select 'call superkill('||a.sid||','||a.SERIAL#||');' KILL_SID,
3 Q, o2 k# c: h( e5 {$ D9 q       'kill -9 '||A.PROCESS||';'KILL_PID,A.SID,A.SERIAL#,A.STATUS,   A.SCHEMANAME,A.USERNAME,A.MACHINE,OSUSER,A.PROCESS,A.PROGRAM,A.TERMINAL,7 r' t7 @/ l1 d& K- ~+ L5 M
       A.SERVICE_NAME,A.LOGON_TIME, A.OWNERID,
  G. i+ ~* K+ y; U3 b       D.SQL_TEXT,D.SQL_FULLTEXT
( r: ?4 m1 W% Q4 b5 A. H$ g7 Rfrom gv$session a, v$sql d0 e6 X: W5 z! g  p
where a.SQL_ADDRESS=d.ADDRESS(+)
0 O# [6 J3 }& I/ u/ zand (a.SCHEMANAME = 'REPORT' or a.USERNAME= 'REPORT'), d& Y$ e5 `% q( }  T9 Q6 ]
and a.sid=3695
! ?+ R; A" r, g1 k! Z5 {order by a.MACHINE;1 c6 B4 J' H  M! \0 e4 I( i5 d: J
杀进程:. v* H% r- n$ R) r3 }
(1)上面的superkill如下:. U  ?4 q. N+ C" e8 b; T) C/ x4 Z
create or replace procedure system.superkill(SESSION_ID BINARY_INTEGER,SERIAL_NUM; k# }# ]; q- p' h3 b! s. x
BINARY_INTEGER) is
; `8 i8 w6 w" {8 a& B$ ^$ i3 n8 E4 Sbegin1 A, O# s* G/ c7 k, {2 P' r  Z
   execute immediate 'alter system disconnect session '''||SESSION_ID||','||SERIAL_NUM||'''' D% j) V0 I4 ?4 g2 l$ \
immediate' ;
5 K1 H. f3 E. h; J: Q* G( A% H% H; SEXCEPTION
1 ?  q5 w/ R+ h! O   WHEN OTHERS1 Z( G: A  ^' X5 s+ s: Z1 V
   THEN$ z3 D. M1 F/ \* T
      RAISE;
( o" d) v5 L, pend superkill;
% E# O) d2 q* h; ]* f& j(2)也可直接 alter system kill session 'sid,serial#';
3 t! o2 T; x1 t* v9 ~: D上面两个原理都差不多。
6 `! a$ M7 ^1 _& i( Y7 t(3)重建job$ B' N6 q( ~; Q( ^
如job:2706 的重建:
. g' r" W7 b/ Y3 `begin
$ B. q6 I+ Q. o4 {; M2 m' ~* ?7 u  sys.dbms_job.isubmit(job => 2706,
& |/ P( y* V; O0 ]9 Q                      what => 'declare+ S7 {! d& h$ M/ R4 G
vc_out varchar2(2000);
2 Z% e) O1 g9 \* ?) B9 mbegin% L6 |1 P. I, m
SP_SAP_NEWINCOME_ALL(to_char(SYSDATE-1,''yyyymmdd''),to_char(SYSDATE-1,''yyyymmdd''));4 _+ h! z. M' t/ X6 S$ V# e
pkg_dic_day_report_2011.Dic_day_all_report_2011(to_char(SYSDATE-1,''yyyymmdd''));1 N7 Y* U' J& e  S8 v* a% o
pkg_dic_day_report_2010.DiC_Day_Move_Busi(vc_out,to_char(SYSDATE-1,''yyyymmdd''));4 z6 ^1 F$ g7 M% h& |# K
pkg_dic_day_report_2010.DiC_Pst_YW(vc_out,to_char(SYSDATE-1,''yyyymmdd''));' V! |" f) K' e" M5 J
end;',
" K. y1 u! O5 Q" ^                      next_date => trunc(SYSDATE)+1+17/24,! A: d' H3 x0 }% l
                      interval => 'trunc(SYSDATE)+1+17/24');
0 }8 ?* U  v5 ^+ \  commit;9 t7 |/ S6 p7 Z! e
end;
8 N, w# [! I) D* ?* D- H  ~% H' S/
* y- ^2 Y& c$ A- H4 b0 Z第二天检查两job都已正常自动调度。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-18 22:53 , Processed in 0.287605 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表