Замечания по выпуску


42.27 Агент OS/390

Содержание документа. Установка в OS/390 и возможности

В этом документе вы найдете указания о том, как устанавливать агент OS/390, и информацию о его возможностях. Краткий обзор процесса установки смотрите в разделе "Обзор установки", а подробные указания - в разделе "Подробности установки". Информацию о возможностях агента смотрите в разделах "Установка дополнительных возможностей агента", "Преобразователи" и "Доступ к другим базам данных (не DB2)".

Обзор

Центр хранилищ данных DB2 содержит агент OS/390. Этот агент можно использовать для связи между DB2 Universal Database for OS/390 и другими базами данных, включая базы данных DB2 на других платформах и базы данных, отличные от DB2. Агент может обмениваться данными с поддерживаемыми источниками данных, использующими соединение ODBC. Агент работает под OS/390 UNIX Systems Services. Для него требуется OS/390 V2R6 или новее, и он совместим с DB2 for OS/390 Версий 5, 6 и 7.

Агент OS/390 поддерживает следующие задачи:

42.27.1 Обзор установки

Эти шаги представляют собой общее описание процесса установки. Подробности шагов приводятся в разделе "Подробности установки".

  1. Установка агента OS/390 с ленты DB2 Universal Database for OS/390
  2. Изменение переменных среды в файле профиля.
  3. Конфигурирование соединений:
  4. Связывание CLI локально и с любыми удаленными базами данных.
  5. Задание файла инициализации ODBC.
  6. Задание авторизации так, чтобы пользователь:
  7. Запуск демона агентов.

42.27.2 Подробности установки

Установка агента OS/390

Агент OS/390 включен в состав ленты с DB2 Universal Database for OS/390 Версии 7. Подробности установки агента OS/390 смотрите в программном каталоге, прилагаемом к этой ленте.

Перед установкой агента OS/390 в подсистеме DB2 необходимо установить APAR PQ36585 или PQ36586.

Изменение переменных среды в файле профиля

Эти переменные задают для агента различные библиотеки DB2, выходные каталоги и т.п.

В следующем примере приводится пример содержимого файла .profile. Файл .profile определяет переменные среды и должен находится в домашнем каталоге пользователя, запускающего демон агентов:

export VWS_LOGGING=/usr/lpp/DWC/logs
export VWP_LOG=/usr/lpp/DWC/vwp.log
export VWS_TEMPLATES=usr/lpp/DWC/
export DSNAOINI=/usr/lpp/DWC/dsnaoini
export LIBPATH=usr/lpp/DWC/:$LIBPATH
export PATH=/usr/lpp/DWC/:$PATH
export STEPLIB=DSN710.SDSNEXIT:DSN710.SDSNLOAD

Конфигурирование соединений

Чтобы сконфигурировать соединения ядра с демоном агентов, добавьте в файл /etc/services или TCPIP.ETC.SERVICES следующие строки:

vwkernal 11000/tcp
vwd 11001/tcp
vwlogger 11002/tcp

Чтобы сконфигурировать соединения между агентом OS/390 и базами данных, добавьте все удаленные базы данных в базу данных связи OS/390 (communications database - CDB). Несколько примеров добавления в CDB:

INSERT INTO SYSIBM.LOCATIONS
        (LOCATION, LINKNAME, PORT)
VALUES
        ('NTDB','VWNT704','60002');
 
INSERT INTO SYSIBM.IPNAMES
        (LINKNAME, SECURITY_OUT, USERNAMES, IPADDR)
VALUES
        ('VWNT704', 'P', 'O', 'VWNT704.STL.IBM.COM');
 
INSERT INTO SYSIBM.USERNAMES
        (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD)
VALUES
        ('O', 'MVSUID', 'VWNT704', 'NTUID', 'NTPW');

Дополнительную информацию о конфигурировании соединений и изменении базы данных связи смотрите в главе "Connecting Distributed Database Systems" руководства DB2 UDB for OS/390 Installation Guide, GC26-9008-00.

Связывание CLI

Поскольку агент OS/390 использует CLI для связи с DB2, необходимо связать план CLI со всеми удаленными базами данных, к которым агент будет обращаться. Несколько примеров операторов связывания пакетов для локальной базы данных DB2 for OS/390:

BIND PACKAGE (DWC6CLI) MEMBER(DSNCLICS) ISO(CS)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLINC) ISO(NC)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIRR) ISO(RR)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIRS) ISO(RS)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIUR) ISO(UR)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIMS)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIC1)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIC2)
BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIF4)
 

Несколько примеров операторов связывания пакетов для базы данных DB2, работающей под Windows NT:

BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLICS) ISO(CS)
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLINC) ISO(NC) 
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIRR) ISO(RR) 
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIRS) ISO(RS) 
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIUR) ISO(UR) 
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIC1)
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIC2)
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIQR)
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIF4)
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIV1)
BIND PACKAGE (NTDB.DWC6CLI) MEMBER(DSNCLIV2) 
  

Пример оператора для связывания пакетов CLI в единый план:

BIND PLAN(DWC6CLI) PKLIST(*.DWC6CLI.* )   

Задание файла инициализации ODBC

Пример файла инициализации ODBC, inisamp, включен в каталог usr/lpp/DWC/. Можно отредактировать этот файл для работы с вашей системой или создать свой собственный файл. Чтобы убедиться, что этот файл работает правильно, проверьте, правильно ли он сконфигурирован:

Дополнительную информацию о связывании CLI и файле DSNAOINI смотрите в справочном руководстве DB2 UDB for OS/390 ODBC Guide and Reference, SC26-9005.

Задание авторизации

Агент OS/390 является процессом демона. Демон агентов можно запускать с обычной защитой UNIX или с защитой UNIX OS/390.

Поскольку агенту требуется авторизация демона, определите следующие исполняемые программы агента для RACF Program Control:

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

extattr +p libtls4d.dll
extattr +p iwhcomnt.dll
extattr +p vwd

Чтобы использовать команду extattr с параметром +p, у вас должен быть доступ по крайней мере для чтения к классу BPX.FILEATTR.PROGCTL FACILITY. В следующем примере показана команда RACF, используемая для предоставления такого разрешения ID пользователя SMORG:

RDEFINE FACILITY BPX.FILEATTR.PROGCTL UACC(NONE)
PERMIT BPX.FILEATTR.PROGCTL CLASS(FACILITY) ID(SMORG) ACCESS(READ)
SETROPTS RACLIST(FACILITY) REFRESH

Дополнительную информацию об авторизации смотрите в книге OS/390 UNIX System Services Planning, SC28-1890.

Запуск демона агентов

После завершения конфигурирования системы запустите демон агентов:

  1. Свяжитесь по telnet с UNIX Systems Services на OS/390, используя имя хоста OS/390 и порт USS.
  2. Запустите демон агентов:

Чтобы проверить, что демон агентов OS/390 запущен, введите в командной строке оболочки UNIX:

ps -e | grep vwd

Другой вариант - ввести с консоли OS/390 D OMVS,a=all и найти строку vwd

42.27.3 Настройка дополнительных функций агента

В программный пакет Менеджер хранилищ DB2 включены следующие пользовательские программы:

Кроме того, можно определять в Центре хранилищ данных пользовательские программы и хранимые процедуры. Агент OS/390 поддерживает любые исполнимые программы, работающие под UNIX Systems Services.

Пользовательская программа назначается одному или нескольким шагам. При запуске пользовательской программы происходят следующие действия:

Чтобы запускать программы ETI на OS/390, сначала необходимо установить FixPack 2 для DB2 Universal Database Версии 7.1.

Переменная среды VWP_LOG задает каталог, куда могут записывать вывод пользовательские программы.

Если вы используете пользовательскую программу для выполнения задания, использующего FTP, сначала необходимо создать JCL и данные, которые вы хотите передать. Имя задания JCL должно иметь вид USERIDx, где x - одна буква или цифра (пример: MYUSERA). Класс вывода для файлов MSGCLASS и SYSOUT, заданных в JCL, должен указывать класс вывода, принадлежащий JES.

Ограничение: максимальная LRECL для выполняемого задания - 254 символов. JES просматривает только первые 72 символа JCL.

Изменение шаблона Центра хранилищ данных для поддержки FTP

Центр хранилищ данных устанавливает шаблон JCL для передачи файлов с использованием FTP. Если вы планируете, что агент OS/390 будет использовать команды FTP GET или PUT для передачи файлов с хоста OS/390 на другой удаленный хост, необходимо изменить учетную информацию в шаблоне JCL для вашей системы OS/390:

  1. Зарегистрируйтесь с ID, у которого есть полномочия копирования и изменения файлов в каталоге /usr/lpp/DWC.
  2. Найдите файл ftp.jcl и сделайте его копию под новым именем имя_системы.ftp.jcl, где имя_системы - имя системы OS/390.
  3. Создайте копию этого файла для каждой системы OS/390, на которой вы собираетесь запускать программы преобразования vwpmvs или ETI extract. Например, если хотите запустить любую из этих программ на STLMVS1, создайте копию этого файла с именем STLMVS1.ftp.jcl.
  4. При помощи текстового редактора исправьте JCL в соответствие с местными требованиями. Измените учетную информацию, чтобы она соответствовала стандартам учетной информации вашей системы MVS. Не изменяйте параметры в скобках, такие как [USERID] и [FTPFILE]. (Скобки представлены шестнадцатеричными символами x'AD' и x'BD', соответственно. Если для вашего типа терминала TSO в опции SPF 0 не установлено 3278A, вы можете увидеть вместо скобок специальные символы. В этом нет ничего страшного, если не изменять x'AD' и x'BD', а также какие-либо данные между этими символами.)
  5. Измените переменную среды VWS_TEMPLATES, чтобы она указывала на каталог, в который скопирован файл шаблона.

В Центр хранилищ данных включен следующий пример шаблона JCL:

//[USERID]A JOB , 'PUT/GET',
// CLASS=A,
// USER=&SYSUID,
// NOTIFY=&SYSUID,
// TIME=(,30),
// MSGCLASS=H
//STEP1 EXEC PGM=FTP,PARM='( EXIT'
//INPUT DD DSN=[FTPFILE],DISP=SHR
//OUTPUT DD SYSOUT=*
//SYSPRINT DD  SYSOUT=*

Выборка содержимого таблицы или файла

Использование агента OS/390 позволяет производить выборку содержимого таблиц DB2 и плоских файлов, таких как файлы UNIX Systems Services и собственные плоские файлы OS/390. Classic Connect с использованием агента OS/390 позволяет также производить выборку содержимого файлов IMS или VSAM. В случае плоского файла для определения его формата агент использует параметры в свойствах определения файла.

42.27.4 Составление расписания шагов хранилища при помощи программы триггера (XTClient)

Программа триггера используется для создания расписания шагов хранилища данных с платформы OS/390. Вы или планировщик заданий OS/390 может инициализировать задание, которое переключает шаг в Центре хранилищ данных. Если этот шаг выполнен успешно, шаг триггера в JCL возвращает код возврата 0.

Чтобы использовать программу триггера, в службах системы Unix OS/390 должен быть установлен Java Development Kit (JDK) 1.1.8 или более новый. Чтобы запустить этот триггер, сначала запустите XTServer на компьютере, на котором работает сервер хранилища данных. Этот процесс описан в главе 5 руководства Data Warehouse Center Administration Guide в теме "Starting a step from outside the Data Warehouse Center". После запуска XTServer запустите XTClient в OS/390. Далее приводится пример JCL для запуска триггера.

//DBA1A    JOB 1,'XTCLIENT',CLASS=A,MSGCLASS=H,
//         MSGLEVEL=(1,1),REGION=4M,NOTIFY=&SYSUID
//******************************************************
//* submit iwhetrig
//****************************************************** 
//BRADS    EXEC PGM=BPXBATCH,
//              PARM=('sh cd /usr/lpp/DWC/; java XTClient 9.317.171.133 1100x
//              9 drummond pw bvmvs2nt 1 1 100')
//STDOUT        DD PATH='/tmp/xtclient.stdout',
//           PATHOPTS=(OWRONLY,OCREAT),
//           PATHMODE=SIRWXU
//STDERR        DD PATH='/tmp/xtclient.stderr',
//           PATHOPTS=(OWRONLY,OCREAT),
//           PATHMODE=SIRWXU
// 
Прим.:В приведенном примере кода JCL показано, как продолжать параметры на новой строке. Для этого вводите параметры до колонки 71, а в колонку 72 поместите 'X' и продолжайте с колонки 16 следующей строки.

Первая часть этого параметра (cd /usr/lpp/DWC/;) представляет собой оператор перехода в каталог, в котором установлен агент OS/390. Вторая часть параметра запускает XTClient и передает 8 следующих параметров:

42.27.5 Преобразователи

Введение

12 перечисленных преобразователей представляют собой хранимые процедуры Java, обеспечивающие некоторые из основных преобразований данных. Чтобы запустить эти преобразователи, сначала необходимо установить хранимые процедуры Java в подсистеме DB2. Дополнительная информация об этих преобразователях приводится в руководстве IBM DB2 Universal Database Data Warehouse Center Administration Guide Version 7, SC26-9993-00.

IWH.CLEAN
IWH.PERIODTABLE
IWH.KEYTABLE
IWH.CHISQUARE
IWH.CORRELATION
IWH.STATISTICS
IWH.INVERTDATA
IWH.PIVOTDATA
IWH.REGRESSION
IWH.ANOVA
IWH.SUBTOTAL
IWH.MOVINGAVERAGE

Установка хранимых процедур Java

Это краткая версия полного набора указаний об установке хранимых процедур Java, который приводится в справочнике Application Programming Guide and Reference for Java(TM), SC26-9018

  1. Установите в подсистеме DB2 PTF UQ46170 и UQ46114.
  2. Установите в системе OS/390 Visual Age for Java 2.0 или более новую его версию.
  3. Установите JDBC в DB2 и свяжите пакеты JDBC в подсистеме DB2.
  4. Установите хранимые процедуры RRS и DB2 WLM для подсистемы DB2.
  5. Установите хранимые процедуры Java для DB2. При этом надо создать процедуру запуска WLM Java для адресного пространства хранимых процедур Java.
  6. В WLM необходимо связать процедуру запуска WLM Java с именем среды WLM. Чтобы связать имя среды с процедурой JCL, используйте панель среды прикладных программ WLM с названием "Create an Application Environment".
  7. Укажите имя среды прикладных программ WLM в опции WLM_ENVIRONMENT оператора CREATE или ALTER PROCEDURE, чтобы связать хранимую процедуру или пользовательскую функцию со средой прикладных программ.
  8. Убедитесь в том, что у владельца запущенных задач DB2 есть доступ к библиотекам в процедуре запуска WLM Java.

Шаги установки преобразователей хранилища

Это краткая версия полного набора указаний, который приводится в руководстве IBM DB2 Universal Database Data Warehouse Center Administration Guide Version 7, SC26-9993-00

  1. Либо установите Fixpack 3 в DB2 Universal Database for NT версии 7, либо измените параметры управляющей базы данных хранилища на TRANSREGISTERED =1 и TRANSFENCED=1.

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

     CONNECT TO ваша_управляющая_база_данных_vw
    UPDATE IWH.INFORESOURCE SET TRANSREGISTERED = '1' WHERE SUBDBTYPE = 'DB2 MVS' 
    UPDATE IWH.INFORESOURCE SET TRANSFENCED = '1' WHERE SUBDBTYPE = 'DB2 MVS'
    
  2. Определите преобразователи для DB2

    При установке хранимых процедур Java WLM используется для связывания процедуры запуска WLM Java с именем среды WLM. Это имя среды указано в опции WLM ENVIRONMENT оператора CREATE PROCEDURE. DSNWLMJ - имя среды WLM, включенное в определения преобразователей, описанных выше. Можно либо добавить имя связи WLM для DSNWLMJ, либо для каждого из определений преобразователей заменить опцию WLM ENVIRONMENT на имя, которое вы уже связали с процедурой запуска.

  3. Установите связи от UNIX Systems Services к модулям загрузки преобразователей в IWH710.SIWHLOAD.
  4. Посредством APF авторизуйте IWH710.SIWHPDSE, а затем добавьте его в перечисление STEPLIB в процедуре запуска хранимых процедур Java DB2.
  5. Добавьте каталог, в котором находится связь xf.jll (по умолчанию: /usr/lpp/DWC), в переменные среды CLASSPATH и LIBPATH в наборе данных среды WLM.
  6. Запустите хранимые процедуры, а затем создайте и запустите шаги хранилища.

Ограничения для хранимых процедур Java

Объекты Java в сигнатуре хранимой процедуры поддерживаются только в DB2 for OS/390 Версии 7. По этой причине преобразователи в DB2 for OS/390 версий 5 или 6 не поддерживают в своих параметрах пустые значения. В этих версиях при передаче пустого параметра он приравнивается к нулевому значению. Преобразователи версий 5 и 6 рассматривают нулевые параметры, как пустые строки.

DB2 поддерживает в хранимых процедурах оператор SQL COMMIT только в DB2 for OS/390 Версии 7. Хранимая процедура INVERTDATA отбрасывает и повторно создает таблицу в хранимой процедуре, поэтому ей требуется оператор принятия. Поэтому IWH.INVERTDATA не поддерживается в DB2 for OS/390 Версии 5 или Версии 6.

DB2 for OS/390 не поддерживает пользовательские функции Java, поэтому IWH.FORMATDATE не поддерживается на платформе 390.

Пример процедуры запуска для хранимых процедур Java

(описан в книге "DB2 for OS/390 Application Programming Guide and Reference for Java"):

//DSNWLMJ PROC DB2SSN=DSN,NUMTCB=5,APPLENV=DSNWLMJ  <-- значение WLM ENVIRONMENT
//                                                          в CREATE PROC
//******************************************************************* 
//* ЭТА ПРОЦЕДУРА ИСПОЛЬЗУЕТСЯ ДЛЯ ЗАПУСКА УСТАНОВЛЕННОГО WLM         *
//* АДРЕСНОГО ПРОСТРАНСТВА SPAS ДЛЯ СРЕДЫ ПРИКЛАДНЫХ ПРОГРАММ DSNWLMJ *
//*      V WLM,APPLENV=DSNWLMJ,RESUME                                 *
//******************************************************************* 
//DSNWLMJ EXEC PGM=DSNX9WLM,TIME=1440,REGION=0M,
//             PARM='&DB2SSN, &NUMTCB, &APPLENV'
//STEPLIB  DD  DSN=DSN.TESTLIB,DISP=SHR
//         DD  DSN=IWH710.SIWHPDSE,DISP=SHR    	        <--  Содержит в себе 
//                                                           преобразователи
//         DD  DSN=DSN.HPJSP.PDSE.JDBC,DISP=SHR         <--  DLL HPJ из 
//                                                           установки HPJ
//         DD  DSN=SYS1.PP.PDSELINK,DISP=SHR           	<--  библиотек 
//                                                           времени 
//                                                           выполнения HPJ
//         DD  DSN=DSN710.SDSNEXIT,DISP=SHR
//         DD  DSN=DSN710.SDSNLOAD,DISP=SHR
//         DD  DSN=SYS1.SCEERUN,DISP=SHR
//         DD  DSN=DSN.PDSE,DISP=SHR	                <--  Информация 
//                                                         установки HPJ
//JAVAENV  DD  DSN=DSN.WLMENVJ.JSPENV,DISP=SHR 	        <--  Переменные 
//                                                            среды, 
//                                                            смотрите далее
//CEEDUMP  DD  SYSOUT=A
//DSSPRINT DD  SYSOUT=A
//JSPDEBUG DD  SYSOUT=A
//SYSABEND DD  SYSOUT=A
//SYSPRINT DD  SYSOUT=A
 

Пример набора данных переменной среды

(описан в книге "DB2 for OS/390 Application Programming Guide and Reference for Java"):

ENVAR("TZ=PST07", 
"DB2SQLJPROPERTIES=/usr/lpp/db2/jdbc/db2710/classes/db2sqljjdbc.properties", 
"LIBPATH=/usr/lpp/DWC", 
"VWSPATH=/usr/lpp/DWC", 
"CLASSPATH=/usr/lpp/db2/jdbc/db2710/classes:/usr/lpp/DWC:/usr/lpp/hpj/lib"),  
MSGFILE(JSPDEBUG) 

Поддержка национальных языков для преобразователей

Большая часть сообщений, сгенерированных агентом OS/390, посылается для интерпретации на платформу NT, и поэтому в большинстве случаев язык сообщения зависит от того, как установлена UDB для NT. Преобразователи являются исключением. Агент OS/390 предоставляет для преобразователей следующие файлы сообщений:

Имя файла:           Язык:
Xf.properties_Fi_FI  Финский в Финляндии
Xf.properties_No_NO  Норвежский в Норвегии
Xf.properties_Ru_RU  Русский в России
Xf.properties_Zh_CN  Китайский в Китае (КНР)
Xf.properties_Zh_TW  Китайский на Тайване
Xf.properties_Da_DK  Датский в Дании
Xf.properties_De_DE  Немецкий в Германии
Xf.properties_En_US  Английский в США
Xf.properties_Es_ES  Испанский в Испании
Xf.properties_Fr_FR  Французский во Франции
Xf.properties_It_IT  Итальянский в Италии
Xf.properties_Ja_JP  Японский в Японии
Xf.properties_Ko_KR  Корейский в Корее
Xf.properties_Pt_BR  Португальский в Бразилии
Xf.properties_Sv_SE  Шведский в Швеции    

Если сообщения преобразователей должны быть на языке, отличном от английского, выберите один из этих файлов и скопируйте его содержимое в Xf.properties.

42.27.6 Доступ к другим базам данных (не из семейства DB2)

Для доступа к другим базам данных (не DB2 Universal Database) агент OS/390 использует DataJoiner. DataJoiner позволяет агенту использовать нормальный входной поток DRDA, как если бы он был базой данных UDB. Если требование ODBC направлено источнику не из семейства DB2, DataJoiner вызывает дополнительный слой программного кода для доступа к "чужим" базам данных.

DataJoiner может связываться с Oracle, Sybase, Informix, Microsoft SQL Server, Teradata и любыми другими базами данных, у которых есть драйвер ODBC для операционных сред Windows NT, AIX или Solaris фирмы Sun. Агент OS/390 может обращаться к DataJoiner как к источнику, но не как к потребителю. DataJoiner не поддерживает двухфазное принятие. Несмотря на то, что DataJoiner поддерживает TCP/IP как реквестер прикладных программ в версиях 2.1 и 2.1.1, у него нет сервера прикладных программ. Поскольку агенту OS/390 для использования TCP/IP может потребоваться сервер прикладных программ, вместо доступа к DataJoiner из OS/390 используйте соединение SNA.

Доступ к IMS и VSAM в OS/390

Classic Connect приобретается и устанавливается отдельно от агента хранилища. Агент OS/390 может обращаться к IMS и VSAM при помощи драйвера ODBC Classic Connect. Classic Connect позволяет устанавливать DB2-подобное определение наборов данных IMS и VSAM, а затем обращаться к ним с использованием ODBC.

Агент OS/390 загружает правильный драйвер ODBC на основе того, направлено требование к Classic Connect или к DB2. Если вы обращаетесь к источнику DB2, агент загружает драйвер ODBC DB2. Если вы обращаетесь к источнику VSAM или IMS, агент загружает драйвер ODBC Classic Connect. Затем обрабатывается требование агента.

Установка драйвера ODBC Classic Connect и доступ к хранилищам

Classic Connect приобретается и устанавливается отдельно от агента OS/390. Classic Connect может представлять файл или части файла в виде одной или нескольких реляционных таблиц. Для доступа Classic Connect к данным IMS и VSAM эти данные необходимо преобразовать. Можно отображать данные вручную или использовать преобразователь нереляционных данных Microsoft Windows Classic Connect.

  1. Установите сервер данных Classic Connect в OS/390
  2. Необязательно: установите программный продукт Classic Connect Data Mapper в NT.
  3. Задайте определения логической таблицы Classic Connect так, чтобы Classic Connect могла обращаться к данным реляционным способом. Для создания определений для структур IMS и VSAM используйте преобразователь данных или создайте эти определения вручную
  4. После установки Classic Connect можно сконфигурировать доступ к хранилищу данных:
    1. Создайте файл .ini Classic Connect.

      Пример файла конфигурации прикладной программы Classic Connect cxa.ini находится в каталоге /usr/lpp/DWC/; воспроизводим его здесь:

      * язык сообщений
      NL = US English
      * основной файл ресурсов
      NL CAT = usr/lpp/DWC/v4r1m00/msg/engcat
      FETCH BUFFER SIZE = 32000
      DEFLOC = CXASAMP
      USERID = uid
      USERPASSWORD = pwd
      DATASOURCE = DJX4DWC tcp/9.112.46.200/1035
      MESSAGE POOL SIZE = 1000000
      
    2. Измените строку DATASOURCE в файле .ini. Эта строка содержит имя источника данных и адрес протокола. Имя источника данных должно соответствовать имени Query Processor, определенному на сервере данных Classic Connect, которое задано в записи QUERY PROCESSOR SERVICE INFO ENTRY в файле конфигурации этого сервера данных. Адрес протокола можно найти в этом же файле в записи TCP/IP SERVICE INFO. USERID и USERPASSWORD в этом файле используются при определении источника данных хранилища.
    3. Экспортируйте переменную среды CXA_CONFIG в файлы программ Classic Connect; обычно они расположены в том же каталоге, что и файл .ini.
    4. Исправьте переменную среды LIBPATH, включив в нее путь к файлам программ Classic Connect; обычно они расположены в том же каталоге, что и файл .ini.
    5. Необязательно: проверьте установку при помощи программы тестирования cxasamp, введя cxasamp из каталога, в котором находится файл .ini. location/uid/pwd - имя источника данных/id пользователя/пароль пользователя, определенные в файле .ini.
    6. Определите источник данных для хранилища точно так же, как вы определяете любой другой источник данных DB2.

Файл dsnaoini изменять не надо, поскольку в DB2 for OS/390 нет менеджера драйверов. Менеджер драйверов для Classic Connect встроен в агент OS/390.

42.27.7 Запуск утилит DB2 for OS/390

Чтобы использовать агент OS/390 для запуска утилит, необходимо установить для него APAR PQ44904.

DSNUTILS - хранимая процедура DB2 for OS/390, выполняемая в средах WLM и RRS. Ее можно использовать для запуска любых установленных утилит DB2 при помощи интерфейса пользовательских хранимых процедур. У утилит DB2 for OS/390 LOAD, REORG и RUNSTATS есть страницы свойств, которые можно использовать для изменения работы этих утилит. Чтобы изменить свойства какой-нибудь из этих утилит, щелкните по ней правой кнопкой мыши в окне Разработчик моделей процессов и выберите пункт Свойства.

Менеджер хранилищ предоставляет также интерфейс для DSNUTILS, позволяющий включать утилиты DB2 в шаги Менеджера хранилищ.

Для установки хранимой процедуры DSNUTILS:

  1. При установке DB2 запустите задание DSNTIJSG, чтобы установить и связать хранимую процедуру DSNUTILS. Убедитесь, что определение DSNUTILS использует PARAMETER STYLE GENERAL.
  2. Разрешите управляемые WLM хранимые процедуры.
  3. Задайте среды RRS и WLM.
  4. Запустите примеры пакетных программ DSNUTILS, поставляемые с DB2. (Рекомендуется, но не обязательно.)
  5. Свяжите план DSNUTILS с планом DSNCLI, чтобы CLI мог вызывать хранимую процедуру:
    BIND PLAN(DSNAOCLI) PKLIST(*.DSNAOCLI.*, *.DSNUTILS.*)
    
  6. Сконфигурируйте шаг с использованием Менеджера хранилищ и выполните этот шаг. Надо использовать тип заполнения APPEND. Иначе Менеджер хранилищ перед выполнением утилиты удалит все содержимое таблицы.

Копирование данных между таблицами DB2 for OS/390 с использованием утилиты LOAD

Предположим, что вы хотите скопировать таблицу, выгружая ее в плоский файл, а затем загружая этот плоский файл в другую таблицу. Обычно, чтобы это сделать, необходимо выгрузить данные, отредактировать операторы управления загрузкой, которые образуются при выгрузке, а затем загрузить данные. При использовании хранилища можно указать, что вы хотите перегрузить данные в другую таблицу без остановки между шагами и редактирования управляющих операторов вручную. Делается это так: воспользуйтесь интерфейсом Reorg/Generic для создания шага, который выгружает файл с использованием утилиты UNLOAD или утилиты REORG TABLESPACE. Обе эти утилиты создают два выходных набора данных, один - с данными таблицы, а другой - с управляющим оператором утилиты, который может использовать утилита LOAD. В управляющем операторе, сгенерированном утилитой, имя таблицы INTO TABLE - это имя выгруженной таблицы. Пример параметров DSNUTILS, которые можно использовать для шага Reorg Unload:

Табл. 22. Свойства для шага Reorg Unload
UTILITY_ID REORGULX
RESTART NO
UTSTMT REORG TABLESPACE DBVW.USAINENT UNLOAD EXTERNAL
UTILITY_NAME REORG TABLESPACE
RECDSN DBVW.DSNURELD.RECDSN
RECDEVT SYSDA
RECSPACE 50
PNCHDSN DBVW.DSNURELD.PNCHDSN
PNCHDEVT SYSDA
PNCHSPACE 3

Для создания шага загрузки используется интерфейс Reorg/Generic DSNUTILS. Обычно параметр оператора утилиты DSNUTILS задает оператор управления утилитой. Интерфейс утилит хранилища допускает также задание имени файла в поле оператора утилиты. Указать файл, содержащий действительный управляющий оператор, можно при помощи ключевого слова :FILE:, а имя таблицы, которую вы хотите загрузить - при помощи ключевого слова :TABLE:. Чтобы использовать утилиту LOAD для работы с выходными данными предыдущего примера, задайте для свойств LOAD следующие значения параметров:
Прим.:В поле UTSTMT введите либо оператор загрузки, либо имя файла, который был выводом утилиты REORG с опцией UNLOAD EXTERNAL.


Табл. 23. Свойства шага LOAD
UTILITY_ID LOADREORG
RESTART NO
UTSTMT :FILE:DBVW.DSNURELD.PNCHDSN:TABLE:[DBVW]. INVENTORY
UTILITY_NAME LOAD
RECDSN DBVW.DSNURELD.RECDSN
RECDEVT SYSDA

Это будет работать с любыми исходными таблицами или таблицами назначения DB2 for OS/390 в той же самой или в другой подсистеме DB2. Плоский файл управляющего оператора может быть либо файлом HFS, либо собственным файлом MVS.

Более подробную информацию о DSNUTILS и об утилитах DB2, доступных для платформы OS/390, смотрите в справочном руководстве DB2 for OS/390 Utility Guide and Reference.

42.27.8 Репликация

Агент OS/390 можно использовать для автоматизации шага применения репликации Data Propagator. Для репликации требуется исходная база данных, управляющая база данных и база данных назначения. Это могут быть как разные, так и одни и те же базы данных. Задание Capture читает журнал DB2 для определения того, какие строки исходной базы данных были добавлены, изменены или удалены, и записывает изменения в таблицу изменений данных. Затем это задание записывает изменения в таблицу изменения данных. Потом выполняется задание Apply для применения изменений к базе данных назначения. Программный пакет Менеджер хранилищ DB2 может автоматизировать выполнение задания Apply путем создания шага репликации. Менеджер хранилищ позволяет определить тип выполняемого задания Apply и время его запуска. Для этого надо включить библиотеку SASNLINK в переменную среды steplib.

Добавление поддержки репликации в шаблон Центра хранилищ данных

Центр хранилищ данных содержит шаблон JCL для поддержки репликации. Если вы собираетесь использовать агент OS/390 для запуска программы Apply, необходимо изменить учетную информацию и информацию о наборах данных в этом шаблоне для системы OS/390. Чтобы изменить шаблон:

  1. Зарегистрируйтесь с ID, у которого есть полномочия копирования и изменения файлов в каталоге /usr/lpp/DWC.
  2. Найдите файл apply.jcl и сделайте копию этого файла под именем имя_системы.apply.jcl, где имя_системы - имя системы MVS. Например, если имя вашей системы - STLMVS1, создайте копию этого файла под именем STLMVS1.apply.jcl.
  3. При помощи текстового редактора исправьте JCL в соответствие с местными требованиями. Измените учетную информацию так, чтобы она соответствовала стандартам учетной информации, и измените наборы данных STEPLIB DD и MSGS DD для вашей системы MVS.
  4. При необходимости измените имя программы в строке EXEC. Подробности изменения имен программ смотрите в справочном руководстве DB2 Replication Guide and Reference. Не изменяйте параметры в скобках, такие как [USERID] и [APPLY_PARMS]. (Скобки представлены шестнадцатеричными символами x'AD' и x'BD', соответственно. Если для вашего типа терминала TSO в опции SPF 0 не установлено 3278A, вы можете увидеть вместо скобок специальные символы. В этом нет ничего страшного, если не изменять x'AD' и x'BD', а также какие-либо данные между этими символами.)
  5. Измените переменную среды VWS_TEMPLATES, чтобы она указывала на каталог, в который скопирован файл шаблона.

В следующем примере показан шаблон JCL, поставляемый с Центром хранилищ данных:

Шаблон JCL Apply:

//[USERID]A  JOB ,MSGCLASS=H,MSGLEVEL=(1,1),
//  REGION=2M,TIME=1440,NOTIFY=&SYSUID
//* НЕ ИЗМЕНЯЙТЕ ПЕРВУЮ СТРОКУ ЭТОГО ШАБЛОНА.
//* ОСТАЛЬНЫЕ СТРОКИ JCL НАДО ИЗМЕНИТЬ В СООТВЕТСТВИИ С ВАШЕЙ СРЕДОЙ
//**********************************************
//* RUN   APPLY/MVS ON OS/390 DB2 6.1          *
//**********************************************
//ASNARUN  EXEC PGM=ASNAPV66,REGION=10M,
//  [APPLY_PARMS]
//STEPLIB  DD  DISP=SHR,DSN=DPROPR.V6R1M0.SASNLINK
//         DD  DISP=SHR,DSN=DSN610.SDSNLOAD
//MSGS     DD  DSN=DPROPR.V2R1M0A.MSGS,DISP=SHR
//ASNASPL  DD DSN=&&ASNASPL,DISP=(NEW,DELETE,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,(10,1)),
//         DCB=(RECFM=VB,BLKSIZE=6404)
//SYSTERM  DD  SYSOUT=*
//SYSTSPRT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//
 

42.27.9 Регистрация агента

Многие из компонентов Менеджера хранилищ DB2, такие как сервер, регистратор, агенты, а также некоторые программы Центра хранилищ данных производят записи в журналы в каталоге регистрации, заданном переменной среды VWS_LOGGING. Эти файлы журнала представляют собой плоские текстовые файлы.

Запись агента в журнал можно запустить из Центра хранилищ данных. На левой панели щелкните правой кнопкой мыши по пункту Хранилище и выберите Свойства. На вкладке Уровень трассировки измените необходимым образом установки для уровня трассировки. Трассировка агента поддерживает уровни от 0 до 4:

При установке уровня трассировки выше 1 производительность уменьшится. Трассировку следует включать только для отладки. Информация трассировки сохраняется в файле AGNTxxx.LOG. Информация среды сохраняется в файле AGNTxxx.SET.


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