删除非当前用户下的 JOB
上一篇 / 下一篇 2008-12-24 21:01:16 / 个人分类:Oracle
- 文件版本: V1.0
- 开发商: 本站原创
- 文件来源: 本地
- 界面语言: 简体中文
- 授权方式: 免费
- 运行平台: Win9X/Win2000/WinXP
使用 dbms_job.remove 移除 job 时碰到了 ORA-23421 错误:
cukHLa0ORA-23421: job number string is not a job in the job queue
0eJFv"a'cDUc0Cause: There is no job visible to the caller with the given job number.
%YKkP
te0Action: Choose the number of a job visible to the caller.
#b}RVN%?#q4]t\c&c0当时没想明白,明明该 job 存在为什么说不在 job queue 中。后经同事提醒才想起来不能使用 dbms_job 包对非当前用户下的 job 进行操作,即使是 sysdba 也不能。这和 oracle 对 job 的权限设置策略有关。
]"xi3Y8X;{~l0SQL> show user
C#uXG8NJWy0USER is "SKY"
6x7e$Wv2~,ZiI0SQL> declare n number;
l8lK&X$_ ^ kB02 begin51Testing软件测试网IH6F$cp-B%d?"v
3 dbms_job.submit(n,'null;',sysdate,'sysdate+1');
!@[a"PP"U\/k04 commit;
,o;v~P1tY05 end;
:o,`l+S'?UG1[06 /51Testing软件测试网3Y)S9fDt
PL/SQL procedure successfully completed.
9J0_Ym T2~4u4h0t5a5}.h
X&~-H0SQL> select job,log_user,priv_user,schema_user,last_date,next_date,what51Testing软件测试网Y2fy
@[
2 from user_jobs;
JOB LOG_USER PRIV_USE SCHEMA_U LAST_DATE NEXT_DATE WHAT51Testing软件测试网 oi#v/k5fm7f
--- -------- -------- -------- ------------------- ------------------- -----51Testing软件测试网S+g]{*_
Q8r*T
23 SKY SKY SKY 2007-04-24 00:32:56 2007-04-25 00:32:56 null;51Testing软件测试网iM({ cAt:H1xYm
JR3LJ2K2`0SQL> conn /as sysdba51Testing软件测试网(r$])|N
a
Connected.
@H0Jhr0SQL> exec dbms_job.INTERVAL(23,'sysdate+2')51Testing软件测试网([acA|ot"L-u
BEGIN dbms_job.INTERVAL(23,'sysdate+2'); END;51Testing软件测试网*_dl+R.a4v
`.D dpM_.L{\0*51Testing软件测试网'r6hIH`I
JE
ERROR at line 1:51Testing软件测试网6T9iN;\tOj
ORA-23421: job number 23 is not a job in the job queue
;zinc0Re$A0ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
:[%M.neA8e!`0ORA-06512: at "SYS.DBMS_IJOB", line 52951Testing软件测试网K.V3i,Y_`6OZ
ORA-06512: at "SYS.DBMS_JOB", line 234
p3Fv5h.m;[?b0ORA-06512: at line 1
AR$N"vZO:T)E5oT0SQL> exec dbms_job.next_date(23,sysdate+1)51Testing软件测试网
gNh ^8\7X
BEGIN dbms_job.next_date(23,sysdate+1); END;51Testing软件测试网o2la@2[!U9c
D2Z-g9n8jtS7E;L0*
2E3z s
~4LF0ERROR at line 1:
7I C(v4Ok@b*e3T0ORA-23421: job number 23 is not a job in the job queue