Oracle Database-Cloud-Services mit Oracle Notification Server-Proxy

Oracle Base Database Service nutzt Multicloud-Funktionen und ermöglicht anpassbare Lösungen für optimale Anwendungsverfügbarkeit, Kosteneinsparungen, Agilität und Performance. Multicloud-Bereitstellungen erfordern eine sorgfältige Planung, um die Komplexität des IT-Managements zu reduzieren und die End-to-End-Sicherheit sicherzustellen.

Oracle Connection Manager (CMAN) kann Multicloud-Deployments, bei denen sich Datenbank und Anwendung auf verschiedenen cloud service-Providern befinden, vereinfachen, indem Verbindungsanforderungen und -antworten transparent weitergeleitet werden, ein Einstiegspunkt bereitgestellt wird und TLS-Sicherheit, Protokollwechsel/-weiterleitung und Zugriffskontrolle bietet.

In diesem Lösungs-playbook erfahren Sie, wie Sie eine einzelne CMAN-Instanz mit Oracle Database verwenden, um eine Verbindung mit Google Cloud herzustellen, mit der Clients Oracle RAC-Ereignisse abonnieren können.

Hinweis:

Mehrere CMAN-Instanzen können bessere Load Balancing-Funktionen bereitstellen und Performance und Verfügbarkeit verbessern.


gc-oci-ons-subscribe-rac-events-arch-oracle.zip

Oracle Notification Service (ONS) ist eine Komponente von Oracle Grid Infrastructure, die Oracle Real Application Clusters-(Oracle RAC-)Ereignisse veröffentlicht, wie Serverlast, Knoten nach oben oder unten usw. Datenbankclients, die eine direkte Verbindung zu einer Datenbank herstellen oder Verbindungspools verwenden, können diese Benachrichtigungen abonnieren, sodass sie während kritischer Ereignisse Maßnahmen ergreifen können. In Multicloud-Deployments, bei denen die Anwendung und die Oracle RAC-Datenbank verschiedene Cloud-Provider umfassen, können Anwendungen CMAN verwenden, um mit der Oracle RAC-Datenbank zu kommunizieren. Diese Sessions können jedoch keine ausgehenden Fast Application Notification-(FAN-)Ereignisse empfangen.

In Oracle RAC wird der ONS-Daemon von Oracle Clusterware als Teil der nodeapps gestartet. Pro geclustertem Knoten wird ein ONS-Daemon gestartet. Der ONS-Daemon empfängt eine Teilmenge veröffentlichter Oracle Clusterware-Ereignisse mit den lokalen EVMD Clusterware-Daemons und leitet diese Ereignisse an Anwendungs-Abonnenten und an die lokalen Listener weiter, um Folgendes zu ermöglichen:

  • Die Fast Application Notification-(FAN-)Funktion, mit der Anwendungen auf Änderungen des Datenbankstatus reagieren können. Fast Connection Failover (FCF) ist der Client-Mechanismus, der das FAN-Feature verwendet, um es zu erreichen.
  • Das Load Balancing Advisory-Feature (das RLB-Feature), das das Load Balancing über verschiedene RAC-Knoten ermöglicht, hängt von der Last auf den verschiedenen Knoten ab. Der RDBMS MMON-Prozess erstellt ein Advisory zur Verteilung der Arbeit alle 30 Sekunden und leitet sie mit ONS an Listener und Anwendungen weiter.

Damit Clients Oracle RAC-Ereignisse abonnieren können, ist ein Oracle Notification Server-Proxy erforderlich. CMAN leitet Anfragen und Antworten transparent weiter, bietet einen zentralen Einstiegspunkt und bietet TLS-Sicherheit, Protokollwechsel/-weiterleitung und Zugriffskontrolle. Ein Oracle Notification Server, der auf dem CMAN-Host ausgeführt wird, kommuniziert über den ONS-Proxy mit dem ONS-Server im Oracle RAC-Netzwerk. Clientanwendungen, die das ONS auf dem CMAN-Host abonnieren, kommunizieren über den Oracle Notification Server-Proxy mit dem Oracle Notification Service im öffentlichen Oracle RAC-Netzwerk.



ons-publish-subscribe-proxy-arch-oracle.zip

ONS stellt einen allgemeinen Out-of-Band-Nachrichtenübermittlungsmechanismus mit einer Teilmenge des HTTP-Protokolls bereit. ONS ist ein Veröffentlichungs-/Abonnementmechanismus, bei dem der Server Benachrichtigungen veröffentlicht, die an abonnierende Clients zugestellt werden.

In einem Oracle RAC-Cluster wird eine Instanz des ONS-Daemons von Oracle Clusterware auf jedem Clusterknoten gestartet. Das Datenbankserver-Deployment wird in der Regel durch eine Firewall geschützt, sodass sich auch die ONS-Server dahinter befinden. Die Server stellen über den externen Oracle Notification Server eine Verbindung zum Proxy her, der Zugriff auf Clients außerhalb der Firewall hat. Der Proxy läuft von der externen Oracle Notification Server-Instanz ab, auf der die Benachrichtigungen von internen ONS-Servern veröffentlicht werden. Der externe ONS-Server veröffentlicht diese Benachrichtigungen dann an die abonnierten Clients.

Bevor Sie beginnen

Bevor Sie beginnen, stellen Sie Folgendes sicher:

Lesen Sie das Handbuch Oracle Net Services. Führen Sie dann die folgenden Schritte aus, um das OCI-VCN bereitzustellen und die Oracle RAC-Datenbank zu installieren und zu konfigurieren:
  1. Stellen Sie OCI-VCN mit öffentlichen und privaten Subnetzen bereit. Mit dem privaten Subnetz wird die Oracle RAC-Datenbank mit zwei Knoten mit Oracle Base Database Service bereitgestellt. Mit dem öffentlichen Subnetz wird die virtuelle OCI Compute-Maschine für das CMAN bereitgestellt.
    VCN Privates Subnetz Öffentliches Subnetz

    Name: OnsProxyVcn

    IPv4 CIDR-Block: 10.0.0.0/16

    10.0.1.0/24 10.0.0.0/24
  2. Stellen Sie die Oracle RAC-Datenbank mit Oracle Base Database Service bereit.

    Weitere Informationen zum Erstellen einer Oracle RAC-Datenbank mit zwei Knoten mit Oracle Base Database Service finden Sie im Abschnitt DB-System mit der Konsole erstellen in der OCI-Dokumentation. Die folgende Datenbank ist ein Beispiel:

    Datenbanksystem Datenbank Knoten 1 Knoten 2

    Name: RACDBSystem

    Domainname: sub12161926541.onsproxyvcn.oraclevcn.com

    SCAN-DNS-Name: racnode-scan

    SCAN-IP-Adresse: 10.0.1.205, 10.0.1.35, 10.0.1.117

    Datenbankname: ORCLCDB

    Eindeutiger Datenbankname: ORCLCDB_8p7_phx

    Version: 23.6.0.24.10

    Name: racnode1

    Private IP: 10.0.1.13

    Name: racnode2

    Private IP: 10.0.1.95

  3. Bastion für den Zugriff auf RAC-Knoten im privaten Subnetz konfigurieren

    Erstellen Sie Portweiterleitungssessions mit Bastion, um auf die privaten IPs des Oracle RAC-Knotens zuzugreifen.

    Bastion Details
    Bastion

    Name: OnsProxyRacDbBastion

    Virtuelles Cloud-Zielnetzwerk: OnsProxyVcn

    Zielsubnetz: private subnet-OnsProxyVcn

    CIDR-Blockausnahmeliste: 0.0.0.0/0

    IP-Adresse für privaten Endpunkt: 10.0.1.215

  4. Konfigurieren Sie die Details des Oracle RAC-Datenbanksystems.

    Im Folgenden werden die kritischen Konfigurationsdetails der Oracle RAC-Datenbankknoten und Oracle Clusterware aufgeführt, die Sie bereitstellen müssen.

    Oracle RAC-Knoten IPs Hostname VIP-Name SCAN-Name Domain Grid Infrastructure/Datenbankversion
    Oracle RAC-Knoten 1 10.0.1.13 racnode1 racnode1-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23,6
    Oracle RAC-Knoten 2 10.0.1.95 racnode2 racnode2-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23,6
    Prüfen Sie den Status der Oracle RAC-Datenbank.
    oracle@racnode1 ~]$ date;/u01/app/oracle/product/23.0.0.0/dbhome_1/bin/srvctl status database -d ORCLCDB_8p7_phxTue Dec 17 03:24:52 UTC 2024
    Instance ORCLCDB1 is running on node racnode1
    Instance ORCLCDB2 is running on node racnode2

Erforderliche Services und Rollen

Für diese Lösung sind die folgenden Services und Rollen erforderlich:

  • Oracle Cloud Infrastructure Networking
  • Oracle Cloud Infrastructure FastConnect
  • Oracle Cloud Infrastructure Compute
  • Oracle Base Database Service

Dies sind die Rollen, die für jeden Service erforderlich sind.

Servicename: Rolle Erforderlich für...
OCI-Netzwerk: manage vcn-family Verwalten Sie die Netzwerkkomponenten, einschließlich VCNs, Subnetze, Sicherheitsregeln und FastConnect.
OCI Compute: manage instance-family Erstellen Sie Compute-VM-Instanzen.
OCI-Datenbank: manage database-family Base Database Service-Instanzen erstellen

Informationen zu Ihren Anforderungen finden Sie unter Produkte, Lösungen und Services von Oracle.

Architektur

Diese Architektur verwendet ein Oracle RAC-Proxy-Deployment-Szenario mit CMAN und ONS auf Multicloud. Es wird eine Oracle RAC-Datenbank angezeigt, die mit Oracle Base Database Service in einem privaten Subnetz eines OCI-VCN bereitgestellt wird und über das Clientnetzwerk nicht zugänglich ist.


rac-cman-proxy-deploy-multicloud-arch-oracle.zip

Oracle Connection Manager (CMAN) wird auf einer virtuellen OCI Compute-Maschine bereitgestellt, die sich in einem öffentlichen Subnetz desselben OCI-VCN befindet. Der Client kann über die öffentliche IP im öffentlichen Subnetz auf CMAN zugreifen. Der ONS-Server und der ONS-Proxy werden auf einem CMAN-Hostrechner konfiguriert. Der CMAN-Listener stellt eine Verbindung zur Oracle RAC-Datenbank her, die hinter der Firewall ausgeführt wird.

Die Anwendung mit Oracle-Clientsoftware wird auf einer virtuellen Compute-Maschine in Google Cloud bereitgestellt.

Sie können auch mehrere CMANs verwenden, die mit demselben Datenbankserver und ONS verbunden sind. In diesem Fall müssen Sie den ONS-Proxy und den Oracle Notification Server auf jedem CMAN-Knoten konfigurieren.

Diese Architektur unterstützt die folgenden Komponenten:

  • OCI-region

    Eine OCI-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Centre enthält, das Availability-Domains hostet. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können über Länder oder Kontinente voneinander getrennt werden.

  • Faultdomain

    Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain verfügt über drei Faultdomains mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen über mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverausfälle, Systemwartungen und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles OCI-Cloud-Netzwerk und Subnetz

    Ein virtuelles Cloud-Netzwerk (VCN) ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer OCI-Region einrichten. Wie herkömmliche Data Center-Netzwerke erhalten Sie über VCNs die Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Availability-Domain

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Ein Fehler in einer Availability-Domain sollte sich also nicht auf die anderen Availability-Domains in der Region auswirken.

  • OCI FastConnect

    Oracle Cloud Infrastructure FastConnect erstellt eine dedizierte, private Verbindung zwischen Ihrem Data Center und OCI. FastConnect bietet Optionen höherer Bandbreite und ein zuverlässigeres Netzwerk als bei internetbasierten Verbindungen.

  • OCI-Compute

    Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts in der Cloud bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihren Ressourcenanforderungen für CPU, Arbeitsspeicher, Netzwerkbandbreite und Speicher entsprechen. Nachdem Sie eine Compute-Instanz erstellt haben, können Sie sicher darauf zugreifen, sie neu starten, Volumes anhängen und trennen und beenden, wenn Sie sie nicht mehr benötigen.

  • Oracle Base Database Service

    Oracle Base Database Service ist ein OCI-Datenbankservice, mit dem Sie Oracle-Datenbanken mit vollem Funktionsumfang auf virtuellen Maschinen erstellen, skalieren und verwalten können. Oracle Base Database Service verwendet OCI Block Volumes-Speicher anstelle von lokalem Speicher und kann Oracle Real Application Clusters (Oracle RAC) ausführen, um die Verfügbarkeit zu verbessern.

  • Oracle Linux

    Oracle kombiniert Betriebssysteme, Container und Virtualisierung, die grundlegenden Bausteine moderner IT-Infrastruktur, in einem integrierten Angebot: Oracle Linux. Die Ausführung auf Hardware Ihrer Wahl – in Ihrem Rechenzentrum oder in der Cloud – Oracle Linux bietet die Zuverlässigkeit, Skalierbarkeit, Sicherheit und Performance für anspruchsvolle Unternehmens-Workloads.

  • Oracle Clusterware

    Mit Oracle Clusterware können Server miteinander koordinieren und als hochverfügbare Einheit erscheinen. Diese Kombination von Servern wird allgemein als Cluster bezeichnet. Obwohl es sich bei den Servern um Standalone-Server handelt, kommuniziert jeder Server mit anderen Servern, sodass die einzelnen Server Anwendungen und Endbenutzern als ein System angezeigt werden. Oracle Clusterware überwacht auch die Komponenten im Cluster, startet Ressourcen neu oder führt einen Failover durch, um High Availability sicherzustellen. Oracle Clusterware bietet die Infrastruktur, die zur Ausführung von Oracle RAC erforderlich ist. Oracle Clusterware verwaltet auch Ressourcen, wie virtuelle IP-(VIP-)Adressen, Datenbanken, Listener, Services und vieles mehr.

  • Oracle Connection Manager

    Oracle Connection Manager (CMAN) ist ein Mehrzweck-Datenbankverbindungsproxy, der in Oracle-Deployments verwendet wird. Clientanwendungsanforderungen werden transparent an Oracle Database weitergeleitet und die Antwort an die Clientanwendungen zurückgesendet. Der Client kann eine Benutzeranwendung oder eine Softwarelösung der mittleren Netzwerkebene sein. CMAN abstrahiert die Netzwerkschicht der Datenbank, einschließlich des öffentlichen Oracle RAC-Netzwerks, von Clients. Mehrere Datenbanken können hinter einer einzelnen CMAN-Instanz bereitgestellt werden. Daher können die Clients einen einzelnen Einstiegspunkt in die Datenbankebene verwenden. CMAN bringt TLS-Sicherheit, Protokoll-Switching/Routing und Zugriffskontrolle für die Verbindung mit lokalen und Remote-Oracle Databases.

  • Oracle Database-Wallets und Zertifikate

    Datensicherheit ist die wichtigste Aufgabe in der Datenbank. Angriffe auf Datenbanksysteme nehmen immer mehr zu. Die Sicherstellung, dass Ihr Datenbanksystem funktioniert, kann eine überwältigende Aufgabe sein. Ein Oracle Database-Wallet ist ein kennwortgeschützter Container, in dem Authentifizierungs- und Signaturzugangsdaten gespeichert werden, einschließlich Private Keys und Zertifikaten, mit denen Datenbankclients über ein Oracle Database-Netzwerk kommunizieren können.

    Ein digitales Oracle Database-Zertifikat (PKI-(Public Key Infrastructure-)Zertifikat) ist eine Wallet-Komponente, mit der die Identität einer Endentity in einem Public Key oder Private Key Exchange validiert wird, der das Wallet verwendet.

  • Oracle Notification Service

    Oracle Notification Service (ONS) ist eine Komponente von Oracle Grid Infrastructure, die Oracle Real Application Clusters-(Oracle RAC-)Ereignisse veröffentlicht, wie Serverlast, Knoten nach oben oder unten usw. Datenbankclients, die eine direkte Verbindung zu einer Datenbank herstellen oder Verbindungspools verwenden, können diese Benachrichtigungen abonnieren, sodass sie während kritischer Ereignisse Maßnahmen ergreifen können. In Multicloud-Deployments, bei denen die Anwendung und die Oracle RAC-Datenbank verschiedene Cloud-Provider umfassen, können Anwendungen CMAN verwenden, um mit der Oracle RAC-Datenbank zu kommunizieren. Diese Sessions können jedoch keine ausgehenden Fast Application Notification-(FAN-)Ereignisse empfangen.

    ONS stellt einen allgemeinen Out-of-Band-Nachrichtenübermittlungsmechanismus mit einer Teilmenge des HTTP-Protokolls bereit. ONS ist ein Veröffentlichungs-/Abonnementmechanismus, bei dem Clients Benachrichtigungen veröffentlichen, die an abonnierende Clients zugestellt werden. Die Abonnementsyntax ist so flexibel, dass ein einzelner Abonnent viele verschiedene Benachrichtigungstypen oder nur einen ganz bestimmten Typ abgleichen kann. Oracle Notification Service wird als Messaging- und Ereignissystem in Oracle Database verwendet.

  • Oracle-Benachrichtigungsserver

    Oracle Notification Server führt den Oracle Notification Service (ONS) aus.

  • Oracle Interconnect for Google Cloud

    Oracle Interconnect for Google Cloud ist ein dedizierter, privater Interconnection-Service, der OCI FastConnect-Partnerverbindungen und Google Cloud Partner Interconnects kombiniert, mit dem Multicloud-Kunden in zwei Clouds Innovationen schaffen und vorhandene und vertraute Tools zur Unterstützung von Workloads anwenden können.