DECLARE jobno number; BEGIN DBMS_JOB.SUBMIT(jobno, 'BASE8."BASE8_SYSFUNC_PKG".JOB_PROCEDURE;', TO_DATE('суббота, Январь 01, 4000 12 00 00 AM', 'DAY, MONTH DD, YYYY HH:MI:SS AM'), 'SYSDATE+3/86400'); COMMIT; END;
PROCEDURE JOB_PROCEDURE IS L_SESS BASE8."BASE8_HEXARRAY_TT"; BEGIN SELECT BASE8."INTTOHEX"(SID,4) || BASE8."INTTOHEX"(SERIAL#,4) BULK COLLECT INTO L_SESS FROM GV$SESSION WHERE STATUS <> 'KILLED'; DELETE FROM BASE8."SYS#LOCKS" WHERE DBSESSIONID NOT IN (SELECT * FROM TABLE(CAST(L_SESS AS BASE8."BASE8_HEXARRAY_TT")) ); DELETE FROM BASE8."X$ACTIVEUSERS" WHERE DBSESSIONID NOT IN (SELECT * FROM TABLE(CAST(L_SESS AS BASE8."BASE8_HEXARRAY_TT")) ); COMMIT; END JOB_PROCEDURE;
create or replace TYPE "BASE8_HEXARRAY_TT" AS TABLE OF CHAR(16);
CREATE OR REPLACE FUNCTION "INTTOHEX"( ITEM INTEGER, ITEMSIZE INTEGER) RETURN VARCHAR2 AS BEGIN RETURN LTRIM(TO_CHAR(ITEM,LPAD('X',ITEMSIZE*2,'0'))); END INTTOHEX;
Program Start Task: On BASE8_POPOV -- Drop Job Program End Task: On BASE8_POPOV -- Drop Job DBMS Base8_POPOV -- Failed to execute query (BEGIN DBMS Base8_POPOV -- DBMS_JOB.REMOVE (727); DBMS Base8_POPOV -- COMMIT; DBMS Base8_POPOV -- END;): ORA-23421: номер задаия 727 --не соответсвует заданию в очереди заданий DBMS Base8_POPOV -- ORA-06512: ia "SYS.DBMS_SYS_ERROR", line 86 DBMS Base8_POPOV -- ORA-06512: ia "SYS.DBMS_IJOB", line 529 DBMS Base8_POPOV -- ORA-06512: ia "SYS.DBMS_JOB", line 171 DBMS Base8_POPOV -- ORA-06512: ia line 2