Natural for Db2 auf z/OS installieren

#### Search Results

Search

# Natural for Db2 auf z/OS installieren

Dieses Dokument beschreibt die Schritte zur Installation von Natural for Db2 (Produktcode NDB) auf z/OS sowie einige zugehörige Themen:

- Voraussetzungen

- Installationsdatenträger

- Installationsvorgang

- Allgemeine Installationsschritte

- Spezielle Installationsschritte für CICS

- Spezielle Installationsschritte für Com-plete

- Spezielle Installationsschritte für IMS TM

- Spezielle Installationsschritte für TSO

- Installation überprüfen

- Natural-Parameter für Natural for Db2 ändern

- Besondere Anforderungen bei Natural Tools for Db2

- Natural for Db2 Server Stub

#### Verwandte Themen:

Informationen zum Betrieb von Natural in einer Db2-Umgebung finden Sie unter Natural for Db2 in der Datenbankmanagementsystem-Schnittstellen-Dokumentation.

#### Notation vrs oder vr:

In diesem Dokument steht die Notation `vrs` oder `vr` für die jeweilige Produktversion (siehe auch Version im Glossar).

## Voraussetzungen

Die folgende Software muss installiert sein, bevor Sie Natural for Db2 installieren können:

- Natural Version 9.2.3 3 (oder höher); Sie können Natural und Natural for Db2 nicht gleichzeitig installieren.

- Software AG Editor

Siehe auch Allgemeine Voraussetzungen und Systemunterstützung und Übersicht über den Installationsvorgang.

## Installationsdatenträger

Der Installationsdatenträger enthält die folgenden Datasets, die für die Produktinstallation erforderlich sind:

Dataset-Name | Inhalt
--- | ---
`NDBvrs.LOAD` | Lademodule
`NDBvrs.SRCE` | Quellcodemodule und Makros
`NDBvrs.JOBS` | Beispiel-Installationsjobs
`NDBvrs.INPL` | Natural-Objekte einschließlich Fehlermeldungen

Kopieren Sie die Datasets in Ihre Umgebung, wie unter Datasets auf eine z/OS-Platte kopieren im Kapitel Natural auf z/OS installieren beschrieben.

## Installationsvorgang

Bevor Sie mit der Installation beginnen, sollten Sie unbedingt die Abschnitte im Kapitel Installationsverfahren und wichtige Natural-Funktionen unter z/OS lesen.

Der Installationsvorgang umfasst die folgenden Schritte:

- Allgemeine Installationsschritte

- Spezielle Installationsschritte für CICS

- Spezielle Installationsschritte für Com-plete

- Spezielle Installationsschritte für IMS TM

- Spezielle Installationsschritte für TSO

## Allgemeine Installationsschritte

In diesem Abschnitt werden die Installationsschritte beschrieben, die für alle Natural-Umgebungen gelten, in denen Natural for Db2 installiert werden kann. Schritte, die für einen bestimmten TP-Monitor zusätzlich erforderlich sind, werden in separaten Abschnitten beschrieben.

- Überlegungen im Falle eines Db2-Upgrade

- Schritt 1: Lizenzdatei für Natural for Db2 installieren

- Schritt 2: DBRM-Bibliothek für die Verwendung mit Natural for Db2 zuordnen

- Schritt 3: Ein-/Ausgabemodul NDBIOMO für Natural for Db2 generieren

- Schritt 4: NDBIOMO erstellen

- Schritt 5: DBRM NDBIOMO in ein Paket binden

- Schritt 6: Db2-Plan zur Verwendung mit Natural for Db2 erstellen

- Schritt 7: NATGWDB2 verlinken

- Schritt 8: Natural-Parametermodul erstellen

- Schritt 9: Nukleus verlinken

- Schritt 10: Neue Objekte laden

- Schritt 11: Natural for Db2 Server Stub erstellen

- Schritt 12: DBRM ROUTINEN in ein Paket binden

### Überlegungen im Falle eines Db2-Upgrade

Wenn Sie ein Upgrade auf eine neuere Db2-Version durchführen, müssen Sie Ihre aktuelle Natural for Db2-Installation nicht upgraden.

Wenn Sie ein Upgrade auf eine neuere Db2-Version durchführen und gleichzeitig auf eine neuere Natural for Db2-Version upgraden wollen, müssen Sie Folgendes beachten:

- Legen Sie das Modul `NDBIOMO` nicht mit dem Db2-Versionsparameter der neuen Db2-Version neu an, es sei denn, der New-Function-Modus ist in der neuen Db2-Version aktiviert. In diesem Fall müssen Sie die Schritte 2 bis 5 überspringen.

- Wenn der New-Function-Modus in der neuen Db2-Version aktiviert ist, müssen Sie nur dann ein neues `NDBIOMO`-Modul erstellen, wenn Sie die neuen Db2-Anweisungen verwenden möchten, die dem `NDBIOMO`-Modul für die neue Db2-Version hinzugefügt wurden. Ansonsten können Sie die Schritte 2 bis 5 auch überspringen.

### Schritt 1: Lizenzdatei für Natural for Db2 installieren

Zusätzlich zur Natural-Produktlizenzdatei ist eine Lizenzdatei erforderlich, die für jede Umgebung installiert werden muss, in der Natural for Db2 (Produktcode: NDB) ausgeführt wird. Für die Lizenzdatei `NDBvrs.LICS` siehe Installationsschritt Lizenzdatei vorbereiten, konvertieren, assemblieren und verlinken im Kapitel Natural auf z/OS installieren.

Natural for Db2 wird nur aktiviert, wenn Sie eine gültige Natural for Db2-Lizenzdatei installieren. Der Versuch, Natural for Db2 ohne eine gültige Lizenzdatei zu aktivieren, führt zu Warnungen oder Fehlern beim Start der Sitzung.

### Schritt 2: DBRM-Bibliothek für die Verwendung mit Natural for Db2 zuordnen

- Ordnen Sie einen PDS (Partioned Dataset) als DBRM (Database Request Module)-Bibliothek zu. Die Größe dieses Dataset und die Anzahl der Verzeichniseinträge hängen vom jeweiligen Standort ab (5 Spuren und 20 Verzeichnisblöcke dürften für die meisten Umgebungen ausreichend sein). Der PDS muss Fixed-Block-Record-Format und eine Record-Länge von 80 haben.

  Für diese DBRM-Bibliothek kann ein beliebiger Standard-Dataset-Name verwendet werden. Bei diesem Installationsverfahren wird jedoch davon ausgegangen, dass der Name `SAGLIB.DB2DBRM` verwendet wird.

### Schritt 3: Ein-/Ausgabemodul NDBIOMO für Natural for Db2 generieren

(Job I055, Step 1600)

1. Führen Sie den mit diesem Schritt gelieferten Standard-Natural-Batch-Job aus, um den Assembly-Quellcode für das `NDBIOMO`-Modul aus dem `NDBIOTM`-Member zu generieren. Dieser Batch-Job ruft das Natural-Programm `NDBGENI` auf, das mit dem Natural-Dienstprogramm INPL bei der Installation des Basisprodukts Natural geladen wird.

   Das Modul `NDBIOMO` ermöglicht den dynamischen Zugriff auf Db2 und enthält alle erforderlichen `EXEC-SQL`-Statements. Darüber hinaus enthält es einige spezielle SQL-Statements, die im dynamischen Modus nicht ausgeführt werden können. Siehe auch E/A-Modul NDBIOMO für die dynamische Ausführung von SQL-Statements in der Datenbankmanagementsystem-Schnittstellen-Dokumentation.

2. Ändern Sie die folgenden beiden in dem Modul `NDBGENI` enthaltenen positionsgebundenen Parameter, um sie an Ihre Anforderungen anzupassen.

   - Der erste Parameter schränkt die Verwendung von SQL-Statements auf diejenigen ein, die von einer bestimmten Db2-Version unterstützt werden. Setzen Sie diesen Parameter auf einen der folgenden Werte:

     `DB2V11` für Db2 Version 11 im New Function Mode, oder eine höhere Db2 Version.
     `DB2V13` für Db2 Version 13 im New Function Mode, oder eine höhere Db2 Version.

   - Der zweite Parameter gibt die maximale Anzahl der parallelen dynamisch vorbereiteten Db2-Statements an.

3. Überprüfen Sie den von diesem Job erstellten Ausgabebericht auf erfolgreichen Abschluss des Jobs. Außerdem zeigt ein Bedingungscode von 0 einen normalen Jobabschluss an.

### Schritt 4: NDBIOMO erstellen

(Job I055, Step 1610)

- Natural for Db2 I/O-Modul `NDBIOMO` vorkompilieren, assemblieren und verlinken.

  Der Link-Edit-Schritt erhält einen Bedingungscode von 4 wegen nicht aufgelöster Referenzen für `DSNHLI`. Dies ist normal und kann ignoriert werden.

### Schritt 5: DBRM NDBIOMO in ein Paket binden

(Job I057, Step 1620)

- Binden Sie das DBRM `NDBIOMO` in ein Paket.

### Schritt 6: Db2-Plan zur Verwendung mit Natural for Db2 erstellen

(Job I057, Step 1631 - 1634)

- Erstellen Sie die DB2-Pläne, die von Natural for DB2 im Batch-Modus, in TSO und unter CICS verwendet werden sollen.

### Schritt 7: NATGWDB2 verlinken

(Job I055, Step 1680)

- Verlinken Sie das Natural for Db2-Lademodul `NATGWDB2`.

### Schritt 8: Natural-Parametermodul erstellen

(Job I060, Steps 0010, 0015)

Erstellen Sie das Natural-Parameter-Modul für den Batch-Modus. Die in diesem Abschnitt erwähnten Makros und Parameter sind in der Parameter-Referenz-Dokumentation beschrieben.

1. Ändern Sie die Einstellungen der mit dem Natural-Parametermodul gelieferten Parameter nach Bedarf:

   - Setzen Sie die Parameter, die mit dem Makro `NTOSP` geliefert werden, um die z/OS-Batch-Schnittstelle zu konfigurieren. Eine Beschreibung dieser Parameter finden Sie beim entsprechenden dynamischen Profilparameter `OSP`.

   - Setzen Sie die für Natural for Db2 zutreffenden Parameter, die mit dem Makro `NTDB2` geliefert werden. Eine Beschreibung dieser Parameter finden Sie bei dem entsprechenden dynamischen Profilparameter `DB2`.

   Siehe auch Natural-Parameter-Änderungen für Natural for Db2.

2. Assemblieren und verlinken Sie das Natural-Parametermodul.

### Schritt 9: Nukleus verlinken

(Jobs I060, I080)

1. Verlinken Sie den umgebungsabhängigen Nukleus:

   Fügen Sie die folgenden `INCLUDE`-Anweisungen und die entsprechenden `DD`-Anweisungen zu den Verlinkungsanweisungen für den Linkage-Editor hinzu:

        INCLUDE SMALIB(nat-parm-module)
   | Natural-Parametermodul, wobei `nat-parm-module` der beim Installationsschritt Natural-Parametermodul erstellen verwendete Modulname ist.
        INCLUDE DSNLIB(DSNTIAR)
   | SQL-Fehlermeldungsmodul.
        INCLUDE SMALIB(NDBIOMO)
   | Natural for Db2 E/A-Modul, erstellt beim Installationsschritt NDBIOMO erstellen.
        INCLUDE xxxxxxxx(yyyyyyyy)
   | Umgebungsabhängige Db2-Schnittstelle (siehe unten).

   Abhängig von Ihrer Umgebung müssen Sie die entsprechende Db2-Schnittstelle `yyyyyyyy` aus der Bibliothek `xxxxxxxx` in Ihrer `INCLUDE`-Anweisung angeben, wie in der folgenden Tabelle dargestellt:

   Schnittstelle | Bibliothek | Umgebung
   --- | --- | ---
   `DSNALI` | `DSNLIB` | Unter TSO und im Batch-Modus, ohne unter der Kontrolle des DSN-Kommandoprozessors zu laufen, d.h. mit Call Attachment Facility (CAF)
   `DSNRLI` | `DSNLIB` | WLM (Workload Manager) Stored Procedure Address Space und Natural Development Server (empfohlen) Dies kann auch in TSO- und Batch-Umgebungen verwendet werden.
   `DSNELI` | `DSNLIB` | Unter TSO und im Batch-Modus, wenn unter der Kontrolle des DSN-Kommandoprozessors
   `DSNCLI` | `DFHLIB` | Unter CICS
   `DSNULI` | `DSNLIB` | Unter allen Umgebungen außer Com-plete
   `DFSLI000` | `IMSLIB` | Unter IMS TM (MPP und BMP) und im Batch-Modus unter Verwendung der Db2-Batch-Unterstützung (DSNMTV01)
   `NDBCOM` | `NDBLIB` | Unter Com-plete

2. Verlinken Sie den umgebungsunabhängigen Nukleus:

   Fügen Sie die folgende `INCLUDE`-Anweisung und die entsprechende DD-Anweisung zu den Link-Anweisungen für das Natural for Db2-Lademodul hinzu:

        INCLUDE SMALIB(NATGWDB2)

#### Alternativen

Anstatt sowohl den umgebungsabhängigen als auch den umgebungsunabhängigen Nukleus wie oben beschrieben zu verlinken, können Sie eine der folgenden Methoden verwenden:

1. Erstellen Sie einen einzigen umgebungsabhängigen Nukleus:

   Verlinken Sie alle umgebungsabhängigen Module mit allen umgebungsunabhängigen Modulen und schaffen Sie so einen einzigen, umgebungsabhängigen Nukleus.

2. Trennen Sie das Modul `NATGWDB2` (das nicht mit dem umgebungsunabhängigen Nukleus verlinkt ist):

   Benutzen Sie das Modul `NATGWDB2` als getrenntes Modul, indem Sie die Funktion Natural Resolve STATIC Addresses (RCA) verwenden.

   Sie können den Namen des beim Installationsschritt NATGWDB2 verlinken verlinkten Moduls `NATGWDB2` ändern. Wenn Sie jedoch einen anderen Namen als `NATGWDB2` verwenden, muss dieser Name als Alias-Name im Makro `NTALIAS` (siehe Parameter-Referenz-Dokumentation) im Natural-Parametermodul angegeben werden.

3. Erstellen Sie ein alternatives Natural-Parametermodul, das alle umgebungsabhängigen und umgebungsunabhängigen Natural for Db2- und Db2 for z/OS-Module enthält:

   Verlinken Sie das alternative Natural-Parametermodul zusammen mit allen Natural for Db2-Modulen (`NATGWDB2`, `NDBIOMO`) und allen Db2 for z/OS-Modulen (`DSNTIAR` und einem Db2-Schnittstellenmodul) als Natural for Db2-Nukleus `NDBNUCxx` mit `ENTRY NATPARM`.

   Sie können den Natural for Db2-Nukleus `NDBNUCxx` einsetzen, indem Sie `PARM=NDBNUCxx` als dynamischen Parameter angeben.

   Diese Methode bietet die Möglichkeit, ein neues Natural for Db2 Version `xx` in einer bestehenden Natural-Umgebung mit einer älteren Natural for Db2-Version auszuführen.

   Ein Natural for Db2-Nukleus mit einem verlinkten Db2-Schnittstellenmodul `DSNULI`, das von Db2 for z/OS Version 12 unterstützt wird, kann in allen Umgebungen außer Com-plete betrieben werden.

Das Folgende gilt für die Verlinkung eines separaten `NATGWDB2`-Moduls (Alternative 2 oben) oder eines separaten Natural-Parametermoduls (Alternative 3 oben):

TP Monitor | Erforderniss
--- | ---
CICS | Das resultierende Modul muss als PPT-Eintrag oder RDO definiert sein. PPT-Eintrag:
    DFHPPT TYPE=ENTRY,PROGRAM=module-name,PGMLANG=ASSEMBLER
Com-plete | Das resultierende Modul muss definiert sein als `RESIDENTPAGE` oder es muss sich in der LPA/(E)LPA befinden.

### Schritt 10: Neue Objekte laden

(Job I061, Step 1610)

Bevor Sie diesen Schritt ausführen, ändern Sie die `CMWKF01` `DD`-Anweisung so, dass sie auf den Dataset `NDBvrs.INPL` zeigt.

- Laden Sie die für Natural for Db2 spezifischen Natural-Objekte aus dem Dataset `NDBvrs.INPL` mit Hilfe des Natural-Dienstprogramms INPL in die Natural-Systemdatei. Die Natural-Objekte werden in die Natural-Systembibliotheken `SYSDDM`, `SYSTEM` und `SYSDB2` in der Systemdatei FNAT geladen.

  Wichtig
  Stellen Sie sicher, dass Ihre neu erstellte `SYSDB2`-Bibliothek alle notwendigen Predict-Schnittstellenprogramme enthält, die bei der Installation von Predict in `SYSDB2` geladen werden (siehe die entsprechende Predict-Dokumentation).

### Schritt 11: Natural for Db2 Server Stub erstellen

(Job I070, Steps 1604, 1606, 1608, 1610)

1. Erstellen Sie Server Stubs, um Natural Stored Procedures und Natural User-Defined Functions (UDFs) auszuführen. Natural for Db2 Server Stubs sind Schnittstellenmodule zwischen dem Db2-Datenbanksystem und dem Natural-Server. Der Server Stub muss installiert werden, um Natural Stored Procedures und benutzerdefinierte Natural-Funktionen ausführen zu können.

   Es gibt zwei Arten von Server Stubs:

   > Natural for Db2 Server Stub (Modul NDBvrSRV, Steps 1604 und 1606)

   >   Der Server Stub wird verwendet, um Natural Stored Procedures und Natural User-Defined Functions auszuführen.

   >   Die erforderlichen IBM Language Environment (LE)-Laufzeitmodule müssen mit dem Natural for Db2 Server Stub-Modul verlinkt werden. Verwenden Sie die Option `CALL` des Linkage-Editors und weisen Sie die LE-Laufzeitbibliothek als `SYSLIB` zu.

   > Natural for Db2 Startserver Stub (Modul NDBvrSTR, Steps 1608 und 1610)

   >   Der Start Server Stub wird verwendet, um die Natural-Serverumgebung(en) explizit zu starten.

   >   Die erforderlichen IBM LE-Laufzeitmodule müssen mit dem Natural for Db2 Start Server Stub-Modul verlinkt werden. Verwenden Sie die Option `CALL` des Linkage-Editors und weisen Sie die LE-Laufzeitbibliothek als `SYSLIB` zu. Binden Sie zusätzlich die Module NDBSTRP (ausgeliefert mit Natural for Db2) und `NATCONFG` (ausgeliefert mit Natural) aus `NDBvrs.LOAD` und `NATvrs.LOAD` ein.

2. Natural for Db2 Server Stubs werden aus dem Makro `NDBSTUB` generiert. Sie können generell bei allen Parametern die Standardwerte verwenden. Ändern Sie nur die Werte der Parameter, deren Standardwerte nicht Ihren Anforderungen entsprechen. Die einzelnen Parameter sind im Abschnitt Natural for Db2 Server Stub beschrieben.

3. Legen Sie die resultierenden Lademodule in eine Steplib-Bibliothek der JCL, die zur Ausführung des Adressraums der Db2 Stored Procedure verwendet wird.

4. Für Db2 UDB muss jede Natural Stored Procedure oder Natural User-Defined Function (UDF) durch eine Db2 CREATE PROCEDURE- oder Db2 `CREATE FUNCTION`-Anweisung definiert werden, wobei der Name des generierten Natural for Db2 Server Stub-Moduls `NDBvrSRV` als `EXTERNAL NAME` angegeben wird.

### Schritt 12: DBRM ROUTINEN in ein Paket binden

(Job I057, Step 1640)

- Binden Sie die DBRM-ROUTINEN in ein Paket.

  Die DBRM-ROUTINEN ist in der SAGNDBROUTINENPACK-Collection enthalten und wird mit Natural for DB2 ausgeliefert. Natural for DB2 benötigt diese Collection, um auf den DB2-Katalog zuzugreifen und die Parameterbeschreibungen von Natural Stored Procedures und Natural User-Defined Functions abzurufen.

## Spezielle Installationsschritte für CICS

Dieser Abschnitt beschreibt zusätzliche Schritte, die bei der Installation von Natural for Db2 in einer CICS-Umgebung erforderlich sind.

Stellen Sie sicher, dass Ihre Natural/CICS-Thread-Größe groß genug ist, um `DB2SIZE` zu enthalten. Wenn Sie die Natural Tools for Db2 verwenden (beschrieben in der Datenbankmanagement-Schnittstellen-Dokumentation), ist ein zusätzlicher Speicher von 8 KB erforderlich.

In diesem Abschnitt werden die folgenden Themen behandelt:

- Planauswahl durch CICS RCT-Eingabe-Threads verwenden

- Planauswahl durch dynamischen Plan-Exit verwenden

- Natural File Servers mit VSAM installieren

### Planauswahl durch CICS RCT-Eingabe-Threads verwenden

(Job I005)

Wenn Sie eine feste Zuordnung Ihres Transaktionscodes zum Db2-Plan wünschen, müssen Sie in Ihrer CICS-RCT einen zusätzlichen Eintrag hinzufügen, oder einen DB2Entry mit RDO definieren, indem Sie einen der folgenden alternativen Schritte durchführen:

- Ändern Sie Ihre RCT:

      DSNRCT TYPE=ENTRY,PLAN=plan-name,TXID=(transaction-id)

  wobei `plan-name` mit dem Namen übereinstimmen muss, der für die Erstellung des Db2-Plans für Natural for Db2 verwendet wurde: siehe Allgemeine Installationsschritte.

  Assemblieren und verlinken Sie die RCT.

- Definieren Sie einen `DB2Entry` mit RDO:

      DEFINE DB2ENTRY
        OVERTYPE TO MODIFY                                        CICS RELEASE = nnnn
        CEDA  DEFine DB2Entry(          )
         DB2Entry       : DB2ENTR
         Group          : NCI
         DEscription    :
        THREAD SELECTION ATTRIBUTES
         TRansid        : transaction-id
        THREAD OPERATION ATTRIBUTES
         ACcountrec     : None               None ! TXid ! TAsk ! Uow
         AUTHId         :
         AUTHType       : Userid             Userid ! Opid ! Group ! Sign ! TErm
                                             ! TX
         DRollback      : Yes                Yes ! No
         PLAN           : plan-name
         PLANExitname   :
         PRIority       : High              High ! Equal ! Low
         PROtectnum     : 0005               0-2000
         THREADLimit    : 0005               0-2000
         THREADWait     : Pool               Pool ! Yes ! No

`plan-name` muss mit dem Namen übereinstimmen, der für die Erstellung des Db2-Plans für Natural for Db2 verwendet wurde: siehe Allgemeine Installationsschritte.

Erläuterungen zu den Parametern finden Sie in der entsprechenden CICS-Literatur von IBM.

### Planauswahl durch dynamischen Plan-Exit verwenden

Wenn Sie die Planauswahl mit Hilfe des dynamischen Plan-Exits ausführen wollen, führen Sie folgende Schritte aus:

- Schritt 1: CICS Dynamic Plan Selection Exit Module NDBUEXT erstellen
- Schritt 2: CICS Dynamic Plan Selection Exit-Modul NDBUEXT verlinken
- Schritt 3: DB2Entry definieren

#### Schritt 1: CICS Dynamic Plan Selection Exit Module NDBUEXT erstellen

(Job I070, Step 1630)

1. Wenn Sie einen Standard-Plannamen angeben wollen, müssen Sie das Quellcodemodul `NDBUEXT` modifizieren.

   Die Beispiel-Exit-Routine `NDBUEXT` kann geändert werden, um einen Standard-Plannamen zu verwenden, wenn vor dem ersten SQL-Aufruf keiner angegeben wurde. Lesen Sie den Quellcode des Moduls `NDBUEXT`, um Einzelheiten zur Angabe eines Standard-Plannamens zu erfahren.

   Stellen Sie sicher, dass alle `NDBUEXT`-Module, die in Natural for Db2-Versionen vor Version 8.3 verwendet werden, durch das neue `NDBUEXT`-Modul ersetzt werden, das in diesem Schritt erstellt wird. Das neue `NDBUEXT`-Modul unterstützt weiterhin die in früheren Versionen von Natural for Db2 verwendeten CICS TS-Warteschlangennamen.

2. `NDBUEXT` für CICS vorkompilieren, assemblieren und linken.

   Dieser Schritt erhält einen Bedingungscode `4` wegen einer nicht aufgelösten externen Referenz für `DFHEAI0` und `DFHEI1`. Dies ist normal und kann ignoriert werden.

#### Schritt 2: CICS Dynamic Plan Selection Exit-Modul NDBUEXT verlinken

(Job I075, Step 1640)

- Verlinken Sie das aus dem vorherigen Schritt resultierende Modul `NDBUEXT` mit der CICS-Ladebibliothek und definieren Sie es über einen entsprechenden PPT-Eintrag oder RDO.

  PPT-Eintrag:

      DFHPPT TYPE=ENTRY,PROGRAM=NDBUEXT,PGMLANG=ASSEMBLER

  Erläuterungen zu den Parametern finden Sie in der entsprechenden CICS-Literatur von IBM.

#### Schritt 3: DB2Entry definieren

Führen Sie den folgenden Schritt aus.

- Definieren Sie einen `DB2Entry` mit RDO:

      DEFINE DB2ENTRY
        OVERTYPE TO MODIFY                                        CICS RELEASE = nnnn
        CEDA  DEFine DB2Entry(          )
         DB2Entry       : DB2ENTR
         Group          : NCI
         DEscription    :
        THREAD SELECTION ATTRIBUTES
         TRansid        : transaction-id
        THREAD OPERATION ATTRIBUTES
         ACcountrec     : None               None ! TXid ! TAsk ! Uow
         AUTHId         :
         AUTHType       : Userid             Userid ! Opid ! Group ! Sign ! TErm
                                             ! TX
         DRollback      : Yes                Yes ! No
         PLAN           :
         PLANExitname   : NDBUEXT
         PRIority       : High              High ! Equal ! Low
         PROtectnum     : 0005               0-2000
         THREADLimit    : 0005               0-2000
         THREADWait     : Pool               Pool ! Yes ! No

  Der Parameter `PLANExitname` muss das gleiche Programm angeben wie die `NAME`-Anweisung beim Installationsschritt CICS Dynamic Plan Selection Exit-Modul NDBUEXT verlinken.

  Alternativ oder zusätzlich können Sie das Plan-Exit-Programm `NDBUEXT` mit dem Parameter `PLANExitname` von `PLANExitname` der `DB2Conn`-Ressourcendefinition von CICS TS angeben.

### Natural File Servers mit VSAM installieren

Wenn Sie den Natural File Server mit VSAM verwenden möchten, müssen Sie die folgenden zusätzlichen Installationsschritte durchführen:

- Schritt 1: VSAM-Datensatz für den Natural File Server definieren
- Schritt 2: Dataset des Natural File Servers formatieren
- Schritt 3: CICS-Tabelle erstellen
- Schritt 4: CICS neu starten

#### Schritt 1: VSAM-Datensatz für den Natural File Server definieren

(Job I008, Step 1610)

- Geben Sie die Größe und den Namen des VSAM-RRDS an, der als Natural File Server verwendet werden soll (siehe auch Vorbereitungen für die Verwendung des File Server in der Datenbankmanagementsystem-Schnittstellen-Dokumentation).

#### Schritt 2: Dataset des Natural File Servers formatieren

(Job I075, Step 1610)

- Geben Sie die fünf Eingabeparameter an, die für die Aufbereitung des Natural File Server Dataset erforderlich sind (siehe auch Vorbereitungen für die Verwendung des File Server in der Datenbankmanagementsystem-Schnittstellen-Dokumentation).

#### Schritt 3: CICS-Tabelle erstellen

1. Fügen Sie einen zusätzlichen FCT-Eintrag hinzu, der für den Natural File Server und die Db2-Komponenten von Natural gemäß dem folgenden Beispiel erforderlich ist:

       CMFSERV  DFHFCT TYPE=DATASET,                                          *
                        ACCMETH=VSAM ,                                        *
                        BUFND=5,                                              *
                        BUFNI=4,                                              *
                        DATASET=CMFSERV,                                      *
                        DISP=SHR,                                             *
                        DSNAME=SAGLIB.NCIDB2.SERVER,                          *
                        FILSTAT=(ENABLED,CLOSED),                             *
                        JID=NO,                                               *
                        LOG=NO,                                               *
                        LSRPOOL=NONE,  1-8 ONLY FOR XA; NONE                  *
                        RECFORM=(FIXED,BLOCKED),                              *
                        RSL=PUBLIC,                                           *
                        SERVREQ=(ADD,UPDATE,DELETE,BROWSE),                   *
                        STRNO=4

2. Assemblieren und verlinken Sie die CICS-Tabelle.

#### Schritt 4: CICS neu starten

- Ein Neustart von CICS ist aufgrund des zusätzlichen, im vorherigen Schritt angegebenen FCT-Eintrags erforderlich.

## Spezielle Installationsschritte für Com-plete

Unter Com-plete wird das Installationsverfahren für Natural for Db2 mit der Anpassung Ihrer Com-plete-Umgebung fortgesetzt.

Stellen Sie sicher, dass die für Db2 erforderlichen Änderungen in Ihrer Com-plete-Umgebung vorgenommen wurden (siehe den entsprechenden Abschnitt in der Com-plete-Dokumentation).

## Spezielle Installationsschritte für IMS TM

In diesem Abschnitt werden die zusätzlichen Schritte beschrieben, die für die Installation von Natural for Db2 in einer IMS TM-Umgebung erforderlich sind.

Stellen Sie sicher, dass der Thread Ihrer Natural IMS TM-Schnittstelle groß genug ist, um die `DB2SIZE` aufzunehmen. Wenn Sie die Natural Tools for Db2 verwenden (beschrieben in der Datenbankmanagementsystem-Schnittstellen-Dokumentation), ist ein zusätzlicher Speicherplatz von 8 KB erforderlich.

- Db2-Pläne einbinden

- Planauswahl mit IMS TM Resource Translation Table verwenden

- Natural File Server mit VSAM installieren

### Db2-Pläne einbinden

(Job I055, Steps 1631, 1632, 1633, 1634 for IMS MPP konversationell, IMS BMP, IMS MPP nicht konversationell, OBMP)

- Erstellen Sie den Db2-Plan, der von Natural for Db2 in allen von Natural unterstützten IMS TM-Umgebungen verwendet werden soll.

### Planauswahl mit IMS TM Resource Translation Table verwenden

Wenn der Name (oder ein `ALIAS`) Ihres umgebungsabhängigen Nukleus nicht mit dem Namen Ihres Db2-Plans übereinstimmt oder wenn Sie denselben Db2-Plan für alle IMS TM-Umgebungen verwenden möchten, müssen Sie einen Resource Translation Table (RTT) verwenden.

- IMS TM RTT ändern, assemblieren und verlinken:

  Fügen Sie in Ihrer RTT ein zusätzliches `DSNMAPN`-Makro wie folgt hinzu (weitere Parameter finden Sie in der entsprechenden Db2-Literatur von IBM):

  `DSNMAPN`-Makro:

      DSNMAPN APN=load-module,PLAN=plan-name

  wobei `load-module` der umgebungsabhängige Nukleus ist (d.h. das IMS TM-Anwendungsprogramm) und `plan-name` derselbe ist, der auch beim Einbinden der Db2 Pläne verwendet wird.

### Natural File Server mit VSAM installieren

Beachten Sie, dass Datenbankschleifen nicht über Terminal-Ein- und Ausgaben hinweg fortgesetzt werden können, wenn Sie keinen Natural File Server verwenden.

Wenn Sie den Natural File Server mit VSAM verwenden möchten, führen Sie die folgenden zusätzlichen Installationsschritte durch.

- Schritt 1: VSAM-Dataset für den Natural File Server definieren
- Schritt 2: Dataset des Natural File Servers formatieren
- Schritt 3: JCL für die MPP-Region aktualisieren
- Schritt 4: Die von der Natural IMS TM-Schnittstelle verwendete MPP-Region neu starten

#### Schritt 1: VSAM-Dataset für den Natural File Server definieren

(Job I008, Step 1600)

- Geben Sie die Größe und den Namen des VSAM RRDS an, der als Natural File Server verwendet werden soll (siehe auch Vorbereitungen für die Verwendung des File Server in der Datenbankmanagementsystem-Schnittstellen-Dokumentation).

#### Schritt 2: Dataset des Natural File Servers formatieren

(Job I075, Step 1600)

- Geben Sie die fünf Eingabeparameter an, die für die Formatierung des Natural File Server-Dataset erforderlich sind (siehe auch Vorbereitungen für die Verwendung des File Server in der Datenbankmanagementsystem-Schnittstellen-Dokumentation).

#### Schritt 3: JCL für die MPP-Region aktualisieren

- Fügen Sie die `DD`-Anweisung `CMFSERV` ein, um den Dataset des Natural File Server zu definieren.

- Erhöhen Sie den Parameter `REGION`, falls erforderlich.

#### Schritt 4: Die von der Natural IMS TM-Schnittstelle verwendete MPP-Region neu starten

- Starten Sie Ihre MPP-Region wegen der zusätzlichen DD-Anweisung neu.

## Spezielle Installationsschritte für TSO

Dieser Abschnitt beschreibt die zusätzlichen Installationsschritte, die in einer TSO-Umgebung erforderlich sind, wenn Sie den Natural File Server mit VSAM verwenden möchten.

- Schritt 1: NDBFSRV in NTTSOP ändern

- Schritt 2: VSAM-Datensatz für den Natural File Server definieren

- Schritt 3: Dataset des Natural File Servers formatieren

### Schritt 1: NDBFSRV in NTTSOP ändern

- Setzen Sie den Schlüsselwort-Subparameter `NDBFSRV` (siehe Parameter-Referenz-Dokumentation) im `NTTSOP`-Makro auf `ON` und assemblieren und verlinken Sie Ihre Natural TSO-Schnittstelle neu.

### Schritt 2: VSAM-Datensatz für den Natural File Server definieren

####

(Job I008, Step 1620)

- Geben Sie die Größe und den Namen des VSAM RRDS an, der als Natural File Server verwendet werden soll (siehe auch Vorbereitungen für die Verwendung des File Server in der Datenbankmanagementsystem-Schnittstellen-Dokumentation).

### Schritt 3: Dataset des Natural File Servers formatieren

(Job I075, Step 1620)

- Geben Sie die fünf Eingabeparameter an, die für die Formatierung des Natural File Server Dataset erforderlich sind (siehe auch Vorbereitungen für die Verwendung des File Server in der Datenbankmanagementsystem-Schnittstellen-Dokumentation).

## Installation überprüfen

Dieser Abschnitt enthält Beispiel-Batch-Jobs und beschreibt Online-Methoden zur Überprüfung der erfolgreichen Installation von Natural for Db2.

- Batch Natural for Db2 unter CAF testen - Job NDBBATCA

- Batch Natural for Db2 unter DSN prüfen - Job NDBBATTB

- DSNMTV01 testen - Job NDBMTV01

- TSO Natural for Db2 unter CAF testen - CLIST NDBCAF

- TSO Natural for Db2 unter DSN testen - CLIST NDBTSO

- Online-Überprüfungsmethoden

### Batch Natural for Db2 unter CAF testen - Job NDBBATCA

`NDBBATCA` enthält eine Beispiel-JCL zum Testen von Natural for Db2 im Batch-Modus unter Verwendung der CAF-Schnittstelle (Call Attachment Facility).

Ändern Sie die Beispiel-JCL entsprechend Ihren Anforderungen.

Vor dem ersten SQL-Aufruf müssen Sie `NATPLAN` aufrufen, um den Plan explizit zuzuordnen. Der Name des Plans muss mit dem Namen übereinstimmen, der beim Installationsschritt Db2-Plan zur Verwendung mit Natural for Db2 erstellen verwendet wurde. `NATPLAN` kann bearbeitet werden, um die entsprechende Db2-Subsystemkennung (ID) anzugeben.

### Batch Natural for Db2 unter DSN prüfen - Job NDBBATTB

NDBBATTB enthält eine Beispiel-JCL zum Testen von Natural for Db2 im Batch-Modus unter Verwendung des DSN-Kommandoprozessors. Ändern Sie die Beispiel-JCL entsprechend Ihren Anforderungen.

Der Name des Plans muss mit dem Namen übereinstimmen, der beim Installationsschritt Db2-Plan zur Verwendung mit Natural for Db2 erstellen verwendet wurde. Erläuterungen zu den -Kommandos `DSN` und RUN finden Sie in der entsprechenden IBM-Literatur für Db2/TSO- und Batch-Benutzer.

### DSNMTV01 testen - Job NDBMTV01

`NDBMTV01` enthält eine Beispiel-JCL zur Ausführung von Natural unter Nutzung der Db2-Batch-Unterstützung.

Ändern Sie die Beispiel-JCL, um sie an Ihre Anforderungen anzupassen.

Der Name des Plans muss mit dem Namen übereinstimmen, der beim Installationsschritt Db2-Plan zur Verwendung mit Natural for Db2 erstellen verwendet wurde.

### TSO Natural for Db2 unter CAF testen - CLIST NDBCAF

Um die TSO-Installation von Natural for Db2 unter CAF (Call Attachment Facility) zu testen, können Sie folgende Schritte durchführen:

1. #### CLIST NDBCAF anpassen

   (Job I070, Step 240C)

   Ändern Sie die Bibliotheks- und Programmnamen in der CLIST `NDBCAF` entsprechend Ihren Anforderungen. Wenn Sie den Natural File Server nicht verwenden, müssen Sie die Anweisungen `ALLOC` und `FREE` für `CMFSERV` entfernen.

2. #### Natural aufrufen

   Rufen Sie Natural auf, indem Sie die im vorherigen Schritt angepasste CLIST ausführen. Vergewissern Sie sich, dass auf Db2-Tabellen zugegriffen werden kann und dass Plan-Switching möglich ist.

   Vor dem ersten SQL-Aufruf müssen Sie `NATPLAN` aufrufen, um den Plan explizit zuzuordnen. Der Name des Plans muss mit dem Namen übereinstimmen, der beim Installationsschritt Db2-Plan zur Verwendung mit Natural for Db2 erstellen verwendet wurde. `NATPLAN` kann bearbeitet werden, um die entsprechende Db2-Subsystemkennung (ID) anzugeben.

### TSO Natural for Db2 unter DSN testen - CLIST NDBTSO

Sie können folgende Schritte durchführen, um die TSO-Installation von Natural for Db2 unter DSN zu testen:

1. #### CLIST NDBTSO anpassen

   (Job I070, Step 240B)

   Ändern Sie die Subsystemkennung sowie die Bibliotheks-, Plan- und Programmnamen in der CLIST `NDBTSO` entsprechend Ihren Anforderungen. Wenn Sie den Natural File Server nicht verwenden, müssen Sie die `ALLOC`- und `FREE`-Anweisungen für `CMFSERV` entfernen.

2. #### Natural aufrufen

   Rufen Sie Natural auf, indem Sie die im vorherigen Schritt erstellte CLIST ausführen. Stellen Sie sicher, dass auf Db2-Tabellen zugegriffen werden kann. Der Name des Plans muss mit dem Namen übereinstimmen, der in Db2-Pläne binden verwendet wird. Erläuterungen zu den Kommandos `DSN` und `RUN` finden Sie in der entsprechenden IBM-Literatur für Db2/TSO- und Batch-Benutzer.

### Online-Überprüfungsmethoden

Sie können die erfolgreiche Installation von Natural for Db2 online überprüfen, indem Sie entweder SQL Services benutzen oder DEM2-Beispielprogramme verwenden.

- SQL Services verwenden
- DEM2*-Beispielprogramme verwenden

#### SQL Services verwenden

Um die erfolgreiche Installation von Natural for Db2 zu überprüfen, können Sie die Funktion SQL Services (NDB/NSQ) (Beschreibung siehe Datenbankmanagement-Schnittstellen-Dokumentation) des Natural-Dienstprogramms SYSDDM verwenden:

1. Rufen Sie Natural auf.

2. Rufen Sie das Dienstprogramm SYSDDM auf.

3. Geben Sie im SYSDDM-Hauptmenü den Funktionscode `B` ein, um die SQL Services (NDB/NSQ) aufzurufen.

4. Geben Sie den Funktionscode `S` ein, um alle Db2-Tabellen auszuwählen.

   Die Kommunikation zwischen Natural und Db2 funktioniert, wenn alle vorhandenen Db2-Tabellen angezeigt werden.

   Generieren Sie für eine der Tabellen ein Natural-DDM, wie im Abschnitt DDM aus einer SQL-Tabelle generieren - Funktion: Generate DDM from an SQL Table in der Datenbankmanagementsystem-Schnittstellen-Dokumentation beschrieben.

5. Nachdem Sie ein DDM generiert haben, können Sie mit einem einfachen Natural-Programm auf die entsprechende Db2-Tabelle zugreifen, wie im folgenden Beispiel gezeigt:

       DEFINE DATA
       01 view-name OF ddm-name
       02 field
       ...
       END-DEFINE
       FIND view-name WITH field = value
         DISPLAY field
       END-FIND
       END

   wobei:
   `view-name` eine Datensicht (View) des DDM `ddm-name` ist,
   `field` ein DDM-Feld ist,
   `value` der Suchwert ist, der für das Feld verwendet werden soll.

Wenn Sie die Meldung NAT3700 erhalten, können Sie das Natural-Systemkommando `SQLERR` eingeben, um den entsprechenden SQL-Returncode anzuzeigen. `SQLERR` ist in der Systemkommandos-Dokumentation beschrieben.

#### DEM2*-Beispielprogramme verwenden

Um Ihre Installation zu überprüfen und zu testen, können Sie auch die `DEM2*`-Beispielprogramme in der Natural-Systembibliothek `SYSDB2` verwenden, die auf dem Installationsdatenträger enthalten ist.

Sie können mit `DEM2CREA` eine Db2-Tabelle anlegen und dann mit dem Natural-Dienstprogramm SYSDDM das entsprechende DDM erstellen. Mit `DEM2STOR` können Sie Daten in der erstellten Tabelle speichern und mit `DEM2FIND` oder `DEM2SEL` Daten aus der Tabelle abrufen. Sie können die Tabelle auch mit dem Programm `DEM2DROP` löschen.

## Natural-Parameter für Natural for Db2 ändern

In diesem Abschnitt werden die folgenden Themen behandelt:

- Natural-Profilparameter-Einstellungen

- Performance-Überlegungen beim DB2SIZE-Parameter

### Natural-Profilparameter-Einstellungen

Passen Sie das Natural-Parametermodul an Ihre Anforderungen an. Die in diesem Abschnitt erwähnten Natural-Parameter sind in der Parameter-Referenz-Dokumentation beschrieben.

> DB2SIZE-Parameter

>   Geben Sie den Profilparameter `DB2SIZE` an:

>       DB2SIZE=nn

>   `DB2SIZE` gibt die Größe des Arbeitsbereichs an, der für die Verarbeitung von SQL-Anfragen verwendet wird. Er muss auf mindestens 6 KB eingestellt werden.

>   Die Einstellung von `DB2SIZE` hängt auch davon ab, ob Sie den Natural File Server verwenden oder nicht.

>   Wenn der Natural File Server nicht verwendet wird, kann die Einstellung nach der folgenden Formel berechnet werden:

>       ((1064 + n1 * 48 + n2 * 120) + 1023) / 1024 KB

>   Wenn der Natural File Server verwendet wird, kann die Einstellung nach folgender Formel berechnet werden:

>       ((1160 + n1 * 48 + n2 * 160 + n3 * 8) + 1023) / 1024 KB

>   Die Variablen `n1`, `n2` und `n3` entsprechen den folgenden Werten:

>   `n1` | Anzahl der Statements für den dynamischen Zugriff, wie als zweiter Parameter im Installationsschritt Natural for Db2 I/O Modul NDBIOMO generieren angegeben.
>   `n2` | Maximale Anzahl der verschachtelten Datenbankschleifen, wie mit dem Parameter `MAXLOOP` im Makro `NTDB2` angegeben
>   `n3` | Maximale Anzahl der Natural File Server-Blöcke, die pro Benutzer zugewiesen werden sollen, angegeben als fünfter Parameter in Job I075, Schritt 1620, oder als `EBPMAX`-Parameter im `NTDB2`-Makro, wenn Sie sich entschieden haben, den Software AG Editor Buffer Pool als Natural File Server zu verwenden.

>   Der Parameter `DB2SIZE` kann auch dynamisch zu Beginn einer Natural-Sitzung angegeben werden.

>   Wichtig
>   Vergewissern Sie sich, dass Sie auch die für den Software AG Editor erforderlichen Natural-Parameter hinzugefügt haben; siehe die entsprechende Installationsbeschreibung im Kapitel Software AG Editor installieren.

> Makro NTDB

>   Geben Sie im Makro `NTDB` den Datenbanktyp Db2 und eine Liste von DBIDs (Datenbankkennungen) an. Alle Natural DDMs, die sich auf eine Db2-Tabelle beziehen, müssen mit einer DBID aus dieser Liste katalogisiert werden. Die DBID kann eine beliebige Zahl zwischen `1` und `65535` sein. Für die meisten Umgebungen ist eine DBID (normalerweise `250`) für den Datenbanktyp Db2 ausreichend.

>   Die Db2 DBIDs können auch dynamisch zu Beginn einer Natural-Sitzung mit Hilfe des Profilparameters `DB` festgelegt werden.

>   Wichtig
>   Stellen Sie sicher, dass alle Db2 DDMs, die beim Katalogisieren eines bestimmten Programms verwendet werden, eine gültige Db2 DBID haben. Stellen Sie außerdem sicher, dass die im `NTDB`-Makro für Db2 ausgewählten DBIDs nicht mit DBIDs in Konflikt stehen, die für andere Datenbanksysteme ausgewählt wurden.

>   Die DBID für SQL/DS, die beim Katalogisieren eines Natural-Programms verwendet wird, muss nicht in der NTDB-Liste der DBIDs enthalten sein, die beim Ausführen dieses Programms verwendet werden. Bei der Ausführung bestehender Natural-Programme ist die DBID 250 daher nicht zwingend erforderlich. Es folgen zwei Beispiele für NTDB-Makros:

>       NTDB DB2,250

>       NTDB DB2,(200,250,251)

> Makro NTDB2

>   Setzen Sie die Schlüsselwort-Subparameter im Makro `NTDB2` entsprechend Ihren Anforderungen.

>   Diese Schlüsselwort-Subparameter können auch dynamisch zu Beginn einer Natural-Sitzung mit Hilfe des Profilparameters `DB2` angegeben werden.

> Makro NTLFILE

>   Setzen Sie den Profilparameter `LFILE` im Makro `NTLFILE`, um eine logische DBID (Datenbankkennung) anzugeben, die sich auf den Datenbanktyp Db2 bezieht:

>       NTLFILE 100,250,1

>   Dies ist für die Verwendung von ISQL oder den Aufruf von `NDBISQL` mit Natural for Db2 erforderlich.

>   Zu Beginn einer Natural-Sitzung kann auch dynamisch der Profilparameter `LFILE` angegeben werden.

### Performance-Überlegungen beim DB2SIZE-Parameter

Während der Ausführung eines SQL-Statements wird dynamisch Speicher zugeordnet, um die SQLDA zur Übergabe der Host-Variablen an Db2 zu erstellen.

In früheren Natural for Db2-Versionen wurde dieser Speicher immer vom TP-Monitor oder dem Betriebssystem bezogen. Aus Performance-Gründen wird nun zunächst versucht, den Speicherbedarf durch freien Platz im Natural for Db2-Puffer (DB2SIZE) zu decken. Wenn in diesem Puffer nicht genügend Platz vorhanden ist, wird der TP-Monitor oder das Betriebssystem aufgefordert, zusätzlichen Speicherplatz bereitzustellen.

Sie können GETMAIN-Anforderungen vermeiden, indem Sie `DB2SIZE` auf einen Wert setzen, der größer ist als der mit den Formeln im Abschnitt DB2SIZE-Parameter berechnete Wert.

Abhängig vom SQL-Ausführungsmodus und von der Verwendung des Natural File Servers kann der zusätzliche Speicherbedarf (in Bytes) wie folgt berechnet werden:

- Dynamischer Modus
- Statischer Modus
- Speicherplatzbedarf für den Natural File Server
- Berechnungsbeispiel für den dynamischen Modus ohne Verwendung des Natural File Servers
- Überlegungen zu VARCHAR-Feldern

#### Dynamischer Modus

- Bei sendenden Feldern:

      80 + n * 56

  Bei sendenden Feldern einschließlich LOB-Spalten:

      80 + 2 * n * 56

  wobei `n` die Anzahl der sendenden Felder in einem SQL-Statement ist.

  Der Speicher wird unmittelbar nach der Ausführung des SQL-Statements wieder freigegeben.

- Bei empfangenden Feldern (d.h. mit Variablen der `INTO`-Klausel (siehe `INTO`-Klausel (into-clause) eines `SELECT`-Statements):

      80 + n * 56 + 24 + n * 2

  Bei empfangenden Feldern einschließlich LOB-Spalten:

      80 + 2 * n * 56 + 24 + n * 2

  wobei `n` die Anzahl der empfangenden Felder in einem SQL-Statement ist.

  Der Speicherplatz bleibt bis zum Beenden der Schleife zugeordnet.

#### Statischer Modus

- Bei sendenden Feldern:

      80 + n * 24

  Bei sendenden Feldern einschließlich LOB-Spalten:

      80 + 2 * n * 56

  wobei `n` die Anzahl der sendenden Felder in einem SQL-Statement ist.

  Der Speicher wird unmittelbar nach der Ausführung des SQL-Statements wieder freigegeben.

- Bei empfangenden Feldern (d.h. mit Variablen der `INTO`-Klausel (siehe `INTO`-Klausel (into-clause) eines `SELECT`-Statements):

      80 + n * 24 + 24 + n * 2

  Bei empfangenden Feldern einschließlich LOB-Spalten:

      80 + 2 * n * 56 + 24 + n * 2

  wobei `n` die Anzahl der empfangenden Felder in einem SQL-Statement ist.

  Der Speicherplatz bleibt bis zum Beenden der Schleife zugeordnet.

#### Speicherplatzbedarf für den Natural File Server

Bei Verwendung des Natural File Servers wird für jede Datenbankschleife, die positionierte `UPDATE`- und/oder `DELETE`-Statements enthält, zusätzlicher Speicherplatz benötigt.

Für jede dieser Schleifen wird ein Puffer zugewiesen, um den Inhalt aller in der `INTO`-Klausel enthaltenen Empfangsfelder zu speichern (siehe into-clause). Die Größe dieses Puffers entspricht also der Gesamtlänge aller empfangenden Felder:

    20 + 4 + sum (length (v1), ..., length (vn))

wobei `v1 ... vn` sich auf die in der `INTO`-Klausel enthaltenen Variablen bezieht.

Der Puffer bleibt bis zum Beenden der Schleife zugeordnet.

#### Berechnungsbeispiel für den dynamischen Modus ohne Verwendung des Natural File Servers

Wenn Sie für beide Variablen (`n1` und `n2`) den Standardwert 10 verwenden, beträgt der berechnete `DB2SIZE`-Wert 2208 Byte. Wenn Sie jedoch stattdessen einen `DB2SIZE`-Wert von 20 KB angeben, beträgt der verfügbare Platz für dynamisch zugewiesenen Speicher 18272 Byte, d. h. es steht genügend Platz für bis zu 325 sendende Felder oder 313 empfangende Felder zur Verfügung.

Da der Platz für empfangende Felder bis zur Beendigung einer Datenbankschleife zugeordnet bleibt, wird die Anzahl der Felder, die innerhalb einer solchen Schleife verwendet werden können, entsprechend verringert. Wenn Sie zum Beispiel 200 Felder abfragen, können Sie etwa 110 Felder innerhalb der Schleife aktualisieren.

#### Überlegungen zu VARCHAR-Feldern

Bei der Verwendung von `VARCHAR`-Feldern (d. h. Feldern, die entweder ein zugehöriges L@-Feld in der Natural-Datensicht (View) oder eine explizite `LINDICATOR`-Klausel enthalten) wird dynamisch zusätzlicher Speicherplatz zugeordnet, wenn das `L@`- oder `LINDICATOR`-Feld nicht direkt vor dem entsprechenden Basisfeld angegeben wird. Geben Sie daher diese Felder immer vor ihren Basisfeldern an.

## Besondere Anforderungen bei Natural Tools for Db2

Beachten Sie die folgenden Anforderungen und Empfehlungen für die Verwendung der Natural Tools for Db2 (Beschreibung siehe Datenbankmanagement-Schnittstellen-Dokumentation).

- Retrieval- und Explain-Funktionen

- LISTSQL- und Explain-Funktionen

### Retrieval- und Explain-Funktionen

Um unabhängig von Db2-Versionen zu sein, wurden die Retrieval- und Explain-Funktionen der Natural Tools for Db2 so konzipiert, dass sie nicht direkt auf die Db2-Katalogtabellen zugreifen, sondern auf identische Tabellen, die durch den Erstellernamen `SYSSAG` qualifiziert sind.

Bevor Sie also die Retrieval- oder Explain-Funktionen verwenden können, müssen Sie diese Tabellen anlegen. Die `SYSSAG`-Tabellen müssen dieselben Spalten haben wie die Db2-Katalogtabellen und sie müssen als `ALIAS`, `VIEW` oder `TABLE` erstellt werden.

Sie können den Beispiel-SQLCODE verwenden, der zum Erstellen dieser Tabellen im Member `DEMSQL4` in der Natural-Systembibliothek `SYSDB2` bereitgestellt wird. Standardmäßig wird ein `ALIAS SYSSAG.xxx` für die entsprechende `SYSIBM`-Tabelle erstellt.

Für einige Katalogtabellen sind keine Indizes definiert. Aus Performance-Gründen sollten Sie erwägen, Kopien dieser Tabellen mit entsprechenden Indizes zu erstellen.

Wir empfehlen Ihnen, mit Kopien der Katalogtabellen für die folgenden Tabellen zu arbeiten:

`SYSCOLAUTH`
`SYSDBRM`
`SYSFOREIGNKEYS`
`SYSINDEXPART`
`SYSKEYS`
`SYSSTMT`
`SYSSYNONYMS`
`SYSTABLEPART`
`SYSVIEWS`

Die erforderlichen `CREATE TABLE`- und `CREATE INDEX`-Anweisungen sind als Kommentare in dem Beispiel-SQL-Member `DEMSQL4` enthalten. Darüber hinaus enthält `DEMSQLUP` Beispiel-SQLCODE zum Aktualisieren der Daten in den Kopien der Katalogtabellen.

Für jede andere Tabelle empfehlen wir, einen `ALIAS` oder eine `VIEW` anzulegen, der bzw. die auf die entsprechende `SYSIBM`-Tabelle zeigt.

Anmerkung
Die Beispiel-SQL-Member können mit dem `ISQL`-Teil von `SYSDB2` ausgeführt werden. Mit `ISQL` können Sie SQL-Member aus der Natural-Systembibliothek `SYSDB2` lesen. Sie können ein SQL-Member in einer beliebigen anderen Bibliothek speichern, indem Sie mit dem Kommando `LIBRARY MYLIB` aus dem `ISQL`-Eingabebildschirm in eine andere Bibliothek wechseln und das SQL-Member dort speichern. In der Bibliothek `SYSDB2` können Sie keine SQL-Member speichern.

### LISTSQL- und Explain-Funktionen

Diese Funktionen greifen auf Db2 `PLAN_TABLEs` zu. Sie können diese Funktionen nur verwenden, wenn eine `PLAN_TABLE` für Ihre SQLID existiert. Das Layout der `PLAN_TABLE` finden Sie in der Db2-Literatur von IBM zum Kommando `EXPLAIN`.

Wir empfehlen Ihnen, einen Index für die folgenden Spalten der `PLAN_TABLE` zu erstellen:

`APPLNAME`
`PROGNAME`
`COLLID`
`QUERYNO`
`TIMESTAMP`
`DESC`
`QBLOCKNO`
`PLANNO`
`MIXOPSEQ`

## Natural for Db2 Server Stub

Besondere Anforderungen bei Natural Tools for Db2

Ein Natural for Db2 Server Stub ist ein Schnittstellenmodul, das für die Kommunikation zwischen dem Db2-Datenbanksystem und dem Natural-Server benötigt wird. Das Server-Stub-Modul bestimmt eine Natural-Serverumgebung, richtet sie ein und ruft sie auf, damit Natural Stored Procedures und Natural User-Defined Functions ausgeführt werden können.

Wie unter Installationsvorgang erwähnt, gibt es zwei Arten von Server Stubs: den Natural for Db2 Start Server Stub (STR) und den Natural for Db2 Server Stub (SRV). Beide Stubs werden aus dem Makro `NDBSTUB` generiert.

- Natural for Db2 Start Server Stub

- Natural for Db2 Server Stub angeben

- JCL-Prozedur

- Makro NDBSTUB

### Natural for Db2 Start Server Stub

Der Natural for Db2 Start Server Stub wird für die Einrichtung der gewünschten Natural-Server-Umgebungen verwendet. Der Start Server Stub muss das Hauptausführungsprogramm im Stored Procedure Address Space (SPAS) sein. Nachdem der Startserver-Stub die Natural-Server-Umgebungen eingerichtet hat, übergibt er die Kontrolle an das entsprechende Db2-Programm (`DSNX9WLM` für WLM SPAS und `DSNX9STP` für Db2 SPAS). Wenn SPAS beendet wird, gibt das Db2-Programm die Kontrolle an den Start Server Stub zurück. Der Start Server Stub stoppt die Natural-Server-Umgebungen und gibt die Kontrolle an das Betriebssystem zurück.

Der Natural for Db2 Start Server Stub liest die Namen und Parameter des zu startenden Natural-Servers aus dem Dataset `CMSRVIN`. `CMSRVIN` muss mit dem `DD`-Namen `CMSRVIN` angegeben werden.

Der Dataset `CMSRVIN` ist eine sequenzielle Datei, die alle zum Starten der gewünschten Natural-Server erforderlichen Informationen enthält. Für jeden Server, der gestartet werden soll, muss ein `START`-Eintrag angegeben werden. Die für die `START`-Einträge verwendeten Parameter sind identisch mit den Parametern, die für das Makro `NDBSTUB` gelten. Schließen Sie den Inhalt jedes `START`-Eintrags in Klammern ein und grenzen Sie Kommentare durch die folgenden Zeichen ab: `/*` und `*/`.

#### Beispiel für START-Einträge:

    START=(SERVER=NDBvrSRV,NATURAL=NATBATvr,CMPRMIN=CMPRMIN,
            CMPRINT=CMPRINT,CMTRACE=CMTRACE,THREADSIZE=768,
            THREADNUMBER=2,TRACE=ON)
     START=(SERVER=WDBvrSRV,NATURAL=NATBATvr,CMPRMIN=CMPRMIN,
            CMPRINT=CMPRINT,CMTRACE=CMTRACE,THREADSIZE=768,
            THREADNUMBER=2,TRACE=ON)
    /*  START=(SERVER=QEvrsSRV,NATURAL=NATBATvr,CMPRMIN=QAPARM, */
    /*        CMPRINT=CMPRINT,CMTRACE=CMTRACE,THREADSIZE=700, */
    /*        THREADNUMBER=2,TRACE=OFF) */

Wenn der Start Server Dataset fehlt oder nicht zugewiesen wurde, startet der Start Server Stub eine Natural Server-Umgebung mit den Parametern, die sich aus den für den Start Server Stub selbst definierten Parametern ergeben.

### Natural for Db2 Server Stub angeben

Der Natural for Db2 Server Stub ist die Verbindung zwischen Db2 und Natural Stored Procedures oder Natural User-Defined Functions (Natural UDFs). Geben Sie den Natural for Db2 Server Stub als `EXTERNAL NAME` in der Tabellenzeile `SYSIBM.SYSROUTINES` an, die auf die Natural Stored Procedure oder Natural UDF verweist. Der Server Stub wird von Db2/WLM gestartet, wenn die Natural Stored Procedures oder Natural UDFs aufgerufen werden. Der Natural for Db2 Server Stub erzeugt eine Natural-Sitzung in der Natural-Serverumgebung und ruft das Natural-Subprogramm auf, das die Natural Stored Procedure oder die Natural UDF enthält.

Eine Natural-Sitzung, die für die Ausführung einer Natural Stored Procedure angelegt wurde, wird beendet, wenn das entsprechende Natural-Subprogramm endet und die Kontrolle an Db2 und den aufrufenden Client zurückgeht.

Eine Natural-Sitzung, die für die Ausführung einer Natural UDF erstellt wurde, bleibt für mehrere Funktionsaufrufe aktiv, wenn das Attribut `PARALLEL` auf `D` und das Attribut `FINAL CALL` auf `Y` gesetzt ist. Die für eine Natural UDF-Funktion aufgerufene Sitzung wird vom Server Stub beendet, wenn er einen Beendigungsaufruf erkennt.

### JCL-Prozedur

Die JCL-Prozedur des Stored Procedure Address Space (SPAS) muss den Natural for Db2 Start Server Stub als Programm in der `EXEC`-Anweisung angeben.

Der Natural for Db2 Start Server Stub und der Natural for Db2 Server Stub müssen sich in einer Bibliothek befinden, die in der Steplib-Verkettung der JCL-Prozedur des SPAS enthalten ist.

#### Beispiel für eine JCL:

    //*************************************************************
    //*    JCL FOR RUNNING THE WLM-ESTABLISHED STORED PROCEDURES
    //*    ADDRESS SPACE
    //*       RGN     -- MVS REGION SIZE FOR THE ADDRESS SPACE.
    //*       DB2SSN  -- DB2 SUBSYSTEM NAME.
    //*       NUMTCB  -- NUMBER OF TCBS USED TO
    //*                  PROCESS END USER REQUESTS.
    //*       APPLENV -- MVS WLM APPLICATION ENVIRONMENT
    //*                  SUPPORTED BY THIS JCL PROCEDURE.
    //*
    //*************************************************************
    //DBvrsENV PROC RGN=0K,APPLENV=DBvrsENV,DB2SSN=DBvrs,NUMTCB=8
    //IEFPROC EXEC PGM=NDBvrSTR,REGION=&RGN,TIME=NOLIMIT, /* Start server stub
    //*IEFPROC EXEC PGM=DSNX9WLM,REGION=&RGN,TIME=NOLIMIT,
    //        PARM='&DB2SSN,&NUMTCB,&APPLENV'
    //STEPLIB  DD  DISP=SHR,DSN=DSNvrs.RUNLIB.LOAD
    //         DD  DISP=SHR,DSN=CEE.SCEERUN
    //         DD  DISP=SHR,DSN=DSNvrs.SDSNLOAD
    //         DD  DISP=SHR,DSN=NATURAL.LOAD /* Library containing stubs and nucleus
    //CMPRMIN  DD  DISP=SHR,DSN=hilev.SOURCE(DYNPARM) /* Dynamic Natural parameters
    //CMSRVIN  DD  DISP=SHR,DSN=hilev.SOURCE(CMSRVIN) /* Servers to be started
    //CEEDUMP  DD  SYSOUT=X
    //SYSOUT   DD  SYSOUT=X /* Traces records of server stub
    //RMTRACE  DD  SYSOUT=X
    //CMPRINT  DD  SYSOUT=X
    //SYSPRINT DD  SYSOUT=X
    //SYSERROR DD  SYSOUT=X
    //SYSUDUMP DD  SYSOUT=X

wobei `hilev` für einen High-Level-Qualifier steht.

### Makro NDBSTUB

Das Makro `NDBSTUB` wird verwendet, um den Natural for Db2 Server Stub und den Natural for Db2- Start Server Stub zu generieren. Sie können `NDBSTUB` parametrisieren, um verschiedene Stubs zu erzeugen.

Im Folgenden sind die bei `NDBSTUB` verfügbaren Parameter aufgeführt:

`CMPRINT` | `CMPRMIN` | `CMTRACE` | `GTRACE` | `GTRCID` | `MODE` | `NATURAL` | `SERVER` | `THREADSIZE` | `TRACE` | `WLM`

#### CMPRINT - DD-Name des CMPRINT-Dataset

`CMPRINT` gibt den `DD`-Namen des CMPRINT-Dataset an, in den die primäre Berichtsausgabe geschrieben wird. Wenn ein Stern (*) angegeben wird, wird ein eindeutiger `ddname Pnnnnnnn` gebildet, wenn eine Natural Stored Procedure aufgerufen wird.

Mögliche Werte:

Wert | Erläuterung
--- | ---
`ddname` | Jeder gültige 8-stellige DD-Name.
`CMPRINT` | Dies ist der Standardname.

#### CMPRMIN - DD Name of CMPRMIN Data Set

`CMPRMIN` gibt den DD-Namen des `CMPRMIN`-Dataset beim Start an, um den Eingabeparameter `PROFILE` für diesen Server zu lesen.

Mögliche Werte:

Wert | Erläuterung
--- | ---
`ddname` | Jeder gültige 8-stellige DD-Name.
`CMPRMIN` | Dies ist der Standardname.

#### CMTRACE - DD-Name des CMTRACE-Dataset

`CMTRACE` gibt den DD-Namen des `CMTRACE`-Dataset an, in den die primäre Berichtsausgabe geschrieben wird. Wenn ein Stern (*) angegeben wird, wird bei jedem Aufruf einer Natural Stored Procedure ein eindeutiger `ddname Pnnnnnnn` gebildet, so dass jede Ausgabe separat gespeichert werden kann.

Mögliche Werte:

Wert | Erläuterung
--- | ---
`ddname` | Jeder gültige 8-stellige DD-Name.
`CMTRACE` | Dies ist der Standardname.

#### GTRACE - Natural for Db2 Server Stub zum Ausführen von GTRACE-Aufrufen

`GTRACE` gibt an, ob der Server Stub `GTRACE`-Makroaufrufe für Tracing-Zwecke ausführt oder nicht.

Mögliche Werte:

Wert | Erläuterung
--- | ---
`ON` | Der generierte Server Stub führt `GTRACE`-Makros aus, um seine Verarbeitung zu dokumentieren.
`OFF` | Der generierte Server Stub führt während seines Verarbeitungszyklus keine GTRACE-Makros aus. Dies ist der Standardwert.

#### GTRCID - Zu verwendende GTRACE-ID

`GTRCID` gibt die Event-ID an, die mit den vom Natural for Db2 Server Stub erstellten Trace-Daten aufgezeichnet wird.

Mögliche Werte:

Wert | Erläuterung
--- | ---
`event-id` | Dezimalzahl von `0` bis `1023`
`203` | Dies ist der Standardwert.

#### MODE - Betriebsart des Natural for Db2 Server Stub

`MODE` bestimmt die Betriebsart des generierten Natural for Db2 Server Stub.

Wert | Erläuterung
--- | ---
`STR` | Der generierte Natural for Db2 Server Stub arbeitet als Natural for Db2 Start Server Stub, der die Natural-Serverumgebung einrichtet.
`SRV` | Der generierte Natural for Db2 Server Stub arbeitet als Natural for Db2 Server Stub, der die zugehörige Natural Stored Procedure oder Natural UDF aufruft. Dies ist der Standardwert.

#### NATURAL - Name des Server-Frontends oder Natural Servers

`NATURAL` bezeichnet den Namen des Server-Frontends oder des Natural-Server-Lademoduls, das vom Natural for Db2 Server Stub geladen wird, wenn das externe `CMSTART` bei der Erstellung des Server-Stubs noch nicht vom Linkage-Editor aufgelöst wurde. Das benannte Lademodul muss in einer beliebigen Steplib des Stored-Procedure-Adressraums vorhanden sein.

Wert | Erläuterung
--- | ---
`name` | Beliebiger gültiger Lademodulname.
`NATBATvr` | Dies ist der Standardwert.

#### SERVER - Servername für die Natural-Server-Umgebung

Servernamen mit dem Suffix `SRV` bezeichnen die Namen der Server, die vom Server-Frontend verwendet werden, um den Natural Server zu identifizieren. Diese Namen müssen innerhalb eines Adressraums eindeutig sein.

Wert | Erläuterung
--- | ---
`server-name` | Servername mit bis zu 5 Zeichen.
`NDBvr` | Dies ist der Standardwert.

#### THREADSIZE - Größe der Natural-Threads für Natural Server

`THREADSIZE` bestimmt die Größe der Natural-Threads, die vom Natural Server verwendet werden sollen. Die Größe wird in Kilobyte-Einheiten angegeben.

Wert | Erläuterung
--- | ---
`threadsize` | Dezimalzahl.
`768` | Dies ist der Standardwert.

#### TRACE - Natural for Db2 Server Stub soll Trace-Sätze schreiben

Bestimmt, ob der generierte Natural for Db2 Server Stub Trace-Sätze schreibt. Die Trace-Aufzeichnungen werden in den mit `ddname SYSOUT` angegebenen Dataset geschrieben.

Wert | Erläuterung
--- | ---
`YES` | Trace-Sätze werden geschrieben.
`NO` | Es werden keine Trace-Sätze geschrieben. Dies ist der Standardwert.

#### WLM - Natural for Db2 Start Server Stub Modus WLM/DB2 SPAS

`WLM` (Workload Manager) gibt an, wohin die Kontrolle übergeben wird, nachdem der Natural for Db2 Start Server Stub die angeforderten Natural-Server-Umgebungen eingerichtet hat.

Dieser Parameter wird nur ausgewertet, wenn der Parameter `MODE=STR` gesetzt ist. Geben Sie `WLM=YES` an, wenn der Natural for Db2 Start Server Stub in einem Adressraum läuft, der von `WLM` eingerichtet wurde.

Wert | Erläuterung
--- | ---
`YES` | Der Start Server Stub erzeugt Links zu `DSNX9WLM`, nachdem er die Natural-Server-Umgebungen eingerichtet hat.
`NO` | Der Start Server Stub generiert Links zu `DSNX9STP`, nachdem er die Natural-Server-Umgebungen eingerichtet hat Dies ist der Standardwert.

### On this page

- Voraussetzungen
- Installationsdatenträger
- Installationsvorgang
- Allgemeine Installationsschritte
- Spezielle Installationsschritte für CICS
- Spezielle Installationsschritte für Com-plete
- Spezielle Installationsschritte für IMS TM
- Spezielle Installationsschritte für TSO
- Installation überprüfen
- Natural-Parameter für Natural for Db2 ändern
- Besondere Anforderungen bei Natural Tools for Db2
- Natural for Db2 Server Stub