Prepara connessione al database

Informazioni sulla configurazione delle impostazioni di connessione al database, sistema e parametri per Oracle GoldenGate for PostgreSQL.

Oracle GoldenGate for PostgreSQL si connette ai database PostgreSQL utilizzando un driver ODBC preimpostato. Le connessioni possono essere stabilite utilizzando un nome di origine dati (DSN, Data Source Name) o utilizzando una connessione diretta e fornendo l'host, la porta, il database del database server e altre informazioni.

L'utilizzo delle connessioni DSN richiede che i dettagli di connessione vengano elencati in un file odbc.ini, mentre l'utilizzo delle voci dirette viene immesso manualmente quando si aggiunge una connessione al database all'interfaccia Web del servizio di amministrazione o tramite il client di amministrazione.

Nota: PgBouncer non è supportato per le connessioni a Oracle GoldenGate.

Nota: Oracle GoldenGate non supporta le connessioni a PostgreSQL che utilizzano Pgpool.

Dopo aver eseguito i passi riportati di seguito per creare le voci DSN o si prevede di utilizzare connessioni dirette, passare all'argomento Aggiungi connessioni al database per sapere come creare le connessioni al database.

Configurare una connessione DSN in Linux

Per creare una connessione DSN per i processi Oracle GoldenGate, sarà innanzitutto necessario aggiungere una variabile di ambiente per la distribuzione Oracle GoldenGate per PostgreSQL, quindi creare un file odbc.ini per memorizzare gli attributi di connessione.

  1. Eseguire il login all'interfaccia Web Service Manager.

  2. Nel riquadro di navigazione a sinistra fare clic su Distribuzioni, quindi selezionare la distribuzione PostgreSQL di Oracle GoldenGate. Ciò espande le varie impostazioni per la distribuzione.

  3. Fare clic su Configurazione, quindi sul segno più (+) accanto a Variabili di ambiente.

  4. Fornire le seguenti informazioni nei due campi disponibili. Per il campo Valore variabile di ambiente, assicurarsi che sia il percorso assoluto del file odbc.ini:

    Nome variabile di ambiente = ODBCINI

    Valore variabile di ambiente = /ogg/deployment/pgsql/odbc.ini

    Finestra di dialogo Aggiungi variabile di ambiente per l'impostazione della variabile di ambiente odbc.ini per PostgreSQL.

  5. Fare clic su Sottometti per creare la nuova variabile, quindi riavviare la distribuzione dal riquadro Distribuzioni per rendere effettive le modifiche.

  6. Nella cartella deployment dell'installazione di Oracle GoldenGate, creare manualmente un file odbc.ini e aggiungere origini dati in questo file.

Utilizzare le seguenti impostazioni minime durante la creazione del file DSN:

Di seguito è riportato un esempio di file odbc.ini con due voci DSN. I nomi delle origini dati utilizzati nell'esempio seguente sono PG_src e 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. Salvare e chiudere il file odbc.ini.

  2. Per impostare la connessione al database da Oracle GoldenGate per una distribuzione PostgreSQL, vedere Aggiungi connessioni al database.

Connessione a un sistema PostgreSQL abilitato per FIPS con versione 14 o inferiore

Quando Oracle GoldenGate Extract viene eseguito da un sistema abilitato per FIPS (Federal Information Processing Standards) installato con un database PostgreSQL precedente alla versione 14, viene generato il seguente errore:

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'algoritmo di cifratura md5 è l'algoritmo di cifratura predefinito nella versione del database PostgreSQL precedente a 14 e causa l'interruzione di Extract con un errore.

Per eseguire Extract su un sistema abilitato per FIPS che esegue una versione del database PostgreSQL precedente a 14, effettuare le operazioni riportate di seguito.

  1. Modificare il file postgresql.conf per impostare l'opzione password_encryption su scram-sha-256.

  2. Modificare il file pg_hba.conf per impostare l'opzione Method su scram-sha-256, in quanto md5 non è supportato in un sistema abilitato per FIPS. Si tratta tuttavia di un'operazione facoltativa.

    La password per l'utente del database utilizzato da Oracle GoldenGate Extract deve essere rigenerata o modificata se l'utente del database è già stato creato, dopo che l'opzione password_encryption è stata impostata su scram-sha-256. È possibile utilizzare la stessa password per essere rigenerata.

    Ad esempio, se l'utente del database denominato admin utilizza la password come password123, è possibile rigenerare la stessa password utilizzando la cifratura scram-sha-256.

Configurazione del supporto SSL per PostgreSQL

SSL può essere abilitato impostando il parametro di configurazione SSL su on nel file di configurazione PostgreSQL ($PGDATA/postgresql.conf ). Se SSL è abilitato, la voce hostssl corrispondente deve essere presente o aggiunta nel file pg_hba.conf.

Quando SSL è abilitato, Oracle GoldenGate utilizza il certificato radice, l'elenco di revoca della certificazione radice (CRL), il certificato client del server e la chiave dalle posizioni predefinite, come mostrato nello snippet riportato di seguito.

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

È necessario creare le entità desiderate da questo elenco e memorizzarle nelle posizioni appropriate.

Se la configurazione SSL viene impostata utilizzando posizioni non predefinite, è necessario impostare le variabili di ambiente riportate di seguito in base all'ambiente.

PGSSLROOTCERT
PGSSLCRL
PGSSLCERT
PGSSLKEY

Modifiche richieste nel file odbc.ini

Il supporto SSL può essere abilitato impostando l'attributo EncryptionMethod DSN su 1 o 6 nel file $ODBCINI.

Se impostato su 0 (Nessuna cifratura), i dati non vengono cifrati.

Se l'impostazione è 1 (SSL), i dati vengono cifrati utilizzando i protocolli SSL specificati nell'opzione di connessione Crypto Protocol Version. Se il metodo di cifratura specificato non è supportato dal database server, la connessione non riesce e il driver restituisce un errore.

Se impostato su 6 (RequestSSL), la richiesta di login e i dati vengono cifrati utilizzando SSL se il server è configurato per SSL. Se il server non è configurato per SSL, viene stabilita una connessione non cifrata. Il protocollo SSL utilizzato è determinato dall'impostazione dell'opzione di connessione Crypto Protocol Version.

Se è necessario convalidare anche i certificati database server/client, è necessario creare il file KeyStore corrispondente e gli attributi DSN ODBC seguenti devono essere impostati di conseguenza nel file odbc.ini.

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

Tuttavia, il file KeyStore non è obbligatorio per la convalida dei certificati client (da parte del server) quando sono già forniti SSLCert e SSLKey. Nota: per impostazione predefinita il database Azure per PostgreSQL applica le connessioni SSL. Per soddisfare questo requisito, eseguire i requisiti elencati qui o, facoltativamente, è possibile disabilitare l'applicazione delle connessioni SSL dalle impostazioni di sicurezza della connessione dell'istanza di database utilizzando il portale Microsoft Azure.