Verbindungen konfigurieren

Konfigurieren Sie statische Listener-, Redo-Transport- und TCP-Socket-Größenverbindungen für On-Premise- und Oracle Cloud Infrastructure -(OCI-)Instanzen.

Statische Listener konfigurieren

Konfigurieren Sie die statischen Listener-Dateien in den On-Premise- und Oracle Cloud Infrastructure -(OCI-)Instanzen. Für die anfängliche Instanziierung der Standby-Datenbank ist ein statischer Listener erforderlich. Wenn eine Datenbank heruntergefahren ist, ermöglicht ein statischer Listener eine Remote-Verbindung zu einer Instanz, sodass Sie Oracle Data Guard zum Starten der Instanz verwenden können.

Sie haben keine Zeilenumbrüche oder Leerzeichen in den listener.ora-Dateien.
  1. In der primären On-Premise-Datenbank muss ein Standard-Listener vorhanden sein. Ändern Sie den Standard-Listener nicht.
  2. Hängen Sie in der primären Datenbank die Datei SID_LIST_LISTENER an, um den eindeutigen Datenbanknamen, das Oracle-Standardverzeichnis und die Oracle System Identifier (SID) der primären Datenbank aufzunehmen.
    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. In OCI muss ein Standard-Listener in der Standbydatenbank vorhanden sein. Ändern Sie den Standard-Listener nicht.
  4. Hängen Sie in der Standby-Datenbank in OCI die Datei SID_LIST_LISTENER an, um den eindeutigen Datenbanknamen, das Oracle-Standardverzeichnis von OCI und den Oracle-System-ID (SID) der Primärdatenbank aufzunehmen.
    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) 
    		))

Für Redo-Transport konfigurieren

Konfigurieren Sie Oracle Net Encryption- und TNS-Einträge für Redo-Transport, um unverschlüsselte Tablespaces vor Sichtbarkeit im Netzwerk zu schützen. Einträge für jede Datenbank werden sowohl in der primären als auch in der Standby-Datei tnsnames.ora für den korrekten Redo-Transport benötigt.

IP-Adressen werden verwendet, da zwischen On-Premise- und Cloud-Umgebungen kein DNS vorhanden ist, um Servernamen in IP-Adressen aufzulösen. Verwenden Sie das folgende Beispiel, um Werte zu ersetzen, die für die Konfiguration relevant sind.

Oracle Real Application Clusters - (Oracle RAC-) Konfigurationen können den Scan-Listener-Namen nicht auflösen. Daher müssen Sie eine Adressliste verwenden, um alle Knoten zu definieren. Diese werden später hinzugefügt. Die ursprüngliche Instanz sollte nur eine IP-Adresse in den tns-Einträgen auflisten, um sicherzustellen, dass Oracle Recovery Manager (RMAN) immer eine Verbindung zu denselben Knoten herstellt.

  1. Platzieren Sie für Oracle Cloud Infrastructure -(OCI-)Instanzen die folgenden Einträge in der Datei sqlnet.ora auf allen Cloud-Rechnern, die sich im Verzeichnis $ORACLE_HOME/network/admin befinden.
    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. Ändern Sie für die OCI-Instanz die Datei tnsnames.ora.
    Stellen Sie sicher, dass Sie keine Zeilenumbrüche oder Leerzeichen in der Datei tnsnames.ora haben.
    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. Platzieren Sie für On-Premise-Rechner die folgenden Einträge in der Datei sqlnet.ora auf allen On-Premise-Rechnern, die sich im Verzeichnis $ORACLE_HOME/network/admin befinden.
    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. Ändern Sie für den primären, On-Premise-Datenbankhost die Datei tnsnames.ora.
    Die Primärdatenbank hat möglicherweise bereits einen TNS-Eintrag im On-Premisetnsnames.ora mit einem Servernamen für HOST. Ändern Sie in diesem Fall den Servernamen im Eintrag, um die IP-Adresse für den Host zu verwenden.
    Stellen Sie sicher, dass Sie keine Zeilenumbrüche oder Leerzeichen in der Datei tnsnames.ora haben.
    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) 
    ))

Listener starten

Starten Sie SID_LIST_LISTENER in der Standby-Datenbank in Oracle Cloud Infrastructure (OCI) und der primären On-Premise-Datenbank.

  1. Starten Sie den Listener in der Primärdatenbank.
    $ORACLE_HOME/bin/lsnrctl reload
  2. Prüfen Sie den Listener-Status in der Primärdatenbank.
    [oracle@primary_host admin]$ lsnrctl status
  3. Starten Sie den Listener auf der OCI-Datenbankinstanz.
    $ORACLE_HOME/bin/lsnrctl reload
  4. Prüfen Sie den Listener-Status in der OCI-Datenbankinstanz.
    [oracle@OCI_database_instance admin]$ lsnrctl status

Standbydatenbank starten

Starten Sie die Standby-Datenbank in Oracle Cloud Infrastructure.

Starten Sie die Standbydatenbank mit dem Server Control-Utility oder SQL*Plus.
  • Starten Sie die Datenbank mit dem Utility Server Control (srvctl):
    srvctl start instance -d standby DB_UNIQUE_NAME -i standby instance name -o mount
  • Starten Sie die Datenbank mit SQL*Plus:
    $ ./sqlplus / as sysdba
    SQL> startup mount;

Größe des TCP-Sockets festlegen

Stellen Sie die TCP-Socket-Größe für das On-Premise-System und die Cloud-Instanz auf maximal 128MB ein, um eine optimale Transportleistung zu gewährleisten. Wenn die Werte zwischen On-Premise- und Cloud-Instanzen nicht übereinstimmen, verhandelt das Netzwerkprotokoll das untere der beiden Werte.

  1. Prüfen Sie als Root-Benutzer die TCP-Socket-Größe für das On-Premise-System.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    Die Ausgabe sieht wie folgt aus:
    net.core.rmem_max = 4194304 net.core.wmem_max = 1048576
  2. Prüfen Sie als Root-Benutzer die TCP-Socket-Größe für die Cloud-Instanz.
    /sbin/sysctl -a | egrep net.core.[w,r]mem_max
    Die Ausgabe sieht wie folgt aus:
    net.core.rmem_max = 134217728
    net.core.wmem_max = 134217728
  3. Wenn die TCP-Socket-Größe Ihrer Cloud-Instanz nicht 134217728 ist, bearbeiten Sie die /etc/sysctl.conf-Dateieinstellungen für net.core.wmem_max und net.core.rmem_max bis 134217728.