Необходимо: чтобы Oracle запустил сценарий оболочки, который выполняет обработку таблиц и данных в базе данных Oracle. Сценарий создается с помощью определенной активности веб-клиентов.

Проблема: веб-клиенты будут одновременно выполнять эту работу. Для выполнения сценариев оболочки из Oracle вы должны сделать это с помощью планировщика Oracle. Это задание настроено на немедленное выполнение из Oracle. Что я вижу в документации ORA-27477, так это в том, что Oracle не разрешает одновременное выполнение заданий с одинаковыми именами.

Справочная информация: Нам нужно запустить это конкретное задание обработки из оболочки, потому что он использует C для выполнения тяжелой работы. Портирование этого кода в PL/SQL не вариант. Здесь много унаследованного кода, который меня огорчает, но это жизнь.

1 ответ1

0

Вы можете создать новое задание для каждого запуска или скопировать существующее задание с помощью DBMS_SCHEDULER.COPY_JOB . В обоих случаях вы можете использовать DBMS_SCHEDULER.GENERATE_JOB_NAME для создания уникальных имен для заданий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .