Datenbankverbindung vorbereiten

Hier erfahren Sie, wie Sie Datenbankverbindungs-, System- und Parametereinstellungen für Oracle GoldenGate für PostgreSQL konfigurieren.

Oracle GoldenGate for PostgreSQL stellt über einen vordefinierten ODBC-Treiber eine Verbindung zu PostgreSQL-Datenbanken her. Verbindungen können mit einem Data Source Name (DSN) oder über eine direkte Verbindung hergestellt und Host, Port, Datenbank und andere Informationen des Datenbankservers bereitgestellt werden.

Für die Verwendung von DSN-Verbindungen müssen Verbindungsdetails in einer odbc.ini-Datei aufgeführt werden, während Direkteinträge manuell eingegeben werden, wenn eine Datenbankverbindung zur Webschnittstelle des Administrationsservice oder über den Admin-Client hinzugefügt wird.

Hinweis: PgBouncer wird für Oracle GoldenGate-Verbindungen nicht unterstützt.

Hinweis: Oracle GoldenGate unterstützt keine Verbindungen zu PostgreSQL, die Pgpool verwenden.

Nachdem Sie die folgenden Schritte ausgeführt haben, um die DSN-Einträge zu erstellen, oder wenn Sie direkte Verbindungen verwenden möchten, fahren Sie mit dem Thema Datenbankverbindungen hinzufügen fort, um zu erfahren, wie Sie Datenbankverbindungen erstellen.

DSN-Verbindung in Linux konfigurieren

Um eine DSN-Verbindung für Oracle GoldenGate-Prozesse zu erstellen, müssen Sie zunächst eine Umgebungsvariable für das Oracle GoldenGate for PostgreSQL-Deployment hinzufügen und dann eine odbc.ini-Datei erstellen, um die Verbindungsattribute zu speichern.

  1. Melden Sie sich bei der Service Manager-Webbenutzeroberfläche an.

  2. Klicken Sie im linken Navigationsbereich auf Deployments, und wählen Sie das Oracle GoldenGate-Deployment PostgreSQL aus. Dadurch werden die verschiedenen Einstellungen für das Deployment erweitert.

  3. Klicken Sie auf Konfiguration und dann auf das Pluszeichen (+) neben Umgebungsvariablen.

  4. Geben Sie die folgenden Informationen in den beiden verfügbaren Feldern an. Stellen Sie für das Feld Umgebungsvariablenwert sicher, dass es sich um den absoluten Pfad der Datei odbc.ini handelt:

    Name der Umgebungsvariablen = ODBCINI

    Umgebungsvariablenwert = /ogg/deployment/pgsql/odbc.ini

    Dialogfeld "Umgebungsvariable hinzufügen" zum Festlegen der Umgebungsvariablen odbc.ini für PostgreSQL.

  5. Klicken Sie auf Weiterleiten, um die neue Variable zu erstellen und das Deployment dann im Bereich Deployments neu zu starten, damit die Änderungen wirksam werden.

  6. Erstellen Sie im Ordner deployment der Oracle GoldenGate-Installation manuell eine odbc.ini-Datei, und fügen Sie Datenquellen in dieser Datei hinzu.

Verwenden Sie die folgenden Mindesteinstellungen beim Erstellen der DSN-Datei:

Im Folgenden finden Sie eine odbc.ini-Beispieldatei mit zwei DSN-Einträgen. Die im folgenden Beispiel verwendeten Datenquellennamen sind PG_src und PG_tgt.

 

#[ODBC Data Sources]

[ODBC]

IANAAppCodePage=4

InstallDir=/datadirect

 

[PG_src]

Driver= ./datadirect/lib/ggpsql25.so

Description=Oracle GoldenGate PostgreSQL Wire Protocol

Database=sourcedb

HostName=remotehost

PortNumber=5432

 

| — |

[PG_tgt]

Driver=./datadirect/lib/ggpsql25.so

Description=Oracle GoldenGate PostgreSQL Wire Protocol

Database=targetdb

HostName=remotehost

PortNumber=5432

  1. Speichern Sie die Datei odbc.ini, und schließen Sie sie.

  2. Informationen zum Einrichten der Datenbankverbindung von Oracle GoldenGate für ein PostgreSQL-Deployment finden Sie unter Datenbankverbindungen hinzufügen.

Verbindung zu einem FIPS-fähigen PostgreSQL-System mit Version 14 oder niedriger herstellen

Wenn Oracle GoldenGate Extract von einem FIPS-(Federal Information Processing Standards-)fähigen System ausgeführt wird, das mit einer PostgreSQL-Datenbank unter Version 14 installiert ist, generiert es den folgenden Fehler:

ERROR OGG-25359 Could not connect to server with database 'postgres', host 'localhost', port '5432' and user name 'postgres'. Error Message: connection to server at "localhost" (::1), port 5432 failed: could not encrypt password: disabled for FIPSfe_sendauth: error sending password authentication.

Der Verschlüsselungsalgorithmus md5 ist der Standardverschlüsselungsalgorithmus in der Datenbankversion PostgreSQL, der kleiner als 14 ist, und bewirkt, dass der Extract mit einem Fehler beendet wird.

Um Extract auf einem FIPS-fähigen System auszuführen, auf dem die Datenbankversion PostgreSQL niedriger als 14 ausgeführt wird, führen Sie die folgenden Schritte aus:

  1. Ändern Sie die Datei postgresql.conf, um die Option password_encryption auf scram-sha-256 zu setzen.

  2. Ändern Sie die Datei pg_hba.conf, um die Option Method auf scram-sha-256 zu setzen, da md5 auf einem FIPS-fähigen System nicht unterstützt wird. Dies ist jedoch ein optionaler Schritt.

    Das Kennwort für den Datenbankbenutzer, der von Oracle GoldenGate Extract verwendet wird, muss neu generiert oder geändert werden, wenn der Datenbankbenutzer bereits erstellt wurde, nachdem die Option password_encryption auf scram-sha-256 gesetzt wurde. Sie können dasselbe Kennwort zur erneuten Generierung verwenden.

    Beispiel: Wenn der Datenbankbenutzer admin das Kennwort als password123 verwendet, kann dasselbe Kennwort mit der scram-sha-256-Verschlüsselung neu generiert werden.

SSL-Unterstützung für PostgreSQL konfigurieren

SSL kann aktiviert werden, indem der Konfigurationsparameter SSL in der Konfigurationsdatei PostgreSQL ($PGDATA/postgresql.conf ) aktiviert wird. Wenn SSL aktiviert ist, muss der entsprechende hostssl-Eintrag vorhanden sein oder in der Datei pg_hba.conf hinzugefügt werden.

Wenn SSL aktiviert ist, verwendet Oracle GoldenGate das Root-Zertifikat, die Root-Zertifizierungssperrliste (CRL), das Serverclientzertifikat und den Schlüssel aus den Standardverzeichnissen, wie im folgenden Snippet dargestellt:

~/.postgresql/root.crt
~/.postgresql/root.crl
~/.postgresql/postgresql.crt
~/.postgresql/postgresql.key

Sie müssen die gewünschten Entitys aus dieser Liste erstellen und an den entsprechenden Speicherorten speichern.

Wenn die SSL-Konfiguration mit nicht standardmäßigen Speicherorten eingerichtet wird, müssen die folgenden Umgebungsvariablen entsprechend der Umgebung eingerichtet werden.

PGSSLROOTCERT
PGSSLCRL
PGSSLCERT
PGSSLKEY

Änderungen in Datei odbc.ini erforderlich

Die SSL-Unterstützung kann aktiviert werden, indem das Attribut EncryptionMethod DSN in der Datei $ODBCINI auf 1 oder 6 gesetzt wird.

Bei 0 (Keine Verschlüsselung) werden die Daten nicht verschlüsselt.

Wenn dieser Wert auf 1 (SSL) gesetzt ist, werden Daten mit den SSL-Protokollen verschlüsselt, die in der Verbindungsoption "Crypto Protocol Version" angegeben sind. Wenn die angegebene Verschlüsselungsmethode vom Datenbankserver nicht unterstützt wird, verläuft die Verbindung nicht erfolgreich, und der Treiber gibt einen Fehler zurück.

Wenn dieser Wert auf 6 (RequestSSL) gesetzt ist, werden die Anmeldeanforderung und die Daten mit SSL verschlüsselt, wenn der Server für SSL konfiguriert ist. Wenn der Server nicht für SSL konfiguriert ist, wird eine unverschlüsselte Verbindung hergestellt. Das verwendete SSL-Protokoll wird durch die Einstellung der Verbindungsoption "Crypto Protocol Version" bestimmt.

Wenn die Datenbankserver-/Clientzertifikate ebenfalls validiert werden müssen, muss die entsprechende Datei KeyStore erstellt werden, und die folgenden ODBC-DSN-Attribute müssen entsprechend in der Datei odbc.ini eingerichtet werden.

KeyStore=path to .p12 keystore file KeyStorePassword=keystore-passwd TrustStore=path to root certificate ValidateServerCertificate=1

Die Datei KeyStore ist jedoch nicht für die Validierung von Clientzertifikaten (durch den Server) erforderlich, wenn SSLCert und SSLKey bereits angegeben sind. Hinweis: Azure Database for PostgreSQL setzt standardmäßig SSL-Verbindungen durch. Um diese Anforderung zu erfüllen, führen Sie die hier aufgeführten Anforderungen aus. Alternativ können Sie das Erzwingen von SSL-Verbindungen über die Verbindungssicherheitseinstellungen der Datenbankinstanz mit dem Microsoft Azure Portal deaktivieren.