Configura connessioni

Configurare il listener statico, il trasporto di redo e le connessioni delle dimensioni del socket TCP per le istanze OCI (on-premise) e Oracle Cloud Infrastructure.

Configurare i listener statici

Configurare i file listener statici nelle istanze in locale e OCI (Oracle Cloud Infrastructure). È richiesto un listener statico per la creazione di un'istanza iniziale del database in standby. Quando un database è inattivo, un listener statico abilita una connessione remota a un'istanza, consentendo di utilizzare Oracle Data Guard per avviare l'istanza.

Non contiene interruzioni di riga o spazi vuoti nei file listener.ora.
  1. Nel database primario in locale deve essere presente un listener predefinito, non modificare il listener predefinito.
  2. Nel database primario aggiungere il file SID_LIST_LISTENER per includere il nome univoco del database, la Oracle home e il SID (ID di sistema) Oracle del database primario.
    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 esistere un listener predefinito nel database in standby in OCI. Non modificare il listener predefinito.
  4. Nel database in standby in OCI aggiungere il file SID_LIST_LISTENER per includere il nome univoco del database, la Oracle home di OCI e il SID (ID di sistema) Oracle del database primario.
    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) 
    		))

Configura per trasporto redo

Configurare le voci di cifratura e TNS di Oracle Net per il trasporto di redo per proteggere le tablespace non cifrate dall'essere visibili in rete. Le voci per ciascun database sono necessarie sia nei file tnsnames.ora primario che in standby per il trasporto di redo corretto.

Gli indirizzi IP vengono utilizzati poiché non esiste DNS tra ambienti locali e cloud per risolvere i nomi server agli indirizzi IP. Utilizzare l'esempio seguente, sostituendo i valori rilevanti per la configurazione.

Le configurazioni di Oracle Real Application Clusters (Oracle RAC) non possono risolvere il nome del listener di scansione, pertanto è necessario utilizzare una lista di indirizzi per definire tutti i nodi. Le voci verranno aggiunte in seguito. L'istanza iniziale deve elencare solo un indirizzo IP nelle voci tns per assicurarsi che Oracle Recovery Manager (RMAN) si connetta sempre agli stessi nodi.

  1. Per le istanze OCI (Oracle Cloud Infrastructure), inserire le seguenti voci nel file sqlnet.ora su tutti i computer cloud che si trovano nella directory $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. Per l'istanza OCI, modificare il file tnsnames.ora.
    Assicurarsi di non avere interruzioni di riga o spazi vuoti nel file 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. Per i computer on premise, inserire le seguenti voci nel file sqlnet.ora in tutti i computer on premise che si trovano nella directory $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. Per l'host del database primario in locale, modificare il file tnsnames.ora.
    È possibile che il database primario disponga già di una voce TNS nel file tnsnames.ora in locale con un nome server per HOST. In questo caso, modificare il nome server nella voce per utilizzare l'indirizzo IP per l'host.
    Assicurarsi di non avere interruzioni di riga o spazi vuoti nel file 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) 
    ))

Avviare i listener

Avviare SID_LIST_LISTENER nel database in standby in Oracle Cloud Infrastructure (OCI) e nel database primario in locale.

  1. Avviare il listener sul database primario.
    $ORACLE_HOME/bin/lsnrctl reload
  2. Verificare lo stato del listener sul database primario.
    [oracle@primary_host admin]$ lsnrctl status
  3. Avviare il listener nell'istanza del database OCI.
    $ORACLE_HOME/bin/lsnrctl reload
  4. Verificare lo stato del listener nell'istanza del database OCI.
    [oracle@OCI_database_instance admin]$ lsnrctl status

Avvia database in standby

Avviare il database in standby su Oracle Cloud Infrastructure.

Avviare il database in standby utilizzando la utility Server Control o SQL*Plus.
  • Utilizzare la utility Server Control (srvctl) per avviare il database:
    srvctl start instance -d standby DB_UNIQUE_NAME -i standby instance name -o mount
  • Utilizzare SQL*Plus per avviare il database:
    $ ./sqlplus / as sysdba
    SQL> startup mount;

Impostare la dimensione del socket TCP

Impostare la dimensione del socket TCP su un massimo di 128MB per il sistema locale e l'istanza cloud per ottenere prestazioni di trasporto ottimali. Se i valori tra le istanze in locale e cloud non corrispondono, il protocollo di rete negozia il valore inferiore dei due valori.

  1. Come utente root, controllare la dimensione del socket TCP per il sistema in locale.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    L'output sarà simile al seguente:
    net.core.rmem_max = 4194304 net.core.wmem_max = 1048576
  2. Come utente root, controllare la dimensione del socket TCP per l'istanza cloud.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    L'output sarà simile al seguente:
    net.core.rmem_max = 134217728
    net.core.wmem_max = 134217728
  3. Se la dimensione del socket TCP dell'istanza cloud non è 134217728, modificare le impostazioni del file /etc/sysctl.conf per net.core.wmem_max e net.core.rmem_max su 134217728.