Daten mit Oracle Database Gateway laden, das in OCI Compute ausgeführt wird

Mit OracleDB für Azure können Azure-Anwendungen Daten aus OCI-Datenbanken laden und abfragen. This architecture describes how an Oracle Exadata Database Service on Dedicated Infrastructure can leverage the infrastructure provided by OracleDB for Azure to load and query data from Azure SQL Server using a database link via Oracle Database Gateway for SQL Server software running in an OCI Compute instance.

Architektur

This architecture uses Oracle Database Gateway for SQL Server running in an OCI Compute instance to load data from Azure SQL Server to Oracle Exadata Database Service on Dedicated Infrastructure. Oracle Database Gateway for SQL Server stellt eine Verbindung zu Azure SQL Server über den Netzwerklink mit schneller Latenz mit einem privaten Azure-Endpunkt her.

Das folgende Diagramm veranschaulicht diese Architektur.



exadata-db-azure-odsa-gateway.zip

Beachten Sie Folgendes bei dieser Architektur:

  • Eine neue Sicherheitsregel muss im Oracle Exadata Database Service on Dedicated Infrastructure-Clientsubnetz erstellt werden, um Traffic an Port 1521 zuzulassen.
  • Die Oracle Database Gateway-Software kann auf OCI Compute Virtual Machine oder Bare Metal ausgeführt werden. Die Anzahl von OCPUs, Arbeitsspeicher und Datenträgergröße muss der OCI Compute-Instanz entsprechend den Anforderungen und Größenrichtlinien des Oracle Database Gateway for SQL Server-Servers zugewiesen werden. Weitere Einzelheiten finden Sie unter "Systemanforderungen für Oracle Database Gateway for SQL Server".
  • Die Auflösung von Hostname zu IP-Adresse für den Azure SQL Server-Endpunkt ist in OCI erforderlich. Bearbeiten Sie die Datei /etc/hosts auf dem Oracle Database Gateway-Server, oder konfigurieren Sie eine private DNS-Zone im virtuellen OCI-Cloud-Netzwerk (VCN), in dem Oracle Exadata Database Service on Dedicated Infrastructure konfiguriert ist.
  • In Oracle Exadata Database Service on Dedicated Infrastructure-Datenbanken ist der Parameter global_names standardmäßig auf TRUE gesetzt. Daher muss der vollqualifizierte Datenbankname beim Erstellen des Datenbanklinks zu Azure SQL Server verwendet werden.

Bevor Sie beginnen

Bevor Sie beginnen, prüfen Sie die Versionen der wichtigsten Softwarekomponenten, die in diesem Setup verwendet werden, laden Sie das erforderliche Softwarepaket herunter, und lesen Sie die Produktdokumentation später.

Softwareanforderungen prüfen

Diese Anweisungen werden auf den folgenden Software- und Hardwareversionen getestet.

  • Oracle Exadata Database Service on Dedicated Infrastructure X8M-2
  • Oracle Database 19.16
  • Azure SQL Server

Laden Sie das folgende Softwarepaket herunter:

Erforderliche Services und Rollen

Diese Lösung erfordert die folgenden Services:

  • Oracle Exadata Database Service on Dedicated Infrastructure mit OracleDB für Azure
  • Oracle Cloud Infrastructure
  • Oracle Cloud Infrastructure Compute

Für jeden Service sind diese Rollen erforderlich.

Servicename: Rolle Erforderlich für...
Oracle Exadata Database Service on Dedicated Infrastructure: sys con Konfigurieren Sie den Datenbanklink.
Oracle Cloud Infrastructure: VCN Admin Fügen Sie Sicherheitsregeln hinzu, und ändern Sie DNS.
Oracle Cloud Infrastructure Compute: admin Erstellen Sie die Compute-Instanz, um Oracle Database Gateway zu installieren.
Oracle Cloud Infrastructure Compute: opc/root Erstellen Sie einen Benutzer, um die Oracle Database Gateway-Software zu installieren und zu konfigurieren. Ändern Sie die lokale Firewall, um Verbindungen zu Port 1521 zuzulassen.

Informationen zu den benötigten Cloud-Services finden Sie unter Erfahren Sie, wie Sie Oracle Cloud-Services für Oracle-Lösungen erhalten.

Überlegungen zu Oracle Database Gateway, das in einer OCI Compute-Instanz ausgeführt wird

Prüfen Sie diese Überlegungen, bevor Sie diese Lösung implementieren. Die Ausführung von Oracle Database Gateway for SQL Server in einer OCI Compute-Instanz eignet sich ideal für Kunden, die mit OCI-Services vertraut sind.

Vorteile von Oracle Database Gateway, das in OCI Compute ausgeführt wird

  • Oracle Database Gateway for SQL Server wird von Oracle entwickelt und unterstützt.
  • No additional third-party software is required to be installed on Oracle Exadata Database Service on Dedicated Infrastructure, making the environment easy to update and maintain.
  • Oracle Database Gateway for SQL Server wird auf einer separaten Compute-Instanz von Oracle Exadata Database Service on Dedicated Infrastructure ausgeführt. Dadurch können beide Umgebungen einfach aktualisiert und verwaltet werden. Darüber hinaus ist die Lösung möglicherweise kostengünstiger, da die Oracle Database Gateway-Software auf kostengünstigeren OCI Compute-OCPUs ausgeführt wird, anstatt auf den spezialisierten OCPUs mit einem höheren Preis als Oracle Exadata Database Service on Dedicated Infrastructure auszuführen.
  • Die Kommunikation zwischen Oracle Database Gateway-Server und Microsoft Azure SQL Server wird verschlüsselt (standardmäßig von Microsoft Azure SQL Server erzwungen).
  • Die Datentypkonvertierung und die Zuordnung zwischen Oracle-Datenbanken und Microsoft Azure SQL Server-Datenbanken werden automatisch von der Oracle Database Gateway-Software verwaltet.

Nachteile von Oracle Database Gateway, das in OCI Compute ausgeführt wird

  • Möglicherweise ist eine zusätzliche Lizenz für die Oracle Database Gateway-Software erforderlich.
  • Die Kommunikation zwischen Oracle Exadata Database Service on Dedicated Infrastructure und dem Oracle Database Gateway-Server wird bei der Konfiguration des Oracle Database Gateway-Servers standardmäßig nicht verschlüsselt. Eine zusätzliche Konfiguration in Oracle Database Gateway Server sqlnet.ora ist erforderlich, um die Verschlüsselung von Oracle Exadata Database Service on Dedicated Infrastructure zu Oracle Database Gateway Server durchzusetzen.

Oracle Database Gateway konfigurieren, das in OCI Compute ausgeführt wird

  1. Melden Sie sich bei der Azure-Konsole an, um die Informationen für die Azure SQL Server-Datenbank abzurufen, aus der die Oracle Exadata Database Service on Dedicated Infrastructure-Datenbank Daten lädt und abfragt. Diese Informationen sind erforderlich, um dem Oracle Database Gateway-Server mitzuteilen, wie eine Verbindung zur Azure SQL Server-Datenbank hergestellt werden soll.
    Rufen Sie die folgenden Details ab:
    • Datenbankname: Name der Azure SQL Server-Datenbank.
    • Vollqualifizierter Servername: Vollqualifizierter Hostname für SQL-Server, auf dem die Azure SQL Server-Datenbank ausgeführt wird, in der Regel im Format servername.database.windows.net.
    • Privater Azure SQL Server-Endpunkt: Name und IP-Adresse des privaten Azure SQL Server-Endpunkts im Azure-Vnet, das eine Verbindung zu Azure SQL Server herstellt. Wenn noch kein privater Endpunkt vorhanden ist, erstellen Sie einen für den Azure SQL Server, und notieren Sie den Namen und die IP-Adresse.
    • Azure SQL Server-Benutzername: Name eines vorhandenen Azure SQL Server-Benutzers, der eine Verbindung zur Azure SQL Server-Datenbank und zum -Schema herstellen darf, in der Regel sqladmin.
    • Azure SQL Server-Benutzerkennwort: Kennwort, mit dem sich der Azure SQL Server-Benutzer bei der Azure SQL Server-Datenbank und dem -Schema anmelden kann.
  2. Melden Sie sich bei der OCI-Konsole an, und erstellen Sie eine OCI Compute-Instanz im Clientsubnetz OracleDB für Azure Oracle Exadata Database Service on Dedicated Infrastructure, in dem Oracle Linux 7.9 ausgeführt wird. Diese Compute-Instanz führt Oracle Database Gateway for SQL Server aus.
    Halten Sie den Hostnamen und die IP-Adresse fest, die dieser Compute-Instanz zugewiesen sind. This information is required to tell Oracle Exadata Database Service on Dedicated Infrastructure how to connect to the Oracle Database Gateway server.
  3. Wählen Sie im OCI-Menü die Option Networking/DNS-Verwaltung aus, und erstellen Sie eine private DNS-Zone. Fügen Sie in der neuen privaten DNS-Zone einen Datensatz für den vollqualifizierten Servernamen aus Schritt 1 hinzu, um die IP-Adresse des privaten Azure SQL Server-Endpunkts aus Schritt 1 aufzulösen.
  4. Erstellen Sie im OCI-Menü eine private DNS-Ansicht. Fügen Sie die in Schritt 3 erstellte private DNS-Zone zu dieser privaten DNS-Ansicht hinzu, und aktivieren Sie die Änderungen.
  5. Wählen Sie im OCI-Menü die Option Networking/Virtuelles Clientnetzwerk (VCN) aus. Wählen Sie das VCN aus, das beim Provisioning der OracleDB für Azure für Oracle Exadata Database Service on Dedicated Infrastructure erstellt wurde (ändern Sie gegebenenfalls das Compartment). Wählen Sie den DNS-Resolver-Link, und fügen Sie die zuvor erstellte private DNS-Ansicht zum DNS-Resolver hinzu.
    Dadurch werden Name und IP-Adresse von OCI-Services (Compute und Oracle Exadata Database Service on Dedicated Infrastructure) auf den privaten Endpunkt von Azure SQL Server aufgelöst.
  6. Log in to one of the Oracle Exadata Database Service on Dedicated Infrastructure VM Cluster nodes and use the nslookup command to verify the hostname to IP address resolution is working for the Azure SQL Server hostname and private endpoint IP address.
    Beispiel:
    [opc@exa_dbnodex ~]$ nslookup servername.database.windows.net
    Server: 169.254.169.254
    Address: 169.254.169.254#53
    Non-authoritative answer:
    Name: servername.database.windows.net
    Address: IP_address_of_Azure_SQL_Server_private_endpoint
     [opc@exa_dbnodex ~]$
    Die Variablen im Beispiel haben die folgenden Werte:
    • Servername ist der Name des vollqualifizierten Servernamens des Azure SQL Server aus Schritt 1.
    • IP_address_of_Azure_SQL_Server_private_endpoint ist die IP-Adresse des privaten Endpunkts von Azure SQL Server aus Schritt 1.
  7. Installieren Sie die zuvor auf die neue OCI-Compute-Instanz heruntergeladene Oracle Database Gateway-Software.
  8. Konfigurieren Sie das Oracle Database Gateway für Azure SQL Server, das in der OCI Compute-Instanz ausgeführt wird, um eine Verbindung zur Azure SQL Server-Datenbank über den privaten Azure SQL Server-Endpunkt herzustellen. Verwenden Sie dazu den Netzwerklink mit kurzer Latenz, der von OracleDB für Azure zwischen Azure und OCI konfiguriert wurde.
  9. Konfigurieren Sie auf allen Knoten des Oracle Exadata Database Service on Dedicated Infrastructure-VM-Clusters die Oracle Exadata Database Service auf Dedicated Infrastructure-Datenbank tnsnames.ora, um sie in Oracle Database Gateway for SQL Server aufzulösen.
    Beispiel:
    [opc@exa_dbnodex ~]$ sudo su - oracle
    Last login: Tue Sep 13 20:06:30 UTC 2022
    [oracle@ exa_dbnodex ~]$ . ./exadb_name.env
    [oracle@ exa_dbnodex ~]$ cd $ORACLE_HOME
    [oracle@ exa_dbnodex dbhome_1]$ cd network/admin
    [oracle@ exa_dbnodex admin]$ cd exadb_name/
    [oracle@ exa_dbnodex exadb_name]$ tail -10 tnsnames.ora
    Database_Name_From_Step_1 =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=OCI_Compute_Instance_Hostname_From_Step_2)(PORT=1521))
    (CONNECT_DATA=(SID=Database_Name_From_Step_1,))
    (HS=OK)
    )
    Die Variablen im Beispiel haben die folgenden Werte:
    • exadb_name ist der Name der Oracle Exadata Database Service on Dedicated Infrastructure-Datenbank.
    • Database_Name_From_Step_1 ist der Datenbankname aus Schritt 1.
    • OCI_Compute_Instance_Hostname_From_Step_2 ist der Hostname der OCI Compute-Instanz aus Schritt 2.
  10. Mit dem Befehl tnsping können Sie die Konnektivität zwischen Oracle Exadata Database Service on Dedicated Infrastructure und Oracle Database Gateway testen, die in OCI Compute ausgeführt wird (diese Verbindung befindet sich vollständig im OCI-VCN).
    Beispiel:
    [oracle@exajc-dbnodex ~]$ tnsping Database_Name_From_Step_1
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 16-SEP-2022 21:28:34
    Used parameter files:
    /u02/app/oracle/product/19.0.0.0/dbhome_1/network/admin/exadb_name/s
    qlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION= 
    (ADDRESS=(PROTOCOL=tcp)(HOST==OCI_Compute_Instance_Hostname_From_Step_2)(PORT=1521)) (CONNECT_DATA=(SID=Database_Name_From_Step_1)) 
    (HS=OK))
    OK (0 msec)
    [oracle@exadbnodex ~]$
    Die Variablen im Beispiel haben die folgenden Werte:
    • Database_Name_From_Step_1 ist der Name der Azure SQL Server-Datenbank aus Schritt 1.
    • exadb_name ist der Name der Oracle Exadata Database Service on Dedicated Infrastructure-Datenbank.
    • OCI_Compute_Instance_Hostname_From_Step_2 ist der Hostname der OCI Compute-Instanz aus Schritt 2.
  11. Erstellen Sie im Oracle Exadata Database Service on Dedicated Infrastructure pluggable database (PDB) (nicht in der CDB) einen Datenbanklink zur Azure SQL Server-Datenbank. The parameter global_names is set to TRUE in Oracle Exadata Database Service on Dedicated Infrastructure databases by default, therefore the fully qualified database name must be used to create the database link. Nachdem der Datenbanklink erstellt wurde, können Sie mit diesem Link Daten aus der Azure SQL Server-Datenbank abfragen und in die integrierbare Oracle Exadata Database Service on Dedicated Infrastructure-Datenbank laden.
    [opc@exadbnodex ~]$ sudo su - oracle
    Last login: Tue Sep 13 20:06:30 UTC 2022
    [oracle@exadbnodex ~]$ . ./exadb_name.env
    [oracle@exadbnodex ~]$sqlplus / as sysdba
    SQL> show pdbs;
    CON_ID CON_NAME OPEN MODE RESTRICTED
    ---------- ------------------------------ ---------- ----------
     2 PDB$SEED READ ONLY NO
     3 PDBName READ WRITE NO
    SQL> alter session set container=PDBName;
    Session altered.
    SQL>create public database 
    link Fully_Qualified_Server_Name_From_Step_1 connect to 
    "Azure_SQL_Server_Username" identified by 
    "Azure_SQL_User_password" using 
    'Database_Name_From_Step_1';
    Database link created.
    Beachten Sie, dass Benutzername und Kennwort in doppelte Anführungszeichen (" ") eingeschlossen sind, während der Azure SQL Server-Datenbankname in einfache Anführungszeichen (' ') gesetzt ist.
    Die Variablen im Beispiel haben die folgenden Werte:
    • exadb_name ist der Name der Oracle Exadata Database Service on Dedicated Infrastructure-Datenbank.
    • PDBName ist der Name der integrierbaren Datenbank.
    • Fully_Qualified_Server_Name_From_Step_1 ist der vollqualifizierte Hostname für den SQL-Server, auf dem die Azure SQL Server-Datenbank aus Schritt 1 ausgeführt wird.
    • Azure_SQL_Server_Username ist der Name des vorhandenen Azure SQL Server-Benutzernamens aus Schritt 1.
    • Azure_SQL_User_Password ist das Kennwort, mit dem sich der Azure SQL Server-Benutzer von Schritt 1 bei der Datenbank anmelden kann.
    • Database_Name_From_Step_1 ist der Name der Azure SQL Server-Datenbank aus Schritt 1.
  12. Testen Sie den neu erstellten Datenbanklink, indem Sie eine Abfrage ausführen. Beispiel:
    SQL> select count(*) from 
    some_table@DatabaseLink_Name_From_Previous_Step;
    Die Variablen im Beispiel haben die folgenden Werte:
    • some_table ist der Name einer Tabelle in der abzufragenden Datenbank.
    • DatabaseLink_Name_From_Previous_Step ist der Name des Datenbanklinks aus Schritt 11.

Oracle Database Gateway-Server installieren

In diesen Schritten wird beschrieben, wie Sie die Oracle Database Gateway-Serversoftware auf einer OCI Compute-Instanz installieren, auf der Oracle Linux 7.9 ausgeführt wird.

  1. Verwenden Sie yum, um Oracle-Voraussetzungspackages zu installieren.
    [root@dbgw ~]# yum install oracle-database-preinstall-19c
  2. Erstellen Sie die Gruppen user, oracle und dba.
    [root@dbgw ~]# useradd -u 1001 -g dba -d /home/oracle -m -s /bin/bash oracle
    [root@dbgw ~]# groupadd -g 1001 dba
  3. Erstellen Sie das Installationsverzeichnis für Oracle Database Gateway 19.3.
    [root@dbgw ~]# mkdir /u01
    [root@dbgw ~]# chown oracle:dba /u01
  4. Ändern Sie die lokale Firewall, um Verbindungen zu Port 1521 zuzulassen.
    [root@dbgw ~]# firewall-cmd --get-active-zones
    public
    interfaces: eth0
    [root@dbgw ~]# firewall-cmd --zone=public --add-port=1521/tcp –permanent
    [root@dbgw ~]# firewall-cmd --reload
    [root@dbgw ~]# firewall-cmd --zone=public --list-ports
    1521/tcp
    [root@dbgw ~]# systemctl stop firewalld
    [root@dbgw ~]# systemctl start firewalld
  5. Kopieren Sie die ZIP-Dateien von Oracle Database Gateway 19.3, die Sie zuvor in das Verzeichnis /home/oracle in der Linux-VM heruntergeladen haben, und dekomprimieren Sie dann die ZIP-Datei von Oracle Database Gateway 19.3.
    [oracle@dbgw ~]$ unzip LINUX.X64_193000_gateways.zip
  6. Erstellen Sie eine Installationsantwortdatei aus der enthaltenen Vorlage.
    [oracle@dbgw response]$ cd /home/oracle/gateways/response/
    [oracle@dbgw response]$ cp tg.rsp/home/oracle/tg-jc.rsp
  7. Ändern Sie die Antwortdatei mit den folgenden Optionen.
    UNIX_GROUP_NAME=oracle
    INVENTORY_LOCATION=/u01/app/oraInventory
    ORACLE_HOME=/u01/app/oracle/product/gateway
    ORACLE_BASE=/u01/app/oracle
    oracle.install.tg.msqlConStr={Fully_Qualified_Server_Name_From_Step_1,1433,
    Database_Name_From_Step_1,Database_Name_From_Step_1}
    Die Variablen im Beispiel haben die folgenden Werte:
    • Fully_Qualified_Server_Name_From_Step_1 ist der vollqualifizierte Hostname für den SQL-Server, auf dem die Azure SQL Server-Datenbank ausgeführt wird, aus Schritt 1.
    • Database_Name_From_Step_1 ist der Name der Azure SQL Server-Datenbank aus Schritt 1.
  8. Führen Sie die vollautomatische Installation aus, um Oracle Database Gateway 19.3 zu installieren.
    [oracle@dbgw gateways]$./runInstaller -silent -noconfig -
    responseFile /home/oracle/tg-jc.rsp
  9. Konfigurieren Sie das Oracle Home und den Pfad für den Benutzer oracle.
    [oracle@dbgw ~]$ tail -6 .bash_profile
    ORACLE_HOME=/u01/app/oracle/product/gateway
    export ORACLE_HOME
    PATH=$PATH:$ORACLE_HOME/bin
    export PATH
    [oracle@dbgw ~]$

Oracle Database Gateway for SQL Server konfigurieren

Nachdem Oracle Database Gateway auf der OCI Compute-Instanz installiert ist, auf der Linux 7.9 ausgeführt wird, muss es so konfiguriert werden, dass eine Verbindung zur Azure SQL Server-Datenbank mit dem privaten Endpunkt Azure SQL Server hergestellt wird.

  1. Fügen Sie die Azure SQL Server-Datenbankinformationen zur Oracle Database Gateway for SQL Server-Initialisierungsdatei hinzu, die auf der OCI Compute-Instanz ausgeführt wird. Anhand dieser Informationen wird Oracle Database Gateway angewiesen, eine Verbindung zur Azure SQL Server-Datenbank herzustellen.
    Beispiel:
    [oracle@dbgw ~]$ cd $ORACLE_HOME/dg4msql/admin
    [oracle@dbgw admin]$ cp initdg4msql.ora 
    initDatabase_Name_From_Step_1.ora
    [oracle@dbgw admin]$ cat initDatabase_Name_From_Step_1.ora
    # This is a customized agent init file that contains the HS parameters
    # that are needed for the Database Gateway for Microsoft SQL Server
    # HS init parameters
    #
    HS_FDS_CONNECT_INFO=Fully_Qualified_Server_Name_From_Step_1:1433//Database_Name_From_Step_1
    # alternate connect format is hostname/serverinstance/databasename
    HS_DB_NAME=Database_Hostname_From_Step_1
    HS_DB_DOMAIN=Database_Domain_Name #usually database.windows.net
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    HS_FDS_ENCRYPT_SESSION=SSL
    HS_FDS_VALIDATE_SERVER_CERT=0
    Die Variablen im Beispiel haben die folgenden Werte:
    • Database_Name_From_Step_1 ist der Name der Azure SQL Server-Datenbank aus Schritt 1.
    • Fully_Qualified_Server_Name_From_Step_1 ist der vollqualifizierte Hostname für den SQL-Server, auf dem die Azure SQL Server-Datenbank ausgeführt wird, aus Schritt 1.
    • Database_Hostname_From_Step_1 ist der Hostname der Datenbank aus Schritt 1.
    • Database_Domain_Name ist der Name der Domain, in der sich die Datenbank befindet, in der Regel database.windows.net.
    Beachten Sie, dass die Parameter HS_FDS_ENCRYPT_SESSION und HS_FDS_VALIDATE_SERVER_CERT erforderlich sind, damit die Verbindung zwischen dem Oracle Database Gateway-Server und dem Azure SQL Server verschlüsselt wird.
  2. Ändern Sie auf dem Oracle Database Gateway-Server die tnsnames.ora so, dass sie wie folgt in die von diesem Gateway bereitgestellten Gateway-Services aufgelöst wird:
    [oracle@dbgw ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
    # This is a sample tnsnames.ora that contains the NET8 parameters that are
    # needed to connect to an HS Agent
    Database_Name_From_Step_1 =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST= 
    OCI_Compute_Instance_Hostname_From_Step_2)(PORT=1521))
    (CONNECT_DATA=(SID=Database_Name_From_Step_1))
    (HS=OK)
    )
    Die Variablen im Beispiel haben die folgenden Werte:
    • Database_Name_From_Step_1 ist der Name der Azure SQL Server-Datenbank aus Schritt 1.
    • OCI_Compute_Instance_Hostname_From_Step_2 ist der Hostname der OCI Compute-Instanz aus Schritt 2.
  3. Ändern Sie auf dem Oracle Database Gateway-Server listener.ora, um die Oracle Database Gateway-Informationen aufzunehmen.
    [oracle@dbgw-jc admin]$ cat ../../network/admin/listener.ora
    # This is a sample listener.ora that contains the NET8 parameters that are
    # needed to connect to an HS Agent
    LISTENER =
    (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=tcp)(HOST=
    OCI_Compute_Instance_Hostname_From_Step_2)(PORT=1521))
    )
    SID_LIST_LISTENER=
    (SID_LIST=
    (SID_DESC=
     (SID_NAME=Database_Name_From_Step_1)
     (ORACLE_HOME=/u01/app/oracle/product/gateway)
     (PROGRAM=dg4msql)
    )
    )
    Die Variablen im Beispiel haben die folgenden Werte:
    • OCI_Compute_Instance_Hostname_From_Step_2 ist der Hostname der OCI Compute-Instanz aus Schritt 2.
    • Database_Name_From_Step_1 ist der Name der Azure SQL Server-Datenbank aus Schritt 1.
  4. Starten Sie den Listener auf dem Oracle Database Gateway-Server, der in der OCI Compute-Instanz ausgeführt wird, und testen Sie die Konnektivität zum Gateway.
    Beispiel:
    [oracle@dbgw admin]$lsnrctl start
    [oracle@dbgw admin]$ tnsping Database_Name_From_Step_1
    TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 16-SEP-2022 21:18:39
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST= 
    OCI_Compute_Instance_Hostname_From_Step_2)(PORT=1521)) 
    (CONNECT_DATA=(SID=Database_Name_From_Step_1)) (HS=OK))
    OK (0 msec)
    [oracle@dbgw-jc admin]$
    Die Variablen im Beispiel haben die folgenden Werte:
    • Database_Name_From_Step_1 ist der Name der Azure SQL Server-Datenbank aus Schritt 1.
    • OCI_Compute_Instance_Hostname_From_Step_2 ist der Hostname der OCI Compute-Instanz aus Schritt 2.