How to set up scheduled data extraction in Oracle?
In Oracle database, you can use the Oracle Job Scheduler to set up tasks for extracting data on a regular schedule. Here is an example of setting up a task for extracting data:
1. Create a stored procedure or function for extracting data. For example, create a stored procedure `extract_data` to extract data from the table `my_table`.
CREATE OR REPLACE PROCEDURE extract_data ASBEGIN
INSERT INTO target_table (col1, col2, col3)
SELECT col1, col2, col3
FROM my_table
WHERE condition;
COMMIT;
END;
Create a job for scheduling the execution of a data extraction stored procedure. For example, create a job named `extract_data_job` to run at 3 AM daily.
BEGINDBMS_SCHEDULER.CREATE_JOB (
job_name => 'extract_data_job',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN extract_data; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=DAILY; BYHOUR=3;',
enabled => TRUE);
END;
In the example above, `start_date` is set to the current time, `repeat_interval` is set to daily repetition, and `BYHOUR=3` means the job will execute every day at 3 a.m. Enable the job.
BEGINDBMS_SCHEDULER.ENABLE('extract_data_job');
END;
After enabling a job, it will automatically execute at the set repeat interval. You can use the ‘DBA_SCHEDULER_JOBS’ view to see the created jobs and their status.
SELECT job_name, stateFROM dba_scheduler_jobs
WHERE owner = 'your_owner_name';
This is a simple example of setting up scheduled data extraction, which you can adjust according to your needs and business logic.