• Oracle dbms_job.submit参数错误导致问题(ora12011 无法执行1作业)


    今天用Submit方法提交一个作业后. 手动运行其作业,一直报 Ora-12011错误.

    先引用一段submit方法的格式:

    DBMS_JOB.SUBMIT(:jobno,//job号   
                                  'your_procedure;',//要执行的过程   
                                   trunc(sysdate)+1/24,//下次执行时间   
                                   'trunc(sysdate)+1/24+1'//每次间隔时间   
                                 ); 

    过程描述:

    1: 如下代码,生成一个Job. 生成顺利并成功

    declare
    jobnum number;
    begin
     dbms_job.submit(jobnum,'Pro1',sysdate,'last_day(sysdate)+1',true);
    end;
    

     2:手动运行Job. 出现ora-12011 无法执行1作业错误. 以为是存储过程有问题.但单独Test存储过程,并没有出现任何问题.

    3:查询DB的alert.log文件. 出现以下一段话:

    Wed Apr 17 16:43:04 2013
    Errors in file d:\oracle\product\10.2.0\admin\gcms\udump\gcms_ora_4012.trc:
    ORA-12012: 自动执行作业 86 出错
    ORA-06550: 第 1 行, 第 110 列:
    PLS-00103: 出现符号 ""在需要下列之一时:
     := . ( @ % ;
    符号 ";" 被替换为 "" 后继续。

    从以上文字可以看出. 因为存储过程本身没有问题.应该是在对Job进行运行前分析的时候发生问题.隐隐记得,要用Submit时,What参数是以分号结束.

    4: Drop Job, Rebuild Job 

    declare
    jobnum number;
    begin
     dbms_job.submit(jobnum,'Pro1;',sysdate,'last_day(sysdate)+1',true);
    end;
    

       再次手动运行存储过程,一切正常.

     

  • 相关阅读:
    021-python基础-python介绍及课程简介
    020-python函数和常用模块-文件操作
    019-python函数和常用模块-内置函数
    018-python基础-三元运算和lambda表达式
    017-python函数和常用模块-函数式编程实现登陆和注册
    016-python函数和常用模块-函数定义和使用
    015-python基础-深浅拷贝
    014-python基础-set集合
    013-python基础-课堂练习
    012-python基础-数据运算
  • 原文地址:https://www.cnblogs.com/ybhcolin/p/3026646.html
Copyright © 2020-2023  润新知