Préparer la connexion à la base de données

Découvrez comment configurer les paramètres de connexion de base de données, de système et de paramètre pour Oracle GoldenGate for PostgreSQL.

Oracle GoldenGate pour PostgreSQL se connecte aux bases de données PostgreSQL à l'aide d'un pilote ODBC prêtes à l'emploi. Les connexions peuvent être établies à l'aide d'un nom de source de données (DSN) ou à l'aide d'une connexion directe et en fournissant l'hôte, le port, la base de données et d'autres informations du serveur de base de données.

L'utilisation de connexions DSN nécessite que les détails de connexion soient répertoriés dans un fichier odbc.ini, tandis que les entrées directes sont saisies manuellement lors de l'ajout d'une connexion de base de données à l'interface Web du service d'administration ou via le client d'administration.

Remarque : PgBouncer n'est pas pris en charge pour les connexions Oracle GoldenGate.

Remarque : Oracle GoldenGate ne prend pas en charge les connexions à PostgreSQL qui utilisent Pgpool.

Après avoir effectué les étapes indiquées ci-dessous pour créer les entrées DSN ou pour utiliser des connexions directes, passez à la rubrique Ajouter des connexions de base de données pour savoir comment créer des connexions de base de données.

Configuration d'une connexion DSN sous Linux

Pour créer une connexion DSN pour les processus Oracle GoldenGate, vous devez d'abord ajouter une variable d'environnement pour le déploiement Oracle GoldenGate for PostgreSQL, puis créer un fichier odbc.ini pour stocker les attributs de connexion.

  1. Connectez-vous à l'interface Web de Service Manager.

  2. Dans le panneau de navigation de gauche, cliquez sur Déploiements, puis sélectionnez le déploiement Oracle GoldenGate PostgreSQL. Les différents paramètres du déploiement sont développés.

  3. Cliquez sur Configuration, puis sur le signe plus (+) en regard de Variables d'environnement.

  4. Fournissez les informations suivantes dans les deux champs disponibles. Pour le champ Valeur de variable d'environnement, assurez-vous qu'il s'agit du chemin absolu du fichier odbc.ini :

    Nom de variable d'environnement = ODBCINI

    Valeur de variable d'environnement = /ogg/deployment/pgsql/odbc.ini

    Boîte de dialogue Ajouter une variable d'environnement pour définir la variable d'environnement odbc.ini pour PostgreSQL.

  5. Cliquez sur Soumettre pour créer la variable, puis redémarrez le déploiement à partir du panneau Déploiements pour que les modifications prennent effet.

  6. Dans le dossier deployment de l'installation d'Oracle GoldenGate, créez manuellement un fichier odbc.ini et ajoutez des sources de données dans ce fichier.

Utilisez les paramètres minimum suivants lors de la création du fichier DSN :

Voici un exemple de fichier odbc.ini avec deux entrées DSN. Les noms de source de données utilisés dans l'exemple ci-dessous sont PG_src et 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. Enregistrez et fermez le fichier odbc.ini.

  2. Afin de configurer la connexion de base de données à partir d'Oracle GoldenGate pour un déploiement PostgreSQL, reportez-vous à Ajout de connexions de base de données.

Connexion à un système PostgreSQL compatible FIPS avec la version 14 ou inférieure

Lorsque l'extraction Oracle GoldenGate est exécutée à partir d'un système FIPS (Federal Information Processing Standards) installé avec une base de données PostgreSQL inférieure à la version 14, l'erreur suivante est générée :

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.

L'algorithme de cryptage md5 est l'algorithme de cryptage par défaut sur la version de base de données PostgreSQL inférieure à 14. Il entraîne un abandon de l'extraction avec une erreur.

Pour exécuter le processus Extract sur un système compatible FIPS exécutant la version de base de données PostgreSQL inférieure à 14, procédez comme suit :

  1. Modifiez le fichier postgresql.conf pour définir l'option password_encryption sur scram-sha-256.

  2. Modifiez le fichier pg_hba.conf pour définir l'option Method sur scram-sha-256, car md5 n'est pas pris en charge sur un système compatible FIPS. Toutefois, il s'agit d'une étape facultative.

    Le mot de passe de l'utilisateur de base de données utilisé par le processus d'extraction Oracle GoldenGate doit être régénéré ou modifié si l'utilisateur de base de données a déjà été créé, une fois l'option password_encryption définie sur scram-sha-256. Vous pouvez utiliser le même mot de passe pour être régénéré.

    Par exemple, si l'utilisateur de base de données nommé admin utilise le mot de passe en tant que password123, le même mot de passe peut être regénéré à l'aide du cryptage scram-sha-256.

Configuration de la prise en charge de SSL pour PostgreSQL

SSL peut être activé en définissant le paramètre de configuration SSL sur Activé dans le fichier de configuration PostgreSQL ($PGDATA/postgresql.conf ). Si SSL est activé, l'entrée hostssl correspondante doit être présente ou ajoutée dans le fichier pg_hba.conf.

Lorsque SSL est activé, Oracle GoldenGate utilise le certificat racine, la liste de certificats révoqués (CRL), le certificat client de serveur et la clé des emplacements par défaut, comme indiqué dans le fragment de code suivant :

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

Vous devez créer les entités souhaitées à partir de cette liste et les stocker aux emplacements appropriés.

Si la configuration SSL est configurée à l'aide d'emplacements autres que ceux par défaut, les variables d'environnement suivantes doivent être configurées conformément à l'environnement.

PGSSLROOTCERT
PGSSLCRL
PGSSLCERT
PGSSLKEY

Modifications requises dans le fichier odbc.ini

La prise en charge de SSL peut être activée en définissant l'attribut EncryptionMethod DSN sur 1 ou 6 dans le fichier $ODBCINI.

Si la valeur est définie sur 0 (pas de chiffrement), les données ne sont pas cryptées.

Si elle est définie sur 1 (SSL), les données sont cryptées à l'aide des protocoles SSL spécifiés dans l'option de connexion Crypto Protocol Version. Si la méthode de cryptage indiquée n'est pas prise en charge par le serveur de base de données, la connexion échoue et le pilote renvoie une erreur.

Si la valeur est 6 (RequestSSL), la demande de connexion et les données sont cryptées à l'aide de SSL si le serveur est configuré pour SSL. Si le serveur n'est pas configuré pour SSL, une connexion non chiffrée est établie. Le protocole SSL utilisé est déterminé par le paramètre de l'option de connexion de la version du protocole cryptographique.

Si les certificats serveur/client de base de données doivent également être validés, le fichier KeyStore correspondant doit être créé et les attributs DSN ODBC suivants doivent être configurés en conséquence dans le fichier odbc.ini.

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

Toutefois, le fichier KeyStore n'est pas obligatoire pour la validation des certificats client (par le serveur) lorsque SSLCert et SSLKey sont déjà fournis. Remarque : la base de données Azure pour PostgreSQL est définie par défaut pour appliquer les connexions SSL. Pour respecter cette exigence, effectuez les exigences répertoriées ici ou, si vous le souhaitez, vous pouvez désactiver l'application des connexions SSL à partir des paramètres de sécurité Connexion de l'instance de base de données à l'aide du portail Microsoft Azure.