Executing procedure script
Hi All,
I have this procedure
SQL> exec dwsp_more2_feed3('11-SEP-2011',null);
which takes two parameters and time to execution is around 12-15 min.
Now I want to run this procedure from date '01-SEP-2011' to '30-SEP-2011' sending parameters one by one like 01-sep them 02-sep.....
How should i do that? Can anybody help how to write this code.
Thanks,
Sid
When your procedure really expects a CHAR-Value you can use:
declare
v_datvalue varchar2(20);
begin
for i in 1..30 loop
v_datvalue := lpad(i,2,'0')||'-SEP-2011';
dwsp_more2_feed3(v_datvalue,null);
end loop;
end;When your procedure expects a DATE-value (not a char value as in your sample code) you should give it a DATE value:
declare
v_datvalue date;
begin
for i in 1..30 loop
v_datvalue := to_date(lpad(i,2,'0')||'-09-2011','DD-MM-YYYY');
dwsp_more2_feed3(v_datvalue,null);
end loop;
end;Edited by: hm on 06.10.2011 01:56
Similar Messages
-
Error while executing procedure having IN and OUT parameters
Hi,
I will be really gratified if someone can please help me in solving with the following problem.
I have one procedure given below
create or replace procedure abcd1april (
nd_in IN varchar2,
sal_in IN number,
success_out OUT number,
error_code_out OUT number,
error_msg_out OUT varchar2
AS
old_sal number;
cursor H7 is select SERV_ACC_LINK_CODE_N from pair_bkup where PAIRE_STATUS in (3,4) and nd=nd_in;
BEGIN
old_sal:=0;
open H7;
fetch H7 into old_sal;
close H7;
if old_sal=0
then
success_out:=0;
error_code_out:=01;
error_msg_out:='Check this error';
else
update pair_bkup set SERV_ACC_LINK_CODE_N=sal_in where nd=nd_in and SERV_ACC_LINK_CODE_N=old_sal;
success_out:=1;
error_code_out:=00;
error_msg_out:='NO ERROR IS THERE';
end if;
EXCEPTION
WHEN OTHERS
THEN
success_out:=0;
error_code_out:=SQLCODE;
--error_msg_out:=SQLERRM;
END;
Now when i try to execute this script it throws an error given below:-
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "TELMATEST.ABCD1APRIL", line 39
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Now i am executing this procedure by following script:-
DECLARE
nd_in_n VARCHAR2(10);
sal_in_n NUMBER;
success_out_n NUMBER;
error_code_out_n NUMBER;
error_message_out_n VARCHAR2(10);
BEGIN
nd_in_n := '';
sal_in_n:= 0;
success_out_n := 0;
error_code_out_n:= '';
error_message_out_n := '';
abcd1april('02022',3,success_out_n,error_code_out_n,error_message_out_n);
insert into errormsgs values(&error_code_v,'error_message_v');
END ;
Now please help me in above case.
Regards
Gursimran SinghGursimran,
The error message tells you what you need to know -
ORA-06502: PL/SQL: numeric or value error: character string buffer too small.You're calling the procedure and supplying
error_message_out_n VARCHAR2(10);In each case, the message 'Check this error', 'NO ERROR IS THERE' or SQLERRM is longer than 10 characters - therefore the error.
Try it with
error_message_out_n VARCHAR2(1000);Cheers,
Bryan. -
Error in Executing Procedure through DBLink
Hi,
I am facing some problems in executing a procedure through DBLink.
I have two schema A and B in two different database.
In schema A I am having one procedure X in package Y and my requirement is that I want to execute this procedure in schema B. So in schema B i have created one DBLink ABC and trying to execute procedure X using this DB link.
begin
A.Y.X@ABC;
end;
But I am getting below error:
ORA-06550: line 2, column 1:
PLS-00201: identifier 'A.Y.X@ABC' must be declared
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
Any help would be greatly appreciated!
Thanks In Advance..
Regards,
Sachin BansalHi,
Yes, I am connecting to user A of DB1 and in this user I am having procedure X in Package Y. My DBLink in Schema B of DB2 is pointing to user A of DB1.
I have created DBLINK using below script:
create public database link abc
connect to A
identified by A
using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX)(PORT=1521)))(CONNECT_DATA=(service_name=XXX)))';
Above DBLInk is working fine..I am able to access all the table of schema A in schema B using this DBLink. But when I trying to execute any procedre of schema A in schema B then i am getting error.
Regards,
Sachin -
Hi,
Needed your inputs on approach to implement a job using dbms_scheduler.
We have around 2000 schemas. Each schema has a package with 2 procedures.
The requirement is to create a single job in SYS that would loop through each schema and run the procedures at a specific time ( once a day) and send email notification on success or failure.
Job script:
BEGIN
dbms_scheduler.create_job( job_name=> 'LOAD_EACH_SCHEMA_AUDIT_DATA',
job_type=>'PLSQL_BLOCK',
job_action=>'BEGIN sys.p_loadaudit;
END;',
start_date=>systimestamp,
repeat_interval=>'FREQ=MINUTELY;INTERVAL=1',
number_of_arguments=>0,
enabled=> true,
comments=>'Job repeat interval is every 5 mins' );
END;
Note: for testing purpose i have set repeat interval to minutely.
Procedure job will be executing:
Procedure sys.p_loadaudit:
CREATE OR REPLACE
PROCEDURE p_loadaudit
AS
v_count NUMBER:= 0;
lv_error_message VARCHAR2(4000);
vstmt VARCHAR2(4000);
BEGIN
FOR i IN
( SELECT username FROM dba_users WHERE username LIKE 'ABCFIRM%'
LOOP
vstmt:= 'begin ' || i.username || '.pkg_audit_info.p_load_coa; end;';
EXECUTE immediate vstmt;
vstmt:= 'begin ' || i.username || '.pkg_audit_info.p_load_am; end;';
EXECUTE immediate vstmt;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
lv_error_message := 'Error in procedure p_loadaudit: ' || SQLCODE || ' -ERROR- ' || SUBSTR(
sqlerrm,1,300) || '*' || dbms_utility.format_error_backtrace;
raise_application_error(-20002,lv_error_message);
END p_loadaudit;
Example of one schema: SCHEMA_01
create or replace
PACKAGE pkg_audit_info
AS
type cursortype
IS
ref
CURSOR;
PROCEDURE p_load_COA;
PROCEDURE p_load_AM;
END pkg_audit_info;
create or replace
PACKAGE body pkg_audit_info
AS
PROCEDURE p_load_COA
AS
BEGIN
INSERT INTO TABLE1();
EXCEPTION
WHEN OTHERS THEN
lv_error_message := 'Error in procedure pkg_audit_info.p_load_COA: ' || SQLCODE
|| ' -ERROR- ' || SUBSTR(SQLERRM,1,300) || '*' || dbms_utility.format_error_backtrace;
RAISE_application_error(-20002,lv_error_message);
END p_load_COA;
PROCEDURE p_load_AM
AS
BEGIN
INSERT INTO TABLE2();
EXCEPTION
WHEN OTHERS THEN
lv_error_message := 'Error in procedure pkg_audit_info.p_load_AM: ' || SQLCODE ||
' -ERROR- ' || SUBSTR(SQLERRM,1,300) || '*' || dbms_utility.format_error_backtrace;
RAISE_application_error(-20002,lv_error_message);
END p_load_AM;
END pkg_audit_info;
Table1 and table1 exist in schema_01.
All 2000 schemas have same package.procedures.
Due to security reasons i have removed the actual code.
I was able to execute the job successfully. However, when a schema procedure (SCHEMA_01.pkg_audit_info.p_load_COA) throws an exception, the job fails and all transaction is rolled back.
Is there a way to loop through each schema and execute the related procedures. Even if exception happens, it should rollback only for that schema and continue the other schemas in the loop?
Please let me know if there is a better way to achieve this. Is the way i am handling exceptions in the job/procedure correct?
ThanksHi,
RAISE_APPLICATION_ERROR will cause the program to exit back to the caller, even if you place it in a block within the loop, so the RAISE or RAISE_APPLICATION_ERROR instruction should be placed in your "pkg_audit_info.p_load_AM" and "pkg_audit_info.p_load_coa" procedures. This way, you can use a block inside the loop and log the error.
FOR i IN
( SELECT username FROM dba_users WHERE username LIKE 'ABCFIRM%'
LOOP
BEGIN
vstmt:= 'begin ' || i.username || '.pkg_audit_info.p_load_coa; end;';
EXECUTE immediate vstmt;
vstmt:= 'begin ' || i.username || '.pkg_audit_info.p_load_am; end;';
EXECUTE immediate vstmt;
EXCEPTION
WHEN OTHERS THEN
--> Log the error in a custom log table otherwise you will not know what happened for that schema: don't forget the username
END;
END LOOP; -
How to execute SQL scripts in batch
Hi,
I have separate scripts for Creation of Tables, Stored Procedures, Views, Triggers in different .sql files.
I have to execute thses scripts in batch in different servers and different databases without opening SSMS.
All .sql files to be executed in single command.
Please suggest how to achieve?
Appreciate your help.
Regards,
Balayou can use sqlcmd
https://msdn.microsoft.com/en-us/library/ms162773.aspx
other options are osql,isql
https://technet.microsoft.com/en-us/library/aa214012%28v=sql.80%29.aspx
https://technet.microsoft.com/en-us/library/aa214007%28v=sql.80%29.aspx
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page -
Hi Folks,
I used expdp utility to export all Oracle scheduler jobs and chains with below method, after that generate sql script by impdp, later on executing sql script encountered some errors.
Only chain step and chain rule for executing script. Does anyone bright me some light? Thanks!
My env: Oracle 11g + Oracle Linux 5.5
My steps as below:
1. export(expdp) oracle scheduler job(chain)
2. generate sql script by impdp.
3. remove orginal scheduler job(chain)
4. execute sql script
5. job with no chain well but job with chain failed
[oracle@linux1 ~]$ expdp scott/tiger directory=db_dump_dir dumpfile=scott_job.dmp include=procobj:\" in \(select \
> name from sys.obj$ where type\# in \(46,59,66,67,68,69,72,74,79\)\)\" schemas=scott
Export: Release 11.2.0.1.0 - Production on Tue Dec 3 17:42:31 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Starting "SCOTT"."SYS_EXPORT_SCHEMA_01": scott/******** directory=db_dump_dir dumpfile=scott_job.dmp include=procobj:" in (select name from sys.obj$ where type# in (46,59,66,67,68,69,72,74,79))" schemas=scott
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 0 KB
Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ
Master table "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
Dump file set for SCOTT.SYS_EXPORT_SCHEMA_01 is:
/u03/database/usbo/BNR/dump/scott_job.dmp
Job "SCOTT"."SYS_EXPORT_SCHEMA_01" successfully completed at 17:42:54
[oracle@linux1 ~]$ impdp scott/tiger sqlfile=scott_job.sql directory=db_dump_dir dumpfile=scott_job.dmp logfile=imp_scott_job.log
Import: Release 11.2.0.1.0 - Production on Tue Dec 3 17:43:04 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Master table "SCOTT"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded
Starting "SCOTT"."SYS_SQL_FILE_FULL_01": scott/******** sqlfile=scott_job.sql directory=db_dump_dir dumpfile=scott_job.dmp logfile=imp_scott_job.log
Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ
Job "SCOTT"."SYS_SQL_FILE_FULL_01" successfully completed at 17:43:07
[oracle@linux1 ~]$ more /u03/database/usbo/BNR/dump/scott_job.
scott_job.dmp scott_job.sql
[oracle@linux1 ~]$ more /u03/database/usbo/BNR/dump/scott_job.sql
-- CONNECT SCOTT
ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';
-- new object type path: SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ
BEGIN
BEGIN
dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_1"','1=1',NULL, 'First link in the chain.',0,NULL);
END;
COMMIT;
END;
BEGIN
BEGIN
dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_2"',':"CHAIN_STEP_1".COMPLETED = ''TRUE''',NULL, 'Second link in the chain.',0,NULL);
END;
COMMIT;
END;
BEGIN
BEGIN
dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_3"',':"CHAIN_STEP_2".COMPLETED = ''TRUE''',NULL, 'Third link in the chain.',0,NULL);
END;
COMMIT;
END;
BEGIN
BEGIN
dbms_rule_imp_obj.import_rule('"SCOTT"','"CHAIN_RULE_4"',':"CHAIN_STEP_3".COMPLETED = ''TRUE''',NULL, 'End of the chain.',0,NULL);
END;
COMMIT;
END;
BEGIN
BEGIN
dbms_rule_imp_obj.import_rule_set('"SCHED_RULESET$1"','"SCHED_EV_CTX$1"',NULL, 0);
END;
COMMIT;
END;
BEGIN
dbms_scheduler.create_program('"TEST_PROC_1"','PLSQL_BLOCK',
'BEGIN
INSERT INTO tb_schduler (id, descr, cr_date)
VALUES (tb_schduler_seq.NEXTVAL, ''test_proc_1'', SYSDATE);
COMMIT;
END;'
,0, TRUE,
'Program for first link in the chain.'
COMMIT;
END;
BEGIN
dbms_scheduler.create_program('"TEST_PROC_3"','PLSQL_BLOCK',
'BEGIN
INSERT INTO tb_schduler (id, descr, cr_date)
VALUES (tb_schduler_seq.NEXTVAL, ''test_proc_3'', SYSDATE);
COMMIT;
END;'
,0, TRUE,
'Program for last link in the chain.'
COMMIT;
END;
BEGIN
dbms_scheduler.create_program('"TEST_PROC_2"','PLSQL_BLOCK',
'BEGIN
INSERT INTO tb_schduler (id, descr, cr_date)
VALUES (tb_schduler_seq.NEXTVAL, ''test_proc_2'', SYSDATE);
COMMIT;
END;'
,0, TRUE,
'Program for second link in the chain.'
COMMIT;
END;
BEGIN
dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
, rule_set_name=>'"SCHED_RULESET$1" '
dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
COMMIT;
END;
BEGIN
dbms_scheduler.create_job('"TEST_CHAIN_1_JOB"',
job_type=>'CHAIN', job_action=>
'test_chain_1'
, number_of_arguments=>0,
start_date=>TO_TIMESTAMP_TZ('03-DEC-2013 05.38.56.718161000 PM +08:00','DD-MON-RRRR HH.MI.SSXFF AM TZR','NLS_DATE_LANGUAGE=english'), repeat_interval=>
'freq=minutely; interval=2'
, end_date=>TO_TIMESTAMP_TZ('03-DEC-2013 06.08.56.000000000 PM +08:00','DD-MON-RRRR HH.MI.SSXFF AM TZR','NLS_DATE_LANGUAGE=english'),
job_class=>'"DEFAULT_JOB_CLASS"', enabled=>FALSE, auto_drop=>TRUE,comments=>
NULL
COMMIT;
END;
[oracle@linux1 ~]$ export ORACLE_SID=usbo
[oracle@linux1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Dec 3 17:44:43 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
sys@USBO> show parameter db_name
NAME TYPE VALUE
db_name string usbo
sys@USBO> conn scott/tiger;
Connected.
--remove job and chain.
scott@USBO> EXEC DBMS_SCHEDULER.drop_job(job_name => 'test_chain_1_job');
EXEC DBMS_SCHEDULER.drop_chain (chain_name => 'test_chain_1');
EXEC DBMS_SCHEDULER.drop_program (program_name => 'test_proc_1');
EXEC DBMS_SCHEDULER.drop_program (program_name => 'test_proc_2');
EXEC DBMS_SCHEDULER.drop_program (program_name => 'test_proc_3');
PL/SQL procedure successfully completed.
scott@USBO> @/u03/database/usbo/BNR/dump/scott_job.sql
Session altered.
Session altered.
Session altered.
Session altered.
Session altered.
Session altered.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
BEGIN
ERROR at line 1:
ORA-24150: evaluation context SCOTT.SCHED_EV_CTX$1 does not exist
ORA-06512: at "SYS.DBMS_RULEADM_INTERNAL", line 28
ORA-06512: at "SYS.DBMS_RULE_IMP_OBJ", line 40
ORA-06512: at line 3
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
BEGIN
ERROR at line 1:
ORA-24141: rule set SCOTT.SCHED_RULESET$1 does not exist
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_ISCHED", line 1694
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_SCHEDULER", line 1638
ORA-06512: at line 5
PL/SQL procedure successfully completed.Thanks all of you!
Hi DK2010,
I took some test that the data dict(dba_rule_sets/dba_evaluation_contexts) no any data returned after I had removed the job.
So I tried to create evaluation context and re-executed script(only exception setion.) the first error has gone. For the second still have some issue.
---->no any returned
scott@USBO> select * from dba_rule_sets where rule_set_owner='SCOTT';
no rows selected
scott@USBO> select * from dba_evaluation_contexts WHERE evaluation_context_owner='SCOTT';
no rows selected
-->add new EVALUATION CONTEXT
scott@USBO> exec DBMS_RULE_ADM.CREATE_EVALUATION_CONTEXT('SCOTT.SCHED_EV_CTX$1');
PL/SQL procedure successfully completed.
--->now it looks fine
scott@USBO> BEGIN
2 BEGIN
3 dbms_rule_imp_obj.import_rule_set('"SCHED_RULESET$1"','"SCHED_EV_CTX$1"',NULL, 0);
4 END;
5
6 COMMIT;
7 END;
8 /
PL/SQL procedure successfully completed.
--->add new rule set, it prompt aleady exists
scott@USBO> exec DBMS_RULE_ADM.CREATE_RULE_SET('SCOTT.SCHED_RULESET$1')
BEGIN DBMS_RULE_ADM.CREATE_RULE_SET('SCOTT.SCHED_RULESET$1'); END;
ERROR at line 1:
ORA-24153: rule set SCOTT.SCHED_RULESET$1 already exists
ORA-06512: at "SYS.DBMS_RULEADM_INTERNAL", line 28
ORA-06512: at "SYS.DBMS_RULE_ADM", line 138
ORA-06512: at line 1
-->chain rule still could not find.
scott@USBO> @job_chain_rules.sql
no rows selected
-->rerun
scott@USBO> BEGIN
2 dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
3 , rule_set_name=>'"SCHED_RULESET$1" '
4 );
5 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
6 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
7 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
8 COMMIT;
9 END;
10 /
BEGIN
ERROR at line 1:
ORA-27477: "SCOTT.TEST_CHAIN_1" already exists
ORA-06512: at "SYS.DBMS_ISCHED", line 1148
ORA-06512: at "SYS.DBMS_SCHEDULER", line 1598
ORA-06512: at line 2
-->drop chain
scott@USBO> exec dbms_scheduler.drop_chain('TEST_CHAIN_1');
BEGIN dbms_scheduler.drop_chain('TEST_CHAIN_1'); END;
ERROR at line 1:
ORA-27479: Cannot drop "SCOTT.TEST_CHAIN_1" because other objects depend on it
ORA-06512: at "SYS.DBMS_ISCHED", line 1319
ORA-06512: at "SYS.DBMS_ISCHED", line 1222
ORA-06512: at "SYS.DBMS_SCHEDULER", line 1854
ORA-06512: at line 1
scott@USBO> exec dbms_scheduler.drop_chain('TEST_CHAIN_1',force=>TRUE);
PL/SQL procedure successfully completed.
scott@USBO> BEGIN
2 dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
3 , rule_set_name=>'"SCHED_RULESET$1" '
4 );
5 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
6 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
7 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
8 COMMIT;
9 END;
10 /
BEGIN
ERROR at line 1:
ORA-24141: rule set SCOTT.SCHED_RULESET$1 does not exist --->still returned no rule set
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_ISCHED", line 1694
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_SCHEDULER", line 1638
ORA-06512: at line 5
scott@USBO> exec DBMS_RULE_ADM.CREATE_RULE_SET('SCOTT.SCHED_RULESET$1')
PL/SQL procedure successfully completed.
scott@USBO> BEGIN
2 dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
3 , rule_set_name=>'"SCHED_RULESET$1" '
4 );
5 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
6 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
7 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
8 COMMIT;
9 END;
10 /
BEGIN
ERROR at line 1:
ORA-27477: "SCOTT.TEST_CHAIN_1" already exists
ORA-06512: at "SYS.DBMS_ISCHED", line 1148
ORA-06512: at "SYS.DBMS_SCHEDULER", line 1598
ORA-06512: at line 2
scott@USBO> exec dbms_scheduler.drop_chain('TEST_CHAIN_1',force=>TRUE);
PL/SQL procedure successfully completed.
scott@USBO> BEGIN
2 dbms_scheduler.create_chain('"TEST_CHAIN_1"', evaluation_interval=>NULL, comments=>'A test chain.'
3 , rule_set_name=>'"SCHED_RULESET$1" '
4 );
5 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_1"', program_name=>'"TEST_PROC_1"');
6 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_2"', program_name=>'"TEST_PROC_2"');
7 dbms_scheduler.define_chain_step('"TEST_CHAIN_1"', step_name=>'"CHAIN_STEP_3"', program_name=>'"TEST_PROC_3"');
8 COMMIT;
9 END;
10 /
BEGIN
ERROR at line 1:
ORA-24141: rule set SCOTT.SCHED_RULESET$1 does not exist
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_ISCHED", line 1694
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_SCHEDULER", line 1638
ORA-06512: at line 5
Would you like to give me more clue?
Thanks again. -
Executing Bash scripts from Apex
Hi,
I have several bash scripts that I would like to execute via APEX (the parameters will be supplied through Text fields, and the "execute" button will execute the script.
The script will be located in the local server (the server where the APEX is installed), and it will perform several activities - for instance, it will execute EMCLI commands (Grid control command line).
How can one do it ?
Regards,
Roni.Hello,
1. Can you please show me examples of HOW to connect between the existing Scheduled job (I've created a job via dbms_scheduler) and executing it in APEX ?
2. In addition - I need to complicate things a little bit.
My job executes a procedure that have arguments.
The arguments are being generated from several field items that I'll create inside apex.
(Each variable should be inserted to a dbms_scheduler.set_job_argument_value procedure).
I'm having trouble to pass the variables - how do I set value to a variables, that I can use in Other pages ?
Only when I set default values to the items, I could take the default value to other pages.
I tried to reference them with the format :P2_var_name. (with the dot) or with &P2_var_name.
Thanks,
Roni. -
Executing .sql scripts file from command prompt
I had created the .sql scripts for
--Create Database
--Create tables
--Create Stored procedure
I am using SQL server 2008.
Now i want to deploy it into the target server using the command prompt.
How can I call to execute that script on the target server?with few errors as "Incorrect Syntax near "GO"".
Hello,
GO is a command, which is only known & interpretted by SSMS + SqlCmd.exe; SQL Server engine / data access components don't know this command, therefore you get an error.
See
Query Options Execution (General Page); for SSMS you can change it from GO to any other term.
Olaf Helper
[ Blog] [ Xing] [ MVP] -
Issue while executing OS script from Oracle
I am trying to execute the scripts provided at :
http://github.com/xtender/XT_SHELL
provided by xtender user.
As required, I have asked my DBAs to grant privileges by executing the following scripts:
Begin
--change to needed permissions and execute
dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/factiva/ODS/bin/CVIM_Rpt_ExportCSVFile’, 'read,write,execute' );
end;
/where CVIM_Rpt_ExportCSVFile is my script residing in the Unix server where my Oracle is installed.
The error I am facing when I try to execute the following command is:
select * from table(xt_shell.shell_exec('/var/scripts/CVIM_Rpt_ExportCSVFile',100))
Exception:the Permission (java.io.FilePermission /var/scripts/CVIM_Rpt_ExportCSVFile execute) has not been granted to ODS. The PL/SQL to grant this is dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )I have asked my DBA to also execute the following scripts: - But I still see the same error as above. I am not able to figure out whats going on. Can anyone pls help me out??
EXEC Dbms_Java.Grant_Permission('ODS', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
EXEC Dbms_Java.Grant_Permission(ODS', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');
dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )DUPLICATE
=============================================================
Issue with Executing OS commands from Stored Procedure
============================================================ -
Error while executing the script adgetlnxver.sh
Error while executing the script adgetlnxver.sh on apps&db tier during upgrade from 11.5.9 to 11.5.10.2
-bash: [: -lt: unary operator expected
[aptinst@dba5 TINST_dba5]$ sh adapcctl.sh restart
adapcctl.sh version 115.55
/u01/app/tinst/tinstappl/ad/11.5.0/bin/adgetlnxver.sh: line 123: [: -lt: unary operator expected
Apache Web Server Listener :httpd ( pid 8645 ) is running.
Restarting the Apache Web Server Dedicated HTTP Listener..
Apache Web Server Listener (PLSQL) :httpd ( pid 8673 ) is running.
Restarting the Apache Web Server Dedicated PLSQL Listener..
adapcctl.sh: exiting with status 0
In adgetlnxver.sh: line 123 says
if [ ${setflag}x = "x" -a $os = "RH" ]; then
redhatver=`grep -oP "Enterprise Linux [a-z A-Z 0-9]* release [0-9]+" /etc/redhat-release | sed 's/Enterprise Linux [a-z A-Z 0-9]* release //g'`
if [ $redhatver -lt 5 ]; then
LD_ASSUME_KERNEL="2.4.19"
export LD_ASSUME_KERNEL
fi
fi
Thanks,
VamsiHi Vamsi.
The exactly erro refers to a problems when you try upgrade from these version to 11.5.10.
Can you read this note and apply solution? The note refers a patch, but the problem is the same.
After Patch 4334965, adstrtal.sh & adstpall.sh is failing with errors [ID 360046.1]
BR Rafael Ceolim -
Afraid of executing a script on server
I have to make a script which deletes all the folders and files in the following directories on Windows Server 2008:
D:\frotxy\out\backup\
D:\frotxy\in\backup\
Yesterday I tried executing the script from my Desktop to delete the files in a test folder but unfortunately I had mistaken the path to this folder. What happened was my Desktop files were deleted - ARGHH!
So my question is is there a safer way to do the script and check it before executing it on the server as it is important not to delete some other directory or file from the server :)
This is the script:
set folder="D:\frotxy\out\backup"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
set folder="D:\frotxy\in\backup"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
And where should I place the file containing the script?
I am not into scripts at all so please help!If the folder doesn't exist, you have no error checking there to handle the failure of the cd command, and you continue on with the "delete everything" part. You can either check for the existence of the folder first, check for an error after
the CD command, or not use relative paths at all and just pass folder in to the dir command (which would be my preference.) Here's my example (note the quotation marks have been removed from the set folder line; they're hard-coded later on):
set folder=D:\frotxy\in\backup
for /F "delims=" %%i in ('dir /b "%folder%\*"') do (rmdir "%folder%\%%i" /s/q || del "%folder%\%%i" /s/q)
Note: I'm not sure what's going on with that (rmdir || del) bit. To my knowledge, there's no "||" operator in batch files, and "|" doesn't make any sense here, but I've left the original code alone and only changed the bits related
to where things will be deleted, not how they are deleted.
Edit: On a side note, this would be much safer and easier in PowerShell, which is Microsoft's current command-line interface and scripting language. For example:
$folder = 'D:\frotxy\in\backup'
Get-ChildItem -Path "$folder\*" -Recurse -Force | Remove-Item -Force -WhatIf
That -WhatIf switch on the end of the Remove-Item command is a common parameter in PowerShell. It shows you what the command would have done, allowing you to make sure you like the results first. Then you run it again without -WhatIf, and it deletes
things for you. -
How to execute procedure in toad software
hiii guy's i run my procedure on sql prompt and it run properly
but when i tried this on toad i got an problem
after compiling my procedure on toad
when i write
execute procedure_name(parameter1,parameter2);
then i get an error i.e
ORA-00900: invalid SQL statement
can someone tell me how to execute procedure on toad
thanks in adv...........how to execute procedure in toad softwareIn TOAD's schema browser you can go to the procedures tab - right click on the procedure in question and choose execute procedure - a window should pop up, where you can give optional parameters - the rest should be almost self explanatory ;)
-
How to execute procedure in SQL Worksheet ?
Hi, anybody know, how I can execute procedure here?
I try EXEC sec_roles, EXEC security_admin.sec_roles, EXECUTE - there is a SQL statement error. When I use CALL - there is no such procedure (I have execute previleges).
Although in SQLPlus EXEC works, but there are problems with standard SQL commands (all of them returns "2" no matter what content is).
Any ideas?
Regards
Krzysztofexec procedure(parameters) is a sql plus (and a few others) shortcut for
BEGIN
procedure(parameters);
END;So try that then pressing/clicking whatever it is in sql worksheet that makes a statement run.
Note that if your procedure has parameters defined as OUT or IN OUT, you will need to supply a variable to accept the returned value(s).
John -
Execute procedure error (Native SQL)
Hi experts,
I create a procedure
EXEC SQL.
create or replace procedure update_zsmadiprinc
is begin
( p_codigo in number(5),
p_ano in varchar2(4),
p_doc_vlr_princ in varchar2(10)
p_subrc out number ) is begin
update T_INTERF_RESSARC_FORNEC_R3
set ano_doc = p_ano,
NUM_DOC_VALOR_PRINC = p_doc_vlr_princ,
where cod_interf_ressarc_fornec_r3 = p_codigo;
if sql%found then
p_subrc := 0;
else
p_subrc := 4;
end if;
end;
ENDEXEC.
and execute it
EXEC SQL.
execute procedure update_zsmadiprinc
(in :wa-cod_interf,
in :wa-ano_doc,
in :wa-num_doc_valor_princ,
out :vg_subrc)
ENDEXEC.
But when i execute the procedure, shows dump error:
Database error text........: "ORA-06550: line 1, column 7:#PLS-00905: object
UPDATE_ZSMADIPRINC is invalid#ORA-06550: line 1, column 7:#PL/SQL:
Statement ignored#"
Triggering SQL statement...: "CLOSE "
Internal call code.........: "[DBDS/NEW DSQL]"
Please check the entries in the system log (Transaction SM21).
I comment all source, and the error is the same.
When i create the procedure, no erros are show.
I changed the name of the procedure, the type of parameters, and now i comment all and the error always is the same!!!! Can you help me!!! I need to finish this urgently!
Thanks in advance
Message was edited by:
RPIt is not possible to create a procedure, then, i just execute sql direct.
thanks -
I try to execute procedure on ORACLE(8i) but get err SQLException ..
but for SELECT UPDATE INSERT statements all is OK!!
for SELECT, UPDATE, INSERT I wrote such code:
Statement stmt = conn.createStatement();
String strExec="SELECT ...."
stmt.executeQuery(strExec); (OR stmt.executeUpdate(strExec);)for proceure I wrote
strExec = " my_proc() ";
stmt.execute(strExec);what is wrong here??Try like this,
CallableStatement cstm = con.prepareCall("{ call my_proc }");
cstm.executeUpdate();
Sudha
Maybe you are looking for
-
Unable to do the Matching for the Charges at Invoice ??
Dear All, I am little confuse in one scenario and still didnt find any proper solution to do so ?? Let us consider the case I have raise the PO to the Specific Supplier to whome I am Purchasing the Items. While Transfer the material from supplier to
-
LOOPS PLAYBACK CLIPPING IN TIMELINE
Using Jam pack 'Symphony" loops I have noticed that some of the loops are corrupt AFTER placing them into the timeline. When I preview the loop its fine until I drop it into the timeline then clipping and mumbled feedback distorts the loop slightly.
-
PDF - PDF/A Conversion: Converted documents are not PDF/A compiant
Hi, I am using adobe LiveCycle 8.2 to convert PDF documents to PDF/A. I tried this in two ways. First I used the toPDFA method of the DocConverterService. In that case most of the pdf-documents could not be converted. In another case I used the toPS
-
Missing Shortcut under Conditionnal Item Display in popup window
Just under each Condition Type in APEX, we have nice Shortcut Like [PL/SQL] [item=value] [item not null]... Do you know why you dont put these shortcuts in the popup windows in Conditional Item Display region when you active the Edit Links on the yel
-
When I plugin my iPod, iTunes doesn't open
This is getting annoying. When I plugin my iPod touch to my computer, iTunes won't open. What can I do to solve this?