Doesn't execute my user exit codes.
Hello Experts,
I have created user exit ZXF05U01 to validate Tax Number1 field and activated. (txn fk02)
Then Execute the transaction CMOD.
Created a project ZFIAPVEN
In "Enhancement assignments" added SAPMF02K as enhancement.
Saved it.
Then in the initial screen of cmod I've activated the project.
Doesn't execute 'MODULE EXIT_KREDITOR AT EXIT-COMMAND.' When I ran the txn fx02 in debug mode it.
Regards
Naz
I think I took the wrong path to validate the New Zealand specific tax number. Is it possible to set some rules in PRST1_005 in table T005.
If this is possible then please pass me the steps description.
Thanks.
Naz
Similar Messages
-
User exit code does not execute
I'm having a problem with User exit code that does not execute yet seems to be set up correctly.
The User exit is implemented as FM "EXIT_SAPLIPW1_001" in function group XQSM.
I've tried everything I know of with the CMOD and SMOD transactions, and I suspect some sort of transport error.
The only clue I can find in comparing the development system (which works) with the test system (which does not work) is that running "Extended Check" in SE80 on function group XQSM fails with the following error:
"The namespace of program SAPLXQSM has the setting "C" and cannot be tested."
Has anyone any idea what could have happened?Let us try to retrace the steps.
1. You created a Z project in CMOD and assigned the enhancement IQSM0001 and the component EXIT_SAPLIPW1_001 and activated the same. This is there in the transport.
2. You double clicked on the include in the user exit and created it. You activated the code and included it in the same transport.
If you did the above steps, then your user exit should be active in your test system.
Can you please go to SE10, and list out the objects in your transport? You should see entries in there like below(not necessarily a complete list)
R3TR CMOD <your project name>
R3TR PROG ZXQSMU01
See if you created any of the objects as local objects.
Srinivas -
BW User Exit - Code in function of the query name
Hi,
I would like to create an user exit code which execute a algorithm different in function of the query executed. do you know in which variable is store the technical name of the query.
CASE query
WHEN 'Z_ZAPO_001'.
V1 = 1
WHEN 'Z_ZAPO_002'.
V1 = 2 WHEN '10' OR '11' OR '12'.
ENDCASE.Yaroslav,
I_S_RKB1D-COMPID will never be filled for authorization user-exits (I_STEP = 0). Don't ask my why, I once raised this question to OSS and they replied it was never foreseen to work with authorization user-exits. God knows why, it's very unlogical and it wouldn't cost them a lot of work to get it working...
I could solve this problem by applying a little trick. In our queries we included a user-exit keydate variable. This will push the user-exit first in I_STEP = 1 mode where I_S_RKB1D-COMPID is filled. Then save the query name by exporting it to the ABAP-memory. Afterwards, the user exit with code for I_STEP = 0 will be processed and then you can import the query name from the ABAP memory.
I agree it sounds a little bit tricky but there is no better option I'm affraid. -
ORA-27369: job of type EXECUTABLE failed with exit code: Not owner
Hi
I created a backup RAC database job using DBMS_SCHEDULER under RMANTEST schema (a DBA account) and I got the error as subject.
begin
dbms_scheduler.create_job(
job_name => 'scheduler_backup',
job_type => 'EXECUTABLE',
number_of_arguments => 2,
job_action => '/opt/oracle/admin/bin/rman_fullbackup_RAC_TEST_test.sh',
comments => 'backup via scheduler'
dbms_scheduler.SET_JOB_ARGUMENT_VALUE('scheduler_backup', 1, 'TEST');
dbms_scheduler.SET_JOB_ARGUMENT_VALUE('scheduler_backup', 2, 'TEST2');
dbms_scheduler.enable('scheduler_backup');
end;
Thanks,
KevinHi Ravi
Thanks for your input.
"ORA-27369: job of type EXECUTABLE failed with exit code: Not owner" is what I copied from ADDITIONAL_INFO of USER_SCHEDULER_JOB_RUB_DETAILS.
One thing I don't understand of your words is that
"On 10gR1 and 10gR2 you can redirect the stdout/stderr within your script and take a look at those log files."
In my script, I have log files but I cannot see it. I guess the job fails directly without hitting the redirection line in the script. Do you mean I shall write something like this
dbms_scheduler.create_job (
job_action => '/opt/oracle/admin/bin/backup.sh > backup.log'
Another one is
"make sure that the user that external jobs run as must be able to run your script"
But OS user and database user are two different accounts at different level.
I am using 10.2.0.2 RAC. The Unix script runs successfully every night. I just want to take advantage of DBMS_SCHEDULER to avoid host dependency.
Thanks,
Kevin -
ORA-27369: job of type EXECUTABLE failed with exit code: Key has expired
Hi
I defined the following Job on Linux Redhat 5.4 & Oracle DB 10.2.0.4:
BEGIN
dbms_scheduler.create_job(job_name => 'expjob',
job_type => 'executable',
job_action => '/EXPORT/scott_cmd',
enabled => TRUE,
auto_drop => FALSE);
END;
drwxrwxrwx 2 oracle oinstall 4096 Jul 10 19:19 EXPORTwhere:
/home/oracle>cat /EXPORT/scott_cmd
#!/bin/sh
exp parfile=./scott.par
/home/oracle>cat /EXPORT/scott.par
FILE=scott.dmp
USERID=STRMADMIN/STRMADMIN
OWNER=SCOTT
LOG=scott.log
/home/oracle>ls -l /EXPORT/scott_cmd
-rwxr-xr-x 1 oracle oinstall 34 Jul 10 19:16 /EXPORT/scott_cmd
/home/oracle>ls -l /u01/app/oracle/OraHome_1/rdbms/admin/externaljob.ora
-rw-r--r-- 1 root oinstall 1575 Jul 10 18:42 /u01/app/oracle/OraHome_1/rdbms/admin/externaljob.ora
(run_user = nobody
run_group = nobody)
/home/oracle>ls -l /u01/app/oracle/OraHome_1/bin/extjob
-rwsr-x--- 1 root oinstall 64842 Jul 8 14:21 /u01/app/oracle/OraHome_1/bin/extjob
/home/oracle>ls -l /u01/app/oracle/OraHome_1/bin/extjobo
-rwxr-xr-x 1 oracle oinstall 64842 Jul 8 14:21 /u01/app/oracle/OraHome_1/bin/extjoboWhen I executed as user STRMADMIN ( has DBA & CREATE JOB Privileg) the Job, I got always the error:
/EXPORT>sqlplus STRMADMIN/STRMADMIN
SQL*Plus: Release 10.2.0.4.0 - Production on Sun Jul 10 19:40:24 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> exec dbms_scheduler.run_job('expjob');
BEGIN dbms_scheduler.run_job('expjob'); END;
ERROR at line 1:
ORA-27369: job of type EXECUTABLE failed with exit code: Key has expired
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 1
SQL>Please, help
regards
hqt200475
Edited by: hqt200475 on Jul 10, 2011 10:04 AM
Edited by: hqt200475 on Jul 10, 2011 10:05 AMHi Ronald,
I need the external Job in the 10.2.0.4-Environment because of the Online-Upgrade of a 10.2.0.4-Database to 11.2.0.2 with STREAMS. I want to start the old export from a PL/SQL-Procedure.
Now returning to my problem:
First: Change the run user to oracle:oinstall $ORACLE_HOME/rdbms/admin/externaljob.ora
# This configuration file is used by dbms_scheduler when executing external
# (operating system) jobs. It contains the user and group to run external
# jobs as. It must only be writable by the owner and must be owned by root.
# If extjob is not setuid then the only allowable run_user
# is the user Oracle runs as and the only allowable run_group is the group
# Oracle runs as.
#run_user = nobody
#run_group = nobody
run_user = oracle
run_group = oinstallsecond:
/EXPORT>cat scott_cmd
#!/bin/sh
ORACLE_SID=STB;export ORACLE_SID
ORACLE_HOME=/u01/app/oracle/OraHome_1;export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/opmn/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
/u01/app/oracle/OraHome_1/bin/exp parfile=/EXPORT/scott.parand:
BEGIN
dbms_scheduler.create_job(job_name => 'expjob_r',
job_type => 'executable',
job_action => '/EXPORT/scott_cmd',
enabled => TRUE,
auto_drop => FALSE);
END;
/The manual execution of export as user oracle/oinstall was unproblematic, But I still got the error when running the following procedure :
SQL> exec dbms_scheduler.run_job('expjob_r');
BEGIN dbms_scheduler.run_job('expjob_r'); END;
ERROR at line 1:
ORA-27369: job of type EXECUTABLE failed with exit code: Operation not
permitted
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 1regards
hqt200475 -
ORA-27369: job of type EXECUTABLE failed with exit code: Permission denied
Guy's
I am getting the same error
my schema is having dba priveleges.
CREATE OR REPLACE procedure abc_1 as
begin
dbms_scheduler.create_job(
job_name=>'test_1',
job_type=>'executable',
job_action=>'/d02/oradata/shell_scripts/import_db_1.sh',
enabled=>false,
auto_drop=>true );
end;
CREATE OR REPLACE procedure abc_2 as
--http://www.dba-oracle.com/t_dbms_scheduler_examples.htm
--http://www.oradev.com/dbms_scheduler.jsp
--http://forums.oracle.com/forums/thread.jspa?messageID=1352558�
begin
dbms_scheduler.run_job (job_name=>'test_1');
end;
SQL>
SQL>
SQL> exec abc_1
PL/SQL procedure successfully completed.
SQL> exec abc_2
BEGIN abc_2; END;
ERROR at line 1:
ORA-27369: job of type EXECUTABLE failed with exit code: Permission denied
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at "SYS.ABC_2", line 6
ORA-06512: at line 1
any one got the solution.pl pass it.
TIA,Hi,
If rdbms/admin/externaljob.ora exists (in 10.2.0.3 and up) then external jobs run as the user and group specified in this file which should be nobody by default.
If it does not exist (in releases prior to 10.2.0.3) then external jobs run as the owner of bin/extjob which should be nobody by default.
Because external jobs run as a lowly privileged user (nobody) by default, you need to make sure that this user can execute your script. Things to check for include
1) Use full paths to all binaries or scripts in job_action or program_action as well as calls inside the script.
2) Make sure all scripts start with #!/bin/sh or another command interpreter
3) Make sure all scripts have the executable bit set and are executable by the user that external jobs run as
4) Make sure that all required environment variables are set. External jobs by default do not have any environment variables set. For example, for an oracle import or export or sqlloader script you may need to set oracle_home, oracle_sid, ld_library_path and path environment variables in your script or source the required Oracle environment script.
Hope this helps,
Ravi. -
ORA-27369: job of type EXECUTABLE failed with exit code
am getting this error
ORA-27369: job of type EXECUTABLE failed with exit code: Operation not permitted.
We have been using this for such a long time without any problems.this is the plsql scheduler :
Please help
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
job_name => 'PROD_LOAD_SL_FILES'
,start_date => TO_TIMESTAMP_TZ('2005/12/02 17:05:00.000000 -05:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
,repeat_interval => NULL
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'EXECUTABLE'
,job_action => '/home/oracle/actual/payment_files/slc_prod/load_sl_files.sh'
,comments => 'Loads SL files, uploads logs to database and sends email to Disbursement and DBA teams'
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'RESTARTABLE'
,value => FALSE);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'LOGGING_LEVEL'
,value => SYS.DBMS_SCHEDULER.LOGGING_RUNS);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'MAX_FAILURES');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'MAX_RUNS');
BEGIN
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'STOP_ON_WINDOW_CLOSE'
,value => FALSE);
EXCEPTION
-- could fail if program is of type EXECUTABLE...
WHEN OTHERS THEN
NULL;
END;
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'JOB_PRIORITY'
,value => 1);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'SCHEDULE_LIMIT');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'AUTO_DROP'
,value => FALSE);
END;
and this is part of the unix script get executed:
[oracle@USAC-S009 slc_prod]$ cat load_sl_files.sh
#!/bin/sh
# FILEME: /home/oracle/actual/paytment_files/load_sl_files.sh
# PURPOSE: Load SL files, email .log files
# INSTRUCTIONS/COMMENTS/ASSUMPTIONS: Two SL files will be pulled down
# MAINTENANCE LOG
# REV# DATE AUTHOR QA-ed BY CHANGE DESCRIPTION KEY
DATE=`/bin/date +%d%b%y_%H%M`
HOME=/home/oracle
export HOME
ORACLE_HOME=/u01/app/oracle/product/10.2
export ORACLE_HOME
ORACLE_SID=em
export ORACLE_SID
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/bin:/etc:/usr/local/bin:/u01/app/oracle/product/10.2/bin:/bin:/sbin:/usr/bin:/usr/sbin; export PATH
SL_HOME=/home/oracle/actual/payment_files/slc_prod
FILE_HOME=/opt/u02/home/usair
# Call slc.sh to load files
ssh usac09.usacad.loc > /home/oracle/actual/payment_files/slc_prod/slc.sh.log <<EOT
/u01/app/oracle/slc.sh 2>&1
sleep 120
EOT
.............Hi,
The user oracle who owns the scheduler already has permissions for the mailx and the same script is able to send notifications when run manully. Do I need to set additional permissions for scheduler ?
Also the db version is 10.2.0.5.
Thanks -
ORA-27369: job of type EXECUTABLE failed with exit code: No such file or directory
Hi,
I am using the scheduler to take backup of the dev database and it was working fine. Then I added notification to the scripts and then the scheduler started failing with the following code .
BEGIN dbms_scheduler.run_job('BACKUP_DEV'); END;
ERROR at line 1:
ORA-27369: job of type EXECUTABLE failed with exit code: No such file or
directory
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 1
Here' the original which has no issues
#!/bin/bash -x
echo $@
if [ -z "$ORACLE_HOME" ]; then
source /path/oracle/.bash_profile
fi
RMAN="${ORACLE_HOME}/bin/rman";
${RMAN} $@
exit $?
And here's the one which gives me the errors. Also if I run this script from command line it works perfectly fine
#!/bin/bash -x
echo $@
if [ -z "$ORACLE_HOME" ]; then
source /path/oracle/.bash_profile
fi
RMAN="${ORACLE_HOME}/bin/rman";
exec >> temp_log
${RMAN} $@
/usr/bin/mailx -s "Backup status of $ORACLE_SID " [email protected] < temp_log
/usr/bin/rm temp_log
exit $?
Pls let me know what could be the reason that the script fails with the scheduler.Hi,
The user oracle who owns the scheduler already has permissions for the mailx and the same script is able to send notifications when run manully. Do I need to set additional permissions for scheduler ?
Also the db version is 10.2.0.5.
Thanks -
ORA-27369: job of type EXECUTABLE failed with exit code: Unknown error STAN
ORA-27369: job of type EXECUTABLE failed with exit code: Unknown error STANDARD_ERROR="execve: Exec format error"
#!/usr/bin/ksh
/bin/find /u08/oradba/S036/archlog -name "*.arc" -exec rm -f {} \;
Simple shell script gives above error when scheduled through dbms_scheduler. I did check metalink notes everything seems to be in order.
Thanks,
SivaHi,
Make sure the script is set to be executable (chmod a+rx script.sh) and that /usr/bin/ksh exists and is executable.
If it still doesn't work post the new error message and the output of "ls -l script.sh" and also your exact Oracle version. Also try running the shell script directly at the command line (e.g. ./script.sh).
Hope this helps,
Ravi. -
hi,
i have one user exit name with me like EXIT_SAPLVxxxxx. how can i see it's code.
thksThose user exits are build as function modules. Just goe to transaction SE37, put in the name and there you go. Double click on the include in the FM and you'll see the code. If the include doesn't exist this user exit has not yet been implemented.
Regards,
Michael -
ORA-27369: job of type EXECUTABLE failed with exit code: 274662
I am trying to run a shell script through dbms_scheduler. The Shell scripts calls the oracle procedure which insert a record to the Debug table.
Code for generating the script
declare
begin
dbms_scheduler.create_job(
job_name=>'test_call_unix'
,job_type=>'executable'
,job_action=>'/carsd/Input/Current/BAM/calling_proc.sh'
,start_date => SYSDATE
,repeat_interval => 'FREQ=SECONDLY; INTERVAL=1'
,enabled=>TRUE
,auto_drop => TRUE
,comments=> 'Calling unxi sh'
end;
the shell script (calling_proc.sh)
touch called.log
sqlplus $ORA_USER/$ORA_PWD@$ORA_HOST << EOF1
exec p1_sh;
exit;
EOF1
I gave chmod 777 calling_proc.sh
this the error which i got in ALL_SCHEDULER_JOB_RUN_DETAILS table
ORA-27369: job of type EXECUTABLE failed with exit code: 274662
STANDARD_ERROR="Oracle Scheduler error: Config file is not owned by root or is writable by group or other or extjob is not setuid and owned by root"
Thanks in advance
Jeeva.STANDARD_ERROR="Oracle Scheduler error: Config file is not owned by root or is writable by group or other or extjob is not setuid and owned by root"
I gave chmod 777 calling_proc.sh
comply with top line message! -
ORA-27369: job of type EXECUTABLE failed with exit code: Incorrect function
Hello,
I am calling a windows bat file using dbms_scheduler and getting the following error. I have searched the forum and the internet and tried different switches and options. None of them solved my problem.
Oracle Version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
OracleJobScheduler is running as a service
Error starting at line 1 in command:
execute GET_RESULTS();
Error report:
ORA-27369: job of type EXECUTABLE failed with exit code: Incorrect function.
ORA-06512: at "SYS.DBMS_ISCHED", line 185
ORA-06512: at "SYS.DBMS_SCHEDULER", line 486
ORA-06512: at "PS.GET_RESULTS", line 67
ORA-06512: at line 1
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.
Here is the code for scheduler
dbms_output.put_line(os_commandline || utlPath || fileSeparator || 'get.bat >nul')
dbms_scheduler.create_job
( job_name =>'PS_GET_RESULTS'
, job_action => os_commandline || utlPath || fileSeparator || 'get.bat >nul'
, job_type =>'executable'
, enabled =>false
, auto_drop =>false
, start_date =>systimestamp
dbms_scheduler.run_job(job_name =>'PS_GET_RESULTS');The dbs_output prints a line which shows that the parameters os_commandline, utlPath and fileSeparator are set correctly.
C:\windows\system32\cmd.exe /q /c E:\UTLDir\get.bat >nulThe windows file (get.bat) is:
"C:\Program Files (x86)\WinSCP\Winscp.exe" /script=e:\utldir\get_resultsThis batch file passes a script file to the executable winscp.exe to get files from another server.
The script file (get_results) is:
option batch abort
option confirm off
open sftp://username:password@ipnumber:port -hostkey="ssh-rsa 1024 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
cd /usr/dropbox/
option transfer binary
get *.results E:\UTLDir\Results\
close
exitI tested the batch file directly and works fine and "gets" the files from the server. But, invoking from Oracle dbms_scheduler fails with ORA-27369: job of type EXECUTABLE failed with exit code: Incorrect function.
Appreciate your help and time in suggesting additional guidelines or pointers.
Thanks,
RoseHere is an update, if somebody else is having a similar problem.
The ftp command "cd" to change the directories should be an absolute path. I was given a path "/usr/dropbox/", but on the server it actually corresponds to "/usr/local/apps/dropbox/". After updating the directory path, the scheduler worked fine in invoking the batch file for transferring the files.
Thanks,
Rose -
ORA-27369:job of type EXECUTABLE failed with exit code + rman???
Hi all,
I was trying to execute job from 10G (10.2.01) Enterprise Manager Database Control, and got error below
ORA-27369:job of type EXECUTABLE failed with exit code: Network is down STANDARD_ERROR="/home/oracle/scripts/backup/backupset_full:rman: command not found"
Here is the file contents of backupset_full
#!usr/bin/bash
rman <<EOF
connect catalog rman/rman@catrcv
connect target sys/sys@test
run{
EXECUTE SCRIPT global_backup_full;
quit
EOF
Here is the file content of global_backup_full script
CREATE SCRIPT global_backup_full
shutdown immediate;
startup mount;
allocate channel d1 device type DISK;
backup as compressed backupset database;
release channel d1;
NOTE: I am running on bash shell environment.
THANK YOU VERY MUCH in advance.
Rich,You need to set ORACLE_HOME inside backupset_full script and possibly change rman to $ORACLE_HOME/bin/rman
#!usr/bin/bash
export ORACLE_HOME=<your_oracle_home _directory>
$ORACLE_HOME/bin/rman <<EOF
connect catalog rman/rman@catrcv
connect target sys/sys@test
run{
EXECUTE SCRIPT global_backup_full;
quit
EOF
Here is the file content of global_backup_full script
CREATE SCRIPT global_backup_full
shutdown immediate;
startup mount;
allocate channel d1 device type DISK;
backup as compressed backupset database;
release channel d1;
} -
ORA-27369: job of type EXECUTABLE failed with exit code:Operation notpermit
I am getting this error
ORA-27369: job of type EXECUTABLE failed with exit code: Operation not permitted.
We have been using this for such a long time without any problems.this is the plsql scheduler :
Please help
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
job_name => 'PROD_LOAD_SL_FILES'
,start_date => TO_TIMESTAMP_TZ('2005/12/02 17:05:00.000000 -05:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
,repeat_interval => NULL
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'EXECUTABLE'
,job_action => '/home/oracle/actual/payment_files/slc_prod/load_sl_files.sh'
,comments => 'Loads SL files, uploads logs to database and sends email to Disbursement and DBA teams'
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'RESTARTABLE'
,value => FALSE);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'LOGGING_LEVEL'
,value => SYS.DBMS_SCHEDULER.LOGGING_RUNS);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'MAX_FAILURES');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'MAX_RUNS');
BEGIN
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'STOP_ON_WINDOW_CLOSE'
,value => FALSE);
EXCEPTION
-- could fail if program is of type EXECUTABLE...
WHEN OTHERS THEN
NULL;
END;
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'JOB_PRIORITY'
,value => 1);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'SCHEDULE_LIMIT');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'PROD_LOAD_SL_FILES'
,attribute => 'AUTO_DROP'
,value => FALSE);
END;
and this is part of the unix script get executed:
[oracle@USAC-S009 slc_prod]$ cat load_sl_files.sh
#!/bin/sh
# FILEME: /home/oracle/actual/paytment_files/load_sl_files.sh
# PURPOSE: Load SL files, email .log files
# INSTRUCTIONS/COMMENTS/ASSUMPTIONS: Two SL files will be pulled down
# MAINTENANCE LOG
# REV# DATE AUTHOR QA-ed BY CHANGE DESCRIPTION KEY
DATE=`/bin/date +%d%b%y_%H%M`
HOME=/home/oracle
export HOME
ORACLE_HOME=/u01/app/oracle/product/10.2
export ORACLE_HOME
ORACLE_SID=em
export ORACLE_SID
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/bin:/etc:/usr/local/bin:/u01/app/oracle/product/10.2/bin:/bin:/sbin:/usr/bin:/usr/sbin; export PATH
SL_HOME=/home/oracle/actual/payment_files/slc_prod
FILE_HOME=/opt/u02/home/usair
# Call slc.sh to load files
ssh usac09.usacad.loc > /home/oracle/actual/payment_files/slc_prod/slc.sh.log <<EOT
/u01/app/oracle/slc.sh 2>&1
sleep 120
EOT
# Move logs from usac09 to usac-s009
#ssh usac09.usacad.loc >> /home/oracle/actual/payment_files/slc_prod/slc.sh.log <<EOT
# /u01/app/oracle/move_logs.sh 2>&1
# sleep 15
#EOT
.............Hi!
I have shell scripts with number of mandatory parameters.
How can I write it in sql procedure in order to create exact command line that shuold be executed in Linux?
the procedure looks like :
CREATE OR REPLACE procedure CRM.run_tts (p_tts_name in varchar2 )
is
v_tts_name varchar2(2000);
v_job_name varchar2(2000);
v_source varchar2(200);
v_target varchar2(200);
Begin
v_tts_name := upper(p_tts_name);
--if p_instance_type='P' then
v_source := 'psdwh';
v_target := 'pudwh';
--end if;
if v_tts_name is not null then
v_job_name := 'run_tts_'||v_tts_name;
v_source := '/-ssid/'||v_source;
v_target := '/-tsid/'||v_target;
v_tts_name := '/-tbsname/'||v_tts_name;
DBMS_SCHEDULER.create_job (
job_name => v_job_name,
job_type => 'EXECUTABLE',
job_action => '/tmp/trans_asm',
start_date => SYSTIMESTAMP,
number_of_arguments => 3,
enabled => false,
auto_drop => false);
--dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>'/software/oracle/dba/scripts/bin/trans_asm.sh'||' '||c_rec.id||' '||'"'||c_rec.view_name||'"'||' '||v_setnum||' '||'"'||V_MACHINE_TYPE||'"'||' '||'"'||p_mode||'"');
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>v_source);
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>2,argument_value=>v_target);
dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>3,argument_value=>v_tts_name);
-- dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>'/software/oracle/dba/scripts/bin/trans_asm_ps.sh');
--dbms_scheduler.set_job_argument_value(job_name=>v_job_name,argument_position=>1,argument_value=>'/tmp/test.sh');
-- trans_asm -ssid tsdwh -tsid tudwh -tbsname DW_BILLING_TTS
dbms_scheduler.enable(name=>v_job_name);
end if;
end;
the command looks like :
trans_asm -ssid psdwh -tsid pudwh -tbsname YOAV_TTS
Thank you !
Valerie -
ORA-27369: job of type EXECUTABLE failed with exit code: Unknown error
Hello DBAs,
I am trying to schedule a shell script through dbms_scheduler.CREATE_JOB
My database version is 10.2.0.3.0.
I can successfully schedule the job, but while running, it throwing ORA-27369 with out exit code.
Given below are the actions performed -
-- Created shel scripts-
$ cat shell01.sh
./test.sh >> test.log
$
$ cat test.sh
sqlplus -s "/ as sysdba" <<EOF
SELECT SUBSTR(host_name,0,10) host_name, instance_name, status,TO_CHAR(startup_time,'dd-mm-yy hh24:mi:ss') startup_time
FROM v\$instance;
disconnect;
exit;
EOF
-- Granting privileges - (eventhough I have tried from 'SYS' schema)
GRANT create Job, create external job, execute any class, execute any program , manage scheduler to sys;
-- Drop job with name RUN_SHELL01
BEGIN
dbms_scheduler.drop_job('RUN_SHELL01');
END;
-- Schedule job with name RUN_SHELL01
BEGIN
dbms_scheduler.CREATE_JOB
(job_name => 'RUN_SHELL01',
job_type => 'EXECUTABLE',
job_action => '/home/ora1023/shell01.sh',
start_date => '18-AUG-09 05:37:00 AM',
end_date => NULL,
repeat_interval => 'FREQ=MINUTELY',
enabled => false,
comments => 'Run shell-script');
END;
--Enable job
BEGIN
dbms_scheduler.enable('RUN_SHELL01');
END;
-- Checking status
SELECT owner, job_name, enabled FROM dba_scheduler_jobs;
select JOB_NAME,STATUS,ERROR# from dba_scheduler_job_run_details where job_name='RUN_SHELL01';
-- Executing the job
SQL> exec dbms_scheduler.run_job('RUN_SHELL01');
BEGIN dbms_scheduler.run_job('RUN_SHELL01'); END;
ERROR at line 1:
ORA-27369: job of type EXECUTABLE failed with exit code: Unknown error
ORA-06512: at "SYS.DBMS_ISCHED", line 150
ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
ORA-06512: at line 1
Anybody please suggest a solutions for this -My shell script will work as below -
user01@test01:/home/user01 : cat shell01.sh
./test.sh >> test.log
user01@test01:/home/user01 :
user01@test01:/home/user01 :
user01@test01:/home/user01 : cat test.sh
sqlplus -s "/ as sysdba" <<EOF
SELECT SUBSTR(host_name,0,10) host_name, instance_name, status,TO_CHAR(startup_time,'dd-mm-yy hh24:mi:ss') startup_time
FROM v\$instance;
disconnect;
exit;
EOF
user01@test01:/home/user01 : ./shell01.sh
user01@test01:/home/user01 : ls -ltr
-rw-r--r-- 1 ora1023 dba 155 Aug 26 05:28 test.log
user01@test01:/home/user01 : cat test.log
HOST_NAME INSTANCE_NAME STATUS STARTUP_TIME
test01 oft1 OPEN 18-08-09 08:22:45
user01@test01:/home/user01 :
** I think this shell script is working fine! ..its only for testing..
and while we are querying dba_scheduler_job_run_details for additional info-
SQL> select s.STATUS ,s.ADDITIONAL_INFO from dba_scheduler_job_run_details s where s.job_name='RUN_SHELL01';
STATUS
ADDITIONAL_INFO
STANDARD_ERROR="execve: Exec format error"
FAILED
ORA-27369: job of type EXECUTABLE failed with exit code: Unknown error
STANDARD_ERROR="execve: Exec format error"
I think Metalink Doc ID: 555160.1 (Schedular Job of Type 'EXECUTABLE' Fails with ORA-27369 "exit code: 255" STANDARD_ERROR="execve: Exec format error"). Will help me to solve this issue Since i am using ksh -
# echo $SHELL
/bin/ksh
Edited by: Rajesh Menon on Aug 25, 2009 9:21 PM
Maybe you are looking for
-
I am running Photoshop CS6 on a Mac OS X 10.9.3 and every time I save a large eps I can not open it again. I get this message when I try. "Could not complete your request because Photoshop was unable to parse the PostScript."
-
Iphone disabled not able to restore it
hey i have an iphone 5 with ios 7 my iphone is disbled and i have never snyc with itunes i put it in recovery mode but when i m restoring then everytine an error occurs i dont know how to restore it plz help
-
Timezone not working correctly
Hi I'am having problems with the automatic timezone function. First I went on vacantion an the phone did not change my timezone. This caused problems cause th hub tried to connect to my gmail account but the time did not match with my zone causing go
-
MSS Employee search and General Data
Hi All, We are implementing ESS/MSS. When i preview "Employee Search" iview in (Content Provided by SAP>Line Manager> Employee Search) iview. It shows all employees under that line manger with all options. But when i click on any employee, i
-
Eq. not copying from Maint. Work order to Work Approval in WCM
Dear Experts, While I am creating Work Approval from Work Order, Equipment number is not copied from Work Order as per screenshot. why?