Блокировка транспортной системы

Блокировка транспортной системы

Столкнулся на днях с такой проблемой.

В результате деблокирования большого запроса в продуктивной системе произошло переполнение файловой системы /usr/sap/trans. Деблокирование запроса отвалилось с ошибкой. Транспортная система встала.

Решение:
Почистил файловую систему: забэкапил старые логи из директории /usr/sap/trans/log и удалил data-файлы ненужных запросов. Место освободилось. Но попытки обновить очередь продуктивной системы из транзакции STMS приводили к глухому зависанию этого процесса. Проверка: "Очередь -> Проверить -> Инструменты переноса" показывала, что программа tp запускается корректно. Системный журнал программы tp ("Перейти к -> ПрогрУпрПереносом (TP): системный журнал") показывал странные сообщения следующего типа:

WARNING: /usr/sap/trans/tmp/TC080828. is already in use (218),
I'm waiting 5 sec (20080828165520). My name: pid 2079 on (adm)


На уровне операционной системы можно было наблюдать несколько висящих tp процессов, а в файловой системе /usr/sap/trans/tmp несколько файликов типа TC080828., .LOB и т.д. Убивание процессов tp на уровне операционной системы проблему не решало: вновь запускаемые процессы так же подвисали. Полностью проблема решилась только после удаления файлов из файловой системы /usr/sap/trans/tmp и останова всех процессов tp. После этого очередь нормально обновилась и все ожидающие на добавление в очередь продуктивной системы запросы благополучно добавились.

На самом деле при импорте/деблокировании запроса в /usr/sap/trans/tmp создается файл статуса .LOB. Он же является файлом блокировкой. После завершения процесса этот файл удаляется. Но в некоторых ситуациях (например, как в вышеописанной) этот файл не удаляется. Поэтому для дальнейшей работы процессов tp необходимо файл блокировок удалить (или хотя бы переименовать). Обычно, если размер файла .LOB равен 0, значит импорт завершился.
Комментарии:
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.