Preparar conexión a base de datos

Obtenga información sobre la configuración de la conexión a la base de datos, el sistema y los valores de parámetros para Oracle GoldenGate para PostgreSQL.

Oracle GoldenGate para PostgreSQL se conecta a bases de datos PostgreSQL mediante un controlador ODBC preempaquetado. Las conexiones se pueden establecer mediante un nombre de origen de datos (DSN) o mediante una conexión directa y proporcionando el host, el puerto, la base de datos y otra información del servidor de base de datos.

El uso de conexiones DSN necesita que los detalles de conexión se muestren en un archivo odbc.ini, mientras que las entradas directas se introducen manualmente al agregar una conexión de base de datos a la interfaz web del servicio de administración o mediante el cliente de administración.

Nota: PgBouncer no está soportado para las conexiones de Oracle GoldenGate.

Nota: Oracle GoldenGate no soporta conexiones a PostgreSQL que utilizan Pgpool.

Después de realizar los pasos indicados a continuación para crear las entradas DSN o planea utilizar conexiones directas, continúe con el tema Agregar conexiones de base de datos para saber cómo crear conexiones de base de datos.

Configuración de una conexión DSN en Linux

Para crear una conexión DSN para los procesos de Oracle GoldenGate, primero deberá agregar una variable de entorno para el despliegue de Oracle GoldenGate para PostgreSQL y, a continuación, crear un archivo odbc.ini para almacenar los atributos de conexión.

  1. Inicie sesión en la interfaz web de Service Manager.

  2. En el panel de navegación de la izquierda, haga clic en Despliegues y, a continuación, seleccione el despliegue PostgreSQL de Oracle GoldenGate. Esto amplía los distintos valores para el despliegue.

  3. Haga clic en Configuración y, a continuación, haga clic en el signo más (+) junto a Variables de entorno.

  4. Proporcione la siguiente información en los dos campos disponibles. Para el campo Valor de variable de entorno, asegúrese de que sea la ruta absoluta del archivo odbc.ini:

    Environment Variable Name (Nombre de variable de ambiente) = ODBCINI

    Valor de variable de entorno = /ogg/deployment/pgsql/odbc.ini

    Cuadro de diálogo Agregar variable de entorno para definir la variable de entorno odbc.ini para PostgreSQL.

  5. Haga clic en Enviar para crear la nueva variable y, a continuación, reinicie el despliegue desde el panel Despliegues para que se apliquen los cambios.

  6. En la carpeta deployment de la instalación de Oracle GoldenGate, cree manualmente un archivo odbc.ini y agregue orígenes de datos en este archivo.

Utilice los siguientes valores mínimos al crear el archivo DSN:

A continuación, se muestra un archivo odbc.ini de ejemplo con dos entradas DSN. Los nombres de origen de datos utilizados en el ejemplo siguiente son PG_src y 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. Guarde y cierre el archivo odbc.ini.

  2. Para configurar la conexión a la base de datos desde Oracle GoldenGate para un despliegue PostgreSQL, consulte Agregar conexiones a base de datos.

Conexión a un sistema PostgreSQL con FIPS activado con la versión 14 o inferior

Cuando Oracle GoldenGate Extract se ejecuta desde un sistema activado para los Estándares Federales de Procesamiento de la Información (FIPS) instalado con una base de datos PostgreSQL inferior a la versión 14, genera el siguiente error:

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.

El algoritmo de cifrado md5 es el algoritmo de cifrado por defecto en la versión de base de datos PostgreSQL inferior a 14 y hace que el Extract finalice de forma anormal con un error.

Para ejecutar Extract en un sistema activado para FIPS que ejecuta una versión de base de datos PostgreSQL inferior a 14, realice los siguientes pasos:

  1. Modifique el archivo postgresql.conf para definir la opción password_encryption en scram-sha-256.

  2. Modifique el archivo pg_hba.conf para definir la opción Method en scram-sha-256, ya que md5 no se admite en un sistema con FIPS activado. Sin embargo, este es un paso opcional.

    La contraseña para el usuario de base de datos que utiliza Oracle GoldenGate Extract se debe volver a generar o modificar si el usuario de base de datos ya se ha creado, después de definir la opción password_encryption en scram-sha-256. Puede utilizar la misma contraseña para volver a generarla.

    Por ejemplo, si el usuario de la base de datos, denominado admin, utiliza la contraseña como password123, se puede volver a generar la misma contraseña mediante el cifrado scram-sha-256.

Configuración del Soporte SSL para PostgreSQL

SSL se puede activar definiendo el parámetro de configuración SSL en el archivo de configuración PostgreSQL ($PGDATA/postgresql.conf ). Si SSL está activado, la entrada hostssl correspondiente debe estar presente o agregarse en el archivo pg_hba.conf.

Cuando SSL está activado, Oracle GoldenGate utiliza el certificado raíz, la lista de revocación de certificación raíz (CRL), el certificado de cliente de servidor y la clave de las ubicaciones por defecto, como se muestra en el siguiente fragmento:

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

Debe crear las entidades deseadas a partir de esta lista y almacenarlas en las ubicaciones adecuadas.

Si la configuración de SSL se configura mediante ubicaciones que no son por defecto, se deben configurar las siguientes variables de entorno según el entorno.

PGSSLROOTCERT
PGSSLCRL
PGSSLCERT
PGSSLKEY

Cambios necesarios en el archivo odbc.ini

La compatibilidad con SSL se puede activar definiendo el atributo EncryptionMethod DSN en 1 o 6 en el archivo $ODBCINI.

Si se define en 0 (Sin cifrado), los datos no se cifran.

Si se establece en 1 (SSL), los datos se cifran mediante los protocolos SSL especificados en la opción de conexión Crypto Protocol Version (Versión de protocolo criptográfico). Si el servidor de base de datos no soporta el método de cifrado especificado, la conexión falla y el controlador devuelve un error.

Si se define en 6 (RequestSSL), la solicitud de conexión y los datos se cifran mediante SSL si el servidor está configurado para SSL. Si el servidor no está configurado para SSL, se establece una conexión no cifrada. El protocolo SSL utilizado está determinado por la configuración de la opción de conexión de la versión del protocolo criptográfico.

Si también es necesario validar los certificados de cliente/servidor de base de datos, se debe crear el archivo KeyStore correspondiente y se deben configurar los siguientes atributos DSN de ODBC según corresponda en el archivo odbc.ini.

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

Sin embargo, el archivo KeyStore no es obligatorio para la validación de certificados de cliente (por parte del servidor) cuando ya se proporcionan SSLCert y SSLKey. Nota: La base de datos de Azure para PostgreSQL se define por defecto para aplicar conexiones SSL. Para cumplir este requisito, realice los requisitos que se muestran aquí o, opcionalmente, puede desactivar la aplicación de conexiones SSL desde la configuración de seguridad de conexión de la instancia de base de datos mediante el portal de Microsoft Azure.