Scheduled Job Running Shell Script failswith ORA-27369
Applies To:
Oracle server-enterprise edition-version:10.1.0.2 to 10.2.0.4
Oracle Server-standard edition-version:10.1.0.2 to 10.2.0.4
including version:11.2.0.4
Sun Solaris SPARC (64-bit)
Linux x86
"Ora-27369:job of type executablefailed with exit Code:unknown error" is still occurring for non Oracle users Runni ng Dbms_scheduler executed shellscripts. problem was fixed while filesystem where Oracle_home was Mountedon is found to has been mounted w/nosetuid. Changing mount option to setuidresolved problem
Symptoms
@Checked for relevance on 16-may-2008
A Scheduler Job has been configuredusing, the Dbms_scheduler package. The job executes a shell script using theoption job_type=> ' executable '. The script performs a write operation to anoutput file, for example a redirect operation or touch. The Write Operationfails with:
Ora-27369:job of type executable Failedwith exit code: operation not permitted
Or
Ora-27369:job of type executable Failedwith exit code: 274662
Or
Ora-27369:job of type executable Failedwith exit code: unknownerror
Indba_scheduler_job_run_details.additional_info, the following details arerecorded:
Ora-27369:job of type executable Failedwith exit Code:operation not permitted
standard_error= "Touch:cannot Touch": Permission denied "
Or
Ora-27369:job of type executable Failedwith exit code: 274662
standard_error= "Oracle schedulererror:config file is not owned by Root or is
Writable by group or other or Extjob IsNot setuid and owned by Root "
Cause
If$oracle_home/rdbms/admin/externaljob.ora exists then external jobs run as Theuser and group specified in the This file, Which by defaultis a lowly privileged user (nobody).
The user ' Nobody ' andthe group ' Nobody ' do not has the proper privileges for write operations.
As a result, themessage ' Permission denied ' is returned when attempting to write to files.
Solution
Root access is required for the steps below.
1. Ensure the configuration File$oracle_home/rdbms/admin/externaljob.ora is owned by Root:
# cd$oracle_home/rdbms/admin/
# Chown Rootexternaljob.ora
2. Ensure the file permissions arecorrectly set for $ORACLE _home/rdbms/admin/externaljob.ora.
Remove Write privileges from group Andother.
# chmod 640externaljob.ora
# Ls-la Externaljob.ora
-rw-r-–1 root oinstall 1537 Sep 1309:24 Externaljob.ora
3. Edit$oracle_home/rdbms/admin/externaljob.ora and set Run_user to the OS Accountthat owns the ORACLE installation and th e database and Run_group to the Osgroup that owns the oracle_home.
Example:
OS account:oracle
OS Group:oinstall
Run_user = Oracle
Run_group = Oinstall
4. Ensure the setuid bit is set on The$oracle_home/bin/extjob executable. Alsomake sure the filesystem is mounted with SETUID option.
# Cd$oracle_home/bin
# Chown rootextjob
# chmod 4750extjob
# Ls-la Extjob
-rwsr-x-1 root oinstall 64988 Mar 2918:22 extjob
This article is from the "90SirDB" blog, be sure to keep this source http://90sirdb.blog.51cto.com/8713279/1791166
Scheduled Job Running Shell Script fails with ORA-27369