Setzt
00-was-ist-zos.mdvoraus, falls z/OS selbst (Adressräume, Datasets, EBCDIC, Batch/JCL, Sysplex) noch nicht vertraut ist — dieses Dokument konzentriert sich bewusst nur auf den DB2-/Verbindungs-Teil.Status: dokumentiert, nicht live verifizierbar. Echtes z/OS/DB2-for-z/OS-Zugriff ist in dieser Lernumgebung nicht verfügbar (Mainframe-Zeitmiete/-Lizenz). Ausbaustufe 5 verifiziert stattdessen JDBC-Konnektivität gegen einen DB2-Community-Edition-Container als Stand-in für das reine Treiber-/Konfigurationsverhalten (
jdbcDriver,dataSource, Connection Pool inserver.xml) — die hier beschriebenen z/OS-spezifischen Eigenheiten (DDF, RACF, WLM, Sysplex) lassen sich damit NICHT nachstellen und bleiben bewusst reine Konzept-Doku.
Die Anzeige nennt explizit "Bindeglied zwischen Java-Entwicklung und Administration von WebSphere Application Server sowie DB2 für z/OS, Netzwerk". Das bedeutet nicht, DBA für den Mainframe zu sein — aber genug über die andere Seite der Verbindung zu wissen, um mit dem DB2-for-z/OS-Team auf Augenhöhe zu reden, Verbindungsprobleme grob einzuordnen, und zu verstehen, warum manche Änderungen (Poolgröße, neue Verbindung, Zertifikat) auf der Mainframe-Seite ganz anders ablaufen als "einfach einen neuen Container hochfahren".
Wer nur DB2 auf Linux/Unix/Windows (LUW) kennt, unterschätzt leicht, wie anders die z/OS-Variante betrieben wird:
| DB2 LUW | DB2 for z/OS | |
|---|---|---|
| Betriebssystem | Linux/Unix/Windows | z/OS (Mainframe) |
| Typischer Einsatz | Einzelne Anwendungsdatenbank | Zentrales Kernbanksystem, viele Anwendungen teilen sich eine Instanz |
| Kapazität/Kosten | Server-Sizing wie jede andere DB | MSU/CPU-basierte Abrechnung — jede zusätzliche Verbindung/Query kann real Geld kosten, siehe unten |
| Verfügbarkeit | HA-Cluster, Standby | Meist Teil eines Sysplex (mehrere gekoppelte Mainframe-Systeme), sehr hohe Grundverfügbarkeit |
| Betriebsteam | Oft dasselbe Team wie App-Betrieb | Eigenes, spezialisiertes DB2-for-z/OS-Team, das i. d. R. NICHT dieselben Tools/Prozesse wie das Liberty-Team nutzt |
Liberty verbindet sich nicht "in den Mainframe hinein", sondern gegen die DDF (Distributed Data Facility) — die Komponente von DB2 for z/OS, die TCP/IP-JDBC-/ODBC-Verbindungen von verteilten Systemen entgegennimmt:
db2jcc4.jar / db2jcc_license_cisuz.jar), rein Java, keine native
Client-Installation nötig — genau das, was in server.xml als <jdbcDriver> referenziert wird
(siehe 02-der-bindeglied-prozess.md für das konkrete Beispiel).03-netzwerksegmentierung.md.Wichtiger gedanklicher Stolperstein: die Zugriffskontrolle auf DB2 for z/OS läuft nicht über
das LDAP-Verzeichnis, das in docs/60-security-lifecycle/ für
Liberty/Portal-Logins beschrieben ist, sondern über RACF (Resource Access Control Facility),
das mainframe-eigene Sicherheitssystem:
GRANT auf Tabellen/Views
bzw. RACF-Klassen wie DSNR, je nach Berechtigungsmodell der Bank).docs/60-security-lifecycle/) hat also potenziell eine
Mainframe-seitige Nebenwirkung, die koordiniert werden muss.Auf einem gewöhnlichen Linux-DB-Server kostet eine zusätzliche Connection praktisch nichts. Auf DB2 for z/OS wird CPU-Verbrauch traditionell in MSU (Million Service Units) gemessen und oft direkt in die Softwarelizenzkosten der gesamten Mainframe-Kapazität eingerechnet (z. B. über Tailored Fit Pricing / Sub-Capacity Pricing bei IBM). Praktisch bedeutet das:
connectionManager-/Pool-Sizing-Wert in server.xml (siehe
docs/20-monitoring-tuning/) ist auf der DB2-for-z/OS-Seite nicht
nur eine Performance-Stellschraube, sondern potenziell eine Kostenfrage — ein zu groß
gewählter Pool kann in einer echten Umgebung Rückfragen vom Mainframe-Kapazitätsmanagement
auslösen, bevor er einfach genehmigt wird.Kein Anspruch auf DB2-DBA-Tiefe, aber diese Grundmuster sind typisch und sollten im
Troubleshooting (siehe docs/30-troubleshooting-runbooks/)
wiedererkannt werden:
| Symptom | Typischer Bereich |
|---|---|
SQLCODE -30081 (Kommunikationsfehler) |
Netzwerk/DDF-Erreichbarkeit — zuerst Firewall/Port/DVIPA prüfen, siehe 03-netzwerksegmentierung.md |
SQLCODE -1776 / RACF-bezogene Fehler |
Berechtigung der Technical-User-ID — Fall für das DB2-for-z/OS-Team |
| Timeouts bei hoher Last, aber Verbindung grundsätzlich da | Connection-Pool-Sizing bzw. WLM-Service-Klasse — siehe oben |
| SSL-Handshake schlägt fehl nach Zertifikatswechsel | Keystore/Truststore-Abgleich zwischen Liberty und RACF-Keyring, siehe docs/60-security-lifecycle/ |
Weiter mit 02-der-bindeglied-prozess.md für den konkreten
Ablauf zwischen den vier Teams (Java-Dev, WAS-Admin, DB2-for-z/OS, Netzwerk) und ein
server.xml-Beispiel.