Если таблицы "простые", то их перенос более-менее тривиален, а вот если что-то более "заковыристое", то даже экспорт/импорт структуры таблиц будет не самым простым делом.
конечно, не царское это дело выгружать структуру и данные в текстовые файлы, редактировать при необходимости, переносить в z и там загружать, нужно применять волшебную тулзу, а лучше несколько
миграция с помощью текстовых файлов (DDL+CSV) имеет много преимуществ: - только стандартные средства; - применимо для любой исходной и целевой платформ (не обязательно DB2); - "WYSIWYG") что видим, то и получим - текстовые файлы вполне наглядны и могут редактироваться.
кстати, при наличии DB2ADM в z нет необходимости использовать явный JCL, все можно делать прямо там.
Согласен, что работать "руками" полезно. Но для переноса более-менее сложной структуры необходимы знания и понимание диалектов SQL и исходной, и конечной баз, что бывает далеко не всегда. Насчет CSV, а что будет, если у меня BLOB, XML, пользовательские типы данных и т.п. ? Сомневаюсь, что удастся это все "влегкую" правильно экспортировать и потом импортировать.
Репликации (IBM InfoSphere Replication Server) поддерживают разные СУБД и их комбинации и, могут сильно упростить и ускорить перенос как структуры (DDL), так и самих данных. Команды создания репликации дают на выходе набор скриптов (DDL), которые по умолчанию сразу выполняются, но можно их просто сохранить и выполнить в целевых системах "руками". Перенос самих данных - отдельная тема. Q-репликации, например, могут сами генерировать и исполнять команды LOAD для начальной загрузки данных (для DB2 for z/OS).
PS: Я вроде как достаточно знаком как с DB2 for MP, так и с DB2 for z/OS, но перетаскивать более-менее сложную базу "руками" все равно напряжно. Предпочту автоматику, ну а потом "дошлифую", используя свои собственные знания. Это скорее всего будет сильно быстрее, чем чисто "ручной" подход.
У меня такой же точно вопрос, как у начинателя темы. Поставил ADCD 1.10 под Hercules, чтобы изучить интерфейс с Коболом и DB/2. Настроил сеть (очень помогла книга "введение в современные мэйнфреймы", продолжаю её читать). Хочу для начала написать Hello Word на Cobol'e, но хотелось бы делать это удобнее чем в TSO, c ftp я уже разобрался, а с telnet пока облом:
Код
$ telnet 192.168.200.1 Trying 192.168.200.1... Connected to 192.168.200.1. Escape character is '^]'.
IKJ56700A ENTER USERID - ADCDMST^MIKJ56714A ENTER CURRENT PASSWORD FOR ADCDMST- ICH70001I ADCDMST LAST ACCESS AT 10:32:08 ON THURSDAY, APRIL 16, 2020 IKJ56496I DEFAULT ACCOUNT NUMBERS COULD NOT BE OBTAINED - ENTER ACCOUNT NUMBER adcdmst^MIKJ56486I THE ACCOUNT NUMBER ADCDMST HAS NOT BEEN DEFINED FOR USE IKJ56429A REENTER -
Что включить, чтобы разрешить логины через telnet (или sshd)?
И ещё вопрос: я поскольку не админ, то вероятно при настройке веду себя как слон в посудной лавке. Пока не придумал ничего лучше, чем делать бэкапы всей системы после каждого действия. Но это 16 Гигов. Может, можно ограничиться zares[1,2] или чем-то подобным?
Сообщение отредактировал atar - Пт, 17.04.2020, 17:46
Цитата telnet 192.168.200.1 Здравствуйте, и добро пожаловать в наш уютный бложик :-)
Вы соединяетесь с tn3270, так как именно tn3270 обслуживает "стандартный" порт 23, поэтому Вы и получаете приглашение TSO. telnet (или otelnet) конфигурируется на другой порт, обычно это 1023, 2023, 3023. Как я понимаю, у Вас система demopkg, по-моему, там 1023. Кроме telnet, можно использовать rlogin (порт 513). В производственных системах, конечно, только ssh (порт 22). Простой способ определить используемый otelnet порт - это TSO NETSTAT.
По второму вопросу я бы предложил определить и использовать shadow-файлы в Hercules. В двух словах: если shadow-файлов нет, то при работе z/OS изменяются сами файлы с образами дисков, а если есть, то все изменения пишутся в отдельный файл, образ диска не изменяется. Так как размер shadow-файла совсем небольшой, их можно копировать хоть каждые 5 минут. Посмотрите детали в руководствах по Hercules, там это достаточно подробно описано.
Сообщение отредактировал Gregory - Вс, 19.04.2020, 09:45
Вы соединяетесь с tn3270, так как именно tn3270 обслуживает "стандартный" порт 23, поэтому Вы и получаете приглашение TSO.
Семён Семёныч... Спасибо! Поскольку сам Hercules использует порт 3270 для tn3270 я и не сообразил... Интересно, что телнетом я могу зайти и как IBMUSER, a ssh - только как webadm. Но su работает, так что не принципиально.
А как из сессии telnet/ssh увидеть датасеты, которые я вижу когда соединяюсь через ftp или tn3270? Я сначала не сообразил про /u/user и загрузил bash через ftp в каталог по умолочанию. Теперь у меня есть IBMUSER.BASH, но как его увидеть? В документации вроде одиночные кавычки указаны, но что-то я делаю не так:
Код
IBMUSER:/u/ibmuser: >ls "//'IBMUSER.BASH'" ls: FSUM6785 File or directory "//'IBMUSER.BASH'" is not found
телнетом я могу зайти и как IBMUSER, a ssh - только как webadm
Скорее всего, IBMUSER недоступны ключи.
Цитата
А как из сессии telnet/ssh увидеть датасеты, которые я вижу когда соединяюсь через ftp или tn3270? Я сначала не сообразил про /u/user и загрузил bash через ftp в каталог по умолочанию. Теперь у меня есть IBMUSER.BASH, но как его увидеть? В документации вроде одиночные кавычки указаны, но что-то я делаю не так:
tso listcat. Далеко не все команды поддерживают ссылку на набор данных (//dataset) вместо имени файла, команда cp поддерживает, pax поддерживает. С помощью "tso" тоже не все команды TSO можно выполнить, но основные - можно. Копирование набора данных в файл и наоборот - TSO OGET, OPUT, OCOPY или USS cp. ftp может работать как с наборами данных, так и с файлами: cd / -- переключилимсь к файлам (абсолюный путь, т.е. начинается с /) cd 'sys1 -- переключились к наборам данных (HLQ или полное имя в апострофах)
А под каким пользователем в demopkg лучше всего программировать? IBMUSER и ADCDMST - админы, у ADCDA-ADCDZ нет OMVS, y OPEN1-OPEN3 не запускается ISPF. Получается что в demopkg нет неадмина, который мог бы и TSO и OMVS?
Update: а, разобрался уже. Разрешил OMVS для ADCDA. Нашёл прекрасную доку по ADCD https://www.redbooks.ibm.com/redbooks/pdfs/sg247723.pdf . Жаль, что на более новую версию, чем у меня.
Сообщение отредактировал atar - Пн, 20.04.2020, 22:07
если ничего не делать - IBMUSER, а если не лень, то создайте себе подходящих пользователей с нравящимися именами) Помнится мне, в demopkg есть процедура для создания, изменения и удаления аккаунтов, называется она, если я не ошибаюсь, TSORACF.
Цитатаatar ()
ADCDA-ADCDZ нет OMVS
ALTUSER userid OMVS(UID(uid) HOME(/u/userid) PROGRAM(/bin/sh)) ALTGROUP group OMVS(GID(gid))
Цитата
OPEN1-OPEN3 не запускается ISPF
logon процедуру нужно использовать другую или исправить существующую. Я предпочитаю не трогать процедуру logon, тем более, что на производственых системах ее невозможно изменить или заменить другой, а использовать свою процедуру запуска ISPF. Кстати, как Вы ISPF пытаетесь запустить и что получаете? Запуск ISPF в TSO это ALLOCATE dd ISPPLIB, ISPSLIB. ISPTLIB, ISPLLIB, ISFPPROF, ISPLOG и SELECT. В аналогии с Windows: TSO это cmd.exe, ISPF - FAR :-)
Сообщение отредактировал Gregory - Пн, 20.04.2020, 21:41
Кстати, у Вас документация по ADCD есть? если есть, то очень советую ее пролистать, а если нет - используйте прикрепленную, к сожалению, довольно старую, но по существу там мало что изменилось)
используйте прикрепленную, к сожалению, довольно старую,
Да, спасибо. Нашёл наоборот - более новую, для 1.13 : https://www.redbooks.ibm.com/redbooks/pdfs/sg247723.pdf
Добавлено (21.04.2020, 13:17) --------------------------------------------- А вообще интересно, какая последняя версия z/OS запустится под hercules'ом? Судя по португальскому блогу 1.13 - точно работает. В последнюю версию, по слухам, IBM включило проверку на hercules и облом. А, интересно, 2.2 работает?
В основном работает, за исключением некоторых нужных в жизни функций(например невозможность установить PTF), из-за которых и прекратил использовать такую связку...
В последнюю версию, по слухам, IBM включило проверку на hercules и облом. А, интересно, 2.2 работает?
работает. и не верьте слухам. тут проблема совершенно не в этом, а в точности эмуляции. IBM ведь постоянно развивает архитектуру, и новые команды начинают использовать. z/VM 6.2 под Hercules 3.x не работает, программные прерывания в CP, работает под Hyperion (Hercules 4)