powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 11g - job - выполнить, когда сервер будет не сильно загружен.
8 сообщений из 8, страница 1 из 1
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508093
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне еще не доводилось создавать в Oracle джобы,
но вот пришлось заняться задачей, где они предполагаются.

И сразу возник вопрос:
- А можно-ли назначить задание примерно в такой формулировке:
"Выполни [эту] хранимую процедуру, когда будешь не сильно занят,
но к такому-то числу, во столько-то часов результат уже должен быть готов".
(небольшая просрочка в моем случае допускается - будем указывать время готовности с запасом).

Есть-ли что-то уже готовое на эту тему, или мне
придется писать свой механизм сбора статистики загруженности сервера в определенные дни и часы,
самому учитывать статистику выполнения указанной процедуры, смотреть какие еще задания назначены
и на какое время, чтобы не запуститься одновременно с ними, или все-таки разрешить запуститься одновременно,
если конкурирующие - не очень ресурсоемкие задачи.
(т.е. - нужно иметь статистику их выполнения и оценивать ее).

Так же учитывать приоритеты по рабочим/не рабочим часам и дням недели.
Если свободно ночное время на сервере - то лучше выполнить ночью, чем днем.
Если свободно время в выходной день - то лучше выполнить в выходной.
---
Э... пока писал, подумалось, что это вряд-ли есть в Oracle.
Тогда, если не трудно - подскажите, пожалуйста, какие инструменты сбора статистики загруженности сервера мне нужно будет
использовать при написании такого хитрого планировщика.
...
Рейтинг: 0 / 0
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508097
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что под нагрузкой понимать? Кол-во запросов выполняемых в определенный момент времени или что-то другое - процессор, дисковая система или все в комплексе?
...
Рейтинг: 0 / 0
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508103
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheriffua,
Думаю, это комплексная оценка по CPU и дисковым операциям.
Смысл такого "smart lazy sheduling" в том, чтобы при автоматической подготовке отчета к нужной дате,
не создавать тормоза в рабочее время на базе - чтобы сотрудники и клиенты не жаловались, что все тормозит и висит.

Можно просто ночью делать, но "ночью поработать" - таких желающих тоже полно, и получается,
что" то густо то пусто".
То одновременно запустятся несколько тяжелых процедур, то ничего не делает сервер.
Как-то распределять задачи более равномерно, и делать это не вручную, а автоматически.
---
Можно было-бы делать отчеты на копии базы,
но выбить ресурс для ее создания пока не могу.
...
Рейтинг: 0 / 0
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508109
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ART-CODE,
В разве нельзя в вашем случае использовать профили, в которых задавать нагрузку для ваших задач.
...
Рейтинг: 0 / 0
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508111
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODE,

[оставляя за скобками разумность постановки задачи автоматизации такого рода]

смотрите в сторону v$active_session_history и агрегата по нему за посление N секунд. например, раз в минуту. и, если всё устраивает, запускайте свой джоб. и даже если нагрузка вдруг сильно возрастёт, вы, воспользовавшись той же вьюхой, сможете прибить свой джоб. или прямо в джобе разбить объём работы на мелкие кусочки и перед началом каждого справляться о нагрузке за последнее время. по результатам - выполнить очередную порцию работы или dbms_lock.sleep на какое-то время.
...
Рейтинг: 0 / 0
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508121
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По честноку:
Managing Resources with Oracle Database Resource Manager + Oracle Scheduler Concepts (time window)

Но,
1) если у Вас не exadata - управлять загрузкой ввода/вывода Вы не сможете, только CPU
2) Если задача не влезает в windows, то нужно будет предусмотреть chain job, чтобы как-то обработать эту ситуацию, например стукнуть админу, или поднять ее приоритет
3) отчетные, или не требующие online данных задачи, лучше выносить на standby/clone/snapshot database
...
Рейтинг: 0 / 0
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508122
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trace.logART-CODE,
В разве нельзя в вашем случае использовать профили, в которых задавать нагрузку для ваших задач.
oracle profile - это quota, грубо - сожрал ресурс, тебя пристрелили
...
Рейтинг: 0 / 0
11g - job - выполнить, когда сервер будет не сильно загружен.
    #39508192
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы и ссылки.
Подумаю об этом.
В том числе и о целесообразности :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 11g - job - выполнить, когда сервер будет не сильно загружен.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]