Дополнение по возможностям соединений

Настройка сервера прикладных программ в среде VM

Поддержка сервера прикладных программ в DB2 for VM позволяет DB2 for VM работать в качестве сервера для реквестеров прикладных программ DRDA. С сервером прикладных программ DB2 for VM могут соединяться следующие реквестеры прикладных программ:

Сервер прикладных программ DB2 for VM позволяет всем соединенным с ним реквестерам прикладных программ обращаться к объектам баз данных (например, таблицам), хранящимся на этом сервере прикладных программ DB2 for VM. Перед установлением соединения реквестер прикладных программ должен создать на сервере прикладных программ DB2 for VM пакет, содержащий операторы SQL прикладной программы,

Чтобы сервер прикладных программ DB2 for VM мог обрабатывать требования к распределенным базам данных, необходимо выполнить следующие действия:

  1. Определить сервер прикладных программ в локальной подсистеме связи.
  2. Обеспечить необходимую защиту.
  3. Обеспечить правильное представление данных.

Задание сетевой информации

Определение сервера прикладных программ

Чтобы сервер прикладных программ мог принимать требования к распределенным базам данных, определите этот сервер прикладных программ в локальной подсистеме связи и назначьте для него уникальное RDB_NAME.

Чтобы определить сервер прикладных программ, выполните следующие действия:

  1. Определите сервер прикладных программ DB2 for VM для сети SNA. Выбрав имя шлюза и RDB_NAME для этого сервера прикладных программ DB2 for VM, выполните действия, описанные в разделе Задание сетевой информации. RDB_NAME, выбранное для DB2 for VM, необходимо сообщить всем пользователям (реквестерам прикладных программ), которые могут запросить соединение с этим сервером прикладных программ DB2 for VM.

    NETID задается в параметре запуска VTAM и все распределенные требования от реквестера прикладных программ будут правильно передаваться к этому NETID. Сервер прикладных программ DB2 for VM не задает NETID.

    Сервер прикладных программ DB2 for VM не определяет, какой шлюз должен использоваться для передачи входящих распределенных требований от реквестера прикладных программ. Этим всегда управляет реквестер прикладных программ. Если используется реквестер прикладных программ DB2 for VM, этот шлюз задается тегами :luname и :tpn в каталоге связей.

    Чтобы сервер прикладных программ DB2 for VM поддерживал операции распределенных единиц работы, реквестер прикладных программ должен выбрать шлюз AVS, который определен для VTAM с параметром SYNCLVL=SYNCPT. Убедитесь, что был определен шлюз AVS для поддержки распределенных единиц работы.

  2. Создайте сервер восстановления CRR, используемый для управления операциями распределенных единиц работы для серверов прикладных программ DB2 for VM в этой системе VM. Для этого выполните описанные в руководстве VM/ESA Installation Guide действия, чтобы добавить в установленную систему поставляемые IBM серверы и пулы файлов. В частности, нужно определить сервер CRR (VMSERVR) и пул файлов CRR (VMSYSR). Убедитесь, что при запуске сервера восстановления CRR задано LUNAME, совпадающее с именем шлюза AVS, для которого задано SYNCLVL=SYNCPT.
  3. Убедитесь, что в каталоге CP для машины сервера прикладных программ есть оператор IUCV *IDENT. Он определяет этот сервер в качестве глобального ресурса.
  4. Создайте записи в таблице имен режимов VTAM для имени каждого режима, запрашиваемого реквестерами прикладных программ. В этих записях описываются характеристики сеансов, такие как размер RU, размер окна адаптивной синхронизации и класс обслуживания для конкретного имени режима.
  5. Определите предельное число сеансов для реквестеров прикладных программ, соединяющихся с этим сервером прикладных программ DB2 for VM. Оператор VTAM APPL определяет значения по умолчанию предельного числа сеансов для всех систем партнеров. Чтобы задать уникальные значения по умолчанию для отдельных партнеров, используйте команду AGW CNOS с виртуальной машины AVS, работающей в системе сервера прикладных программ. (Предельное число сеансов обычно запрашивается реквестером прикладных программ.)

    Выбрав размеры RU, предельные количества сеансов и размеры окна адаптивной синхронизации, учтите влияние этих значений на пул VTAM IOBUF.

Соответствие имени сервера и RESID

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

На сервере прикладных программ DB2 for VM может быть не установлена поддержка DRDA. Чтобы подготовить сервер прикладных программ DB2 for VM для работы со связями DRDA, выполните следующие действия:

  1. Используйте команду ARISDBMA, чтобы установить поддержку DRDA:

    Подробную информацию смотрите в руководстве VM/ESA System Administration.

  2. После выполнения команды ARISDBMA заново постройте библиотеку ARISQLLD LOADLIB DB2 for VM. Дополнительную информацию смотрите в главе Using a DRDA Environment руководства DB2 for VM 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:

  1. Оператор AVS должен использовать команду AGW ADD USERID, чтобы задать преобразование ID пользователя из системы Montreal в локальный ID пользователя. Например, если оператор выдает команду AGW ADD USERID MTLGATE JONES MONTJON, пользователь JONES из системы Montreal будет известен в системе Toronto под именем MONTJON. Если всем пользователям системы Montreal разрешены соединения (соединения через удаленное LU MTLGATE) и для всех них в локальной системе используются те же ID пользователей, что и в удаленной системе, оператор должен выдать команду AGW ADD USERID MTLGATE * =. Можно также добавить эти команды AVS в профиль AVS, чтобы они автоматически выполнялись при запуске AVS.
  2. Администратор базы данных (пользователь с полномочиями DBA) должен использовать команду DB2 for VM GRANT, чтобы предоставить набор привилегий конкретному переведенному ID пользователя, (MONTJON в нашем примере).

Аналогичные действия можно выполнить в системе 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 не обязательно использует эту подсистему. Если серверу прикладных программ нужно проверить имя 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 тех реквестеров прикладных программ, которые чаще всего обращаются к этому серверу прикладных программ.

В следующем примере эти две цели противоречат друг с другу:

Текущее значение 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 DB2 for VM

Ниже в контрольном списке перечислены шаги, которые нужно выполнить, чтобы разрешить работу сервера прикладных программ DRDA для связи DRDA; при этом предполагается, что используемая система VM установлена с использованием ACF/VTAM в качестве метода удаленного доступа и что заданы необходимые для связи с удаленными системами определения VTAM, такие как определения NCP.

  1. Определите локальный шлюз AVS для VTAM.
  2. Создайте сервер восстановления CRR. Убедитесь, что заданное сервером восстановления CRR значение LUNAME соответствует имени шлюза AVS, который может поддерживать диалоги SYNCLVL=SYNCPNT.
  3. При помощи команды ARISDBMA установите поддержку DRDA на сервере прикладных программ DB2 for VM.
  4. Добавьте в каталог CP машины сервера VM оператор IUCV *IDENT, чтобы сервер мог задать себя как глобальный ресурс.
  5. Определите локальные ID пользователей и пароли для CP, которые будут использоваться удаленными реквестерами прикладных программ. При необходимости командой AVS AGW ADD USERID задайте отображения удаленных ID пользователей на локальные ID пользователей VM.
  6. Создайте в таблице имен режимов VTAM записи для всех режимов, которые могут запрашивать реквестеры прикладных программ.
  7. Запустите VTAM и AVS, чтобы прикладные программы могли использовать удаленные связи через сеть SNA.
  8. Задайте значения предельного числа сеансов для всех систем партнера, на которых расположены реквестеры прикладных программ.
  9. Запустите сервер прикладных программ DB2 for VM с параметрами DBNAME, PROTOCOL и SYNCPNT. Когда менеджер баз данных запущен, убедитесь, что он задал себя в качестве глобального (GLOBAL) ресурса.
  10. Подготовьте прикладные программы на сервере прикладных программ DB2 for VM.


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]