日期:2014-05-17  浏览次数:20873 次

请教一个oracle上建job问题
我创建一个job如下:
variable 63 number;


begin
  sys.dbms_job.submit(job => :63,
  what => 'EXCHANGE_DATE_BATCH(sysdate);',
  next_date => to_date('01-01-2012', 'dd-mm-yyyy'),
  interval => 'trunc(sysdate) + 1');
  commit;
end;
/

在commend窗口执行后,报如下错误:
ORA-04063: package body "SYS.DBMS_IJOB" 有错误
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_IJOB" 的程序单元
ORA-06512: 在 "SYS.DBMS_JOB", line 128
ORA-06512: 在 line 3


请教如何解决,谢谢!

------解决方案--------------------
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_IJOB" 的程序单元
 应为:dbms_job吧
------解决方案--------------------
宿主变量的变量名怎么和63,换一个常规点的变量名试一下。
将sys.去掉。
------解决方案--------------------
1、变量名别用63这个常量
2、去掉sys