Создание Наблюдателя Файлов и Основанного на событии Задания
Выполните следующие задачи:
Создайте учетный объект Планировщика и предоставьте
EXECUTE
.Создайте наблюдателя файлов и предоставление
EXECUTE
.Создайте объект программы Планировщика с аргументом метаданных, который ссылается на сообщение о событии.
Создайте основанное на событии задание, которое ссылается на наблюдателя файлов. (Опционально, позвольте заданию запускаться каждый раз, когда происходит событие прибытия файла.)
Включите наблюдатель файлов, программу и задание.
Выполните следующие задачи, чтобы создать наблюдателя файлов и создать основанное на событии задание, которое запускается, когда определенный файл прибывает:
Создайте учетный объект Планировщика (учетные данные), с которым можно аутентифицироваться в операционной системе узла для доступа к файлу, и предоставьте учетной записи EXECUTE для схемы, которой принадлежит основанное на событии задание, которое запустит наблюдателя файлов.
Создайте наблюдателя файлов, и предоставьте EXECUTE наблюдателю файлов для любой схемы, которой принадлежит основанное на событии задание, которое ссылается на наблюдателя файла.
Создайте объект программы Планировщика с аргументом метаданных, который ссылается на сообщение о событии.
Определите аргумент метаданных, используя атрибут EVENT_MESSAGE.
Создайте хранимую процедуру с параметром типа SYS.SCHEDULER_FILEWATCHER_RESULT, которую вызывает программа. У хранимой процедуры должен быть параметр типа SYS.SCHEDULER_FILEWATCHER_RESULT, который является типом данных сообщения о событии. Позиция этого параметра должна соответствовать позиции определенного параметра метаданных. Процедура может получить доступ к атрибутам этого абстрактного типа данных, чтобы узнать о прибывшем файле.
- Создайте основанное на событии задание, которое ссылается на наблюдателя файлов. Вы можете использовать процедуру DBMS_SCHEDULER.SET_ATTRIBUTE, чтобы позволить заданию запускаться каждый раз, когда происходит событие о прибытии файла, даже если задание уже обрабатывает предыдущее событие. Установите атрибут PARALLEL_INSTANCES в TRUE.
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE('','PARALLEL_INSTANCES', TRUE); END;Это позволяет заданию работать как легковесному заданию так, чтобы несколько экземпляров задания могут быть запущены быстро. Если PARALLEL_INSTANCES будет установлен в значение по умолчанию FALSE, то события наблюдателя файлов, которые происходят в то время, как основанное на событии задание уже осуществляет обработку, будут отброшены.
- Включите наблюдателя файлов, программу или задание.