39 lines
1.1 KiB
SQL
39 lines
1.1 KiB
SQL
DECLARE
|
|
in_job_name CONSTANT VARCHAR2(30) := 'CORE_PURGE_LOGS';
|
|
in_run_immediatelly CONSTANT BOOLEAN := FALSE;
|
|
BEGIN
|
|
DBMS_OUTPUT.PUT_LINE('--');
|
|
DBMS_OUTPUT.PUT_LINE('-- JOB ' || UPPER(in_job_name));
|
|
DBMS_OUTPUT.PUT_LINE('--');
|
|
--
|
|
BEGIN
|
|
DBMS_SCHEDULER.DROP_JOB(in_job_name, TRUE);
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
NULL;
|
|
END;
|
|
--
|
|
DBMS_SCHEDULER.CREATE_JOB (
|
|
job_name => in_job_name,
|
|
job_type => 'STORED_PROCEDURE',
|
|
job_action => 'app.purge_logs',
|
|
number_of_arguments => 0,
|
|
start_date => SYSDATE,
|
|
repeat_interval => 'FREQ=DAILY; BYHOUR=2; BYMINUTE=0',
|
|
enabled => FALSE,
|
|
auto_drop => TRUE,
|
|
comments => 'Purge old records from LOGS table and related tables'
|
|
);
|
|
--
|
|
DBMS_SCHEDULER.SET_ATTRIBUTE(in_job_name, 'JOB_PRIORITY', 5);
|
|
DBMS_SCHEDULER.ENABLE(in_job_name);
|
|
COMMIT;
|
|
--
|
|
IF in_run_immediatelly THEN
|
|
DBMS_SCHEDULER.RUN_JOB(in_job_name);
|
|
COMMIT;
|
|
END IF;
|
|
END;
|
|
/
|
|
|