oracle имеет свой собственный планировщик заданий / заданий.Вы можете создать задание и прикрепить к нему хранимую процедуру.
Задача также может отправить вам электронное письмо после завершения со статусом cempletion.
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'update_sales',
job_type => 'STORED_PROCEDURE',
job_action => 'OPS.SALES_PKG.UPDATE_SALES_SUMMARY',
start_date => '28-APR-08 07.00.00 PM Australia/Sydney',
repeat_interval => 'FREQ=DAILY;INTERVAL=2', /* every other day */
end_date => '20-NOV-08 07.00.00 PM Australia/Sydney',
auto_drop => FALSE,
job_class => 'batch_update_jobs',
comments => 'My new job');
END;
/
Для уведомлений по электронной почте
BEGIN
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION (
job_name => 'EOD_JOB',
recipients => 'jsmith@example.com, rjones@example.com',
sender => 'do_not_reply@example.com',
subject => 'Scheduler Job Notification-%job_owner%.%job_name%-%event_type%',
body => '%event_type% occurred at %event_timestamp%. %error_message%',
events => 'JOB_FAILED, JOB_BROKEN, JOB_DISABLED, JOB_SCH_LIM_REACHED');
END;
/
Ссылка
Если таблицы огромные, вы можете рассмотреть возможность импорта импорта на expdp/impdp
.Но решение действительно зависит от размера ваших данных, отказоустойчивости, сложности данных, разницы между исходной и целевой таблицей и т. Д.
Если вы намереваетесь заполнить вашу целевую таблицу в режиме реального времени, а выне хочу вкладывать деньги в какие-либо технологии.Я могу посоветовать вам подключить вашу целевую базу данных с помощью Database Link
и создать триггер на исходной таблице, чтобы при каждом выполнении INSERT / UPDATE / DELETE вы могли вставлять ее в целевую таблицу через DB Link.