Ошибка: агенту AQ SYS не предоставлены привилегии пользователя базы данных SYSTEM
Я пытаюсь снять события, возникшие на работе, после успешного завершения. При запуске блока PLSQL для удаления из очереди после создания задания я получаю сообщение об ошибке. Используемая база данных: оракул 11g R2
Создать JOB:
BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'event_raising_job',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN
-- Does nothing.
NULL;
END;',
start_date => SYSTIMESTAMP,
end_date => SYSTIMESTAMP + (1/24), -- 1 hour
repeat_interval => 'freq=minutely; bysecond=0',
enabled => TRUE);
DBMS_SCHEDULER.set_attribute(
name => 'event_raising_job',
attribute => 'raise_events',
value => DBMS_SCHEDULER.job_succeeded);
END;
/
Dequeue:
DECLARE
l_dequeue_options DBMS_AQ.dequeue_options_t;
l_message_properties DBMS_AQ.message_properties_t;
l_message_handle RAW(16);
l_queue_msg sys.scheduler$_event_info;
BEGIN
l_dequeue_options.consumer_name := 'SYS';
DBMS_AQ.dequeue(queue_name => 'SYS.SCHEDULER$_EVENT_QUEUE',
dequeue_options => l_dequeue_options,
message_properties => l_message_properties,
payload => l_queue_msg,
msgid => l_message_handle);
COMMIT;
DBMS_OUTPUT.put_line ('event_type : ' || l_queue_msg.event_type);
DBMS_OUTPUT.put_line ('object_owner : ' || l_queue_msg.object_owner);
DBMS_OUTPUT.put_line ('object_name : ' || l_queue_msg.object_name);
DBMS_OUTPUT.put_line ('event_timestamp: ' || l_queue_msg.event_timestamp);
DBMS_OUTPUT.put_line ('error_code : ' || l_queue_msg.error_code);
DBMS_OUTPUT.put_line ('event_status : ' || l_queue_msg.event_status);
DBMS_OUTPUT.put_line ('log_id : ' || l_queue_msg.log_id);
DBMS_OUTPUT.put_line ('run_count : ' || l_queue_msg.run_count);
DBMS_OUTPUT.put_line ('failure_count : ' || l_queue_msg.failure_count);
DBMS_OUTPUT.put_line ('retry_count : ' || l_queue_msg.retry_count);
END;
/