DB2 z/OS   DB2 LUW
z/OS CICS VTAM

Ulrich Bräuer

Home

 
Downloads :     OO Rexx       TSO Rexx       Cobol      


TSO und RexxBatch (OS/390, z/OS)


Beschreibung
REXX JCL / PANELS
LUWDB2 :  DB2 Administration mit REXX und ISPF
                   DB2/zOS (V7 - V13-FL4)   und DB2 LUW(V7 - V11.5 Fixpack 9)

Letzter Update :  12.04.2024


10.03.2023     Db2/ZOS V13
               Aktuel bis Function Level 4

17.01.2024    Änderung der DDL Generierung.
                      Bei Lobtables wird jetzt die DDL genieriert bis ende der originalen DDL
                      danach wird ein Alter add column generiert um die Daten Per Recover From
                      oder DSN1COPY übertragen zu können.

                      Recover from wird jetzt auch in der PSQL unterstützt

10.12.2023     Fehler beim DDL generieren von, Functions und StoredProcedure, behoben



12.05.2020   Neues Worklist format mit RESTART
04.04.2020   Fehlerbehebungen bei DDL Erzeugung z/OS und LUW
2021             ZOS Alter Trigger
                              Alter Function
                              Alter Stored Procedure
                              Syscoldist bei columns
2022
                              Neue Compression  (FIXEDLENGTH/HUFFMAN)
                              Move Table
                              Aktuel bis Function Level 10
                              Fehlerbehebungen bei DDL Erzeugung z/OS und LUW
                              Fehlerbereinigung bei rebind und free package/plan
                              Neue auswahl bei ddl Schema/Database  jetzt kann idtity objekte mit über nommen werden
                               (alter table .. alter column ... )
    

2021             LUW Neuerungen BIS Db2/11.5.5
                     Working with encrypion
2022              Working with db2audit

REXXTools um DB2 Catalog Infos anzuzuzeigen (z/OS und LUW),
Das ganze ist verpackt inzwei Dateien die mit  IEBUPDTE oder receive (XMIT) installiert werden..
Angepasst werden muss lediglich das Programm "LUWDB2", wo die LIBDEFInformationen gesetzt werden.
Aufruf   "TSO LUWDB2"
LUWDB2 XMIT File gezipped
fuer Installation Bitte
XMIT File verwenden
Oder
CLIST IEBUPDTE
Nur zum Ansehen, bei Filetransfere kann es zu Problemen kommen

CLIST 3 Programme,
FTP Copy (Kopieren Daten mit FTP (PO,  PS, USS)
CMD  Commands mit Rexx ausführen (console/db2/ispf ....)
DS Dataset Liste TSO USS
Libdef (Dynamische Libdefs im TSO)
Callprog (Programme aufrufen mit und ohne Libdefs)
Clist.zip  Source (FtpCopy.Rex )    (neu mit ftpapi)
Source (FtpCopyA.Rex)   (Alte Version)
Source (cmd.rex)
Source (ds.rex)
Source (libdef)
Source (Callprog)  
Procedure um ISPF-Prozeduren in Batch auszuführen


ISPFBAT
Kleine REXX um Dynamische SQL's auszuführen  auch stored procedure's,
auf z/OS und LUW

DYNAMSQL.rex DYNAMSQL.jcl
Rexx'le um replys einzulesen (wird mit einem Batchprogramm bestätigt)

CONSCMD.rex CONSCMD.jcl
Infos  (DBID, PSID, OBID) aus einem IC (für DSN1COPY)  (ISPF)

ICINFO
Kleine Rexx'e um aus einer PO-Datei eine IEBUPDTE-Datei zu generieren

GENIEBUP.rex GENIEBUP.jcl
Erstellen Load-Statement DB2-LUW aus einem PUNCH (Unload z/OS)

UDBLOAD.rex UDBLOAD.jcl
Einlesen des laufenden Jobs aus SDSF und in eine Datei schreiben.
Problem waren viele Laufende Jobs, die im Fehlerfalle restartet werden mussten, um das
ganze einfacher zu machen wurde ein step eingestellt, der laeuft wenn  der RC > 0 ist.
Das ganze lief unter JES2 ob es unter JES3 läuft, weiß ich nicht.

JOBSAVE.rex JOBSAVE.jcl
Kleines Beispiel  um mit DSNREXX zu arbeiten (Ich nehme das immer als Standart das ich dann erweitere)

DSNREXX1.Rex
Kleine Rexx um SQLCODES anzuzeigen, gebraucht wird die rexx und das Panel. Die rexx benutzt DSNTIAR

sqlerr psqlerr.panel

DB2CATRO generiert Reorg für Catalog Tablespaces(DSNDB01, DSNDB06) und Del/Def DSNDB07
Vor einen vsam-cluster gehen und db2catro eingeben !


DB2CATRO.rex CATRO01.panel
JOBRCINF Erstellen  MESSAGES ueber den Returncode  der gelaufenen Steps

JOBRCINF.Rex JOBRCINF.jcl

















OORexx  (http://www.oorexx.org/download.html)

Für einige REXX-Programme wird eine INI-Datei gebraucht, in der Informationen  über die Datenbank stehen,
unter anderem userid und password um sich an die Datenbank zu connecten.
Um die Location der INI-Datei flexibel zu halten wird ein Programm aufgerufen(GetIniDat.Rex) das nur die Location
der Datei zurück gibt.
Über die INI-Datei wird gesteuert, dass die REXX-Progrämmle Nachts im Batch laufen können ohne immer
userid und password einzugeben.
Nachteil, password ist nicht verschlüsselt da ich die Programme aber auf dem Server laufen lasse,
kann ich sicher sein, dass sonnst niemand auf die  INI-Datei zugreift.


Gruß

Uli

Bei Fragen : Ulis_Downloads@online.de


RenFiles Dateinamen in GROSS- oder klein-buchstaben ändern !
Aufruf  rexx renfiles  ! rexx renfiles U ! rexx renfiles L

RenFiles.Rex

rxftp.rex
Einfaches Progrämmle um eine FTP-Verbindung aufzubauen und Daten über ls-anzeigen zu lassen.
Um die Daten zu übertragen get/put muss nur der entsprechende Befehl eingebaut werden.

rxftp.Rex

SysIni.rex  (Prozedur um eine INI-Datei in einer unixumgebung zu lesen)

SysIni.Rex

Apitest kleines Progrämmle um eine DB2-API  (list tablespace container) aufzurufen

Apitest.Rex

AttachNode.Rex  Rexx'le um sich an eine Node zu attachen.
Problem ist meist, dass ich die Datenbank im Kopf habe und mir dann die NODE raussuchen muss.
Genau das macht das Programm. Aufruf  rexx auttachnode <Datenbank>
Das Programm sucht sich dann die NODE der Datenbank und macht einen Attach.

AttachNode.Rex

DB2GETBackuphistory.Rex listet einen history backup für eine Datenbank

DB2GETBackuphistory.Rex

DBBackup.Rex :
                       Stand 03.08.2010 Neue Parameter um DB-, DBM-CFG und DB2 ENV zu sichern
                       Stand 01.08.2010 (Anpassungen fuer LINUX und UNIX)
                       Stand 20.07.2010 (benutzt jetzt SYSINI.REX und laeuft unter LINUX un AIX)
DBBackup.Rex  ausführen eines Backup database, danach wird ein prune history gemacht
und alle dateien gelöscht die nicht mehr gebraucht werden.
Aus der INI-Datei werden verschiedene Infos ausgelesen die Daten können aber auch, mit den 
zugehoerigen Parametern, in der Comandline überschrieben werden !  

BACKUP_PFAD=D:\DBBACKUP\<YourDatabase>  Direktorie in das gesichert werden soll
BACKUP_COMPRESS=Y                                           Soll ein Compress gemacht werde
BACKUP_DIR=D:\DBBACKUP                                   Backup Direktory
SICHERUNGEN=1                                                        Anzahl sicherungen die aufgehoben werden
BACKUP_ONLINE=YES                                              Onlinebackup YES/NO

DBBackup.Rex

GenRestore.Rex : Stand 01.08.2010 (Anpassungen fuer LINUX und UNIX )
GenRestore.Rex : Stand 20.07.2010 (benutzt jetzt SYSINI.REX und laeuft unter LINUX un AIX)
GenRestore.Rex Erstell Restore Statementns auch mit  REDIRECT und  
SET TABLESPACE CONTAINERS

GenRestore.Rex

ListNode.Rex   Listet die zugehörige NODE einer Datenbank

ListNode.Rex

Reorg.Rex Führt reorgs und runstats für eine Datenbank aus.
Aufruf Reorg.Rex <Datenbank> SYS*.TBnam*  (Test)
Die Tabellen die Reorganisiert werden sollen werden als zweiten Parameter angegeben.
Also SYSIBM.SYSTABLES  oder SYSIB*.SYSTABLE*, ....
Der Parameter Test am Ende bedeutet, dass die Reorgs nur erstellt, aber nicht ausgeführt werden.

Reorg.Rex

rsall.rex  runstatst über ausgewählte Tabellen

rsall.rex

ReorgFromCheckV8 Erstellen Reorg nach Auswertung von reorgcheck !

ReorgFromCheckV8.Rex

Einfache Datumsberechnung mit Rexx (aktuelles Datum + n days)

DatumBerechnen.Rex
Feiertage berechnen mit Rexx (Feste- und Variable-Feiertage von Ostern ausgehend)
Gibt es auch als db2 Function Link

datum.rex
Ausgabe "db2 ?"  in Text File oder als HTML Seite
Db2Commands.Rex                               Ausgabe Textfile
Db2Commands.Rex HTML                   Ausgabe HTML Datei

Db2Commands.Rex
Ergebniss als HTML Datei
DB2CFGSave.Rex : Kleine Rexx um DB Parameter zu sichern (DB cfg, DBM cfg, DB2SET)

DB2CFGSave.Rex
getdbdir. : Erstellt catalog statements (1. node dir (NUR TCPIP), 2. DCS DB  und Datenbanken)

getdbdir.rex
HerculesRouting.Rex : Datum 24.07.2010 (VISTA und WIN7) andere muessen angepasst werden
Funktion : Beim aufruf von Hercules-390 muss ein route add gemacht werden um  das System
mit TCPIP zu erreichen.
Da ich keine feste IP-Adresse für meinen Rechner haben, muss ich immer schauen welche IP-Adresse 
momentan zugeordnet ist.
HerculesRouting.Rex macht das für mich in dem ich 2 Parameter mitgebe. 
1.) Macadresse  meines  Netzwerkadapters und
2.) die IP-Adresse des Hostsystems,
das Programm macht einen IPConfig /all sucht sich die IP-Adresse der MacAdresse raus und macht ein
Route add. Aufruf : rexx HerculesRouting.Rex <MacAdresse> <IP-Adresse vom Host>

HerculesRouting.Rex
db2pd_tcbstats.rex   (RTSUDI (Check für Runstats) ) db2pd_tcbstats.rex   
server.rex  (socked programmierung mit rexx), client hab ich z.b auch zOS laufen
server.rex   oorexx client  
Clientmvs.xmit  
Reorganisieren Tabellen mit hilfe von REORGCHK
ReorgFromCheck.rex







Cobol :



Cobol Programm um DYNAMIC-SQL auszuführen und an eine REXX zurück zu geben.
Das Programm wurde geschrieben bevor es DSNREXX gab, um mit ner REXX
DB2-Befehle abzufackelen.

RXDB2
BIT's mit COBOL abfragen oder aendern !

COBBIT01
Kleine Cobol Programm um JOB Informationen aus der JCL auszulesen (DD,  DSN, JOB-Name, ...)
JOBINFO
Cobol Programm um VSAM-LDS Dateien zu verarbeiten Macros(CSRSAVE,CSRREFR,CSRSAVE,CSRVIEW) nur CISIZE 4K
COBOLLDS.CBL      COBOLLDS.JCL