Вопрос

В чем разница между dbms_job и dbms_scheduler?

Это было полезно?

Решение

С других форумов:

Хотя DBMS_JOB все еще существует в 10G и 11G, Oracle рекомендует использовать DBMS_SCHeduler в выпусках 10G и вверх. Никаких новых функций в DBMS_JOB не добавляются, и вы, вероятно, быстро столкнутся с его ограничениями.

DBMS_SCHEDULER - более прочная и полностью обозначается, чем DBMS_JOB и включает в себя следующие функции, которые DBMS_JOB не имеет:

  • Регистрация рабочих мест (история работы)
  • простой, но мощный синтаксис планирования (похоже на, но более мощный, чем синтаксис CRON)
  • Запуск рабочих мест вне базы данных в операционной системе
  • Управление ресурсами между различными классами рабочих мест
  • Использование аргументов рабочих мест, в том числе прохождение объектов в сохраненные процедуры
  • Модель безопасности на основе привилегий для рабочих мест
  • Называть рабочие места и комментарии в рабочих местах
  • хранимые, многоразовые расписания

Особенности в релизах после 10G Release 1 включают в себя:

  • Зависимости между рабочими узлами (10гр2 и вверх)
  • Планирование на основе финансовых календарей и фискальных кварталов (10гр2 и до)
  • Работа на основе событий, которая запускается при получении события (10гр2 и вверх)
  • Запуск рабочих мест на удаленных машинах (11гр1 и вверх)
  • Уведомления по электронной почте о разработке интересов работы (10гр2 и вверх)
  • Начало работы на основе прибытия файла (10гр2 и вверх)

Другие советы

Однозначное различие в том, что в отличие от dbms_job, dbms_scheduler выполняет коммит, что делает его непригодным для некоторых видов использования. Это также довольно громоздко для более простых требований. В то время как DBMS_JOB больше не будет расширена, вряд ли будет выдержан, поскольку должны быть тысячи систем, которые его используют, и полагаются на то, как он работает, в том числе не выполняет неявный коммит транзакции, из которой он назывался.

Видеть это просить Тома нить для большего.

Рядом с перечисленными являются некоторые преимущества, которые DBMS_SCHEDELER имеет через Cron:

• может сделать выполнение задания, зависящей от завершения другой работы

• Устойчивая балансировка ресурсов и гибкие функции планирования

• Может выполнить задания на основе события базы данных

• Синтаксис DBMS_SCheduler работает так же независимо от операционной системы

• Может выполнять отчеты о состоянии с использованием словаря данных

• Если работа в кластеризованной среде, не нужно беспокоиться о синхронизации нескольких таблиц CRON для каждого узла в кластере

Перечисленные следующие - некоторые преимущества использования CRON:

• Простота в использовании, простой, пробовал и правда

• почти универсально доступен на всех коробках Linux / Unix; По большей части проходит практически точно, независимо от платформы Linux / Unix (да, есть незначительные различия)

• база данных агностики; Работает независимо от базы данных и работает так же независимо от поставщика баз данных или версии базы данных

• Работает, доступна ли база данных или нет

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top