Datenbankkonfiguration

Erfahren Sie mehr über die Datenbankkonfigurationseinstellungen für Oracle GoldenGate für Db2 z/OS. Die Datenbankeinstellungen sind für Oracle GoldenGate erforderlich.

Extract-Komponenten auf Db2 z/OS installieren

Der Oracle GoldenGate-Extrakt Db2 z/OS verwendet SQL-Objekte, um auf das Log Db2 zuzugreifen und es zu lesen. Diese Oracle GoldenGate Db2 z/OS-Objekte erfordern eine Mindesthardwareplattform von zEC12, ein Mindestbetriebssystemrelease von 2.4 und ein Mindestrelease von Db2 von 12.1. Die Komponenten bestehen aus ausführbaren Load Modules, SQL Stored Procedures und Funktionen sowie externen Programmen, die über die Stored Procedures aufgerufen werden. Diese Komponenten sind:

  1. Zu den externen autorisierten Programmen gehören:

    1. oggib001 – Initialisierung und Utility-Programm

    2. oggrb001 – Funktion des Leseprogramms protokollieren

    3. oggmt001 – Standalone-Programm zur Überwachung von ECSA und 64-Bit-Speicher

    4. oggjt001: Setupprogramm für das oggmt001-Startup-JCL, das vom oggib001-Programm ausgeführt wird

    5. oggfr001 - Utility zur Verwendung durch einen DBA unter Anleitung von Oracle Support

  2. SQL Stored Procedure- und Funktionsvorlagen sind im SQL-Skript zOS_OGG_Setup_Template.sql mit OGGINITB und OGGREADB SQL enthalten.

  3. JCL-Prozedur, oggtask.jcl

Hinweis: Die externen Namen für die SQL- und JCL-Namenswerte sind der Standardwert, den Sie bearbeiten und aktualisieren können. Dieser Prozess wird in den folgenden Abschnitten erläutert.

In der Abbildung "Replikationsprozess für Db2 z/OS Extract" wird der Replikationsprozess für den Extract Db2 z/OS und die zugehörigen Mainframekomponenten dargestellt.

Abbildung 1: Replikationsprozess für Db2 z/OS Extract

Beschreibung des Bildes folgt

Der Prozess wird wie in der Abbildung oben dargestellt gestartet und ausgeführt, wobei die Zahlen 1 bis 9 verwendet werden. Die folgenden Schritte sind aufgeführt:

  1. Extract liest die Parameter, einschließlich der JCL-Parameter, aus der Parameterdatei, die während der Installation erstellt wurde.

  2. Extract meldet die Startinformationen und bereitet das Schreiben der Traildateien vor.

  3. ODBC wird verwendet, um Informationen aus der Db2-Datenbank zu sammeln und die Replikation zu starten.

  4. Die gespeicherte SQL-Prozedur OGGINITB beginnt, den Shared Memory vorzubereiten und andere Daten zu sammeln, die für die Replikation erforderlich sind.

  5. Das externe Programm OGGIB001, das von der gespeicherten SQL-Prozedur aufgerufen wird, startet die Speicherüberwachungsaufgabe mit dem Jobsetupprogramm OGGJT001.

  6. Mit der Speicherüberwachungsaufgabe OGGMT001 wird die Überwachung des ECSA- und 64-Bit-Shared Memory gestartet.

  7. Die SQL-Funktion OGGREADB ruft das externe Programm OGGRB001 auf.

  8. Das externe Programm OGGRB001 ruft das Logleseprogramm Db2 wiederholt auf, um eine Ergebnismenge zu erstellen, die 1 bis viele Logdatensatzpuffer an den Extract zurückgibt.

  9. Wenn eine Ergebnismenge eines Logdatensatzes abgeschlossen ist, endet OGGRB001, nachdem die Ergebnismenge an den Extract gesendet wurde.

Extract wiederholt die Schritte 7 bis 9, bis sie heruntergefahren oder abnorm beendet werden. Wenn die Speicheraufgabe nicht gestartet werden kann, gibt das Programm OGGIB001 ein Flag zurück, das angibt, dass ein JCL-Fehler oder ein Setupproblem aufgetreten ist, und Extract beginnt, den Speicher zu verwalten. Wenn die Speicheraufgabe ordnungsgemäß gestartet wird, testet die Speicheraufgabe ständig wechselnde Felder im 48-Byte-ECSA-Shared Memory. Diese Felder ändern sich nicht mehr, wenn der Extract aus irgendeinem Grund beendet wird. Zu diesem Zeitpunkt wartet der Memory Manager, falls der Extract oder das Netzwerk langsam ist, und gibt den Speicher frei, bevor er nach einem konfigurierten Zeitlimit heruntergefahren wird.

So installieren Sie die Komponenten, die für Oracle GoldenGate für Db2 z/OS Extract erforderlich sind:

  1. Stellen Sie sicher, dass auf dem System Db2 z/OS eine Bibliothek (PDSE) vorhanden ist und dass ein Eintrag dafür in der Liste der autorisierten Bibliotheken vorgenommen wird. Diese Library ist der Speicherort, in dem sich die externen Programmobjekte von Oracle GoldenGate befinden.

  2. Stellen Sie sicher, dass eine APF-autorisierte WLM-Prozedur den PDSE aus dem vorherigen Schritt referenziert. Oracle empfiehlt, dass der Wert NUMTCB für die WLM-Umgebung für gespeicherte Prozeduren 10-40 beträgt. Der Wert NUMTCB hängt davon ab, wie viele Extrakte maximal gleichzeitig für die Datenbank ausgeführt werden und wie viel Durchsatz jeder Extract benötigt. Wenn Sie NUMTCB flexibel festlegen möchten, geben Sie es im Start-JCL für das WLM an, jedoch nicht im Erstellungsbereich.

  3. Sie können die Sicherheit für die WLM-Anwendungsumgebungen und für die Erstellung gespeicherter Prozeduren einrichten, indem Sie Folgendes ausführen:

    1. (Optional) Geben Sie an, welche von WLM eingerichteten Adressbereiche Stored Procedures ausführen können. Wenn Sie diesen Schritt nicht abschließen, kann jeder von WLM eingerichtete Adressraum gespeicherte Prozeduren ausführen.

    2. Gewähren Sie Benutzern Zugriff auf das Erstellen von Prozeduren in bestimmten WLM-Adressräumen.

    3. Benutzerzugriff zum Erstellen von Prozeduren in bestimmten Schemas erteilen Verwenden Sie die Anweisung GRANT mit der Option CREATIN für das entsprechende Schema.

    4. Gewähren Sie dem Benutzer Zugriff, um Packages für Prozeduren in bestimmten Collections zu erstellen. Verwenden Sie die Anweisung GRANT mit der Option CREATE für die entsprechende Collection.

    5. Gewähren Sie den entsprechenden Personen Zugriff zum Aktualisieren der WLM-Umgebungen.

    6. Fügen Sie den entsprechenden Personen zusätzliche RACF-Befugnisse hinzu, damit die WLM-Prozeduren den Memory Manager-Job starten können.

  4. Stellen Sie sicher, dass die ID, die zum Ausführen der JCL-Prozedur für den WLM-Start verwendet wird, über die Berechtigung zur Verwendung von RRSAF verfügt. Jedes Mal, wenn einer der WLM-Adressbereiche Db2 beginnt, wird RRSAF zum Anhängen an Db2 verwendet. Informationen zur Installation und Migration von z/OS finden Sie unter Db2 12 for z/OS Installation and Migration Guide.

  5. Bei der Linux- oder UNIX-Installation von Oracle GoldenGate für Db2 z/OS befindet sich eine ZIP-Datei im Oracle GoldenGate-Installationsverzeichnis mit dem Namen zOSutils.zip, die eine Datei mit dem Namen zOSPrograms.zip enthält. Dekomprimieren Sie zOSPrograms.zip in zOSPrograms.tar, und kopieren Sie zOSPrograms.tar im Binärmodus in Ihr Db2 z/OS-System in ein HFS-Verzeichnis.

  6. Wechseln Sie auf dem Db2 z/OS-System in USS oder OMVS in das Verzeichnis mit zOSPrograms.tar.

  7. Stellen Sie die Objekte mit folgendem Befehl wieder her: tar -xovf zOSPrograms.tar.

  8. Kopieren Sie die Objekte in den autorisierten PDSE. Verwenden Sie die cp -X ogg[irmj][abt][0-9]* "//'authorized_PDSE_name'", wobei authorized_PDSE_name der Name des APF-autorisierten PDSE ist, das für die Oracle GoldenGate-Objekte bestimmt ist. Mit diesem Befehl werden die Objekte mit den Standardnamen installiert.

    Hinweis: Bei diesem Befehl handelt es sich bei dem Kopierziel um ein doppeltes Anführungszeichen für einen autorisierten PDSE-Namen in einem einfachen Anführungszeichen. -X ist ein Großbuchstabe X, nicht ein Kleinbuchstaben x.

  9. Wenn Sie die Skripte mit verschiedenen Namen installieren, können Sie die Systemprotokolle einhalten oder mehrere Versionen von Oracle GoldenGate ausführen. Um die Skripte mit unterschiedlichen Namen zu installieren, wird empfohlen, ein Shell-Skript zu erstellen, das die Programme vor dem Kopieren in PDSE umbenennt. Ein Beispiel für das Shell-Skript finden Sie im folgenden Code-Snippet.

    #!/bin/bash
    # Copy new programs renaming them to version 21.12 names.
    cp oggib001 oggi2112
    cp oggrb001 oggr2112
    cp oggmt001 oggm2112
    cp oggjt001 oggj2112
    cp -X oggi2112 "//'SYS4.WLMDSNA.AUTHLOAD'"
    cp -X oggr2112 "//'SYS4.WLMDSNA.AUTHLOAD'"
    cp -X oggm2112 "//'SYS4.WLMDSNA.AUTHLOAD'"
    cp -X oggj2112 "//'SYS4.WLMDSNA.AUTHLOAD'"

    Sie können das Skript mit dem Befehl chmod +x scriptname ausführen. Sie können dieses Skript für neue Versionen kopieren und wiederverwenden.

  10. Sie müssen die SQL-Prozeduren mit dem SQL-Tool Ihrer Wahl erstellen, damit Oracle GoldenGate die Extract-Objekte aufrufen kann. Für die gespeicherten Oracle GoldenGate-Prozeduren dürfen nur die Benutzer Berechtigungen erteilt werden, die sie für die Replikation verwenden.

    Eine Beispiel-SQL-Skriptvorlage im Oracle GoldenGate-Installationsverzeichnis enthält die SQL-Anweisungen zum Einrichten der gespeicherten Prozedur und Funktion in der Instanz Db2 z/OS. Das SQL-Skript zOS_OGG_Setup_Template.sql, das in zOSutils.zip enthalten ist, gilt für Db2 v12.1 und höher und kann von jedem SQL-Tool auf jeder Plattform ausgeführt werden, die eine Verbindung zu Ihrer Db2 z/OS-Instanz herstellen kann. Dieses Skript muss auf der Db2-Instanz ausgeführt werden, die Sie mit dem Extract verwenden. Das im Remote-Installationsverzeichnis angegebene Skript hat das ASCII-Format.

    Bearbeiten Sie die folgende Zeile, bevor Sie die Skripte ausführen:

    • Ändern Sie die Zeile WLM ENVIRONMENT so, dass der richtige Name für die WLM-Umgebung verwendet wird, die Sie für Oracle GoldenGate verwenden.

Hinweis: Der Schemaname oggifi0001 kann mit dem Extract-Parameter TRANLOGOPTIONS REMOTESCHEMA schemaname konfiguriert werden. Die Prozeduren- und Funktionsnamen OGGINITB und OGGREADB in der Vorlage können nicht konfiguriert werden. Sie können jeden externen Namen in den Skripten und im PDSE umbenennen, wenn die Skriptnamen und die PDSE-Objektnamen übereinstimmen. Die Änderung dieser Namen ist Teil der Prozedur, die eine Migration zu neuen Versionen ermöglicht, oder wenn bestimmte Benennungsprozeduren unter Db2 z/OS eingehalten werden müssen.

Die folgende Tabelle enthält eine Checkliste der Komponenten, die Sie bearbeiten und/oder aktualisieren möchten:

Tabelle 2: Liste der bearbeitbaren Komponenten

Komponente Von Umbenennen Wo
oggib001 tar-Datei   autorisierter PDSE
oggrb001 tar-Datei   autorisierter PDSE
oggmt001 tar-Datei   autorisierte PDSE- und Beschaffungsbibliothek
oggjt001 tar-Datei   autorisierter PDSE & Extract-Parameter
oggpr001 tar-Datei   Prozedurbibliothek & Extraktionsparameter
Proclib MVS   Extract-Parameter bei Bedarf hinzufügen
Schrittbibliotheken MVS   WLM- und oggpr001-Prozedurbibliothek
Remoteschema     zOS_OGG_Setup_Template.sql und Extract parm
WLM-Name MVS   zOS_OGG_Setup_Template.sql
externes Programm     zOS_OGG_Setup_Template.sql

Hinweis: Führen Sie alle diese Schritte nach jeder neuen Patchinstallation aus.

Shared Memory Manager für Extraktion verwenden

Oracle GoldenGate Extract startet eine separate Aufgabe oder einen separaten Job aus WLM, um die Shared Memory-Nutzung zu überwachen. Dieser Job ist eine minimale Aufgabe, die in MVS ausgeführt wird. Er ist jedoch kein WLM. Der Benutzername dieses Skripts, unter dem gestartet wird, muss beim Starten mit dem WLM Berechtigungen zur Ausführung haben (in der Regel mit RACF). Dieser überwachte Shared Memory besteht aus einem kleinen ECSA-Bereich von 48 bis 64 Byte und einem größeren 64-Bit-Bereich basierend auf der Extract-Puffergröße.

Bestimmte Felder im Shared Memory werden für jeden vom Extract ausgeführten Lesevorgang aktualisiert. Diese Felder werden aktualisiert, unabhängig davon, ob das Skript Daten zurückgibt. Der Monitor prüft diese Felder, um sicherzustellen, dass der Extract nicht inaktiv wurde. Wenn Extract inaktiv ist, wird der Shared Memory freigegeben, und der Monitor wird beendet. Sie können den Memory Manager mit dem Parameter remote_memory_options in der Parameterdatei von Extract steuern.

Sie können mehrere Unterparameter angeben, um die Überwachungsaufgabe zu konfigurieren. Sie können das Warteintervall und die inaktive Zeit konfigurieren, die der Monitor verwendet, indem Sie Unterparameter der Optionen für den Remotespeicher angeben, wie im folgenden Beispiel dargestellt:

remote_memory_options wait_interval 2000 inactive_time 01:00

Das Warteintervall wird im Beispiel in Hundertstelsekunden angegeben und bewirkt, dass der Monitor zwischen jeder Speicherprüfung 20 Sekunden wartet. Wenn der Monitor 1 Stunde lang geprüft wurde (Format HH:MM) und der Extract noch inaktiv ist, wird der Monitor nach Freigabe des Shared Memorys heruntergefahren. Wenn der Extract während dieser Stunde in einen aktiven Status zurückkehrt, setzt der Monitor seinen Status zurück und fährt mit dem Monitoring fort.

Die wait_interval kann Werte von 100 bis 6000 und der Standardwert 1000 enthalten. Die inactive_time kann zwischen 00:10 und 12:00 Uhr liegen, und der Standardwert ist 00:30 Uhr. Wenn der Monitor nicht ordnungsgemäß gestartet wird, zeigt der Extract im Extract-Bericht eine Warnmeldung an, und der Extract setzt die Verarbeitung fort. Der Extract versucht, ECSA-Speicher freizugeben, wenn er heruntergefahren wird.

Der Parameter "Remote Memory" verfügt über drei Optionen, damit diese Funktion funktioniert. Die Syntax für diese Parameter lautet:

Beispiel:

remote_memory_options task_procedure OGGPR001
remote_memory_options task_library TEST.PROCLIB
remote_memory_options task_setup OGGJT001

Sie können mehrere Optionen in einem einzigen Befehl angeben, wie unten dargestellt:

remote_memory_options task_procedure OGGPR001 task_library TEST.PROCLIB task_setup OGGJT001

Hinweis: Bei den Werten für den Parameter "Remotespeicher" wird die Groß-/Kleinschreibung nicht beachtet.

Die Standardwerte sind der Prozedurname OGGPR001 und das Task-Setup-Programm OGGJT001. Es gibt keine Standardeinstellung für die Aufgabenbibliothek, da das Verfahren in einer der Standardverfahrensbibliotheken des MVS-Systems installiert werden kann. Der Aufgabenbibliotheksparameter ist nur erforderlich, wenn sich das Verfahren nicht in einer Systemstandardbibliothek befindet.

Die Speicheraufgabe beginnt mit einer einfachen JOB-Karte und einem EXEC-Prozedurnamen mit Parametern, die vom Extract übergeben werden. Einige z/OS-Systeme erfordern möglicherweise verschiedene andere Parameter auf der Jobkarte. Die Parameter JOB können auch mit dem Parameter "Remotespeicher" geändert werden, wie im folgenden Beispiel gezeigt.

remote_memory_options task_jobname [valid MVS job name (see below)]
remote_memory_options task_acct_info [valid MVS acct value (see below)]
remote_memory_options task_programmer [valid MVS programmer name, Can use single quotes]
remote_memory_options task_class [valid MVS job class A to Z or 0 to 9]
remote_memory_options task_msgclass [valid MVS msgclass A to Z or 0 to 9]
remote_memory_options task_msglevel [valid MVS message level n or (,n) or (n,n)  n=valid digit]
remote_memory_options task_priority [valid MVS priority 0-15]

Sie können den Namen JOB mit zwei gültigen Zeichen und einem Sternchen wie AA* angeben. Der Standardname für JOB ist GG*. Das Sternchen wird durch sechs Zufallszahlen ersetzt, wenn es angegeben wird. Wenn Sie andernfalls einen ein bis acht Byte langen Namen angeben, muss es sich um einen gültigen MVS-Jobnamen handeln.

Geben Sie Kontenwerte in einem der folgenden gültigen MVS-Formate an:

Für Parameter, wie acct_info und programmer, die Sonderzeichen zulassen, setzen Sie diese in einfache Anführungszeichen. Darüber hinaus gelten die MVS-Regeln für die Verwendung von doppelten einfachen Anführungszeichen oder Et-Zeichen in Anführungszeichen weiterhin. Der Extract führt eine minimale Validierung für diese Parameter durch und überlässt die vollständige Validierung dem MVS-Prozess. Extract akzeptiert den ersten, wenn Sie doppelte Parameter angeben und Duplikate ignorieren.

Eine Beispielprozedur-JCL-Datei wird in die Datei zOSPrograms.zip aufgenommen. Diese JCL ersetzt nicht die WLM-Prozedur. Der in WLM erstellte Monitor verwendet die JCL zur Ausführung in MVS. Eine JCL-Prozedur bietet mehr Flexibilität, wenn Sie Befehle oder JCL hinzufügen, die das Archivieren von Jobausgaben oder andere Prozeduren unterstützen.

Hinweis: Während der Installation und Einrichtung des Speichermanagers kann es erforderlich sein, den Speichermanager vorübergehend zu deaktivieren, wenn Sie auf RACF-Setupprobleme, Initiatorauslastung, Jobklassenauslastung oder andere ähnliche Probleme im Zusammenhang mit dem Speichermanager warten müssen. Der Extract wird in dieser Instanz im Legacy-Modus ausgeführt, und ECSA und der 64-Bit-Shared Memory werden freigegeben. Der Extract zeigt die Freigabe von Shared Memory am Ende des Extract-Berichts an.

Oracle empfiehlt dies nicht als dauerhafte Lösung. Bei Verwendung ist der Benutzer für die Überwachung der Freigabe von ECSA und 64-Bit-Speicher verantwortlich. Der Parameter zum Aktivieren dieser Funktion beginnt mit einem Unterstrich, um den Benutzer daran zu erinnern, dass das System in diesem Modus ausgeführt wird. Andere Remote-Speicheroptionen können beibehalten und verwendet werden, indem die Option zum Deaktivieren der Speicherverwaltung entfernt wird. Der Parameter für die Remote-Speicherverwaltung ist standardmäßig aktiviert. Er wird wie folgt angegeben:

remote_memory_options _remote_memory_on
remote_memory_options _remote_memory_off

Die JCL hat das folgende Format:

//*====================================================================
//* EXAMPLE JCL FOR RUNNING THE COMMON MEMORY MONITOR PROCEDURE
//* ADDRESS SPACE NEEDING AN AUTHORIZED LOAD LIBRARY
//* NOTE: THE PROGRAM OGGMT001 CAN BE RENAMED IN THE LIBRARY BUT THE
//*       NEW NAME MUST MATCH THE PROGRAM NAME IN THIS JCL
//*====================================================================
//OGGDSNNA PROC RGN=0K TR=,EX=,MEM=,LEN=,SEC=,DUR=,VER=
//OGGDSNNX EXEC PGM=OGGMT001,REGION=&RGN,TIME=NOLIMIT,
// PARM='&TR &EX &MEM &LEN &SEC &DUR &VER'
//*--------------------------------------------------------------------
//* REPLACE &PREFIX.**.AUTHLOAD LIBRARIES WITH SITE SPECIFIC FILE(S)
//* ALSO REPLACE THE CEE LIBRARY WITH SITE SPECIFIC FILE
//* DSNN COULD REPRESENT A DB2 SPECIFIC LOAD LIBRARY IF ONE EXISTS
//*--------------------------------------------------------------------
//STEPLIB  DD DISP=SHR,DSN=&PREFIX..WLMDSNN.USER.AUTHLOAD
//         DD DISP=SHR,DSN=CEE.SCEERUN
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*

Ändern Sie die mit PREFIX markierten Librarys, damit sie in Ihrem System funktionieren. Wenn Sie das Programm OGGMT001 umbenannt haben, das Sie aus der Datei zOSPrograms.tar kopiert haben, müssen Sie es in der JCL ändern. Die Nullparameter in der PROC-Anweisung sind zu Informationszwecken vorhanden. Das Setupprogramm OGGJT001 des Jobs stellt diese Werte anhand der vom Extract übergebenen Informationen bereit. Sie können auch beliebig viele Dataset-Namen für die Schrittbibliothek angeben. Die in der Datei zOSPrograms.tar bereitgestellte JCL-Prozedur enthält ein Beispiel mit mehreren Schrittbibliotheken.