Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Прибить Job  [new]
Vlad_Alf
Member

Откуда: Germany
Сообщений: 66
Народ, подскажите как удалить Backup Job в OEM. При удалении пишет, что Job ещё активна. Нажимаю Остановить, получаю сообщение что успешно остановленно. Пытаюсь опять удалить. Пишет опять что активна. ОК смотрю Job активность показывает что Pre Backup и Backup завершились успешно, а Post Backup всё работает. Народ подскажите как его прибить.
13 ноя 07, 13:06    [4909153]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
Не совсем понятно. Если нужно прибить job насовсем, то можно использовать dbms_job.remove. Он вообще удалит ее из расписания. Для того, чтобы временно остановать ее выполнение, но не удалять из расписания навсегда, можно использовать dbms_job.broken. Как остановить выполняющийся же job - честно говоря, не знаю. Наверное, только убиванием сессии.
13 ноя 07, 13:20    [4909261]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Vlad_Alf
Member

Откуда: Germany
Сообщений: 66
В том то и дело что судя по всему Post Backup ещё выполняется.
13 ноя 07, 13:30    [4909345]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
Так вопрос в чем - прибить выполняющийся job? Я бы не стал этого делать. Могут возникнуть проблемы с целостностью данных, поскольку в джобах частенько используется DDL
13 ноя 07, 13:34    [4909377]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Shmyg
Так вопрос в чем - прибить выполняющийся job? Я бы не стал этого делать. Могут возникнуть проблемы с целостностью данных, поскольку в джобах частенько используется DDL


1. "частенько используется DDL" - и что, есть статистика?
2. если job выполняет backup - какие проблемы с целостностью (не считая формируемого backup)?
13 ноя 07, 13:38    [4909408]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Vlad_Alf
Member

Откуда: Germany
Сообщений: 66
Так в том то и дело что он судя по всему подвис и активен и не даёт удалить себя из списка на выполнение.
13 ноя 07, 13:41    [4909426]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
Статистики у меня нет. Но именно системные джобы, например, собирают статистику, перестраивают инвалидные объекты и т.п. Даже на курсах Оракл не рекомендует заниматься такими вещами (..е. их прерыванием).
Если речь идет _конкретно_ о бекапе и известно, что внутри джоба и что его убивание не повлечет за собой каких-либо последствий - можно прибить. Я имел в виду общий случай. Как прибить - уже писал - точно не знаю, но, думаю, только убиванием сессии.
13 ноя 07, 13:45    [4909451]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Vlad_Alf
Так в том то и дело что он судя по всему подвис и активен и не даёт удалить себя из списка на выполнение.


Если задача выполняется на сервере - значит создана сессия (возможно не одна). Так что надо найти и убить сессии...
13 ноя 07, 13:46    [4909466]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Vlad_Alf
Member

Откуда: Germany
Сообщений: 66
А кто владелец у Backup сессий?
13 ноя 07, 13:55    [4909535]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
А какое отношение DBMS_JOB имеет к "Backup Job в OEM" ?
14 ноя 07, 02:05    [4912487]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
Вячеслав Любомудров
А какое отношение DBMS_JOB имеет к "Backup Job в OEM"


При запуске "Backup Job в OEM" создается джоб в базе через DBMS_SCHEDULER. Если я ничего не путаю, конечно :)
14 ноя 07, 10:42    [4913221]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Shmyg
Вячеслав Любомудров
А какое отношение DBMS_JOB имеет к "Backup Job в OEM"


При запуске "Backup Job в OEM" создается джоб в базе через DBMS_SCHEDULER. Если я ничего не путаю, конечно :)


dbms_scheduler только с Ora 10
14 ноя 07, 10:46    [4913263]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
tru55
dbms_scheduler только с Ora 10


К сожалению, девятого оракла под рукой нет. Но могу предположить, что до этого использовался DBMS_JOB.. Т.е. в любом случае, тем или иным способом, создается джоб
14 ноя 07, 10:53    [4913323]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Shmyg
могу предположить, что до этого использовался DBMS_JOB.
Нет
14 ноя 07, 10:59    [4913373]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
И что-то мне подсказывает, что и в 10 scheduler не используется для заданий OEM
14 ноя 07, 11:03    [4913412]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
Вячеслав Любомудров
Нет


А что?
14 ноя 07, 11:08    [4913450]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
Вячеслав Любомудров
И что-то мне подсказывает, что и в 10 scheduler не используется для заданий OEM


Используется. Например, через ОЕМ можно создать периодический бекап. Который и живет в scheduler-е.
14 ноя 07, 11:10    [4913468]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
В 9-ке этим занимался Intelligent agent (dbsnmp) -- отдельный демон, который и выполнял все эти задания. Хранились они в его файлах конфигурации
В 10-ке, я так понимаю, этим занимается EM-agent. Где он хранит свою инфу не знаю, но подозреваю, что тоже не в базе.
Например, он может что-то выполнять, когда БД не открыта (холодный бэкап, например)
Shmyg
Вячеслав Любомудров
И что-то мне подсказывает, что и в 10 scheduler не используется для заданий OEM


Используется. Например, через ОЕМ можно создать периодический бекап. Который и живет в scheduler-е.
И ты его увидишь в DBA_SCHEDULER_JOBS ? (если я правильно понимаю там видны все задания для DBMS_SCHEDULER)
14 ноя 07, 11:28    [4913620]     Ответить | Цитировать Сообщить модератору
 Re: Прибить Job  [new]
Shmyg
Member

Откуда: Kiev
Сообщений: 56
To Вячеслав Любомудров:

Ура! Нашел. Черт подери, потратил два часа на это. Но оно того стоило :).

Действительно, Оракл не хранит эти джобы в таблицах scheduler-а. Но все-таки хранит их в базе. Таблица SYSMAN.MGMT_JOB и еще некоторые, с ней связанные. Оттуда, очевидно, агент и читает конфигурацию. Он же и останавливает и запускает базу при необходимости.

Убить джоб все-таки можно. Но, снова же, другим пакетом - SYSMAN.MGMT_JOBS. И это в том случае, если она еще не запущена. Если же запущена, то убивать нужно сессии (владелец сессий, видимо, DBSNMP) или же соответствующие процессы на Юниксе (если, например, это холодное резервирование).

В файлах конфигурации найти ничего не удалось.

Век живи - век учись :) (это я о себе)
14 ноя 07, 14:13    [4915247]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить