获取ORA-06512:at" SYS.DBMS_ISCHED",第124行和ORA-06512:at" SYS.DBMS_ISCHED",第124行错误

时间:2017-07-28 05:57:36

标签: oracle11g

我正在尝试按如下方式安排Oracle 11g作业,但收到错误。 开始

= simple_form_for :result_entry, url: sezzion_sezzion_station_student_group_student_station_results_path do |f|

错误是

sqlplus / AS SYSDBA

SYS.dbms_scheduler.create_job(

job_name=>'testjob',

job_type=>'plsql_block',

job_action=>'BEGIN greetings; END;',

start_date=>SYSTIMESTAMP,

repeat_interval => 'byminute=0; bysecond=5;');

END;

/

*原因:为指定的属性提供了无效值。

*操作:使用此属性的有效值重新发出该命令。

最初我认为它是一个许可问题所以我给了以下许可

GRANT CREATE job TO SYSTEM;

GRANT EXECUTE ON system.greetings to public;

有人能确定问题吗?

2 个答案:

答案 0 :(得分:0)

一切都在信息中。重复间隔错误。检查Calendar Syntax

来自文档。

repeat_interval = regular_schedule | combined_schedule 这意味着重复间隔必须是regular_schedule或combined_schedule。

regular_schedule

的位置
regular_schedule = frequency_clause
[";" interval_clause] [";" bymonth_clause] [";" byweekno_clause] ..etc

这意味着frequency_clause是强制性的,其他是可选的。在您的代码中,没有frequency_clause。 工作实例。     repeat_interval => 'FREQ=HOURLY; byminute=0; bysecond=5;'

答案 1 :(得分:0)

对我来说

错误:

ORA-06512:在“ SYS.DBMS_ISCHED”,第209行ORA-06512:在“ SYS.DBMS_SCHEDULER”,第594行ORA-06512:在第2行错误

原因:

ORA-00054:资源繁忙,并且在指定为NOWAIT的情况下进行获取,或者超时为空

在截断该表时将显示此错误的示例

解决方案:

因此需要清除数据库中所有锁定的会话