Configurar Conexiones

Configure las conexiones de tamaño de socket de listener estático, redo transport y TCP para las instancias locales y Oracle Cloud Infrastructure (OCI).

Configurar Listeners Estáticos

Configure los archivos de listener estáticos en las instancias locales y Oracle Cloud Infrastructure (OCI). Se necesita un listener estático para la instanciación inicial de la base de datos en espera. Cuando una base de datos está caída, un listener estático activa una conexión remota a una instancia, lo que le permite utilizar Oracle Data Guard para iniciar la instancia.

No tenga ningún salto de línea ni espacios en blanco en los archivos listener.ora.
  1. Debe haber un listener por defecto en la base de datos local primaria, no cambie el listener por defecto.
  2. En la base de datos primaria, agregue el archivo SID_LIST_LISTENER para incluir el nombre único de la base de datos, el directorio raíz de Oracle y el identificador del sistema Oracle (SID) de la base de datos primaria.
    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. Debe haber un listener por defecto en la base de datos en espera en OCI, no cambie el listener por defecto.
  4. En la base de datos en espera de OCI, agregue el archivo SID_LIST_LISTENER para incluir el nombre único de la base de datos, el directorio raíz de Oracle de OCI y el identificador del sistema Oracle (SID) de la base de datos primaria.
    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 Oracle Net Encryption y TNS Entries para el transporte de redo para proteger los tablespaces no cifrados de estar visibles en la red. Las entradas para cada base de datos son necesarias tanto en los archivos tnsnames.ora primarios como en espera para el transporte de redo adecuado.

Las direcciones IP se utilizan porque no hay DNS entre entornos locales y en la nube para resolver nombres de servidor en direcciones IP. Utilice el siguiente ejemplo, sustituyendo los valores relevantes para la configuración.

Las configuraciones de Oracle Real Application Clusters (Oracle RAC) no pueden resolver el nombre del listener de exploración; por lo tanto, debe utilizar una lista de direcciones para definir todos los nodos. Se agregarán más tarde, la instancia inicial sólo debe mostrar una dirección IP en las entradas tns para asegurarse de que Oracle Recovery Manager (RMAN) siempre se conecta a los mismos nodos.

  1. Para las instancias de Oracle Cloud Infrastructure (OCI), coloque las siguientes entradas en el archivo sqlnet.ora en todas las máquinas en la nube ubicadas en el directorio $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 la instancia de OCI, cambie el archivo tnsnames.ora.
    Asegúrese de que no tiene ningún salto de línea ni espacios en blanco en el archivo 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 los locales, coloque las siguientes entradas en el archivo sqlnet.ora en todas las máquinas locales ubicadas en el directorio $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 el host de base de datos principal local, cambie el archivo tnsnames.ora.
    La base de datos primaria ya puede tener una entrada TNS en el local tnsnames.ora con un nombre de servidor para el HOST. En este caso, cambie el nombre del servidor en la entrada para utilizar la dirección IP del host.
    Asegúrese de que no tiene ningún salto de línea ni espacios en blanco en el archivo 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 Listeners

Inicie SID_LIST_LISTENER en la base de datos en espera en Oracle Cloud Infrastructure (OCI) y en la base de datos primaria local.

  1. Inicie el listener en la base de datos primaria.
    $ORACLE_HOME/bin/lsnrctl reload
  2. Verifique el estado del listener en la base de datos primaria.
    [oracle@primary_host admin]$ lsnrctl status
  3. Inicie el listener en la instancia de base de datos OCI.
    $ORACLE_HOME/bin/lsnrctl reload
  4. Verifique el estado del listener en la instancia de base de datos OCI.
    [oracle@OCI_database_instance admin]$ lsnrctl status

Iniciar la base de datos en espera

Inicie la base de datos en espera en Oracle Cloud Infrastructure.

Inicie la base de datos en espera mediante la utilidad Server Control o SQL*Plus.
  • Utilice la utilidad Server Control (srvctl) para iniciar la base de datos:
    srvctl start instance -d standby DB_UNIQUE_NAME -i standby instance name -o mount
  • Utilice SQL*Plus para iniciar la base de datos:
    $ ./sqlplus / as sysdba
    SQL> startup mount;

Definir el tamaño del socket TCP

Establezca el tamaño del socket TCP en un máximo de 128MB para el sistema local y la instancia en la nube para obtener un rendimiento de transporte óptimo. Si los valores entre las instancias locales y en la nube no coinciden, el protocolo de red negociará la parte inferior de los dos valores.

  1. Como usuario root, compruebe el tamaño del socket TCP para el sistema local.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    La salida será similar a la siguiente:
    net.core.rmem_max = 4194304 net.core.wmem_max = 1048576
  2. Como usuario root, compruebe el tamaño del socket TCP de la instancia en la nube.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    La salida será similar a la siguiente:
    net.core.rmem_max = 134217728
    net.core.wmem_max = 134217728
  3. Si el tamaño del socket TCP de la instancia en la nube no es 134217728, edite la configuración del archivo /etc/sysctl.conf para net.core.wmem_max y net.core.rmem_max a 134217728.