Preparar Conexão do Banco de Dados

Saiba mais sobre como configurar definições de conexão de banco de dados, sistema e parâmetro para o Oracle GoldenGate para PostgreSQL.

O Oracle GoldenGate for PostgreSQL se conecta a bancos de dados PostgreSQL usando um driver ODBC pré-empacotado. As conexões podem ser estabelecidas usando um Nome de Origem de Dados (DSN) ou usando uma conexão direta e fornecendo o host, a porta, o banco de dados e outras informações do servidor de banco de dados.

O uso de conexões DSN requer que os detalhes da conexão sejam listados em um arquivo odbc.ini, enquanto o uso de entradas diretas é inserido manualmente ao adicionar uma conexão de banco de dados à interface Web do Serviço de Administração ou por meio do Admin Client.

Observação: PgBouncer não é suportado para conexões do Oracle GoldenGate.

Observação: O Oracle GoldenGate não suporta conexões com o PostgreSQL que usam Pgpool.

Depois de executar as etapas fornecidas a seguir para criar as entradas DSN ou você planeja usar conexões diretas, vá para o tópico Adicionar Conexões de Banco de Dados para saber como criar conexões de banco de dados.

Configurar uma Conexão DSN no Linux

Para criar uma conexão DSN para processos do Oracle GoldenGate, primeiro você precisará adicionar uma variável de ambiente para a implantação do Oracle GoldenGate para PostgreSQL e, em seguida, criar um arquivo odbc.ini para armazenar os atributos de conexão.

  1. Faça login na interface web do Service Manager.

  2. No painel de navegação esquerdo, clique em Deployments e selecione a implantação PostgreSQL do Oracle GoldenGate. Isso expande as várias configurações para a implantação.

  3. Clique em Configuração e, em seguida, clique no sinal de mais (+) ao lado de Variáveis de Ambiente.

  4. Forneça as informações a seguir nos dois campos disponíveis. Para o campo Valor da Variável de Ambiente, verifique se ele é o caminho absoluto do arquivo odbc.ini:

    Nome da Variável de Ambiente = ODBCINI

    Valor da Variável de Ambiente = /ogg/deployment/pgsql/odbc.ini

    Caixa de diálogo Adicionar Variável de Ambiente para definir a variável de ambiente odbc.ini para PostgreSQL.

  5. Clique em Submeter para criar a nova variável e, em seguida, reiniciar a implantação no painel Implantações, para que as alterações entrem em vigor.

  6. Na pasta deployment da instalação do Oracle GoldenGate, crie manualmente um arquivo odbc.ini e adicione origens de dados nesse arquivo.

Use as seguintes configurações mínimas ao criar o arquivo DSN:

Veja a seguir um arquivo de exemplo odbc.ini com duas entradas DSN. Os nomes da Origem de Dados usados no exemplo abaixo são 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. Salve e feche o arquivo odbc.ini.

  2. Para configurar a conexão de banco de dados do Oracle GoldenGate para uma implantação do PostgreSQL, consulte Adicionar Conexões de Banco de Dados.

Estabelecendo Conexão com um Sistema PostgreSQL Ativado para FIPS com a Versão 14 ou Inferior

Quando o processo Extract do Oracle GoldenGate é executado de um sistema ativado pelo FIPS (Federal Information Processing Standards) instalado com o banco de dados PostgreSQL inferior à versão 14, ele gera o seguinte erro:

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.

O algoritmo de criptografia md5 é o algoritmo de criptografia padrão na versão do banco de dados PostgreSQL inferior a 14 e faz com que o Extract seja encerrado com um erro.

Para executar o processo Extract em um sistema ativado para FIPS que executa a versão do banco de dados PostgreSQL inferior a 14, execute as seguintes etapas:

  1. Modifique o arquivo postgresql.conf para definir a opção password_encryption como scram-sha-256.

  2. Modifique o arquivo pg_hba.conf para definir a opção Method como scram-sha-256, pois md5 não é suportado em um sistema ativado para FIPS. No entanto, esta é uma etapa opcional.

    A senha do usuário do banco de dados que é usada pelo Oracle GoldenGate Extract deverá ser gerada novamente ou modificada se o usuário do banco de dados já tiver sido criado, após a opção password_encryption ser definida como scram-sha-256. Você pode usar a mesma senha para ser gerada novamente.

    Por exemplo, se o usuário do banco de dados, chamado admin, usar a senha como password123, a mesma senha poderá ser gerada novamente usando a criptografia scram-sha-256.

Configurando o Suporte a SSL para PostgreSQL

O SSL pode ser ativado definindo o parâmetro de configuração SSL como ativado no arquivo de configuração PostgreSQL ($PGDATA/postgresql.conf ). Se o SSL estiver ativado, a entrada hostssl correspondente deverá estar presente ou ser adicionada no arquivo pg_hba.conf.

Quando o SSL é ativado, o Oracle GoldenGate usa o certificado raiz, a lista de revogação de certificação raiz (CRL), o certificado do cliente do servidor e a chave dos locais padrão, conforme mostrado no seguinte trecho de código:

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

Você precisa criar as entidades desejadas nesta lista e armazená-las em locais apropriados.

Se a configuração do SSL for configurada usando locais não padrão, as variáveis de ambiente a seguir deverão ser configuradas de acordo com o ambiente.

PGSSLROOTCERT
PGSSLCRL
PGSSLCERT
PGSSLKEY

Alterações necessárias no arquivo odbc.ini

O suporte a SSL pode ser ativado definindo o atributo EncryptionMethod DSN como 1 ou 6 no arquivo $ODBCINI.

Se definido como 0 (Sem Criptografia), os dados não serão criptografados.

Se definido como 1 (SSL), os dados serão criptografados usando os protocolos SSL especificados na opção de conexão Versão do Protocolo de Criptografia. Se o método de criptografia especificado não for suportado pelo servidor de banco de dados, a conexão falhará e o driver retornará um erro.

Se definido como 6 (RequestSSL), a solicitação de log-in e os dados serão criptografados usando SSL se o servidor estiver configurado para SSL. Se o servidor não estiver configurado para SSL, uma conexão não criptografada será estabelecida. O protocolo SSL usado é determinado pela definição da opção de conexão Versão do protocolo Crypto.

Se o servidor de banco de dados/certificados de cliente também precisarem ser validados, o arquivo KeyStore correspondente precisará ser criado e os seguintes atributos ODBC DSN deverão ser configurados de acordo no arquivo odbc.ini.

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

No entanto, o arquivo KeyStore não é obrigatório para validação de certificados de cliente (pelo servidor) quando SSLCert e SSLKey já são fornecidos. Observação: O Banco de Dados do Azure para PostgreSQL usa como padrão para impor conexões SSL. Para aderir a esse requisito, execute os requisitos listados aqui ou, opcionalmente, você pode desativar a imposição de conexões SSL nas configurações de segurança de Conexão da instância do banco de dados usando o Portal do Microsoft Azure.