Мейнфрейм: как предотвратить конфликт DB2 между пакетным заданием и транзакцией CICS?

У меня есть пакетное задание и транзакция CICS, использующие одни и те же таблицы db2. Оба запускаются с регулярными интервалами, и пакетное задание время от времени прерывается из-за конфликта с общими таблицами DB2.

Есть ли способ запланировать задание в CA7 (инструмент планирования заданий), чтобы предотвратить его запуск, когда транзакция активна?


person Tonan    schedule 07.06.2021    source источник
comment
Что такое абенд?   -  person Hogstrom    schedule 07.06.2021
comment
конфликт из-за взаимоблокировки/тайм-аута -913   -  person Tonan    schedule 08.06.2021


Ответы (2)


  1. Отключите транзакцию CICS перед запуском пакетного задания и снова включите ее после завершения пакетного задания.
  2. Измените пакетное задание, чтобы использовать интервалы фиксации, подобные этот ответ.

Проверка того, активна ли транзакция CICS, вряд ли приведет к желаемому результату. Он может быть неактивным, когда вы проверяете, затем запускаете пакетное задание, после чего транзакция CICS становится активной.

Обновление №1


Хотя вы не указываете, у меня сложилось впечатление, что это длительная транзакция CICS, а не не обычная транзакция в стиле OLTP, которая завершается менее чем за 0,10 секунды тактового времени.

Если это так, то создание пакетной программы, использующей EXCI для выполнения программы CICS, которая использует CICS SPI INQUIRE TASKLIST для поиска вашей транзакции, может быть способом продолжения. Если у вас есть CA-DADs PLUS, вы можете сделать это с этим продуктом вместо написания программ.

person cschneid    schedule 07.06.2021
comment
Я не могу отключить транзакцию CICS, если она уже выполняется, верно? Интервалы фиксации уже присутствуют. Я просто пытаюсь исключить ручную работу по перезапуску задания, если оно не работает. - person Tonan; 08.06.2021
comment
Также не имеет значения, истекает ли время транзакции, потому что задание удерживает таблицы. Транзакция будет повторена позже. Мне нужно, чтобы задание не запускалось, когда транзакция уже выполняется, чтобы предотвратить тайм-аут. - person Tonan; 08.06.2021
comment
Да, иногда это занимает более 10 секунд. У нас нет CA-DAD PLUS. Тогда мне придется попробовать метод EXCI. Спасибо. - person Tonan; 09.06.2021

Пожалуйста, обратитесь к приведенной ниже теме, чтобы узнать, поможет ли она вам решить проблему.

https://ibmmainframes.com/about12949.html

С уважением, Анбу.

person Anbu Thirugnana Sekar    schedule 09.06.2021
comment
Нет, это другой вопрос. - person Tonan; 09.06.2021