$ ls -l $ORACLE_HOME/bin/extjob -rwsr-x---. 1 root oinstall 1254244 Апр 5 2016 /opt/oracle/product/11.2.0/dbhome_1/bin/extjob
Если это не так, от root необходимо выполнить:
$ chmod 4750 $ORACLE_HOME/bin/extjob $ chown root:oinstall $ORACLE_HOME/bin/extjob
$ ls -l $ORACLE_HOME/rdbms/admin/externaljob.ora -rw-r-----. 1 root oinstall 1575 Дек 22 12:36 /opt/oracle/product/11.2.0/dbhome_1/rdbms/admin/externaljob.ora
Если это не так, от root необходимо выполнить:
$ chmod 640 $ORACLE_HOME/rdbms/admin/externaljob.ora $ chown root:oinstall $ORACLE_HOME/rdbms/admin/externaljob.ora
$ cat $ORACLE_HOME/rdbms/admin/externaljob.ora run_user = oracle run_group = oinstall
GRANT CREATE job TO test; GRANT CREATE external job TO test;
#!/bin/bash infile="$1" outfile="${2:-/home/oracle/df_opt.tst}" df -h "${infile}" > "${outfile}"
chmod +x test.sh
DECLARE v_job_name VARCHAR2(50) := 'test_job'; BEGIN BEGIN dbms_scheduler.drop_job(v_job_name); EXCEPTION WHEN OTHERS THEN NULL; END; dbms_scheduler.create_job ( job_name=> v_job_name , job_type=>'executable' , job_action=>'/home/oracle/test.sh' , number_of_arguments => 2 , enabled => FALSE ); dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1, argument_value=>'/'); dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>2, argument_value=>'/home/oracle/df.tst'); dbms_scheduler.enable(v_job_name); END; /
После того, как отработает job, можно посмотреть его статус:
SELECT job_name, error#, log_date, status, ADDITIONAL_INFO from all_scheduler_job_run_details where job_name='TEST_JOB' order by log_date;
и файл /home/oracle/df.tst в ОС.