Configurar as conexões

Configure as conexões estáticas de listener, transporte de redo e tamanho de soquete TCP para as instâncias locais e OCI (Oracle Cloud Infrastructure).

Configurar os Listeners Estáticos

Configure os arquivos de listener estáticos nas instâncias locais e OCI (Oracle Cloud Infrastructure). É necessário um listener estático para a instanciação inicial do banco de dados stand-by. Quando um banco de dados está inativo, um listener estático ativa uma conexão remota com uma instância, permitindo que você use o Oracle Data Guard para iniciar a instância.

Não há quebras de linha ou espaços em branco nos arquivos listener.ora.
  1. Deve haver um listener padrão no banco de dados local principal, não altere o listener padrão.
  2. No banco de dados principal, anexe o arquivo SID_LIST_LISTENER para incluir o nome exclusivo do banco de dados, o Oracle Home e o SID (Oracle System Identifier) do banco de dados principal.
    SID_LIST_LISTENER = 
    		(SID_LIST = (SID_DESC = 
    (GLOBAL_DBNAME = DB_UNIQUE_NAME of the primary database) (ORACLE_HOME = Local Oracle Home of the primary database) 
    				(SID_NAME = ORACLE SID of the primary database) 
    		))
  3. Deve haver um listener padrão no banco de dados stand-by no OCI, não altere o listener padrão.
  4. No banco de dados stand-by no OCI, adicione o arquivo SID_LIST_LISTENER para incluir o nome exclusivo do banco de dados, o Oracle Home do OCI e o SID (Identificador de Sistema Oracle) do banco de dados principal.
    SID_LIST_LISTENER = 
    		(SID_LIST = (SID_DESC = 
    (GLOBAL_DBNAME = DB_UNIQUE_NAME of the primary database) (ORACLE_HOME = Local Oracle Home of OCI) 
    				(SID_NAME = ORACLE SID of the primary database) 
    		))

Configurar para Transporte de Redo

Configure a Criptografia do Oracle Net e as Entradas TNS para transporte de redo para proteger tablespaces não criptografados de serem visíveis na rede. As entradas para cada banco de dados são necessárias nos arquivos tnsnames.ora principal e stand-by para transporte de redo adequado.

Os endereços IP são usados, pois não há DNS entre ambientes locais e em nuvem para resolver nomes de servidor para endereços IP. Use o exemplo a seguir, substituindo valores relevantes à configuração.

As configurações do Oracle Real Application Clusters (Oracle RAC) não podem resolver o nome do listener de varredura; portanto, você deve usar uma lista de endereços para definir todos os nós. Esses serão adicionados posteriormente, a instância inicial só deverá listar um endereço IP nas entradas tns para garantir que o RMAN (Oracle Recovery Manager) esteja sempre se conectando aos mesmos nós.

  1. Para instâncias do OCI (Oracle Cloud Infrastructure), coloque as seguintes entradas no arquivo sqlnet.ora em todas as máquinas na nuvem localizadas no diretório $ORACLE_HOME/network/admin.
    SQLNET.ENCRYPTION_SERVER=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1) 
    SQLNET.ENCRYPTION_CLIENT=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1)
  2. Para a instância do OCI, altere o arquivo tnsnames.ora.
    Certifique-se de que você não tem quebras de linha ou espaços em branco no arquivo tnsnames.ora.
    Standby_db_unique_name = (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    		   (FAILOVER=on)
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = StandbyDB_IP_address)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = Primary_db_SID) 
    (UR=A) 
    )) 
    
    Primary_db_unique_name = (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    		   (FAILOVER=on)
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = Primary_DB_IP_ address)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = Primary_db_SID) 
    (UR=A) 
    ))
  3. Para locais, coloque as seguintes entradas no arquivo sqlnet.ora em todas as máquinas locais localizadas no diretório $ORACLE_HOME/network/admin.
    SQLNET.ENCRYPTION_SERVER=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA1) 
    SQLNET.ENCRYPTION_CLIENT=REQUIRED 
    SQLNET.CRYPTO_CHECKSUM_CLIENT=REQUIRED 
    SQLNET.ENCRYPTION_TYPES_CLIENT=(AES256,AES192,AES128) 
    SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT=(SHA1) 
    
  4. Para o host do banco de dados principal e local, altere o arquivo tnsnames.ora.
    O banco de dados principal já pode ter uma entrada TNS no tnsnames.ora local com um nome de servidor para o HOST. Nesse caso, altere o nome do servidor na entrada para usar o endereço IP do host.
    Certifique-se de que você não tem quebras de linha ou espaços em branco no arquivo tnsnames.ora.
    Primary_db_unique_name = (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (FAILOVER=on)
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = PrimaryDB_IP_address)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = Primary_db_SID ) 
    (UR=A) 
    )) 
    
    Standby_db_unique_name = (DESCRIPTION = 
    (SDU=65536) (RECV_BUF_SIZE=134217728) 
    (SEND_BUF_SIZE=134217728) 
    (ADDRESS_LIST = 
    (FAILOVER=on)
    (CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
    (ADDRESS = (PROTOCOL = TCP)(HOST = StandbyDB_IP_address)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = Primary_db_SID ) 
    (UR=A) 
    ))

Iniciar os Listeners

Inicie o SID_LIST_LISTENER no banco de dados stand-by no OCI (Oracle Cloud Infrastructure) e no banco de dados local principal.

  1. Inicie o listener no banco de dados principal.
    $ORACLE_HOME/bin/lsnrctl reload
  2. Verifique o status do listener no banco de dados principal.
    [oracle@primary_host admin]$ lsnrctl status
  3. Inicie o listener na instância do banco de dados OCI.
    $ORACLE_HOME/bin/lsnrctl reload
  4. Verifique o status do listener na instância do banco de dados OCI.
    [oracle@OCI_database_instance admin]$ lsnrctl status

Iniciar o Banco de Dados Stand-by

Inicie o banco de dados stand-by no Oracle Cloud Infrastructure.

Inicie o banco de dados stand-by usando o utilitário Server Control ou o SQL*Plus.
  • Use o utilitário Controle do Servidor (srvctl) para iniciar o banco de dados:
    srvctl start instance -d standby DB_UNIQUE_NAME -i standby instance name -o mount
  • Use o SQL*Plus para iniciar o banco de dados:
    $ ./sqlplus / as sysdba
    SQL> startup mount;

Definir o Tamanho do Soquete TCP

Defina o tamanho do soquete TCP como um máximo de 128MB para o sistema local e a instância da nuvem para um desempenho de transporte ideal. Se os valores entre as instâncias locais e na nuvem não corresponderem, o protocolo de rede negociará o menor dos dois valores.

  1. Como um usuário-raiz, verifique o tamanho do soquete TCP para o sistema local.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    A saída terá uma aparência semelhante à seguinte:
    net.core.rmem_max = 4194304 net.core.wmem_max = 1048576
  2. Como um usuário-raiz, verifique o tamanho do soquete TCP para a instância da nuvem.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    A saída terá uma aparência semelhante à seguinte:
    net.core.rmem_max = 134217728
    net.core.wmem_max = 134217728
  3. Se o tamanho do soquete TCP da instância da nuvem não for 134217728, edite as definições do arquivo /etc/sysctl.conf para net.core.wmem_max e net.core.rmem_max para 134217728.