Simple async procession in Oracle can be implemented with dbms_scheduler package
-- dbms_scheduler.create_job makes explicit commit!!!
dbms_scheduler.create_job(
job_name => 'async_execution' || seq_async.nextval(),
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN some_asynk_proc(); END;',
start_date => sysdate,
enabled => TRUE,
auto_drop => TRUE,
comments => 'Async procedure call'
);
Competitive solution is implementation using dbms_aq queues, but as for me oracle’s queues from time to time start to raise unexpected exceptions. From other side for dbms_scheduler solution it is impossible to guarantee the order.
Комментариев нет:
Отправить комментарий