Поддержка сервера прикладных программ в DB2 for VM позволяет DB2 for VM работать в качестве сервера для реквестеров прикладных программ DRDA. С сервером прикладных программ DB2 for VM могут соединяться следующие реквестеры прикладных программ:
Сервер прикладных программ DB2 for VM позволяет всем соединенным с ним реквестерам прикладных программ обращаться к объектам баз данных (например, таблицам), хранящимся на этом сервере прикладных программ DB2 for VM. Перед установлением соединения реквестер прикладных программ должен создать на сервере прикладных программ DB2 for VM пакет, содержащий операторы SQL прикладной программы,
Чтобы сервер прикладных программ DB2 for VM мог обрабатывать требования к распределенным базам данных, необходимо выполнить следующие действия:
Чтобы сервер прикладных программ мог принимать требования к распределенным базам данных, определите этот сервер прикладных программ в локальной подсистеме связи и назначьте для него уникальное RDB_NAME.
Чтобы определить сервер прикладных программ, выполните следующие действия:
NETID задается в параметре запуска VTAM и все распределенные требования от реквестера прикладных программ будут правильно передаваться к этому NETID. Сервер прикладных программ DB2 for VM не задает NETID.
Сервер прикладных программ DB2 for VM не определяет, какой шлюз должен использоваться для передачи входящих распределенных требований от реквестера прикладных программ. Этим всегда управляет реквестер прикладных программ. Если используется реквестер прикладных программ DB2 for VM, этот шлюз задается тегами :luname и :tpn в каталоге связей.
Чтобы сервер прикладных программ DB2 for VM поддерживал операции распределенных единиц работы, реквестер прикладных программ должен выбрать шлюз AVS, который определен для VTAM с параметром SYNCLVL=SYNCPT. Убедитесь, что был определен шлюз AVS для поддержки распределенных единиц работы.
Выбрав размеры RU, предельные количества сеансов и размеры окна адаптивной синхронизации, учтите влияние этих значений на пул VTAM IOBUF.
ID ресурса (RESID) - это термин VM для имени программы транзакций. В среде VM он обычно определяется как алфавитно-цифровое имя длиной до 8 байт. Чтобы упростить управление системой, обычно задают RESID, совпадающий с именем сервера. На Рис. 34 показан пример файла имен RESID.
Рис. 34. Пример файла имен RESID
+--------------------------------------------------------------------------------+ | RESID NAMES A1 V 132 Trunc=132 Size=4 Line=1 Col=1 Alt=3 | |====> | |00001 :nick.MTLTPN | |00002 :dbname.MONTREAL_SALES_DB | |00003 :resid.SALES | |00004 | +--------------------------------------------------------------------------------+ |
На Рис. 33 показан пример записи каталога связей, в которой заданы dbname и RESID (как TPN). Если имя сервера прикладных программ нельзя задать таким же, как RESID, сервер прикладных программ DB2 for VM использует информацию о соответствии из файла RESID NAMES. Это соответствие требуется, если:
В процессе установки в качестве RESID по умолчанию используется имя сервера, заданное в команде SQLDBINS. Чтобы создать запись соответствия в файле RESID NAMES, задайте параметр RESID в команде SQLDBINS.
Когда база данных запускается командой SQLSTART DB(сервер_имя), DB2 for VM ищет соответствующий RESID и сообщает VM, что этим ресурсом должна управлять VM. Если такая запись в файле RESID NAMES не найдена, DB2 for VM считает, что RESID совпадает с именем сервера, и сообщает это системе VM. Дополнительную информацию смотрите в руководстве DB2 for VM System Administration.
На сервере прикладных программ DB2 for VM может быть не установлена поддержка DRDA. Чтобы подготовить сервер прикладных программ DB2 for VM для работы со связями DRDA, выполните следующие действия:
Подробную информацию смотрите в руководстве VM/ESA System Administration.
Когда реквестер прикладных программ передает требования к распределенным базам данных на сервер прикладных программ DB2 for VM, могут использоваться следующие элементы защиты:
Как для SQL, так и для LU 6.2 конечным пользователям присваиваются ID пользователей длиной от 1 до 8 символов. Это значение ID пользователя должно быть уникальным в отдельной операционной системе, но не обязано быть уникальным в сети SNA. Чтобы избежать конфликтов имен, DB2 for VM может использовать необязательную функцию преобразования ID пользователей, обеспечиваемую AVS, если выполняются следующие условия:
Если соединение с сервером производится через AVS и в режиме SECURITY=SAME, должно использоваться преобразование ID пользователей. Для обеспечения защиты пользователей, устанавливающих соединения с конкретных удаленных LU или шлюзов AVS, используется команда AGW ADD USERID с машины AVS. Отображения имен должны быть заданы для всех входящих LU и ID пользователей, использующих соединения SECURITY=SAME. Эта команда позволяет гибко определять принимаемые ID пользователей: можно задать возможность устанавливать соединения с всеми ID пользователей с конкретного LU или со всеми удаленными LU в целом. Можно также ограничить принимаемые соединения только конкретным набором ID пользователей с конкретного LU.
Если команда AGW ADD USERID используется для авторизации входящих ("уже проверенных") ID пользователя на локальной машине AVS, хост не выполняет проверку. Это означает, что такой авторизированный ID не обязательно существует на хосте, но соединение все равно принимается.
Два способа изменить текущую авторизацию ID пользователя AVS:
В качестве примера рассмотрим, как функция преобразования имен AVS позволяет устранить конфликт имен, если одинаковые ID пользователей существуют в разных городах (системах). Предположим, что в системе Toronto существует пользователь с ID пользователя JONES, а в системе Montreal - другой пользователь с таким же ID. Если пользователь JONES из системы Montreal хочет обратиться к данным в системе Toronto, следующие операции в системе Toronto устраняют конфликт имен и не дают пользователю JONES из системы Montreal использовать привилегии, предоставленные пользователю JONES в системе Toronto:
Аналогичные действия можно выполнить в системе Montreal, чтобы пользователь JONES из системы Toronto при обращении к удаленным данным в системе Montreal не мог использовать привилегии, предоставленные пользователю JONES в системе Montreal.
Команды AVS для поддержки преобразования ID пользователей описаны в руководстве VM/ESA Connectivity Planning, Administration and Operation.
LU 6.2 позволяет использовать три главных механизма сетевой защиты:
Описание того, как задается защита уровня сеанса для DB2 for VM, смотрите в разделе Защита сети. Сервер прикладных программ DB2 for VM использует защиту уровня сеанса так же, как и реквестер прикладных программ DB2 for VM.
Реквестер прикладных программ может послать или уже проверенный ID пользователя (SECURITY=SAME) или ID пользователя и пароль (SECURITY=PGM). Если переданы ID пользователя и пароль, для их проверки по каталогу VM на хосте сервера прикладных программ используется CP, RACF или аналогичный продукт защиты. Если ID не проходит проверку, запрос соединения отвергается; в противном случае он принимается. Если запрос связи содержит только ID пользователя, DB2 for VM принимает этот запрос без проверки правильности этого ID пользователя.
Прим.: | DB2 for VM не обеспечивает возможности шифрования, так как VM/ESA не поддерживает шифрование. |
Сервер прикладных программ DB2 for VM проверяет, обладает ли данный ID пользователя предоставленными VM полномочиями CONNECT на доступ к этой базе данных, и отказывает в соединении, если ID пользователя не обладает такими полномочиями.
Как владелец ресурсов баз данных, сервер прикладных программ DB2 for VM управляет функциями защиты баз данных для объектов SQL, расположенных на этом сервере прикладных программ DB2 for VM. Для контроля доступа к объектам, управляемым системой DB2 for VM, используются наборы привилегий, которые предоставляются пользователям администратором системы DB2 for VM или владельцем конкретного объекта. Сервер прикладных программ DB2 for VM управляет двумя классами объектов:
Когда прикладная программа проходит препроцессорную обработку в системе DB2 for VM, пакет содержит операторы SQL этой прикладной программы. Эти операторы SQL подразделяются на:
Когда конечный пользователь получает привилегию на выполнение пакета, он автоматически получает полномочия на выполнение всех статических операторов SQL, содержащихся в этом пакете. Поэтому конечному пользователю не требуется иметь привилегии DB2 for VM для работы с таблицами, если этот пакет содержит только статические операторы SQL.
Сервер прикладных программ DB2 for VM не обязательно использует эту подсистему. Если серверу прикладных программ нужно проверить имя LU реквестера прикладных программ, VTAM вызывает подсистему защиты для выполнения проверки LU партнера. Будет ли выполняться проверка LU партнера, зависит от заданного значения параметра VERIFY оператора VTAM APPL шлюза, используемого сервером прикладных программ DB2 for VM для приема входящих требований к распределенным базам данных.
Подсистема защиты может также вызываться CP для проверки ID пользователя и пароля, посланных реквестером прикладных программ. Если используется подсистема защиты RACF и отсутствует системный профиль RACF, подсистема RACF производит проверку. Если есть системный профиль RACF, например, RACFPROF, чтобы потребовать от RACF выполнение такой проверки, используйте следующие инструкции:
RALTER VMXEVENT RACFPROF DELMEM (APPCPWVL/NOCTL RALTER VMXEVENT RACFPROF ADDMEM (APPCPWVL/CTL SETEVENT REFRESH RACFPROF
Необходимо выбрать наиболее подходящие для вашей установки значения по умолчанию CHARNAME и CCSID. Использование подходящих значений обеспечивает целостность представления данных и уменьшает расходы на преобразование CCSID.
Например, если к серверу прикладных программ DB2 for VM обращаются только локальные пользователи, контроллеры терминалов которых сгенерированы с кодовой страницей 37 и набором символов 697 (CP/CS 37/697) для символов американского английского (US ENGLISH), для этого сервера прикладных программ нужно задать для CHARNAME значение по умолчанию ENGLISH. CP/CS 37/697 соответствует CCSID 37 и значению CHARNAME ENGLISH.
Чтобы избежать ненужных преобразований CCSID, выберите для сервера прикладных программ значение по умолчанию CCSID, совпадающее со значением CCSID тех реквестеров прикладных программ, которые чаще всего обращаются к этому серверу прикладных программ.
В следующем примере эти две цели противоречат друг с другу:
Если для сервера прикладных программ задать значение по умолчанию CHARNAME ENGLISH, это обеспечит целостность данных для локальных реквестеров прикладных программ, но вызовет дополнительные расходы на преобразование CCSID для всех удаленных реквестеров прикладных программ.
Если для сервера прикладных программ задать значение по умолчанию CHARNAME UK-ENGLISH, это позволит избежать дополнительных расходов на преобразование CCSID для всех удаленных реквестеров прикладных программ, но вызовет проблемы с целостностью данных для локальных реквестеров прикладных программ -- некоторые символы не будут правильно выводиться на экран на локальных реквестерах прикладных программ; например, знак британского фунта будет выводиться в виде знака доллара.
Текущее значение CCSID для системы можно посмотреть в таблице SYSTEM.SYSOPTIONS. CCSID по умолчанию для сервера прикладных программ обычно задается значением CCSIDMIXED. Если это значение равно нулю, CCSID по умолчанию для системы задается значением CCSIDSBCS. При каждом запуске базы данных значения CHARNAME, CCSIDSBCS, CCSIDMIXED и CCSIDGRAPHIC в этой таблице заменяются на значения, используемые в качестве значений по умолчанию системы. Значения в этой таблице могут не всегда совпадать со значениями по умолчанию системы. Пользователь с полномочиями DBA может изменить эти значения, хотя это и не рекомендуется делать. Чтобы изменить значение по умолчанию CCSID сервера прикладных программ, необходимо задать параметр CHARNAME команды SQLSTART EXEC при следующем запуске сервера прикладных программ. Более подробную информацию смотрите в руководстве VM/ESA System Administration.
Для вновь установленной базы данных значение по умолчанию CHARNAME сервера прикладных программ равно INTERNATIONAL, а CCSID - 500. Это может быть неправильным для вашей системы. Для перенастроенной системы значение по умолчанию CHARNAME равно ENGLISH, а CCSID - 37.
Ниже в контрольном списке перечислены шаги, которые нужно выполнить, чтобы разрешить работу сервера прикладных программ DRDA для связи DRDA; при этом предполагается, что используемая система VM установлена с использованием ACF/VTAM в качестве метода удаленного доступа и что заданы необходимые для связи с удаленными системами определения VTAM, такие как определения NCP.