Dieses Kapitel enthält die folgenden Informationen:
In DB2 Warehouse Manager für z/OS und OS/390 ist ein zSeries-Warehouse-Agent enthalten. Mit diesem Agenten können Sie Daten zwischen DB2 Universal Database für z/OS und OS/390 und anderen Datenbanken (einschließlich DB2-Datenbanken unter anderen Betriebssystemen sowie Nicht-DB2-Datenbanken) übertragen. Der Warehouse-Agent kann mit unterstützten Datenquellen kommunizieren, die mit einer ODBC-Verbindung (ODBC = Open Database Connectivity) arbeiten. Er wird unter USS (UNIX Systems Services) ausgeführt, benötigt OS/390 ab Version 2 Release 7 und ist mit DB2 für OS/390 Versionen 5 und 6 sowie mit DB2 für z/OS und OS/390 Version 7 kompatibel.
Der zSeries-Warehouse-Agent unterstützt die Ausführung der folgenden Tasks:
Der vorliegende Abschnitt enthält Informationen zu den für die Installation des zSeries-Warehouse-Agenten erforderlichen Softwareprodukte, Berechtigungen und vorläufigen Programmkorrekturen (PTFs).
Der zSeries-Warehouse-Agent gehört zum Lieferumfang von DB2 Universal Database für z/OS und OS/390 Version 7. Dieses Produkt umfasst außerdem das DB2 Warehouse Manager-Programmverzeichnis und Informationen zu den Speicher- und Programmierungsvoraussetzungen sowie den erforderlichen Betriebs- und Zielsystemen.
Tabelle 1 enthält eine Aufstellung der APARs, die vor der Installation des OS/390-Agenten auf dem DB2-Subsystem angewendet werden müssen.
Tabelle 1. Erforderliche APARs
DB2 Universal Database-Version | Erforderliches APAR |
DB2 für OS/390 Version 5 | PQ36586 |
DB2 für OS/390 Version 6 | PQ36585 |
Wenn auf dem verwendeten System DB2 für z/OS und OS/390 Version 7 installiert ist, werden keine APARs benötigt.
Tabelle 2 enthält eine Aufstellung der PTFs, die auf dem DB2-Subsystem angewendet werden müssen, wenn JSP (Java Stored Procedures) definiert werden soll.
DB2 Universal Database-Version | Erforderliche PTF |
DB2 für OS/390 Version 5 | UQ46170 |
DB2 für OS/390 Version 6 | UQ46114 |
DB2 für z/OS und OS/390 Version 7 | UQ53028 |
Gehen Sie wie folgt vor, um den zSeries-Warehouse-Agenten zu installieren:
Eine der Zielbibliotheken, die bei der SMP/e-Installation generiert werden, ist ein USS-Verzeichnis, das das Programm 'wareexecutables' enthält. Der Standardname dieser Komponente lautet '/usr/lpp/DWC'. Dieses Verzeichnis enthält die ausführbaren Dateien für den Warehouse-Agenten.
Im Folgenden ist der Inhalt einer .profile-Beispieldatei aufgeführt:
export VWS_LOGGING=/usr/lpp/DWC/logs export VWP_LOG=/usr/lpp/DWC/vwp.log export VWS_TEMPLATES=usr/lpp/DWC export DSNAOINI=/u/userid/dsnaoini export LIBPATH=usr/lpp/DWC/ :$LIBPATH export PATH=/usr/lpp/DWC/ :$PATH export STEPLIB=DSN710.SDSNEXIT:DSN710.SDSNLOAD
Die .profile-Datei definiert die Umgebungsvariablen und muss im Ausgangsverzeichnis des Benutzers gespeichert sein, der den Agentendämon startet.
vwkernel 11000/tcp vwd 11001/tcp vwlogger 11002/tcpZum Definieren von Verbindungen zwischen dem zSeries-Warehouse-Agenten und den Datenbanken müssen Sie alle fernen Datenbanken zu Ihrer z/OS- und OS/390-Kommunikationsdatenbank hinzufügen.
Im Folgenden sind CDB-Beispieleinfügungen dargestellt, um eine aktive Datenbank unter Windows NT mit einem OS/390-Agenten zu verbinden:
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');
Weitere Informationen zum Definieren von Verbindungen und Aktualisieren Ihrer Kommunikationsdatenbank finden Sie im Handbuch DB2 Universal Database for z/OS and OS/390 Installation Guide.
Im folgenden Beispiel finden Sie einige Paketbindeanweisungen für eine lokale DB2 für z/OS- und OS/390-Datenbank. Der Name für das lokale System lautet in diesem Beispiel DWC6:
DSN SYSTEM(DWC6) 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(DSNCLIQR) ISO(QR) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIMS) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIC1) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIC2) BIND PACKAGE (DWC6CLI) MEMBER(DSNCLIF4)
Im Folgenden sind einige Paketbindeanweisungen für eine ferne DB2 für z/OS- oder OS/390-Datenbank aufgeführt, wobei der Standortname des fernen DB2 für z/OS- oder OS/390-Systems REMLOC lautet. Dieses wurde in der Kommunikationsdatenbank registriert:
DSN SYSTEM(DWC6) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLICS) ISO(CS) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLINC) ISO(NC) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIRR) ISO(RR) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIRS) ISO(RS) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIUR) ISO(UR) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIQR) ISO(QR) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIMS) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIC1) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIC2) BIND PACKAGE (REMLOC.DWC6CLI) MEMBER(DSNCLIF4)
Im Folgenden sind einige Paketbindeanweisungen für eine DB2 Universal Database-Datenbank aufgeführt, die unter Windows NT ausgeführt wird:
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)
Im Folgenden finden Sie eine Bindeanweisung, mit der die CLI-Pakete für alle Standorte in einem Plan gebunden werden können:
DSN SYSTEM(DWC6) BIND PLAN(DWC6CLI) PKLIST(*.DWC6CLI.* )
Nach dem Binden der CLI-Pakete müssen Sie prüfen, ob die Umgebungsvariable DSNAOINI in der .profile-Datei auf die ODBC-Initialisierungsdatei zeigt, die den soeben gebundenen CLI-Plan verwendet.
Wenn der Name des CLI-Plans z. B. DWC6CLI und der des lokalen Systems DWC6 lautet, muss die ODBC-Initialisierungsdatei die folgenden Informationen enthalten:;SUBSYSTEM stanza [DWC6] MVSATTACH=CAF PLANNAME=DWC6CLI
Um die korrekte Funktionsweise der Datei zu gewährleisten, müssen Sie deren Konfiguration prüfen:
Darüber hinaus müssen Sie eine Zeilengruppe für die Datenquelle des verwendeten DB2-Systems definieren. Dieses Element muss den Standortnamen des lokalen DB2-Systems angeben.
Im Folgenden ist ein Beispiel für eine DSNAOINI-Datei aufgeführt:
[COMMON] MVSDEFAULTSSID=DWC6 CONNECTTYPE=2 ;APPLTRACE=1 ;APPLTRACEFILENAME=/usr/lpp/DWC/logs/application.CLITRACE ;TRACEFLUSH=1 ;Example SUBSYSTEM stanza for V71A subsystem [DWC6] MVSATTACHTYPE=CAF PLANNAME=DWC6CLI ;DATA SOURCE stanza for ISC710P1 data source [ISC710P1]
Zur Aktivierung der ODBC-Trace-Funktion müssen Sie die drei auf Kommentar gesetzten Zeilen im COMMON-Abschnitt entfernen. Weitere Informationen zum Binden von ODBC und der DSNAOINI-Datei finden Sie im Handbuch DB2 Universal Database for z/OS and OS/390 ODBC Guide and Reference.
Der zSeries-Warehouse-Agent ist ein Dämonprozess. Da der Agentendämon mit der Funktion _password( ) arbeitet, müssen die folgenden ausführbaren Agentenprogramme für die RACF-Programmsteuerung definiert werden:
libtls4d.dll iwhcomnt.dll vwd
Um die ausführbaren Programme für die RACF-Programmsteuerung zu definieren, wechseln Sie in das Verzeichnis, in dem die ausführbaren Dateien der Data Warehouse-Zentrale gespeichert sind. Führen Sie dort die folgenden Befehle aus:
extattr +p libtls4d.dll extattr +p iwhcomnt.dll extattr +p vwdUm den Befehl 'extattr' mit dem Parameter +p verwenden zu können, müssen Sie mindestens über Lesezugriff (READ) auf die Klasse BPX.FILEATTR.PROGCTL FACILITY verfügen.
Im folgenden Beispiel ist der RACF-Befehl aufgeführt, der zur Erteilung dieser Berechtigung an die Benutzer-ID JOEUSER verwendet wird:
RDEFINE FACILITY BPX.FILEATTR.PROGCTL UACC(NONE) PERMIT BPX.FILEATTR.PROGCTL CLASS(FACILITY) ID(JOEUSER) ACCESS(READ) SETROPTS RACLIST(FACILITY) REFRESH
Weitere Informationen zu Berechtigungen finden Sie im Handbuch z/OS and OS/390 UNIX System Services Planning.
Um den Dämon im Vordergrund zu starten, geben Sie in der Befehlszeile in einer USS-Shell den Befehl vwd ein.
Um den Dämon im Hintergrund zu starten, müssen Sie hingegen in der Befehlszeile einer USS-Shell den Befehl vwd>/usr/lpp/DWC/logs/vwd.log 2>&1 & eingeben.
Um zu überprüfen, ob der zSeries-Warehouse-Agentendämon aktiv ist, geben Sie in einer UNIX-Shell-Befehlszeile ps -e | grep vwd ein.
Alternativ hierzu können Sie an der z/OS- oder OS/390-Konsole auch den Befehl D OMVS,a=all eingeben und nach der Zeichenfolge vwd suchen.
Das Programmpaket für den DB2 Warehouse Manager umfasst die folgenden benutzerdefinierten Programme:
Darüber hinaus können Sie benutzerdefinierte Programme und gespeicherte Prozeduren in der Data Warehouse-Zentrale erstellen. Der zSeries-Warehouse-Agent unterstützt alle ausführbaren Programme, die unter UNIX Systems Services (USS) ausgeführt werden können.
Ein benutzerdefiniertes Programm ist einem oder mehreren Schritten zugeordnet. Bei der Ausführung eines solchen Programms werden die folgenden Aktionen ausgeführt:
Für die Ausführung von ETI-Programmen unter z/OS oder OS/390 benötigen Sie mindestens DB2 Universal Database Version 7.1, Fixpack 2. Mit Hilfe der Umgebungsvariablen VWP_LOG können Sie ein Verzeichnis definieren, in das die benutzerdefinierten Programme Ausgabedaten schreiben können.
Wenn Sie ein benutzerdefiniertes Programm zur Übertragung eines Jobs via FTP verwenden wollen, müssen Sie zuerst die JCL-Komponente sowie die Daten erstellen, die übergeben werden sollen. Der Jobname in der JCL-Komponente muss hierbei USERIDX lauten, wobei X für einen einstelligen alphanumerischen Wert (z. B. JOEUSERA) steht. Die Ausgabeklasse für die Dateien MSGCLASS und SYSOUT, die in der JCL-Komponente enthalten sind, muss eine JES-Ausgabeklasse angeben.
Die maximal zulässige Länge der logischen Sätze (LRECL) des übergebenen Jobs beträgt 254 Zeichen. Hierbei werden von JES nur die ersten 72 Zeichen der JCL-Komponente durchsucht.
Die Data Warehouse-Zentrale installiert eine JCL-Schablone für die Übertragung von Dateien via FTP. Wenn Sie planen, den FTP-Befehl GET oder PUT zum Übertragen von Dateien von einem z/OS- oder OS/390-Host an einen anderen fernen Host einzusetzen, müssen Sie die Benutzerinformationen in der JCL-Schablone für Ihr z/OS- oder OS/390-System ändern.
Gehen Sie wie folgt vor, um die Benutzerinformationen in der JCL-Schablone für Ihr z/OS- oder OS/390-System zu ändern:
Wenn Sie z. B. eines dieser Programme unter STLMVS1 ausführen wollen, müssen Sie eine Kopie der Datei mit dem Namen STLMVS1.ftp.jcl erstellen.
Die Data Warehouse-Zentrale enthält die folgende JCL-Beispielschablone:
//[USERID]A JOB , 'PUT/GET', //* THE NAME OF THE JOB MUST BE THE NAME OF THE //* MVS USER ID FOLLOWED BY ONE ALPHANUMERIC //* CHARACTER. THIS IS A RESTRICTION OF FTP/MVS. // 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=*
Mit dem zSeries-Warehouse-Agenten können Sie Beispielinhaltsdaten für DB2-Tabellen und -Flachdateien wie z. B. OS/390-USS-Dateien sowie native z/OS- oder OS/390-Flachdateien generieren. Darüber hinaus ist es möglich, mit Classic Connect über den zSeries-Warehouse-Agenten Beispielinhaltsdaten für IMS- oder VSAM-Dateien zu erzeugen. Bei der Erstellung von Beispielinhaltsdaten für Flachdateien gelten bestimmte funktionale Einschränkungen. Im Warehouse können nur Zeichendaten aus Flachdateien angezeigt werden. Wenn Sie die Datei als Quelle definieren, müssen Sie darüber hinaus die verschiedenen Felder in der Dateidefinition festlegen, so dass der Agent die Daten für die einzelnen Felder mit den korrekten relativen Positionen und Längenangaben anzeigen kann.
Verwenden Sie das Auslöserprogramm zum Terminieren von Warehouse-Schritten über z/OS oder OS/390. Sie oder ein OS/390-Job-Scheduler können einen Job übergeben, der zum Auslösen eines Schrittes in der Data Warehouse-Zentrale dient. Wenn der Schritt erfolgreich ausgeführt werden kann, gibt der Auslöserschritt in der JCL-Komponente den Rückkehrcode 0 aus.
Um das Auslöserprogramm einsetzen zu können, müssen Sie Java Development Kit (JDK) ab Version 1.1.8 unter USS (UNIX Systems Services) installieren.
Zum Starten des Auslöserprogramms müssen Sie XTServer auf dem Computer starten, auf dem der Warehouse-Server ausgeführt wird. Dieser Prozess wird im Handbuch IBM DB2 Universal Database Data Warehouse-Zentrale Verwaltung beschrieben.
Wenn XTServer unter Microsoft Windows NT gestartet wird, sollten Sie auch XTClient unter UNIX System Services starten.
Im Folgenden ist eine JCL-Beispielkomponente zum Starten des Auslösers aufgeführt:
//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 //
In dieser JCL-Beispielkomponente sehen Sie, dass die Parameter auf einer neuen Zeile fortgesetzt werden. Geben Sie die Parameter bis zu Spalte 71 ein, definieren Sie in Spalte 72 ein X, und setzen Sie die Eingabe in Spalte 16 der nächsten Zeile fort. Der erste Teil des Parameters (cd /usr/lpp/DWC/;) enthält eine Anweisung, mit der in das Verzeichnis gewechselt wird, in dem der zSeries-Warehouse-Agent installiert ist.
Der zweite Teil des Parameters dient zum Starten von XTClient und übergibt die folgenden Parameter:
Die Data Warehouse-Zentrale umfasst Umsetzungsprogramme, bei denen es sich um gespeicherte Java-Prozeduren handelt, mit den verschiedene grundlegende Datenumsetzungsoperationen ausgeführt werden können. Zur Ausführung dieser Umsetzungsprogramme müssen Sie auf dem DB2-Subsystem zuerst gespeicherte Java-Prozeduren definieren. Zusätzliche Informationen zu Umsetzungsprogrammen finden Sie im Handbuch IBM DB2 Universal Database Data Warehouse-Zentrale Verwaltung, IBM Form SC12-2885.
Unter dem zSeries-Agenten können die folgenden Umsetzungsprogramme ausgeführt werden:
Im Folgenden ist eine kurze Zusammenfassung der vollständigen Anweisungen zum Definieren gespeicherter Java-Prozeduren aufgeführt. Die vollständigen Anweisungen zur Ausführung dieses Arbeitsschrittes finden Sie im Handbuch DB2 Universal Database for z/OS and OS/390 Application Programming Guide and Reference for Java, IBM Form SC26-9932.
Gehen Sie wie folgt vor, um auf Ihrem DB2-Subsystem gespeicherte Java-Prozeduren zu definieren:
In den folgenden Anweisungen wird erläutert, wie die Warehouse-Umsetzungsprogramme unter DB2 für z/OS und OS/390 definiert werden. Die vollständigen Anweisungen zur Verwendung der Umsetzungsprogramme nach deren Definition finden Sie im Handbuch IBM DB2 Universal Database Data Warehouse-Zentrale Verwaltung.
Gehen Sie wie folgt vor, um Warehouse-Umsetzungsprogramme unter DB2 für z/OS und OS/390 zu definieren:
Geben Sie im DB2-Befehlszeilenprozessor die folgende SQL-Anweisung ein, um die Warehouse-Steuerungsdatenbank zu aktualisieren:
CONNECT TO your_vw_control_database UPDATE IWH.INFORESOURCE SET TRANSREGISTERED = '1' WHERE SUBDBTYPE = 'DB2 MVS' UPDATE IWH.INFORESOURCE SET TRANSFENCED = '1' WHERE SUBDBTYPE = 'DB2 MVS'
Hierbei steht your_vw_control_database für den Namen der DWC-Steuerungsdatenbank.
Tabelle 3. Position der SQL-Anweisungen entsprechend der DB2 Universal Database-Version
DB2 Universal Database-Version | Position der SQL-Anweisungen |
DB2 für OS/390 Version 5 | Verwenden Sie kommentierte SQL-Anweisungen im Verzeichnis /usr/lpp/DWC/createXfSQL. (Setzen Sie alle CREATE PROCEDURE-Anweisungen auf Kommentar, entfernen Sie anschließend die Kommentare, und verwenden Sie die INSERT INTO SYSIBM.SYSPROCEDURES-Anweisungen zum Definieren der Umsetzungsprogramme unter DB2 für OS/390 Version 5.) |
DB2 für OS/390 Version 6 | Verwenden Sie SQL-Anweisungen im Verzeichnis /usr/lpp/DWC/createXfSQL. |
DB2 für z/OS und OS/390 Version 7 | Verwenden Sie SQL-Anweisungen im Verzeichnis /usr/lpp/DWC/createXfSQLV7. |
Beim Definieren gespeicherter Java-Prozeduren können Sie WLM verwenden, um der Java-WLM-Startprozedur einen WLM-Umgebungsnamen zuzuordnen. Der Umgebungsname wird in der Option WLM ENVIRONMENT der Anweisung CREATE PROCEDURE angegeben. Bei DSNWLMJ handelt es sich um den WLM-Umgebungsnamen, der in den Definitionen der Umsetzungsprogramme enthalten ist. Sie können entweder einen WLM-Zuordnungsnamen von DSNWLMJ hinzufügen oder die Option WLM ENVIRONMENT für alle Umsetzungsprogrammdefinitionen in einen Namen ändern, der der Startprozedur bereits zugeordnet ist.
Bei der Installation von JDBC wird der Befehl 'installVAJDLL' ausgeführt. Dieser Befehl dient zum Erstellen eines Links von 'sqlj.jll' auf den JDBC-Treiber. Der Name des Verzeichnisses, in dem dieser Link für 'sqlj.jll' installiert ist, muss zu den CLASSPATH- und LIBPATH-Anweisungen in der Datei mit den Umgebungsvariablen hinzugefügt werden.
SQLJ ist in einem Java-Paket mit dem Namen /COM/ibm/db2os390/ enthalten. Befindet sich Ihr Link für sqlj.jll z. B. im Verzeichnis /usr/lpp/db2710/COM/ibm/db2os390/, müssen Sie die Zeichenfolge /usr/lpp/db2710/ zu Ihren CLASSPATH- und LIBPATH-Anweisungen hinzufügen.
Die Umgebungsvariablendatei darf maximal 244 Zeichen umfassen.
Gehen Sie wie folgt vor, um die Anzahl der Zeichen in der Umgebungsvariablendatei zu reduzieren:
/u/userid/links/com/ibm/data/xf.jll /u/userid/links/COM/ibm/db2os390/sqlj.jll
Wenn Sie die Links verschieben, müssen Sie erneut die Berechtigungen für Ihre .jll-Dateien vergeben, um das erweiterte Bit zu aktivieren.
Gehen Sie wie folgt vor, um festzustellen, ob das erweiterte Bit aktiviert ist:
Das Berechtigungsbit enthält an der Position für das höherwertige Bit das Zeichen e. Beispiel: erwxrwxrwx.
ln -e DSNAQJLL sqlj.jll ln -e IWHXF xf.jll
Wenn für das höherwertige Bit das Zeichen l angegeben ist, und wenn Sie mit DB2 für z/OS und OS/390 Version 7 arbeiten, müssen Sie den Link mit dem folgenden Befehl erneut erstellen:
ln -e IWHXFV7 xf.jl
Java-Objekte in der Kennung einer gespeicherten Prozedur werden nur unter DB2 für z/OS und OS/390 Version 7 unterstützt. Unter DB2 für OS/390 Version 5 und Version 6 unterstützen die Umsetzungsprogramme keine Nullwerte in den verwendeten Parametern. Bei diesen Versionen werden übergebene Nullparameter als Null interpretiert. Umsetzungsprogramme für DB2 Version 5 und Version 6 verarbeiten Nullparameter als Nullzeichenfolgen.
DB2 unterstützt die SQL-Anweisung COMMIT in gespeicherten Prozeduren nur unter DB2 für z/OS und OS/390 Version 7. Mit der gespeicherten Prozedur INVERTDATA können Tabellen innerhalb der gespeicherten Prozedur gelöscht und erneut erstellt werden. Aus diesem Grund ist hier eine COMMIT-Anweisung erforderlich. IWH.INVERTDATA wird unter DB2 für OS/390 Version 5 oder Version 6 nicht unterstützt.
DB2 für z/OS und OS/390 unterstützt keine benutzerdefinierten Java-Funktionen. Aus diesem Grund wird IWH.FORMATDATE auf der S/390-Plattform nicht unterstützt.
Im Folgenden ist eine Beispielstartprozedur für gespeicherte Java-Prozeduren aufgeführt:
//DSNWLMJ PROC DB2SSN=DSN,NUMTCB=5,APPLENV=DSNWLMJ //************************************************* //* THIS PROC IS USED TO START THE WLM-ESTABLISHED SPAS * //* ADDRESS SPACE FOR THE DSNWLMJ APPLICATION ENVIRONMENT * //* 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 // DD DSN=SYS1.PP.PDSELINK,DISP=SHR // DD DSN=DSN710.SDSNEXIT,DISP=SHR // DD DSN=DSN710.SDSNLOAD,DISP=SHR // DD DSN=SYS1.SCEERUN,DISP=SHR // DD DSN=DSN.PDSE,DISP=SHR //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
In diesem Beispiel enthält die Bibliothek IWH710.SIWHPDSE die Lademodule des Umsetzungsprogramms. DSN.HPJSP.PDSE.JDBC enthält die HPJ-DLLs aus der HPJ-Konfiguration (HPJ = High Performance Java). Unter DB2 für zSeries Version 7 lautet der Name dieser Bibliothek DSN710.SDSNLOD2.SYS1.PP.PDSELINK und enthält die HPJ-Laufzeitbibliotheken. DSN.PDSE enthält Konfigurationsinformationen für HPJ. In DSN.WLMENVJ.JSPENV sind die Umgebungsvariablen gespeichert.
Im Folgenden ist ein Beispiel für eine Umgebungsvariablendatei aufgeführt:
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)
Die Mehrzahl der vom zSeries-Warehouse-Agenten generierten Nachrichten werden zur Interpretation an das Windows NT-System gesendet. In den meisten Fällen hängt die Nachrichtensprache also von der Installation ab, die für DB2 Universal Database für Windows NT gewählt wurde.
Umsetzungsprogramme bilden in diesem Zusammenhang eine Ausnahme. Bei ihnen hängt die verwendete Nachrichtensprache nicht davon ab, wie DB2 Universal Database für Windows NT installiert wurde. Der zSeries-Warehouse-Agent umfasst die folgenden Nachrichtendateien für die Umsetzungsprogramme:
Tabelle 4. NLS-Nachrichtendateien für Umsetzungsprogramme
Dateiname | Sprache |
Xf.properties_Fi_FI | Finnisch |
Xf.properties_No_NO | Norwegisch |
Xf.properties_Ru_RU | Russisch |
Xf.properties_Zh_CN | Vereinfachtes Chinesisch |
Xf.properties_Zh_TW | Traditionelles Chinesisch |
Xf.properties_Da_DK | Dänisch |
Xf.properties_De_DE | Deutsch |
Xf.properties_En_US | Amerikanisches Englisch |
Xf.properties_Es_ES | Spanisch |
Xf.properties_Fr_FR | Französisch |
Xf.properties_It_IT | Italienisch |
Xf.properties_Ja_JP | Japanisch |
Xf.properties_Ko_KR | Koreanisch |
Xf.properties_Pt_BR | Brasilianisches Portugiesisch |
Xf.properties_Sv_SE | Schwedisch |
Wenn Ihre Umsetzungsprogrammnachrichten in einer anderen Sprache als Englisch ausgegeben werden, müssen Sie eine der Dateien in Tabelle 4 auswählen und deren Inhalt in die Datei Xf.properties kopieren.
Um auf andere Datenbanksysteme als DB2 Universal Database zuzugreifen, verwendet zSeries DataJoiner. DataJoiner ermöglicht dem Agenten die Verwendung eines normalen DRDA-Datenflusses zu diesem System (DRDA = Distributed Relational Database Architecture), als ob es sich um eine DB2 Universal Database-Datenbank handeln würde. Wenn eine ODBC-Anforderung an eine Datenbankquelle abgesetzt wird, die nicht zur DB2-Produktfamilie gehört, ruft DataJoiner eine zusätzliche Codeschicht auf, um auf diese Datenbank zuzugreifen.
DataJoiner kann auf Datenbanken von Oracle, Sybase, Informix, Microsoft SQL Server, Teradata sowie auf alle anderen Datenbanken zugreifen, die über einen ODBC-Treiber verfügen, der unter Windows NT, AIX oder in der Solaris-Betriebsumgebung ausgeführt wird. Der zSeries-Agent kann auf DataJoiner als Quelle, jedoch nicht als Ziel zugreifen. Die zweiphasige Festschreibung wird von DataJoiner nicht unterstützt. Obwohl die DataJoiner-Versionen 2.1 und 2.1.1 TCP/IP als Anwendungs-Requester unterstützen, steht kein Anwendungsserver zur Verfügung. Da der zSeries-Agent einen Anwendungsserver benötigt, um TCP/IP verwenden zu können, müssen Sie für den DataJoiner-Zugriff über OS/390 oder z/OS stattdessen eine SNA-Verbindung verwenden.
Der zSeries-Warehouse-Agent kann über den ODBC-Treiber von Classic Connect auf IMS und VSAM zugreifen. Mit Classic Connect können Sie DB2-kompatible Definitionen von IMS- und VSAM-Dateien erstellen und anschließend via ODBC auf diese zugreifen. Classic Connect muss separat zum Warehouse-Agenten gekauft und installiert werden.
Der zSeries-Warehouse-Agent lädt den korrekten ODBC-Treiber abhängig davon, ob die zugehörige Anforderung an Classic Connect oder DB2 abgesetzt wurde. Wenn Sie auf eine DB2-Quelle zugreifen, lädt der Agent den ODBC-Treiber für DB2. Wird hingegen auf eine VSAM- oder IMS-Quelle zugegriffen, lädt der Agent den ODBC-Treiber von Classic Connect. Die Agentenanforderung wird daraufhin verarbeitet.
Mit Classic Connect können Sie eine einzelne Datei oder Teile einer Datei als eine oder mehrere relationale Tabellen anzeigen. Sie können die IMS- und VSAM-Daten so zuordnen, dass mit Hilfe von Classic Connect auf diese zugegriffen werden kann. Die Daten können hierbei manuell oder mit dem Microsoft Windows Classic Connect-Zuordnungsprogramm für nichtrelationale Daten zugeordnet werden.
Gehen Sie wie folgt vor, um den ODBC-Treiber von Classic Connect sowie den Warehouse-Zugriff zu definieren:
* national language for messages NL = US English * resource master file 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
Die Datei dsnaoini muss nicht aktualisiert werden, da DB2 für z/OS und OS/390 nicht über einen Treibermanager verfügt. Der Treibermanager für Classic Connect ist in den zSeries-Warehouse-Agenten integriert.
Bevor Sie mit dem Agenten Dienstprogramme ausführen können, müssen Sie APAR PQ44904 für den zSeries-Warehouse-Agenten anwenden. Bei DSNUTILS handelt es sich um eine gespeicherte Prozedur von DB2 für z/OS und OS/390, die in einer WLM- und RRS-Umgebung ausgeführt wird. Der DB2 Warehouse Manager stellt eine Schnittstelle zu DSNUTILS bereit, so dass es möglich ist, DB2-Dienstprogramme in Schritte der Data Warehouse-Zentrale zu integrieren. Mit DSNUTILS können Sie alle installierten DB2-Dienstprogramme über die benutzerdefinierte Schnittstelle für gespeicherte Prozeduren ausführen. Die Dienstprogramme LOAD, REORG und RUNSTATS von DB2 für z/OS und OS/390 verfügen über Eigenschaftsseiten, auf denen Sie die Ausführungsweise des Programms ändern können.
Zur Änderung der Dienstprogrammeigenschaften müssen Sie das gewünschte Programm im Fenster 'Prozesserstellungsprogramm' mit der rechten Maustaste anklicken und anschließend auf Merkmale klicken.
Gehen Sie wie folgt vor, um die gespeicherte Prozedur DSNUTILS zu definieren:
BIND PLAN(DSNAOCLI) PKLIST(*.DSNAOCLI.*, *.DSNUTILS.*)
Weitere Informationen zum Definieren von DSNUTILS finden Sie in der Veröffentlichung DB2 Universal Database for OS/390 Version 6 Management Tools Package.
Wenn Sie eine Tabelle kopieren wollen, indem Sie diese in eine Flachdatei entladen und anschließend diese Flachdatei wieder in eine andere Tabelle laden, müssen Sie normalerweise die Daten entladen, die Ladesteueranweisungen editieren, die beim Entladen generiert werden, und anschließend die Daten laden. Im zSeries-Warehouse-Agenten können Sie angeben, dass die Daten in eine andere Tabelle geladen werden sollen, ohne dass hierbei zwischen den Arbeitsschritten die Steueranweisungen manuell editiert werden müssen.
Gehen Sie wie folgt vor, um Daten mit dem Dienstprogramm LOAD zwischen DB2 für z/OS- und OS/390-Tabellen zu kopieren:
Im Folgenden ist ein Beispiel für die DSNUTILS-Parameter aufgeführt, die im Schritt für die Reorganisation und das Entladen verwendet werden können:
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
UTILITY_ID LOADREORG RESTART NO UTSTMT :FILE:DBVW.DSNURELD.PNCHDSN:TABLE:[DBVW].INVENTORY UTILITY_NAME LOAD RECDSN DBVW.DSNURELD.RECDSN RECDEVT SYSDA
Weiterführende Informationen zu DSNUTILS und den DB2-Dienstprogrammen, die für OS/390 oder z/OS zur Verfügung stehen, finden Sie im Handbuch DB2 for z/OS and OS/390 Utility Guide and Reference.
Mit dem zSeries-Warehouse-Agenten können Sie die Apply-Schritte bei der Datenreplikation unter Data Propagator automatisieren. Für die Replikation benötigen Sie eine Quellendatenbank sowie eine Steuer- und eine Zieldatenbank. Hierbei kann es sich um unterschiedliche oder aber um ein und dieselbe Datenbank handeln. Mit einem Erfassungsjob wird das DB2-Protokoll gelesen, um festzustellen, welche Zeilen in der Quellendatenbank hinzugefügt, aktualisiert oder geändert wurden. Der Job schreibt die ermittelten Änderungen anschließend in eine Tabelle für geänderte Daten. Daraufhin wird ein Apply-Job ausgeführt, um die Änderungen in der Zieldatenbank anzuwenden. Mit dem DB2 Warehouse Manager-Paket können Sie die Ausführung derartiger Apply-Jobs durch die Erstellung eines Replikationsschrittes automatisieren. Verwenden Sie DB2 Warehouse Manager zum Definieren des Typs für den auszuführenden Apply-Job, und führen Sie diesen anschließend aus. Hierbei müssen Sie die Bibliothek SASNLINK in die Umgebungsvariable steplib exportieren.
Die Data Warehouse-Zentrale umfasst eine JCL-Schablone zur Unterstützung der Replikationsfunktion. Wenn Sie das Apply-Programm mit Hilfe des zSeries-Warehouse-Agenten ausführen wollen, müssen Sie die Benutzereintrags- und Dateiinformationen in dieser Schablone für Ihr OS/390- oder z/OS-System ändern.
Gehen Sie wie folgt vor, um die Schablone zu ändern:
Erstellen Sie also z. B. unter STLMVS1 eine Kopie der Datei, die den Namen STLMVS1.apply.jcl trägt.
Parameter in eckigen Klammern wie z. B. [USERID] und [APPLY_PARMS] dürfen allerdings nicht geändert werden. Die eckigen Klammern stehen für die Hexadezimalzeichen X'AD' bzw. X'BD'. Wenn als TSO-Terminaltyp in der SPF-Option 0 nicht 3278A definiert ist, werden diese Werte möglicherweise als Sonderzeichen und nicht als eckige Klammern angezeigt. Dies stellt jedoch kein Problem dar, wenn X'AD' und X'BD' sowie die zwischen diesen Zeichen definierten Daten nicht geändert werden.
Im Folgenden ist die JCL-Schablone aufgeführt, die in der Data Warehouse-Zentrale enthalten ist:
//[USERID]A JOB ,MSGCLASS=H,MSGLEVEL=(1,1), // REGION=2M,TIME=1440,NOTIFY=&SYSUID //* DON'T CHANGE THE FIRST LINE OF THIS TEMPLATE. //* THE REMAINING JCL SHOULD BE MODIFIED FOR YOUR SITE. //********************************************** //* 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=* //
Zahlreiche DB2 Warehouse Manager-Komponenten wie z. B. der Server und die Protokollfunktion sowie Agenten und einige Programme der Data Warehouse-Zentrale generieren Protokolle im Protokollierungsverzeichnis, das in der Umgebungsvariablen VWS_LOGGING angegeben ist. Bei diesen Protokolldateien handelt es sich um Textdateien.
Gehen Sie wie folgt vor, um die Agentenprotokollierung in der Data Warehouse-Zentrale zu starten:
Die Trace-Funktion für den Agenten unterstützt die Stufen 0 - 4:
Stufe 1 - Ein-/Ausgangs-Trace
Stufe 2 - Stufe 1 plus Debug-Trace
Stufe 3 - Stufe 2 plus Daten-Trace
Stufe 4 - Interner Puffer-Trace
Wenn für das Tracing eine höhere Stufe als 1 definiert wird, kann dies zu Leistungsverlusten führen. Aktivieren Sie das Tracing nur zu Debug-Zwecken. Die Trace-Informationen werden in der Datei AGNTxxx.LOG, die Umgebungsinformtionen in der Datei AGNTxxx.SET gespeichert.