Граждане, предлагаю полезное дело устроить, а задно проверить на наличие мейнфреймовский коллективный разум. На мысль навела последняя статья в разделе Примеры про выдачу команд из-под гостевого MVS.
Итак, в общих чертах план таков.
Этап 1. В этой ветке форума каждый практически действующий системный администратор zOS (или имеющий к данному предмету отношение) пишет, какие дополнительные программы просто-таки MUST HAVE иметь любой более-менее вменяемый специалист. Там же он указывает вкратце, где он их взял, что эти программы делают и почему он считает, что данная программа должна таки быть у каждого.
Этап 2. У нас есть перечень программ. На строго добровольной основе разбираем эти программы и любой желающий пишет короткую объясниловку на избранную программу, типа где взять, как установить, как использовать. Я это все публикую (можете сами, раздел для публикации доступен), или редактирую.
Этап 3. Радуемся. Потому как каждому есть чему поучиться и чем поделиться.
У меня нет иллюзий по поводу количества возможных участников - нас будет мало. И я не вижу в этом никакой проблемы. Начинаю сам, ибо вдохновлять надо личным примером.
Кандидат на включение в список полезностей номер 1 - программа AUTO. Встречается на CBTTAPE.ORG в файлах 77, 88 и 332. Программа представляет из себя функциональный аналог at в Юниксе - то есть запуск пакетных заданий и выдача команд по расписанию, в нужное время, в нужный день месяца или день недели.
Поехали. Ждем ваших идей. Место для уточняемого списка - тут.
Я достаточно много времени посвятил подбору бесплатных программ в коллекцию, которые должны быть. Безусловным лидером, по-моему мнению, это PDS Command Package http://www.cbttape.org/ftp/cbt/CBT182.zip. Позволяет манипулировать библиотечным набором, так как угодно пользователю. Только за возможности динамического расширения справочника и добавление экстента, эту программу уже надо иметь. Кроме этого там еще много такого, чего нет у IBM.
TASID - монитор z/OS | OS/390. Позволяет простым образом увидеть: - выданные ENQ, конфликт ENQ; - адресные пространства (аналогично SDSF DA, но удобнее); - инициаторы и обслуживаемые ими классы; - APF-авторизованные библиотеки; - библиотеки LNKLST; - LPA - подсистемы; - свободное дисковое пространство; - устройства; - распределенные наборы данных; - память etc.
Кандидат на включение в список полезностей номер 1 - программа AUTO. Встречается на CBTTAPE.ORG в файлах 77, 88 и 332. Программа представляет из себя функциональный аналог at в Юниксе - то есть запуск пакетных заданий и выдача команд по расписанию, в нужное время, в нужный день месяца или день недели.
А в чем преимущество AUTO по сравнению с натуральным z/OS UNIX at?
Сообщение отредактировал Gregory - Пн, 28.02.2011, 17:49
А в чем преимущество AUTO по сравнению с натуральным z/OS UNIX at?
Ну дело это субъективное... мне нравится простой способ представления того, когда чего пускать. Олдскульные программисты предпочитают простые вещи в нотации MVS. А молодежь - те да, at любят. А мне - да, все равно. Хотя почему то AUTO показался проще.
Программа COMMAND см. CBTTAPE.ORG, файл 19 Использую для выдачи команд оператора из JCL , для постановки задания в ожидание до момента выполнения др. заданий. Пример: //JOB1 JOB ... //WAITJOB EXEC PGM=COMMAND //IEFRDER DD * IFSTOPPED SUBD <- если ядро СУБД не работает S SUBD <- то запустить его DELAY 5 <- подождать 5 сек ENDIF IFSTARTED JOB2 <- проверить, работает ли задание JOB2 STOPPED JOB2 <- если работает, то ждать его завершения ENDIF //STEP1 EXEC PGM=...
MXI (MVS eXtended Inform) Весьма удобная программа, просто и удобно отображающая самую разную информацию о системе. Панели ISPF, REXX-интерфейс, пакетный режим. Исходный код и готовые модули доступны на сайте CBTTAPE под именами File N409 и File N410 соответственно.
SHOWzOS Утилита, генерирующая отчет о компонентах системы в виде длинного текстового файла. Отчет весьма подробный. Доступна на CBTTAPE под именем File N492
BYPASSNQ Утилита блокирует выдачу SYSDSN ENQ для любой программы, выполняемой под управлением утилиты. Незаменима в ситуациях, когда нужно выполнить действие над набором, который система считает занятым. Т.к. утилита предназначена для администраторов, при запуске она проверяет у пользователя наличие права UPDATE на профиль SYS1.PARMLIB. Доступна на CBTTAPE в составе пакета под именем File N183
Сообщение отредактировал EHabarov - Пн, 21.03.2011, 10:42
Хорошая утилитка - DAF. Умеет анализировать SMF. В задании можно настраивать критерии отбора записей. FILE094.
CLEANUP. Эта программа вставляется в задание и удаляет наборы данных с диспозицией NEW, MOD. Удаление может быть в конце задания (если программа вызывается в последнем шаге) или в начале (если соответственно первым шагом). Можно ставить и в середине задания. Тогда будут удаляться н.д. в последующих шагах. FILE183.
Иногда в панели "ISPF Command Shell" не хватает десяти строк стека. Тогда Вам может помочь FILE823. Стек команд расширен до 20. В принципе, используя ту же технику можно расширить и больше.
AlexV, а можно ли подробнее - когда и зачем нужен CLEANUP? Что-то я никогда не пользовался, и не знал, что надо! За DAF - спасибо, интересно, уже читаю.
Ну, простейший пример - запускается задание, в котором есть н.д. с DISP=NEW. При повторном запуске JES2 начинает ругаться, что такой н.д. уже существует и падает. Что б избежать этих проблем, а так же дабы не удалять всё вручную или с помощью IDCAMS, можно просто вставить первым шагом эту прогу. Тогда все н.д. с DISP=NEW (MOD) будут удаляться. В принципе, не сложно, имея исходник, сделать удаление по желанию - любой диспозиции.
Проблема эта, конечно, не сильно значимая, но порой достаёт.
Ну, простейший пример - запускается задание, в котором есть н.д. с DISP=NEW. При повторном запуске JES2 начинает ругаться, что такой н.д. уже существует и падает. Что б избежать этих проблем, а так же дабы не удалять всё вручную или с помощью IDCAMS, можно просто вставить первым шагом эту прогу. Тогда все н.д. с DISP=NEW (MOD) будут удаляться. В принципе, не сложно, имея исходник, сделать удаление по желанию - любой диспозиции.
Я правильно понимаю, что это надо для отладки? А то ведь если я создаю новый набор, то, наверное, он же мне надо... Пойду читать, утилитку, спасибо!
Да не только для отладки. Набор создаётся как рабочий, к примеру. Но при следующем старте задания он опять должен создаваться. А он уже есть. JES2 реагирует на это как на ошибку и задание валится. Рабочий набор данных, как часто бывает, не может быть удалён в самом задании в конце, потому как информация из него кому-то нужна. Но этот набор нужно каждый раз удалять перед новым запуском задания. Это может быть и вполне производственное задание.
Набор создаётся как рабочий, к примеру. Но при следующем старте задания он опять должен создаваться. А он уже есть. JES2 реагирует на это как на ошибку и задание валится.
А мы для такого делали шаг с IEFBR14 специально с удалением соответствующих наборов, ну тех, которыми пользовались в течение работы. Это же вроде как вполне штатный вариант и не требует дополнительного ПО. Или я чего не так понимаю?
Да всё правильно. Можно и так. У нас теперь вот такая система. Первым шагом стоит IDCAMS. Ему на вход подаются управляющие команды на удаление. Нормальное решение. Только вот проблема возникла в связи с переходом под ENDEVOR (система версионного контроля). Начали "причёсывать" JCL. Во многих местах пришлось менять имена. А теперь приходится правиль входные команды IDCAMS. А данная утилитка полезна тем, что не нужно думать про имена и их изменения вообще. Если у тебя JCL в несколько десятков строк, довольно хлопотно найти все входжения н.д., которые нужно будет удалять перед запуском. Утилита как раз и снимает эту головную боль.
Хотя в принципе, конечно можно реализовать удаление разными способами.