To execute a block of code
Dear buddies,
I have a few lines of code which looks like this.
declare
t_Count number := 0;
t_CommitPoint number := 100;
t_ObjectDefID number;
t_ObjectID number;
cursor c_Trees is
select Treeid,
Treetype,
decode(upper(Continent),'AF','Africa',
'AN','Antarctica',
'AS','Asia',
'AU','Australia',
'EU','Europe',
'NA','North America',
'SA','South America',
'Unknown') Continent,
Climate
from conversion.v_Trees;
begin
t_ObjectDefID := api.pkg_ObjectDefQuery.IdForName('Trees');
api.pkg_LogicalTransactionUpdate.ResetTransaction();
api.pkg_LogicalTransactionUpdate.StartTransaction();
.ORA-06550: line 23, column 18:
PLS-00201: identifier 'API.PKG_OBJECTDEFQUERY' must be declared
and a few errors like this.
How should I declare this api?
How should I execute this block? Please guide me.
Thanking in advance.
Nith
Edited by: user645399 on Aug 13, 2010 3:18 PM
How are you using API package in pl/sql block then?
Check whether it exists or not??
As per the error, API package must exist in the schema but not in the Declare section..........syntax for creating objects does not require DECLARE section !!
Declare the API package in schema. and compile again.....if any issue comes, paste your procedure code here.
Similar Messages
-
Atomic block of code in SwingWorker thread?
Hi,
I am coding a Swing application. It has a SwingWorker thread that can be interrupted by a Progress bar.
Inside the worker thread, there are a few lines of code (not a method) that should be executed all or none. In another word,
if the thread runs in the middle of this block, the thread must finish this block. How can this be accomplished? This block of code has nothing to do with database read/write. The reason for the block of code being atomic is that I need to make sure of data consistency. There are no other thread except for
the main thread(event-dispatch thread) and the worker thread.
Thanks a lot!
DavidYou need to synchronize your atomic block and the code to interrupt the thread on the same object.
-
Procedure in Execute Immedite block
Hi, all.
I need to execute pl/sql procedure from Execute Immedite block.
I am trying to do it with exec but getting error:
begin
EXECUTE IMMEDIATE '
exec FillTestForOperation';
end;
begin
ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-06512: at line 2
Is there any way to do it?JustasVred wrote:
Hi, all.
I need to execute pl/sql procedure from Execute Immedite block.
I am trying to do it with exec but getting error:
begin
EXECUTE IMMEDIATE '
exec FillTestForOperation';
end;
begin
ERROR at line 1:
ORA-00900: invalid SQL statement
ORA-06512: at line 2
Is there any way to do it?Try :
declare
vstring varchar2(10);
begin
vstring := FillTestForOperation';';
execute immediate('begin '||vstring||' end;');
end;
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com
[Step by Step install Oracle on Linux and Automate the installation using Shell Script |http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/] -
How to execute SQL Query in Code behind Using infopath 2010?
Hi,
I've repeatable on infopath form, and want bind it throuth code behind from SQL table. My question is that how to execute SQL Query in code behind from infopath as well as how would get Query result to bind repeatable control?
Thanks In Advance
Shoeb AhmadHello,
You first need to add new SQL DB connection then you need execute connection from code behind.
See below link to create new connection
http://office.microsoft.com/en-in/infopath-help/add-a-data-connection-to-a-microsoft-sql-server-database-HP010092823.aspx:
http://www.bizsupportonline.net/infopath2010/connect-infopath-2010-sql-server-2008-table.htm
Then use below code to execute this connection:
AdoQueryConnection conn = (AdoQueryConnection)(this.DataConnections["Data connection name"]);
string origCommand = Select * from tablename;
conn.Command = origCommand;
conn.Execute();
Finally bind your table:
http://www.bizsupportonline.net/infopath2007/4-way-programmatically-add-row-repeating-table.htm
http://stevemannspath.blogspot.in/2010/09/infopath-20072010-populate-repeating.html
Hope it could help
Hemendra:Yesterday is just a memory,Tomorrow we may never see
Please remember to mark the replies as answers if they help and unmark them if they provide no help -
How to execute each block in a multi-block canvas while select the tab?
Hi All,
How to execute each block in a multi-block canvas by selecting a tab? I mean to say when i select a particular tab in a tab canvas the records should execute.How can i set this?
ArifHi Arif
Good Example Manu offered i wish it works if not pls try the following...
Pls try in the when-tab-page-changed trigger in the form level
DECLARE
tp_name varchar2(30);
BEGIN
-- Retrieve the NAME of the top most tab page using the built-in GET_CANVAS_PROPERTY function.
--Pass in the name of the Canvas your tabs are in and the system variable topmost_tab_page which stores a property number
tp_name := GET_CANVAS_PROPERTY('CANVAS11',topmost_tab_page);
-- Perform specific tasks based on the name of the top most tab
IF tp_name = 'PAGE12' then
GO_BLOCK('block_name');
GO_ITEM('DATA_BLOCK_1.FIELD_1');
EXECUTE_QUERY;
ELSIF tp_name = 'PAGE38' then
GO_BLOCK('block_name');
GO_ITEM('DATA_BLOCK_2.FIELD_1');
EXECUTE_QUERY;
ELSIF tp_name = 'PAGE47' then
GO_BLOCK('block_name');
GO_ITEM('DATA_BLOCK_3.FIELD_1');
EXECUTE_QUERY;
END IF;
END;
Hope it helps...
Note: i do agree with Craig
Regards,
Abdetu...
Edited by: Abdetu on Feb 2, 2011 7:41 AM -
How to execute again the JSP codes
Dear Experts,
I am having trouble to execute again the JSP codes in my abc.jsp page. The sequence of the codes are:
[ JSP codes ]
[ HTML codes]
My JSP file is selecting from DB2 and display the results on the same page. The selecting is depending to the selection in the combo box and included the selection into the SQL statement.
The problem is when I change the selection at the combo box, how can I refresh the page and fill in with the new results from database by selecting with the new keyword.You will have to do an onChange handler for the select box, that simply submits the form, and the action would be the current page.
-
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: 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
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: 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
-
Cannot add new components in Object Browser
Hi, We have a complex file with about 80 components. The problem is that when I try to add new components, they're not visible in Object Browser. It's possible to drag components into canvas, but not only they don't appear in object browser but also
-
ITunes 9.0 pausing when skipping a song off of a USB external drive
This is not random and is very much related to iTunes 9.0, because it didn't exist with 8.0. Or well, I could normally skip through 3-4 songs off the external HDD before a similar short pause, and I just always figured it was a normal buffer issue of
-
What do I have to do, to make this error code go away.
I'm awaiting an ipod classic 120 gb which should be arriving anytime now, and to my surprise, I got a message urging me to upgrade to 8.1 (even though I JUST GOT DONE UPGRADING TO THE PREVIOUS ONE LAST WEEK...*hold anger in*). So now when I open itun
-
How do I get iTunes to recognize music after Windows XP reinstall?
Hello, recently I had to reinstall the OS on my desktop computer. I had backed up all of my data and copied back onto the hard drive, but iTunes no longer recognizes the entirety of the library. It will only recognize it if I click on a song, one at
-
Drag n Drop bounds through DragManager
I am using a set of TextInput controls in a Box. These can be dragged to change the positions. I need to be able to specify the bounds on dragging so that these can't be dragged outside of the Box container. Not even the feedback icon and proxyImage