首页 > 解决方案 > Oracle DBMS_SCHEDULER 错误:ORA-27369。退出代码 7

问题描述

我尝试使用带有 DBMS_SCHEDULER 的 Oracle 数据库运行外部脚本。

我创建了一个工作:

BEGIN
    SYS.DBMS_SCHEDULER.CREATE_JOB( job_name => 'MODPY_JOB',
        job_type => 'EXECUTABLE',
        job_action => 'C:\Windows\System32\cmd.exe',
        job_class => 'DEFAULT_JOB_CLASS',
        comments => 'Job to call batch script on Windows',
        auto_drop => FALSE,
        number_of_arguments => 3,
        enabled => FALSE);

    SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name => 'MODPY_JOB', argument_position => 1, argument_value => '/q'); 
    SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name => 'MODPY_JOB', argument_position => 2, argument_value => '/c'); 
    SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE( job_name => 'MODPY_JOB', argument_position => 3, argument_value => 'C:\m.bat >nul'); 
    SYS.DBMS_SCHEDULER.ENABLE( 'MODPY_JOB' ); 
END;

我试图运行它:

BEGIN
    DBMS_SCHEDULER.RUN_JOB(
    JOB_NAME            => 'MODPY_JOB',
    USE_CURRENT_SESSION => TRUE);
END;

我收到了这个错误:

ORA-27370:  job slave failed to launch a job of type EXECUTABLE
ORA-27300: OS system dependent operation:accessing job scheduler service failed with status: 2
ORA-27301: OS failure message: No such file or directory
ORA-27302: failure occurred at: sjsec 6a
ORA-27303: additional information: The system cannot find the file specified.
ORA-06512: at "SYS.DBMS_ISCHED", line 209.
ORA-06512: at "SYS.DBMS_SCHEDULER", line 594.
ORA-06512: at line 2.
27370. 00000 -  "job slave failed to launch a job of type EXECUTABLE"
    *Cause:    The scheduler ran into an error when the job slave tried to start
               a job of type EXECUTABLE. The rest of the error stack will provide
               more detailed information on what the exact problem was.
    *Action:   Correct the problem specified in the error stack and reschedule
               the job.

我做了一个凭证来解决这个问题:

begin
    dbms_scheduler.create_credential(
    CREDENTIAL_NAME => 'NAME',
    USERNAME => 'user',
    PASSWORD => 'pswd',
    WINDOWS_DOMAIN  => 'localdomain');
end;

在那之后,我给了这份工作的凭证细节:

begin
    dbms_scheduler.set_attribute('MODPY_JOB','credential_name','NAME');
end;
/

当我运行尝试再次运行作业时,我收到此错误:

    Error report -
ORA-27369:  job of type EXECUTABLE failed with exit code: 7 !@#--!@#7#@!--#@!
ORA-06512: at "SYS.DBMS_ISCHED", line 209.
ORA-06512: at "SYS.DBMS_SCHEDULER", line 594.
ORA-06512: at line 2. 
27369. 00000 -  "job of type EXECUTABLE failed with exit code: %s" 
    *Cause:    A problem was encountered while running a job of type EXECUTABLE.
               The cause of the actual problem is identified by the exit code.
    *Action:   Correct the cause of the exit code and reschedule the job.

我尝试在 Windows 操作系统上运行它,并获得了 Oracle Database 12。

问题出在哪里?如何解决此问题并使用 oracle 运行外部文件?

标签: oracleoracle11goracle-sqldeveloperoracle12c

解决方案


推荐阅读