0

クレデンシャルを追加する場合と追加しない場合の両方で、Oracle 11 でスケジュールされたジョブとしてシェル スクリプトを追加する際に問題が発生しています。

資格情報なしで取得

ORA-27369: job of type EXECUTABLE failed with exit code: 274662
ORA-06512: at "SYS.DBMS_ISCHED", line 154
ORA-06512: at "SYS.DBMS_SCHEDULER", line 450
ORA-06512: at line 17
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.

このエラーは明らかに、externaljob.ora ファイルが root によって所有されていないか、グループによって書き込み可能ではないことに関連しています。それはそのどちらでもありません。

取得した資格情報の使用

Error report:
No more data to read from socket

これはあまり役に立ちません。私が実行している Oracle のバージョンは、Linux で 11.1.0.6.0 です。私が使用しているサンプルスクリプトは以下です。そのバージョンを試すために資格情報をコメントアウトします。資格情報は、標準的なユーザー名とパスワードにすぎません。

declare
namea varchar2(1000) := 'unix_command_job2';
BEGIN
DBMS_SCHEDULER.drop_job(namea, force=>true);
  -- UNIX
  DBMS_SCHEDULER.create_job(
    job_name             => namea,
    job_type             => 'EXECUTABLE',
    number_of_arguments  => 1,
    job_action           => '/bin/ls',
    auto_drop            => FALSE,
    enabled              => FALSE);

  DBMS_SCHEDULER.set_job_argument_value(namea,1,'/tmp');

  --DBMS_SCHEDULER.set_attribute(namea, 'credential_name', 'DCSCRED');
  DBMS_SCHEDULER.run_job(namea);
  DBMS_SCHEDULER.drop_job(namea);
END;
/
4

0 に答える 0