Dbms_job.submit in Oracle 7
Hello All,
I need to run a job everyday between 8AM and 6PM for every 5 mins.
I tried the following and it didnt run. Submitted the job succesfully. But for some reason the next_sec is set to current time always. so its not running. Any ideas would be appreciated. I am on Oracle 7.1.6
create or replace function get_time return date is
v_date date;
begin
select decode(sign(to_number(to_char(sysdate,'hh24miss'))-180000),
1,trunc(sysdate+1)+8/24, sysdate+(5/24/60)) into v_date from dual;
return(v_date);
end;
declare
jobno number;
begin
dbms_job.submit(jobno, 'OWBB002;', sysdate, 'get_time');
dbms_output.put_line(jobno);
commit;
end;
If I replace get_time fn with sysdate+(5/24/60) say like
dbms_job.submit(jobno, 'My_Proc;', sysdate, 'sysdate+(5/24/60)');
then it runs. Am I not allowed to use function as an interval parameter. The same job works fine on 9i.
Another idea would be to create two more jobs, one to start at 8 and another to stop at 6 but I am trying to get this in one single job.
Thanks
Antony
Thanks
Antony.
You are missing the ':' in front of v_JobNum for bind variable.
Try this:
var v_JobNum number;
begin
dbms_job.submit(:v_JobNum,'EXP();',sysdate,'NEXT_EXP(sysdate)');
commit;
end;
print v_JobNum
Similar Messages
-
Dbms_job.submit usage in forms
Hi All
I am getting implementation restriction problem when I use dbms_job.submit in oracle forms.
Please let me know if anybody has any workaround.
Thanks
Sreenisee <Note:197696.1> How do you submit a DBMS_JOB from an Oracle Forms?
I hop it helps bye -
Tuning a procedure and using dbms_job.submit proc that call's functions
Hi
I have Procedure that have 3 curosrs which are nested one below with in each other
and it looks as below
it's structure will look some thing look like this
declare
empno_fetch number;
CURSOR deu_process IS
SELECT empno
FROM emp
WHERE flg_process = 'N'
AND ROWNUM <= 5000
ORDER BY empno;
CURSOR dup_all IS --c1 fetch around 400000 records
(select empno
from emp
where empno>l_empno
order by empno
where rownum<=empno_fetch;
CURSOR rules IS --c2
SELECT rule_id, rule_score, name_Of_func
FROM rule;
begin
l_count := 1;
OPEN dedupe_rule_attr;
LOOP
BEGIN
Here one loop is used for fetching 5000 records at time and
Here deu_process cursor is opened ,assume it fetches one record
Here another cursor dup_all is used for fetching the records and assume it fetched 400000 then
Here another cursor is opened name where it fetches 10 rows
Here logic is if first row then
call's stored function which has following functionalty
it compares fields such as address of outer most cursor i.e deu_process with all the address of the other rows i.e 400000 rows and return a number
if second row then
call's another stored function which has
compares other fields such as first name,last name
if third then other field
so on ....
up to 10
and then finally ends
so if i comment all the rules loop then it takes only one min to execute .If it validaes all of them if takes 14 minutes to execute .so there is problem in that 10 procedures to execute
So i found an approach to run all the rules simultaneously using dbms_job .But i face a problem that i can't uderstand how to send the input and out put parameter's to calling procedure.And these parameter's must be passed by variable from called procedure to calling procedure
Please suggest me what is the syntax of dbms_job with input and output parameters with variable's that must be passed as formal parameter's
Regarding DBMS_JOB.SUBMIT I am getting following error
Declare
x number:=1;
b number;
jobnumber number;
BEGIN
DBMS_JOB.SUBMIT(JOB => jobnumber,
WHAT => 'vamsi_proc1('||x||');',
NEXT_DATE => (sysdate+1/(86400)),
INTERVAL => null);
--dbms_output.put_line('value of b is '||b);
COMMIT;
END;
Declare
ERROR at line 1:
ORA-06550: line 1, column 107:
PLS-00103: Encountered the symbol ")" when expecting one of the following:
( - + case mod new not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
The symbol "null" was substituted for ")" to continue.
ORA-06512: at "SYS.DBMS_JOB", line 79
ORA-06512: at "SYS.DBMS_JOB", line 136
ORA-06512: at line 5
create or replace procedure vamsi_proc1(v in out number) as
x number(4);
begin
--a:=1;
insert into emp_vamsi(select 677,ENAME,SAL,DEPTNO,MANAGER from emp where empno=v);
commit;
--a:=2;
--x:=a;
end;
using dbms_job.submit proc that call's functions which returns out and in parameters to calling procedure environment .I can't get this with out using data base table's.
If you have any method for this Plese suggest
And also please suggest me weather using job's is a good idea ,If not than suggest me what ever will the other approach.
Thank's and Regard's
vamsi krishnaHi <br>
I have looked at all sql trace file ,<br>
I found that there is no problem in sql statemens all of them are using proper <br>indexes execpt the folllowing statement<br>
<br>
SELECT nvl(COUNT(ref_appln_no),0)<br>
FROM ci_cust_dedupe_mast<br>
WHERE flg_mnt_status='A'<br>
<br>
This statement executes only once for 1*3,77000*10 times <br>
The function that i had sent previously executes more than 4000000*20 times .<br>
I think all it takes is only for iterations that are caused<br>
<br>
I am also sending sql trace for reference
<br>
TKPROF: Release 9.2.0.4.0 - Production on Mon Aug 14 17:30:50 2006 <br>
<br>
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. <br>
<br>
Trace file: afhuat_ora_2204.trc <br>
Sort options: default <br>
<br>
******************************************************************************** <br>
count = number of times OCI procedure was executed <br>
cpu = cpu time in seconds executing <br>
elapsed = elapsed time in seconds executing <br>
disk = number of physical reads of buffers from disk <br>
query = number of buffers gotten for consistent read <br>
current = number of buffers gotten in current mode (usually for update) <br>
rows = number of rows processed by the fetch or execute call <br>
******************************************************************************** <br>
<br>
alter session set sql_trace=true <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 0 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 1 0.00 0.00 0 0 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Misses in library cache during execute: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 <br>
******************************************************************************** <br>
<br>
declare <br>
x varchar2(100); <br>
y varchar2(100); <br>
ap number; <br>
begin <br>
x:=to_char(sysdate,'dd-mon-rrrr hh:mi:ss'); <br>
ap:=ap_ci_dedupe_proc; <br>
y:=to_char(sysdate,'dd-mon-rrrr hh:mi:ss'); <br>
dbms_output.put_line(x||' '||ap); <br>
dbms_output.put_line(y||' '||ap); <br>
end; <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 820.23 0 0 0 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 820.23 0 0 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 <br>
******************************************************************************** <br>
<br>
select user# <br>
from <br>
sys.user$ where name = 'OUTLN' <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 2 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 2 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID USER$ (cr=2 r=0 w=0 time=31 us) <br>
1 INDEX UNIQUE SCAN I_USER1 (cr=1 r=0 w=0 time=18 us)(object id 44) <br>
<br>
******************************************************************************** <br>
<br>
SELECT * <br>
FROM ci_dedupe_rule_attr <br>
ORDER BY cod_rule_attr_id <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.06 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 21 0.00 0.01 1 3 0 20 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 23 0.00 0.07 1 3 0 20 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT COUNT(1) <br>
FROM ci_cust_dedupe_mast <br>
WHERE flg_process = 'N' <br>
AND <br>
AND <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 22 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 22 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT nvl(COUNT(ref_appln_no),0) <br>
FROM ci_cust_dedupe_mast <br>
WHERE flg_mnt_status='A' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 1.68 3.03 18867 21183 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 1.68 3.03 18867 21183 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT ref_appln_no <br>
FROM ci_cust_dedupe_mast <br>
WHERE flg_process = 'N' <br>
AND <br>
AND <br>
AND <br>
ORDER BY ref_appln_no <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.09 18 43 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.09 18 43 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT <br>
FROM <br>
WHERE <br>
AND <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 377709 8.71 7.64 0 0 0 0 <br>
Fetch 377709 18.18 60.19 19802 1510836 0 377709 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 755419 26.90 67.84 19802 1510836 0 377709 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT NVL(MAX(cod_serial_no),0) + 1 <br>
FROM ci_dedupe_details_mast <br>
WHERE ref_appln_no = :b1 <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.01 2 2 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.01 2 2 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT COUNT(1) <br>
FROM ci_dedupe_details_mast <br>
WHERE ref_appln_no = :b1 <br>
AND <br>
AND flg_mnt_status = 'A' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 3 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT ref_appln_no FROM <br>
( <br>
SELECT ref_appln_no <br>
FROM ci_cust_dedupe_mast <br>
WHERE <br>
AND <br>
ORDER BY ref_appln_no <br>
) <br>
WHERE ROWNUM <= :b2 <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 77 0.01 0.00 0 0 0 0 <br>
Fetch 377786 10.21 12.33 908 377865 0 377709 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 377864 10.23 12.33 908 377865 0 377709 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
SELECT cod_rule_id, cod_rule_score, nam_rule_func <br>
FROM ci_dedupe_rule_defn <br>
WHERE flg_valid = 'Y' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 377708 5.50 4.03 0 0 0 0 <br>
Fetch 4154788 62.79 54.04 16 4532496 0 3777080 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 4532497 68.29 58.07 16 4532496 0 3777080 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select con#,obj#,rcon#,enabled,nvl(defer,0) <br>
from <br>
cdef$ where robj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 1 2 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 1 2 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
select con#,type#,condlength,intcols,robj#,rcon#,match#,refact,nvl(enabled,0), <br>
rowid,cols,nvl(defer,0),mtime,nvl(spare1,0) <br>
from <br>
cdef$ where obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 2 4 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 2 4 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
select u.name,o.name, t.update$, t.insert$, t.delete$, t.enabled <br>
from <br>
obj$ o,user$ u,trigger$ t where t.baseobject=:1 and t.obj#=o.obj# and <br>
o.owner#=u.user# order by o.obj# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 4 0.00 0.05 6 9 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 10 0.00 0.05 6 9 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 SORT ORDER BY (cr=1 r=1 w=0 time=4772 us) <br>
0 NESTED LOOPS (cr=1 r=1 w=0 time=4747 us) <br>
0 NESTED LOOPS (cr=1 r=1 w=0 time=4744 us) <br>
0 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=1 r=1 w=0 time=4740 us) <br>
0 INDEX RANGE SCAN I_TRIGGER1 (cr=1 r=1 w=0 time=4736 us)(object id 130) <br>
0 TABLE ACCESS BY INDEX ROWID OBJ$ (cr=0 r=0 w=0 time=0 us) <br>
0 INDEX UNIQUE SCAN I_OBJ1 (cr=0 r=0 w=0 time=0 us)(object id 36) <br>
0 TABLE ACCESS CLUSTER USER$ (cr=0 r=0 w=0 time=0 us) <br>
0 INDEX UNIQUE SCAN I_USER# (cr=0 r=0 w=0 time=0 us)(object id 11) <br>
<br>
******************************************************************************** <br>
<br>
select o.owner#,o.name,o.namespace,o.remoteowner,o.linkname,o.subname, <br>
o.dataobj#,o.flags <br>
from <br>
obj$ o where o.obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.02 5 9 0 3 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 8 0.00 0.02 5 9 0 3 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 3) <br>
******************************************************************************** <br>
<br>
select col#, grantee#, privilege#,max(mod(nvl(option$,0),2)) <br>
from <br>
objauth$ where obj#=:1 and col# is not null group by privilege#, col#, <br>
grantee# order by col#, grantee# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.01 2 6 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 9 0.00 0.02 2 6 0 0 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
INSERT INTO ci_dedupe_details_mast <br>
VALUES <br>
( <br>
:b6, <br>
:b5, <br>
:b4, <br>
:b3, <br>
'Y', <br>
'N', <br>
'', <br>
0, <br>
SYSDATE, <br>
'A', <br>
' ', <br>
:b2, <br>
'SYSTEM', <br>
:b1, <br>
1 <br>
) <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.01 3 3 0 0 <br>
Execute 1 0.00 0.01 4 1 6 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 0.02 7 4 6 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select obj#,type#,ctime,mtime,stime,status,dataobj#,flags,oid$, spare1, <br>
spare2 <br>
from <br>
obj$ where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null <br>
and linkname is null and subname is null <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.01 2 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.01 2 3 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
select audit$,options <br>
from <br>
procedure$ where obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.01 3 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.01 3 3 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID PROCEDURE$ (cr=3 r=3 w=0 time=14110 us) <br>
1 INDEX UNIQUE SCAN I_PROCEDURE1 (cr=2 r=2 w=0 time=13871 us)(object id 115) <br>
<br>
******************************************************************************** <br>
<br>
select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_obj#, <br>
d_owner#, nvl(property,0),subname <br>
from <br>
dependency$,obj$ where d_obj#=:1 and p_obj#=obj#(+) order by order# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 4 0.00 0.07 8 12 0 3 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.07 8 12 0 3 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
3 SORT ORDER BY (cr=12 r=8 w=0 time=72867 us) <br>
3 NESTED LOOPS OUTER (cr=12 r=8 w=0 time=72813 us) <br>
3 TABLE ACCESS BY INDEX ROWID DEPENDENCY$ (cr=4 r=4 w=0 time=41297 us) <br>
3 INDEX RANGE SCAN I_DEPENDENCY1 (cr=3 r=3 w=0 time=25897 us)(object id 127) <br>
3 TABLE ACCESS BY INDEX ROWID OBJ$ (cr=8 r=4 w=0 time=31484 us) <br>
3 INDEX UNIQUE SCAN I_OBJ1 (cr=5 r=2 w=0 time=14872 us)(object id 36) <br>
<br>
******************************************************************************** <br>
<br>
select order#,columns,types <br>
from <br>
access$ where d_obj#=:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.02 3 4 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 4 0.00 0.02 3 4 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID ACCESS$ (cr=4 r=3 w=0 time=27026 us) <br>
1 INDEX RANGE SCAN I_ACCESS1 (cr=3 r=2 w=0 time=21717 us)(object id 129) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_sb4$ i_idl_sb41) +*/ piece#,length,piece <br>
from <br>
idl_sb4$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.02 3 7 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 7 0.00 0.02 3 7 0 1 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_SB4$ (cr=2 r=2 w=0 time=19830 us) <br>
0 INDEX RANGE SCAN I_IDL_SB41 (cr=2 r=2 w=0 time=19826 us)(object id 123) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_ub1$ i_idl_ub11) +*/ piece#,length,piece <br>
from <br>
idl_ub1$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.03 3 9 0 2 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 7 0.00 0.03 3 9 0 2 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_UB1$ (cr=2 r=2 w=0 time=21757 us) <br>
0 INDEX RANGE SCAN I_IDL_UB11 (cr=2 r=2 w=0 time=21753 us)(object id 120) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_char$ i_idl_char1) +*/ piece#,length,piece <br>
from <br>
idl_char$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 2 4 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 2 4 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_CHAR$ (cr=2 r=2 w=0 time=19465 us) <br>
0 INDEX RANGE SCAN I_IDL_CHAR1 (cr=2 r=2 w=0 time=19461 us)(object id 121) <br>
<br>
******************************************************************************** <br>
<br>
select /*+ index(idl_ub2$ i_idl_ub21) +*/ piece#,length,piece <br>
from <br>
idl_ub2$ where obj#=:1 and part=:2 and version=:3 order by piece# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.00 0 0 0 0 <br>
Fetch 2 0.00 0.01 2 4 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 6 0.00 0.01 2 4 0 0 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
0 TABLE ACCESS BY INDEX ROWID IDL_UB2$ (cr=2 r=2 w=0 time=15070 us) <br>
0 INDEX RANGE SCAN I_IDL_UB21 (cr=2 r=2 w=0 time=15066 us)(object id 122) <br>
<br>
******************************************************************************** <br>
<br>
select baseobject,type#,update$,insert$,delete$,refnewname,refoldname, <br>
whenclause,definition,enabled,property,sys_evts,nttrigcol,nttrigatt, <br>
refprtname,rowid <br>
from <br>
trigger$ where obj# =:1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 1 2 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 1 2 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=2 r=1 w=0 time=9352 us) <br>
1 INDEX UNIQUE SCAN I_TRIGGER2 (cr=1 r=1 w=0 time=9340 us)(object id 131) <br>
<br>
******************************************************************************** <br>
<br>
select owner# <br>
from <br>
obj$ o where obj# = :1 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 1 0.00 0.00 0 3 0 1 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 3 0.00 0.00 0 3 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS BY INDEX ROWID OBJ$ (cr=3 r=0 w=0 time=15 us) <br>
1 INDEX UNIQUE SCAN I_OBJ1 (cr=2 r=0 w=0 time=7 us)(object id 36) <br>
<br>
******************************************************************************** <br>
<br>
select tc.type#,tc.intcol#,tc.position#,c.type#, c.length,c.scale, <br>
c.precision#,c.charsetid,c.charsetform <br>
from <br>
triggercol$ tc,col$ c ,trigger$ tr where tc.obj#=:1 and c.obj#=:2 and <br>
tc.intcol#=c.intcol# and tr.obj# = tc.obj# and (bitand(tr.property,32) != <br>
32 or bitand(tc.type#,20) = 20) union select type#,intcol#,position#,69,0,0, <br>
0,0,0 from triggercol$ where obj#=:3 and intcol#=1001 union select tc.type#, <br>
tc.intcol#,tc.position#,121,0,0,0,0,0 from triggercol$ tc,trigger$ tr where <br>
tr.obj# = tc.obj# and bitand(tr.property,32) = 32 and tc.obj# = :4 and <br>
bitand(tc.type#,20) != 20 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 0 <br>
Fetch 34 0.00 0.05 8 236 0 33 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 36 0.00 0.05 8 236 0 33 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
33 SORT UNIQUE (cr=236 r=8 w=0 time=54877 us) <br>
33 UNION-ALL (cr=236 r=8 w=0 time=54606 us) <br>
33 NESTED LOOPS (cr=197 r=8 w=0 time=53779 us) <br>
33 NESTED LOOPS (cr=162 r=8 w=0 time=53053 us) <br>
77 TABLE ACCESS CLUSTER COL$ (cr=83 r=6 w=0 time=40045 us) <br>
1 INDEX UNIQUE SCAN I_OBJ# (cr=2 r=2 w=0 time=13764 us)(object id 3) <br>
33 INDEX RANGE SCAN I_TRIGGERCOL2 (cr=79 r=2 w=0 time=12523 us)(object id 133) <br>
33 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=35 r=0 w=0 time=466 us) <br>
33 INDEX UNIQUE SCAN I_TRIGGER2 (cr=2 r=0 w=0 time=152 us)(object id 131) <br>
0 INDEX RANGE SCAN I_TRIGGERCOL2 (cr=2 r=0 w=0 time=5 us)(object id 133) <br>
0 NESTED LOOPS (cr=37 r=0 w=0 time=574 us) <br>
33 INDEX RANGE SCAN I_TRIGGERCOL2 (cr=2 r=0 w=0 time=81 us)(object id 133) <br>
0 TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=35 r=0 w=0 time=350 us) <br>
33 INDEX UNIQUE SCAN I_TRIGGER2 (cr=2 r=0 w=0 time=139 us)(object id 131) <br>
<br>
******************************************************************************** <br>
<br>
select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2)) <br>
from <br>
objauth$ where obj#=:1 group by grantee#,privilege#,nvl(col#,0) order by <br>
grantee# <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.00 0 6 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 9 0.00 0.00 0 6 0 0 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
UPDATE <br>
SET <br>
WHERE ref_appln_no = :b1 <br>
AND flg_mnt_status = 'A' <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.16 9 8 17 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 0.16 9 8 17 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select type#,blocks,extents,minexts,maxexts,extsize,extpct,user#,iniexts, <br>
NVL(lists,65535),NVL(groups,65535),cachehint,hwmincr, NVL(spare1,0) <br>
from <br>
seg$ where ts#=:1 and file#=:2 and block#=:3 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 3 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 0.00 0 0 0 0 <br>
Fetch 3 0.00 0.01 3 9 0 3 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 9 0.00 0.01 3 9 0 3 <br>
<br>
Misses in library cache during parse: 0 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: SYS (recursive depth: 2) <br>
<br>
Rows Row Source Operation <br>
------- --------------------------------------------------- <br>
1 TABLE ACCESS CLUSTER SEG$ (cr=3 r=3 w=0 time=17332 us) <br>
1 INDEX UNIQUE SCAN I_FILE#_BLOCK# (cr=2 r=2 w=0 time=10258 us)(object id 9) <br>
<br>
******************************************************************************** <br>
<br>
INSERT INTO ci_dedupe_details <br>
VALUES <br>
( <br>
:b31, <br>
:b32, <br>
:b31, <br>
:b30, <br>
:b29, <br>
:b28, <br>
:b27, <br>
:b26, <br>
:b25, <br>
:b24, <br>
:b23, <br>
:b22, <br>
:b21, <br>
:b20, <br>
:b19, <br>
:b18, <br>
:b17, <br>
:b16, <br>
:b15, <br>
:b14, <br>
:b13, <br>
:b12, <br>
:b11, <br>
:b10, <br>
:b9, <br>
:b8, <br>
:b7, <br>
:b6, <br>
:b5, <br>
:b4, <br>
:b3, <br>
:b2, <br>
:b1, <br>
'N', <br>
0, <br>
'E' ) <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.01 0.03 4 1 5 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.01 0.03 4 1 5 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, timestamp#, <br>
sample_size, minimum, maximum, distcnt, lowval, hival, density, col#, <br>
spare1, spare2, avgcln <br>
from <br>
hist_head$ where obj#=:1 and intcol#=:2 <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 36 0.00 0.00 0 0 0 0 <br>
Fetch 36 0.00 0.02 3 108 0 36 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 73 0.00 0.02 3 108 0 36 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: RULE <br>
Parsing user id: SYS (recursive depth: 2) <br>
******************************************************************************** <br>
<br>
COMMIT <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 2 0.00 0.01 0 0 1 0 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 4 0.00 0.01 0 0 1 0 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 (recursive depth: 1) <br>
******************************************************************************** <br>
<br>
BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END; <br>
<br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 1 0.00 0.00 0 0 0 0 <br>
Execute 1 0.00 0.00 0 0 0 1 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 2 0.00 0.00 0 0 0 1 <br>
<br>
Misses in library cache during parse: 1 <br>
Optimizer goal: CHOOSE <br>
Parsing user id: 61 <br>
<br>
<br>
<br>
******************************************************************************** <br>
<br>
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 2 0.00 0.00 0 0 0 0 <br>
Execute 3 0.00 820.23 0 0 0 2 <br>
Fetch 0 0.00 0.00 0 0 0 0 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 5 0.00 820.23 0 0 0 2 <br>
<br>
Misses in library cache during parse: 1 <br>
Misses in library cache during execute: 1 <br>
<br>
<br>
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS <br>
<br>
call count cpu elapsed disk query current rows <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
Parse 49 0.00 0.10 3 3 0 0 <br>
Execute 755577 14.25 11.90 17 10 29 3 <br>
Fetch 4910422 92.89 130.18 39671 6442895 0 4532611 <br>
------- ------ -------- ---------- ---------- ---------- ---------- ---------- <br>
total 5666048 107.14 142.19 39691 6442908 29 4532614 <br>
<br>
Misses in library cache during parse: 11 <br>
<br>
17 user SQL statements in session. <br>
35 internal SQL statements in session. <br>
52 SQL statements in session. <br>
******************************************************************************** <br>
Trace file: afhuat_ora_2204.trc <br>
Trace file compatibility: 9.00.01 <br>
Sort options: default <br>
<br>
1 session in tracefile. <br>
17 user SQL statements in trace file. <br>
35 internal SQL statements in trace file. <br>
52 SQL statements in trace file. <br>
36 unique SQL statements in trace file. <br>
5666466 lines in trace file. <br>
Regards<br>
vamsi krishna<br> -
Error in DBMS_JOB.SUBMIT
Dear All,
I am getting erron when submitting job in oracle 9.2 database. pl help me to submit the job. job need to be executed on every day 5pm.
BEGIN
SYS.DBMS_JOB.SUBMIT
NOB => 12
,what => 'SYS.PR_STATUS;'
,next_date => 'trunc(sysdate)+1+(17*60)/(24*60)'
,interval => 'TRUNC(SYSDATE+1)'
END;
error Information
Error starting at line 36 in command:
BEGIN
SYS.DBMS_JOB.SUBMIT
NOB => 12,
what => 'SYS.PR_STATUS;'
,next_date => 'trunc(sysdate)+(1020/1440)'
,interval => 'TRUNC(SYSDATE+1)'
END;
Error report:
ORA-06550: line 2, column 1:
PLS-00306: wrong number or types of arguments in call to 'SUBMIT'
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
Thanks and regards,
Abk.sorry Teymur,
By mistake i had type in Nob that is Job..
BEGIN
SYS.DBMS_JOB.SUBMIT
JOB => 12,
what => 'SYS.PR_STATUS;'
,next_date => 'trunc(sysdate)+(1020/1440)'
,interval => 'TRUNC(SYSDATE+1)'
END;
and the error is
Error starting at line 36 in command:
BEGIN
SYS.DBMS_JOB.SUBMIT
JOB => 12,
what => 'SYS.PR_STATUS;'
,next_date => 'trunc(sysdate)+(1020/1440)'
,interval => 'TRUNC(SYSDATE+1)'
END;
Error report:
ORA-06550: line 4, column 1:
PLS-00363: expression '<expression>' cannot be used as an assignment target
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action: -
Invalid SQL Query with DBMS_JOB.SUBMIT inside
Probably a simple thing, but I can't seem to find the problem in here. I get an error that INVALID SQL STATEMENT. I guess I'm messing something up with the lots of ' chars. If anyone could point out where did I failed I'd be really grateful.
create or replace
trigger TR_REFRESH_SCHEMAS
after create or alter
on schema
declare
tableName user_tables.table_name%TYPE;
table_count number(2);
begin
select ora_dict_obj_name
into tableName
from dual;
select count(table_name)
into table_count
from user_tables
where table_name = tableName;
if (table_count != 0) then
execute immediate
'BEGIN' ||
'DBMS_JOB.SUBMIT' ||
'(' ||
'job => ' || table_count || ',' ||
'what => ' || 'INSERT_SCHEMA(' || tableName || ');,' ||
'next_date => ' || sysdate || ',' ||
'interval => ' || null ||
');' ||
'END;' ||
'COMMIT;'
end if;
exception
when no_data_found then
raise_application_error(-20020, 'Table ' || tableName || ' not found!');
when others then
raise_application_error(-20002, 'Error (' || SQLCODE || '): ' || SQLERRM);
end;I've tried all your recommendations without any success.
For the dbms_output.put_line:
- I've found there was a problem with the interval => null. In the final statement it looked like: DBMS_JOB.SUBMIT(1, INSERT_SCHEMA(TEST), 2012-08-31...., ); obviously wrong. Since the default value of interval is NULL I've taken out that parameter.
For the formatting:
- Thanks for pointing that out! It was surely a problem with that part, as I've seen when printing the statement.
execute immediate
'BEGIN ' ||
'DBMS_JOB.SUBMIT' ||
'(' ||
'job => ' || table_count || ',' ||
'what => ' || 'INSERT_SCHEMA(''' || tableName || ''');,' ||
'next_date => ' || sysdate ||
');' ||
'END;'
);With the qnotation:
- I get an immediate syntactical error when inserting your code right at the second 'q{' part. On the other hand the first parameter: job is a number type so to_char is meaningless in my opinion.
The result so far for a CREATE TABLE statement:
Error starting at line 1 in command:
create table TESTING
id varchar2(20) not null,
text number(8),
dat blob,
creat_e date
Error at Command Line:1 Column:0
Error report:
SQL Error: ORA-00604: error occurred at recursive SQL level 1
ORA-20002: Error (-6550): ORA-06550: line 1, column 77:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
. ( ) , * % & = - + < / > at in is mod remainder not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between || multiset member submultiset
The symbol ";" was ignored.
ORA-06550: line 1, column 102:
PLS-00103: Encountered the symbol "-" when expecting one of the following:
<an identifier> <a double-quoted delimited-identifier>
current delete exists prior
Th
ORA-06512: at line 32
00604. 00000 - "error occurred at recursive SQL level %s"
*Cause: An error occurred while processing a recursive SQL statement
(a statement applying to internal dictionary tables).
*Action: If the situation described in the next error on the stack
can be corrected, do so; otherwise contact Oracle Support. -
Hi,
I need to disable/hide the submit button after i submit the job using dbms_job submit process.
Also after after completion needs to enable the button.
Is there any background process i can run which enable or disable the button?
Thanks,
KHi,
Client (your browser) need check status from server.
Here is one example that might help
https://apex.oracle.com/pls/otn/f?p=40323:69
When you press "Submit Job" button page is submitted and process creates job using APEX_PLSQL_JOB.
Then window is refresh every 10 sec, until job finish.
I did create application item G_META_TAG
I did place to page HTML header
&G_META_TAG.Then I did create display only item Px_JOB_RUNNING and Px_JOB_ID
Computation "PL/SQL Function body" for Px_JOB_RUNNING
FOR c1 IN(
SELECT 1
FROM apex_plsql_jobs
WHERE (job = :Px_JOB_ID OR :Px_JOB_ID IS NULL)
AND system_status = 'COMPLETE'
)LOOP
RETURN 'No';
END LOOP;
RETURN 'Yes';Computation "PL/SQL Function body" for G_META_TAG
IF :Px_JOB_RUNNING = 'Yes' THEN
RETURN '<meta http-equiv="refresh" content="10">';
ELSE
RETURN NULL;
END IF;Then submit button conditionally Px_JOB_RUNNING value "No".
Page after submit process
DECLARE
l_sql VARCHAR2(4000);
l_job NUMBER;
BEGIN
l_sql := '
BEGIN
FOR i IN 1..3
LOOP
APEX_UTIL.PAUSE(10);
END LOOP;
END;
l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(
p_sql => l_sql,
p_status => 'Background process submitted'
--store l_job for later reference
:PX_JOB_ID := l_job;
:PX_JOB_RUNNING := 'Yes';
END;I did make process conditionally by submit button and Px_JOB_RUNNING value "No"
This is not ready solution and probably have bugs.
One thing is specially how you check is job running.
My sample stores job id to item session state. Value is lost if user logout, close browser or clears cache.
Then user can submit job again, even previous job is running.
Anyway I hope it give idea for you how continue.
You can do similar check using Ajax/dynamic actions. Then whole window is not refreshed.
Regards,
Jari
Edited by: jarola on Nov 18, 2010 7:10 PM
Here is sample using Ajax
http://actionet.homelinux.net/htmldb/f?p=100:93 -
DBMS_JOB.SUBMIT - Parallel execution of jobs
Hi,
I have submitted two jobs by using dbms_job.submit(). I want to know whether they will get executed in parallel or in queue. Please see below example
EX: My task is to run the same procedure with different parametrs so i tried the following.
dbms_job.submit(job_id=>v1,'example_proc(10);');
dbms_job.submit(job_id=>v1,'example_proc(20);');
My question is now they will get executed in parallel or in queue. If in Queue how can i make them parallel.
thanks,
Sri968892 wrote:
This is not good..suppose procedure contains same table insert ... it will take time to execute... this not good practice.What?
So two users who are inserting into the same table at the same time shouldn't do that because it's not good practice?
And there was me thinking Oracle had provided a world class enterprise database system that could handle multiple user activity. Doh! -
Dbms_job.submit failed
Hi all,
I'm just wondering why is it that when i submit a job using dbms_job.submit, it always fails.. But when I try dbms_job.run or execute the procedure itself, the procedure was executed successfully and I was able to get the output that i want.
Here's my code snippet:
declare
x_job number;
begin
sys.dbms_job.submit(x_job, 'begin cl_msg2.cl_msg_call; end;', sysdate,NULL);
commit;
end;
I tried to check the alert_log.txt and it shows this error:
Errors in file /u1/oracle/admin/ABC4/bdump/snp3_1854.trc:
ORA-12012: error on auto execute of job 694
ORA-20001:
ORA-06512: at "ABCDEV.SYSTOR", line 81
ORA-06512: at "ABCDEV.CL_MSG2", line 512
ORA-06512: at "ABCDEV.CL_MSG2", line 21
ORA-06512: at line 1
When i check for the source of the error, I found out that the sqlcode it returns is 100.. which means no_data_found. It's doing an update on a table. (I've tried running the )
It's kinda weird because when I checked the record on the table, it DOES exists.. And as I've mentioned earlier, there's no problem when i use dbms_job.run to run the procedure.
I really don't have an idea as to what have caused the failure on the job.
Thanks and regards,
AnnaHi,
Thanks for the immediate reply. Sorry, but I have a very little knowledge when it comes to database issues.. And this is my first time to use dbms_job utility. Here is the code snippet of where the error occurs:
BEGIN
UPDATE CL_DRAWDOWN SET msg_cnf = 'Y'
WHERE dd_key = cmsg.dd_key
AND loan_no = cmsg.loan_no
AND dd_no = cmsg.dd_no;
EXCEPTION
WHEN OTHERS THEN
Systor.insert_error_msg (SQLCODE, 'CL_MSG2', 'MSG_PAY', 'O', '10 '|| TO_CHAR(cmsg.dd_key));
END;
As you can see on the above snippet, SYSTOR package is being used to handle exception and for monitoring/recording of errors. It actually inserts the error encountered on a table and raise an application error with code -20001.
Im not really sure I understand this part
'Ordinary session and job session have different environment. Your code can (recursively) query v$session in unappropriate way.'. Could you please elaborate?
Thanks a lot for your help! -
We run a Job in a 10g (10g Enterprise Edition Release 10.2.0.4.0) DB using this code in SQL*Plus.
SQL> EDIT
Wrote file afiedt.buf
1 DECLARE
2 v_JobNum NUMBER;
3 BEGIN
4 DBMS_JOB.SUBMIT(v_JobNum,'chs_job_test;',sysdate, NULL);
5 DBMS_OUTPUT.PUT_LINE('Job # = ' || v_jobnum);
6 commit;
7* END;
8 /
PL/SQL procedure successfully completed.
SQL> set serverout on
SQL> /
Job # = 462Job runs successfully. i.e. the procedure chs_job_test is executed OK. Problem is when we query the USER_JOBS view, we don't see any record for Job 462??
Why is this??
Where can we get information of the jobs submitted???
If an error occured when running job, from where, which DD View we can get this?If you submit a job without specifying the NEXT_DATE and INTERVAL, Oracle treats it as a "single execution" job. It is removed from the job queue once it is completed.
Hemant K Chitale -
DBMS_JOB.SUBMIT ERROR
Hi,there,
I scheduled my job at 3pm as follows, I run this job
at 1pm, but my table has been changed immediately when I issue dbms_job.run at 1pm,how come it runs in advance??
I use Ora9.2,I found no job_queue_interval parameter,
thanks ur idea in advance!
'==============Scheduled script=========================
dbms_job.submit(:jobno,'begin update medinsur.blkloc
set blkcode=blkcode||province;
end;',
trunc(sysdate)+15/24,
'trunc(sysdate)+1+15/24');
'=======================================================DBMS_JOB.RUN is meant to do just that. It is there for you to be able to run the job immediately (when need be), bypassing the next run date/time.
If you want it to run automatically at the time specified, leave it there and let Oracle automatically pick it up at the specified time. Make sure you have a COMMIT after the DBMS_JOB.SUBMIT or else Oracle background process may not see it. You must have the background queue processes created for Oracle to pick it up automatically. -
Running a procedure which has parameters using dbms_job.submit
I have a procedure which accepts some parameter and i need to schedule this using dbms_job in another procedure. My intention is to execute test_proc without waiting for test_asynch_proc
CREATE or REPLACE PROCEDURE test_asynch_proc(p_1 in number) as
i number;
BEGIN
for i in 1.. 100000
loop
insert into item_p values (dbms_random.random, p_1,sysdate);
end loop;
commit;
END;
I have another procedure which does an asynchronous call to this procedure by scheduling this procedure.
create or replace procedure test_proc is
jobno binary_integer;
--x number :=100;
begin
insert into test_table values(1,sysdate);
dbms_job.submit(job => jobNo,
what=>'test_asynch_proc(''100'');',
next_date=>sysdate );
commit;
dbms_output.put_line ('insert complete at '|| to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS'));
end;
but here instead of
what=>'test_asynch_proc(''100'');'
i need to give a variable. How can i do that?
Thanks,
mvThere is another possibility where job parameters are stored in a parameter table with the job number that can be retrieved by the job code:
bas002>
bas002> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for 32-bit Windows: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production
bas002>
bas002> drop table t;
Table dropped.
bas002> drop table p;
Table dropped.
bas002>
bas002> create table t(x int,d date);
Table created.
bas002> create table p(jn int, jp int);
Table created.
bas002>
bas002>
bas002> create or replace procedure test_asynch_proc as
2 begin
3 insert into t select jp, (select sysdate from dual)
4 from p where jn = sys_context('USERENV','BG_JOB_ID');
5 commit;
6 end;
7 /
Procedure created.
bas002> show errors
No errors.
bas002>
bas002> create or replace procedure test_proc (tp number) is
2 jobno binary_integer;
3 begin
4 dbms_job.submit(
5 job => jobno,
6 what=>'test_asynch_proc;',
7 next_date=>sysdate );
8 insert into p values(jobno, tp);
9 commit;
10 end;
11 /
Procedure created.
bas002> show errors
No errors.
bas002>
bas002> alter session set nls_date_format='DD-MON-YYYY HH24:MI:SS';
Session altered.
bas002> select sysdate from dual;
SYSDATE
28-FEB-2008 10:40:13
bas002>
bas002> exec test_proc(1);dbms_lock.sleep(5);
PL/SQL procedure successfully completed.
bas002> select * from t;
X D
1 28-FEB-2008 10:40:17
bas002> exec test_proc(2);dbms_lock.sleep(5);
PL/SQL procedure successfully completed.
bas002> select * from t;
X D
1 28-FEB-2008 10:40:17
2 28-FEB-2008 10:40:22Message was edited by:
Pierre Forstmann
Message was edited by:
Pierre Forstmann -
Scheduling job using DBMS_JOB.SUBMIT()
Hi people I hav esubmitted a job using DBMS_JOB.SUBMIT() package.I have set the time it should run after 5 minutes from the time i created.but now my question is how do we know the submitted job has been executed within specified interval?.am using oracle 9i.please suggest me.
Regards
VIDSYou should refer to DBA_JOBS and DBA_JOBS_RUNNING views to get information about your jobs
Please refer to this address to get more information about these views
http://pandazen.wordpress.com/2007/12/19/oracle-job-to-be-continued/
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com -
Error when executing dbms_job.submit
I work with ORACLE server 8.1.7 and I have executed the subprogram SUBMIT of the package dbms_job under an account which has not the DBA privilege . I have already defined a bind variable of type number in SQL*Plus, and there is a simple stored procedure, named GO, which shows only 'Hello'. Here are the codes :
SQL>create or replace procedure go
SQL>is
SQL>begin
SQL>dbms_output.put_line('Hello');
SQL>end;
SQL>/
SQL>Procédure créée
SQL>set serveroutput on
SQL>var x number
SQL>execute dbms_job.submit(:x,'go;',sysdate,'sysdate+(1/288)')
Then I received this error message :
ORA-01422: l'extraction exacte ramène plus que le nombre de lignes demandé
ORA-06512: à "SYS.STANDARD", ligne 586
Please help me to resolve this problem. Thank you very much.Well, it works for me on my 8.1.7 installation (see below).
I know a mysterious ORA-1422 can indicate a problem with
dual: what does this query return?
SELECT count(*) FROM dual;.
Cheers, APC
SQL> create or replace procedure go
2 is
3 begin
4 dbms_output.put_line('Hello');
5 end;
6 /
Procedure created.
SQL> set serveroutput on
SQL> var x number
SQL> execute dbms_job.submit(:x,'go;',sysdate,'sysdate+(1/288)')
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> print x
X
14602
SQL> exec dbms_job.run(14602)
Hello
PL/SQL procedure successfully completed.
SQL> -
Using DBMS_JOB,SUBMIT
Hello,
I would like to find out how to use DBMS_JOB.SUBMIT to run a certain procedure evry morning at say 5:00 AM
Thanks
DougHi,
This info. taken from oracle documentation............... For more info look in oracle Documentation. I hope this will help you.
DBMS_JOB subprograms schedule and manage jobs in the job queue.
This chapter discusses the following topics:
Requirements
Using the DBMS_JOB Package with Oracle Real Application Clusters
Summary of DBMS_JOB Subprograms
Requirements
There are no database privileges associated with jobs. DBMS_JOB does not allow a user to touch any jobs except their own.
Using the DBMS_JOB Package with Oracle Real Application Clusters
For this example, a constant in DBMS_JOB indicates "no mapping" among jobs and instances, that is, jobs can be executed by any instance.
DBMS_JOB.SUBMIT
To submit a job to the job queue, use the following syntax:
DBMS_JOB.SUBMIT( JOB OUT BINARY_INTEGER,
WHAT IN VARCHAR2, NEXT_DATE IN DATE DEFAULTSYSDATE,
INTERVAL IN VARCHAR2 DEFAULT 'NULL',
NO_PARSE IN BOOLEAN DEFAULT FALSE,
INSTANCE IN BINARY_INTEGER DEFAULT ANY_INSTANCE,
FORCE IN BOOLEAN DEFAULT FALSE)
Use the parameters INSTANCE and FORCE to control job and instance affinity. The default value of INSTANCE is 0 (zero) to indicate that any instance can execute the job. To run the job on a certain instance, specify the INSTANCE value. Oracle displays error ORA-23319 if the INSTANCE value is a negative number or NULL.
The FORCE parameter defaults to FALSE. If force is TRUE, any positive integer is acceptable as the job instance. If FORCE is FALSE, the specified instance must be running, or Oracle displays error number ORA-23428.
DBMS_JOB.INSTANCE
To assign a particular instance to execute a job, use the following syntax:
DBMS_JOB.INSTANCE( JOB IN BINARY_INTEGER,
INSTANCE IN BINARY_INTEGER,
FORCE IN BOOLEAN DEFAULT FALSE)
The FORCE parameter in this example defaults to FALSE. If the instance value is 0 (zero), job affinity is altered and any available instance can execute the job despite the value of force. If the INSTANCE value is positive and the FORCE parameter is FALSE, job affinity is altered only if the specified instance is running, or Oracle displays error ORA-23428.
If the FORCE parameter is TRUE, any positive integer is acceptable as the job instance and the job affinity is altered. Oracle displays error ORA-23319 if the INSTANCE value is negative or NULL.
DBMS_JOB.CHANGE
To alter user-definable parameters associated with a job, use the following syntax:
DBMS_JOB.CHANGE( JOB IN BINARY_INTEGER,
WHAT IN VARCHAR2 DEFAULT NULL,
NEXT_DATE IN DATE DEFAULT NULL,
INTERVAL IN VARCHAR2 DEFAULT NULL,
INSTANCE IN BINARY_INTEGER DEFAULT NULL,
FORCE IN BOOLEAN DEFAULT FALSE )
Two parameters, INSTANCE and FORCE, appear in this example. The default value of INSTANCE is NULL indicating that job affinity will not change.
The default value of FORCE is FALSE. Oracle displays error ORA-23428 if the specified instance is not running and error ORA-23319 if the INSTANCE number is negative.
DBMS_JOB.RUN
The FORCE parameter for DBMS_JOB.RUN defaults to FALSE. If force is TRUE, instance affinity is irrelevant for running jobs in the foreground process. If force is FALSE, the job can run in the foreground only in the specified instance. Oracle displays error ORA-23428 if force is FALSE and the connected instance is the incorrect instance.
DBMS_JOB.RUN( JOB IN BINARY_INTEGER,
FORCE IN BOOLEAN DEFAULT FALSE) -
The error in using dbms_job.submit()?
I login as a normal user, execute a pl/sql block as follows and succeed to create a job.
declare
num_new_job_no number;
begin
sys.dbms_job.submit(job => num_new_job_no,
what => 'dbms_output.put_line(''test'')',
next_date => to_date('24-10-2003 11:04:42', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+1/24');
commit;
exception
when others then
dbms_output.put_line(sqlcode||sqlerrm);
end;
But after a hour I execute the code again, and return a error as follows:
-6550ORA-06550: �� 1 ��, �� 122 ��:
PLS-00103: ���ַ�� "END"����Ҫ����֮һʱ��
:= . ( % ;
��� ";" ���滻Ϊ "END" �����
Who can tell why? Thanks.DBMS_JOB can only execute complete PL/SQL programs. You can run anonymous blocks, like this:
declare
num_new_job_no number;
begin
sys.dbms_job.submit(job => num_new_job_no,
what => 'begin dbms_output.put_line(''test''); end;',
next_date => sysdate + (1/1000),
interval => 'sysdate+1/24');
commit;
exception
when others then
dbms_output.put_line(sqlcode||sqlerrm);
end;However, you will never see any output from this job. Jobs run in a recursive session, so there is no client to which DBMS_OUTPUT can write. However, you can see whether it ran by checking in the USER_JOBS view.
Cheers, APC
Maybe you are looking for
-
Microsoft Service Pack 2 - not all versions are equal; how to update to the latest one "safe
I posted this under another topic where it was relevant, but thought the instructions I got from Microsoft were useful (as was my experience in using them as I sent back a reply to them with the problems I encountered [none of which were particularly
-
Links not working in executable jar
I have a problem with my java application html and images files do not work in executable jar though the application works normally I tried some suggestion but I received an exception thread indicating problem at ImageIcon iChing = new ImageIcon(imag
-
Unibody mac book display stopped working!!!! please help
Hello all, My display has stopped working, my 13 inch mac book still start up fine and I can see the desktop very very light if I place the display in sunlight. the keyboard still lights up. what could be the problem, no apple care. worse case scenar
-
Latest Software of iOS 7.0.3 Wont install even when I have deleted all applications.I don't want to buy more memory as I have already done.
-
What is a Zero elimination in infocube compression?
Can any body please explain me in detail what is a Zero elimination in infocube compression? when and why we need to switch this on? i appreciate your help. Thank you.