BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'shrink_hr',
job_type => 'PLSQL_BLOCK',
job_action => q'[
BEGIN
EXECUTE IMMEDIATE 'alter table EMPLOYEES enable row movement';
EXECUTE IMMEDIATE 'alter table REGIONS enable row movement';
EXECUTE IMMEDIATE 'alter table LOCATIONS enable row movement';
EXECUTE IMMEDIATE 'alter table DEPARTMENTS enable row movement';
EXECUTE IMMEDIATE 'alter table JOBS enable row movement';
EXECUTE IMMEDIATE 'alter table JOB_HISTORY enable row movement';
EXECUTE IMMEDIATE 'alter table EMPLOYEES shrink space compact';
EXECUTE IMMEDIATE 'alter table REGIONS shrink space compact';
EXECUTE IMMEDIATE 'alter table LOCATIONS shrink space compact';
EXECUTE IMMEDIATE 'alter table DEPARTMENTS shrink space compact';
EXECUTE IMMEDIATE 'alter table JOBS shrink space compact';
EXECUTE IMMEDIATE 'alter table JOB_HISTORY shrink space compact';
EXECUTE IMMEDIATE 'alter table EMPLOYEES shrink space';
EXECUTE IMMEDIATE 'alter table REGIONS shrink space';
EXECUTE IMMEDIATE 'alter table LOCATIONS shrink space';
EXECUTE IMMEDIATE 'alter table DEPARTMENTS shrink space';
EXECUTE IMMEDIATE 'alter table JOBS shrink space';
EXECUTE IMMEDIATE 'alter table JOB_HISTORY shrink space';
END;
]',
start_date => TO_TIMESTAMP('2025-09-19 22:00:00', 'YYYY-MM-DD HH24:MI:SS'),
enabled => TRUE,
auto_drop => TRUE
);
END;
/
SELECT job_name, state, start_date, next_run_date
FROM dba_scheduler_jobs;