Konfigurieren

Konfigurieren Sie den Oracle Notification Server-Proxy entsprechend Ihren Geschäfts- und Sicherheitsanforderungen.

Oracle Notification Server-Proxy einrichten

Sie können einen Oracle Notification Server-Proxy ohne Wallets und Zertifikate oder mit SSL-Zertifikaten und Wallets einrichten.
Die folgenden Parameter für die Proxykonfigurationsdatei von Oracle Notification Server werden in dieser Lösung verwendet:
ExtendedSecurityHeader=<header-name>

Benachrichtigungen können jetzt einen vom Herausgeber bereitgestellten Zugriffsheader enthalten. Ein Feld auf den Zertifikaten mit dem Namen CN (Common Name) gibt dem Zertifikatseigentümer einen Namen. Der CN-Teil des DN (Distinguished Name) des Clients wird mit jeder Clientverbindung gespeichert. Wenn eine Benachrichtigung auf dem Server eintrifft, kann der Client die Benachrichtigung nur erhalten, wenn seine CN im für ExtendedSecurityHeader konfigurierten Headernamen aufgeführt ist.

ExtendedSecurityMode=<mode>

none: Überprüfen Sie nichts. Kunden erhalten immer alle Benachrichtigungen.

strict: Prüfen Sie den Client anhand des Benachrichtigungszugriffsheaders, falls dieser vorhanden ist. Andernfalls erhält der Client die Benachrichtigung nicht.

allowunsecuresubscriber=false

Wenn eine sichere Verbindung normal konfiguriert wird, wird jeder unsichere Verbindungsversuch abgelehnt. Wenn dieser Parameter auf yes gesetzt ist, kann sich ein Peer auch ohne Verschlüsselung anmelden, darf in diesem Fall jedoch nicht veröffentlichen.

Wenn keine sichere Verbindung konfiguriert ist, wird dieser Parameter ignoriert.

  1. Option 1: Konfigurieren Sie den Oracle Notification Server-Proxy ohne SSL-Wallets und -Zertifikate, um die Kommunikation zwischen dem Oracle Notification Server-Proxy und dem Oracle Notification Server auf Oracle RAC-Knoten herzustellen. Führen Sie die folgenden Schritte aus, um den Oracle Notification Server-Proxy ohne Wallets und Zertifikate zu konfigurieren:
    1. Richten Sie den Oracle Notification Server-Proxy auf dem Connection Manager-Host ein.
    2. Erstellen Sie die Datei $ORACLE_HOME/opmn/conf/onsproxy.properties mit dem folgenden Inhalt:
      setConfigHome:/u01/app/oracle/product/23ai/client_1
      debug:true
      addConfig: localport=6100
      addConfig: remoteport=6200
      addConfig: allowunsecuresubscriber=true
      addConfig: extendedsecuritymode=partial
      addConfig: extendedsecurityheader=none
      addNetwork: nodes.aaa=10.0.1.13:6200,10.0.1.95:6200
      addSubscription: ("eventType=database/event/service")
      addSubscription: ("eventType=database/event/host")
    3. Prüfen Sie, ob die $ORACLE_HOME/opmn/conf/ons.config den folgenden Inhalt enthält:
      # Generated by ONS Proxy
      allowpublish=127.0.0.1,::1
      extendedsecurityheader=none
      allowunsecuresubscriber=true
      localport=6100
      remoteport=6200
      extendedsecuritymode=partial
    4. Starten Sie den Oracle Notification Server-Proxy auf dem CMAN-Host, und prüfen Sie den Status.
      [oracle@cman-host ~]$ onsctl proxy start
      Dec 17, 2024 10:35:20 PM oracle.ons.proxy.Proxy$ProxyConfig <init>
      INFO: Loading configuration: /u01/app/oracle/product/23ai/client_1/opmn/conf/onsproxy.properties
      Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy setDefaultConfigHome
      INFO: ORACLE_CONFIG_HOME set to /u01/app/oracle/product/23ai/client_1
      Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy validateProxyConfig
      INFO: Validating configuration
      Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy updateProxyConfig
      INFO: Updating configuration
      Dec 17, 2024 10:35:21 PM oracle.ons.proxy.Proxy initProxy
      INFO: Initializing
      onsctl proxy: ons proxy started
    5. Prüfen Sie die Verbindungen, die in der Datenbank hergestellt wurden, wenn Sie den Oracle Notification Server-Proxy auf der cman-host starten. Prüfen Sie im Abschnitt Clientverbindungen, ob der Oracle CMAN-Host mit der Oracle RAC-Datenbank verbunden ist. Das folgende Beispiel zeigt eine abgeschnittene Ausgabe nach der CMAN-Verbindung zum Oracle Notification Server, der auf Oracle Grid Infrastructure ausgeführt wird. Die Verbindung von 10.0.0.90 sollte auf beiden Oracle RAC-Rechnern angezeigt werden. Da diese Verbindung ohne SSL-Zertifikate und Wallets hergestellt wurde, wird in der Oracle CMAN-Verbindung kein Eintrag CN=cman-host angezeigt.
      [grid ~]$ onsctl debug 
      Client connections: (8)     
      ID            CONNECTION ADDRESS              PORT   FLAGS  SNDQ REF PHA SUB
      -------- --------------------------------------- ----- ------- ---- --- --- ---
             0                                internal     0 000044a    0   1  IO   1
             2                               127.0.0.1 62766 000041a    0   1  IO   1
             1                               127.0.0.1 62770 000041a    0   1  IO   1
             3                               127.0.0.1 62768 000041a    0   1  IO   1
             4                               127.0.0.1 62796 000041a    0   1  IO   1
             7                               127.0.0.1 62838 000041a    0   1  IO   0
            26                        ::ffff:10.0.0.90 21876 008042a    0   1  IO   2 
      request                               127.0.0.1 12334 0000e1a    0   1  IO   0
  2. Option 2: Richten Sie aus Sicherheitsgründen den Oracle Notification Server-Proxy mit Wallets und SSL-Zertifikaten ein. Für SSL sind entweder selbstsignierte Zertifikate oder eine Certificate Authority (CA) von einem vertrauenswürdigen Provider für die Client-Server-Verbindung erforderlich. SSL fungiert als digitaler Pass, der Ihre Zugangsdaten und die Zugangsdaten des End-Webservers mithilfe öffentlicher und privater Schlüssel überprüft. Wenn beide Identitäten verifiziert wurden, stellt SSL eine sichere Verbindung über HTTPS her. Dieser Prozess wird mit SSL-Zertifikaten ausgeführt.

    Hinweis:

    Wenn Sie ein von einer Certificate Authority wie Verisign ausgestelltes Benutzerzertifikat verwenden, müssen Sie keine Zertifikate für den Client bereitstellen. Fügen Sie das CA-Root-Zertifikat und alle Zwischenzertifikate in der Kette als Vertrauenswürdige Zertifikate zum Wallet hinzu, bevor Sie das Benutzerzertifikat hinzufügen.
    1. Erstellen Sie Oracle wallet und selbstsignierte Zertifikate auf Oracle RAC-Knoten. Führen Sie die folgenden Befehle auf einem der Oracle RAC-Knoten als root-Benutzer aus:
      mkdir -p /u01/app/wallet_dir
      chown grid:oinstall /u01/app/wallet_dir
      chmod 750 /u01/app/wallet_dir
    2. Führen Sie die folgenden Befehle als grid-Benutzer aus:
      $ORACLE_HOME/bin/orapki wallet create -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -auto_login
      $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir
      $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US"  -keysize 2048 -self_signed -validity 365
      $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US"  -keysize 2048 -self_signed -validity 365
      $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir
      [grid@racnode1 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:        CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:        CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Trusted Certificates:
      Subject:        CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Subject:        CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
    3. Erstellen Sie ein Wallet und selbstsignierte Zertifikate auf dem Connection Manager-Host. Wenn Sie den Oracle Notification Server-Proxy so konfigurieren, dass er in einer CMAN-Umgebung ausgeführt wird und mit den Oracle Notification Server-Servern kommuniziert, die sowohl auf CMAN- als auch auf RAC-Knoten ausgeführt werden, sind SSL-Zertifikate erforderlich, um eine sichere Kommunikation sicherzustellen.

      Hinweis:

      Ändern Sie das Kennwort basierend auf den Kennwort-Policys Ihrer Umgebung.
    4. Im Folgenden wird ein Schritt-für-Schritt-Prozess zum Konfigurieren des Oracle Notification Server-Proxys mit SSL-Zertifikaten beschrieben.
      Führen sie die folgenden befehle als root-benutzer aus:
      mkdir -p /u01/app/oracle/wallet_dir
      chown oracle:oinstall /u01/app/oracle/wallet_dir
      chmod 750 /u01/app/oracle/wallet_dir
      Führen Sie die folgenden Befehle als oracle-Benutzer aus:
      $ORACLE_HOME/bin/orapki wallet create -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -auto_login
      $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/oracle/wallet_dir
      Erstellen Sie die selbstsignierten Zertifikate als oracle-Benutzer:
      $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> "CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US"  -keysize 2048 -self_signed -validity 365
      $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/oracle/wallet_dir -pwd REPLACE WITH YOUR PASSWORD> -dn "CN=cman-host,OU=ST,O=Oracle,ST=California,C=US"  -keysize 2048 -self_signed -validity 365
      Nachdem das Wallet erstellt wurde, zeigen Sie das Wallet als oracle-Benutzer an. Sie werden noch keine Einträge sehen, da das Zertifikat nicht erstellt wurde.
      [oracle@cman-host ~] $ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/oracle/wallet_dir
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:        CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:        CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Trusted Certificates:
      Subject:        CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:        CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
    5. Erstellen Sie in Google Cloud ein Wallet und selbstsignierte Zertifikate auf dem Clientrechner. Da der Oracle Notification Server-Proxy auf dem CMAN-Host mit einem SSL-Wallet konfiguriert ist, muss auf dem Clientrechner auch ein Wallet mit selbstsignierten SSL-Zertifikaten konfiguriert sein, um eine sichere Verbindung herzustellen. In diesem Fall ist der Oracle-Client auf dem Clienthost installiert, der die erforderlichen Tools zum Erstellen und Verwalten von Wallets bereitstellt.
      Starten Sie die folgenden Befehle als root-Benutzer:
      mkdir -p /u01/app/client/wallet_dir
      chown oracle:oinstall /u01/app/client/wallet_dir
      chmod 750 /u01/app/client/wallet_dir
      Führen Sie die folgenden Befehle als oracle-Benutzer aus:
      $ORACLE_HOME/bin/orapki wallet create -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password>-auto_login
      $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/client/wallet_dir
      Erstellen Sie das selbstsignierte Zertifikat als oracle-Benutzer:
      $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -dn "CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365
      $ORACLE_HOME/bin/orapki wallet add -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password>-dn "CN=client-host,OU=ST,O=Oracle,ST=California,C=US" -keysize 2048 -self_signed -validity 365
      Nachdem das Wallet erstellt wurde, zeigen Sie das Wallet als oracle-Benutzer an. Sie werden noch keine Einträge sehen, da das Zertifikat nicht erstellt wurde.
      [oracle@client-host ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/client/wallet_dir
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:       CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=client-host,OU=ST,O=Oracle,ST=California,C=US
      Trusted Certificates:
      Subject:       CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=client-host,OU=ST,O=Oracle,ST=California,C=US
    6. Nachdem Sie das Wallet und die SSL-Zertifikate in Oracle RAC eingerichtet und die CMAN- und Clientrechner konfiguriert haben, exportieren Sie selbstsignierte Zertifikate in Connection Manager und Oracle RAC Node 1 wie folgt:
      Führen Sie die folgenden Befehle auf Oracle RAC Node 1 als Benutzer grid aus:
      $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/scan_app1.crt"
      $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/wallet_dir -pwd <Replace With Your Password> -dn "CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/scan_app2.crt"
      Führen Sie die folgenden Befehle auf Oracle RAC Node 1 als Benutzer oracle aus:
      $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -dn "CN=cman-host,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cman1.crt"
      $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/oracle/wallet_dir -pwd <Replace With Your Password> -dn "CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cman2.crt"
    7. Nach dem Exportieren der Zertifikate importieren Sie die Zertifikate, sodass der CMAN Oracle Notification Server-Proxy Handshake mit dem Oracle RAC Oracle Notification Server durchführen kann.
      Kopieren Sie die Connection Manager-Wallets in Oracle RAC-Knoten 1, und importieren Sie die Zertifikate:
      scp /tmp/cman* grid@racnode1.sub12161926541.onsproxyvcn.oraclevcn.com:/tmp/
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/wallet_dir  -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman1.crt
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/wallet_dir  -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman2.crt
      Kopieren Sie die Wallets von Oracle RAC Node1 auf den CMAN-Host, und importieren Sie die Zertifikate:
      scp grid@racnode1.sub12161926541.onsproxyvcn.oraclevcn.com:/tmp/scan_app* /tmp/
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/oracle/wallet_dir  -pwd <Replace With Your Password> -trusted_cert -cert /tmp/scan_app1.crt
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/oracle/wallet_dir  -pwd <Replace With Your Password> -trusted_cert -cert /tmp/scan_app2.crt
    8. Wallet von Oracle RAC-Knoten 1 in Oracle RAC-Knoten 2 kopieren:
      Führen Sie die folgenden Befehle auf Oracle RAC Node 1 als Benutzer root aus:
      mkdir -p /u01/app/wallet_dir
      chown grid:oinstall /u01/app/wallet_dir
      chmod 750 /u01/app/wallet_dirscp grid@racnode1.sub12161926541.onsproxyvcn.oraclevcn.com:/u01/app/wallet_dir/* /u01/app/wallet_dir
      Führen Sie die folgenden Befehle auf Oracle RAC Node 1 als Benutzer grid aus:
      [grid@racnode1 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Trusted Certificates:
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      [grid@racnode2 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/wallet_dir
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=USTrusted Certificate
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
    9. Führen Sie die folgenden Schritte aus, um das Wallet vom Clientrechner in Google Cloud auf den CMAN-Rechner auf OCI zu kopieren:
      Führen Sie die folgenden Befehle aus, um die Wallets auf dem Rechner client-host zu exportieren:
      $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -dn "CN=client-host,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cert_app1.crt"
      $ORACLE_HOME/bin/orapki wallet export -wallet /u01/app/client/wallet_dir -pwd <Replace With Your Password> -dn "CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US" -cert "/tmp/cert_app2.crt"
      Kopieren Sie das Wallet aus client-host in cman-host unter dem Verzeichnis /tmp:
      scp -i /tmp/gcp  oracle@client-host.c.oraoperator-on-gke.internal:/tmp/cert_app* /tmp/
      Kopieren Sie das CMAN-Wallet von cman-host in die Datei client-host im Verzeichnis /tmp:
      scp -i /tmp/gcp  /tmp/cman* oracle@client-host.c.oraoperator-on-gke.internal:/tmp/
    10. Führen Sie die folgenden Befehle aus, um die Wallets von client-host auf dem Rechner cman-host zu importieren:
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/oracle/wallet_dir  -pwd <Replace With
              Your Password> -trusted_cert -cert /tmp/cert_app1.crt
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/oracle/wallet_dir  -pwd <Replace With
              Your Password> -trusted_cert -cert /tmp/cert_app2.crt  [oracle@cman-host ~]$
      $ORACLE_HOME/bin/orapki wallet display -wallet
            /u01/app/oracle/wallet_dirOracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:       CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Trusted Certificates:
      Subject:       CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=client-host,OU=ST,O=Oracle,ST=California,C=US
      Führen Sie die folgenden Befehle aus, um die Wallets von cman-host auf den Rechner client-host zu importieren:
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/client/wallet_dir  -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman1.crt
      $ORACLE_HOME/bin/orapki wallet add -wallet  /u01/app/client/wallet_dir  -pwd <Replace With Your Password> -trusted_cert -cert /tmp/cman2.crt
      
      [oracle@client-host ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/client/wallet_dir
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      
      Requested Certificates:
      User Certificates:
      Subject:      CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US
      Subject:      CN=client-host,OU=ST,O=Oracle,ST=California,C=USTrusted Certificates:
      Subject:      CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:      CN=client-host.c.oraoperator-on-gke.internal,OU=ST,O=Oracle,ST=California,C=US
      Subject:      CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:      CN=client-host,OU=ST,O=Oracle,ST=California,C=US
    11. Richten Sie Oracle Notification Server auf Oracle RAC-Knoten ein.
      Führen Sie die folgenden Befehle als grid-Benutzer aus, um Verbindungen, die nicht mit der CN im Wallet übereinstimmen, nicht zu Oracle Notification Server zuzulassen und Verbindungen nur zu vertrauenswürdigen Clients zuzulassen.
      $ORACLE_HOME/bin/crsctl modify res ora.ons -attr "ALLOW_UNSECURE_SUBSCRIBER=no" -unsupported
      $ORACLE_HOME/bin/srvctl modify nodeapps -clientdata /u01/app/wallet_dir/cwallet.sso
      $ORACLE_HOME/opmn/bin/onsctl reload
      Führen Sie diesen Befehl aus, um die Konfiguration auf Oracle RAC-Knoten 1 und Oracle RAC-Knoten 2 als Benutzer grid zu prüfen:
      [grid@racnode1 ~]$ cat /u01/app/23.0.0.0/grid/opmn/conf/ons.config.racnode1
      usesharedinstall=true
      allowgroup=true
      localport=6100                 # line added by Agent
      remoteport=6200                              # line added by Agent
      nodes=racnode1-priv:6200,racnode2-priv:6200                               # line added by Agent
      walletfile=/u01/app/grid/crsdata/racnode1/onswallet/                          # line added by Agent
      allowunsecuresubscriber=no                     # line added by Agent
      
      [grid@racnode2 ~]$ cat /u01/app/23.0.0.0/grid/opmn/conf/ons.config.racnode2
      usesharedinstall=true
      allowgroup=true
      localport=6100                 # line added by Agent
      remoteport=6200                              # line added by Agent
      nodes=racnode1-priv:6200,racnode2-priv:6200                               # line added by Agent
      walletfile=/u01/app/grid/crsdata/racnode2/onswallet/                          # line added by Agent
      allowunsecuresubscriber=no                     # line added by Agent
      Führen Sie diesen Befehl aus, um das Wallet auf beiden Oracle RAC-Knoten als Benutzer grid zu prüfen.
      [grid@racnode1 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/grid/crsdata/racnode1/onswallet
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=USTrusted Certificates:
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      
      [grid@racnode2 ~]$ $ORACLE_HOME/bin/orapki wallet display -wallet /u01/app/grid/crsdata/racnode2/onswallet
      Oracle PKI Tool Release 23.0.0.0.0 - Production
      Version 23.0.0.0.0
      Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
      Requested Certificates:
      User Certificates:
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      ubject:        CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=USTrusted Certificates:
      Subject:       CN=racnode-scan,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
      Subject:       CN=racnode-scan.sub12161926541.onsproxyvcn.oraclevcn.com,OU=ST,O=Oracle,ST=California,C=US
  3. Richten Sie den Oracle Notification Server-Proxy auf dem Connection Manager-Host ein.
    Erstellen Sie die Datei $ORACLE_HOME/opmn/conf/onsproxy.properties mit dem folgenden Inhalt:
    setConfigHome: /u01/app/oracle/product/23ai/client_1
    debug: true
    addConfig: localport=6100
    addConfig: remoteport=6200
    addConfig: walletfile=/u01/app/oracle/wallet_dir
    addNetwork: nodes.aaa=10.0.1.13:6200,10.0.1.95:6200|walletfile=/u01/app/oracle/wallet_dir/cwallet.sso
    addSubscription: ("eventType=database/event/service")
    addSubscription: ("eventType=database/event/host")
    Erstellen Sie $ORACLE_HOME/opmn/conf/ons.config mit dem folgenden Inhalt:
    # Generated by ONS Proxy
    allowpublish=127.0.0.1,::1
    extendedsecurityheader=tenant_id
    allowunsecuresubscriber=false
    walletfile=/u01/app/oracle/wallet_dir
    localport=6100
    remoteport=6400
    =strict
  4. Prüfen Sie die Verbindungen, die in der Datenbank hergestellt wurden. Prüfen Sie die Verbindungen am Datenbankende, wenn der Oracle Notification Server-Proxy auf der cman-host gestartet wird.
  5. Aktualisieren Sie die Mandanten-ID mit dem Clienthostrechnernamen. Melden Sie sich mit SYSDBA-Berechtigungen bei SQLPLUS an, und aktualisieren Sie in diesem Fall die Mandanten-ID mit dem Namen des Clienthostrechners client-host.
  6. Melden Sie sich mit SYSDBA-Berechtigungen bei SQLPLUS an, und aktualisieren Sie die Mandanten-ID mit dem Namen des Clienthostrechners, wie in diesem Fall client-host.

    Hinweis:

    Stellen Sie sicher, dass der Name mit dem Namen übereinstimmt, der im Client-Wallet CN verwendet wird.
    SQL> alter session set container=ORCLPDB;                             
    Session altered                                                 
    SQL> alter pluggable database orclpdb tenant_id = 'client-host';
    Pluggable database altered.                                     
    SQL> select con_id, name, tenant_id from v$pdbs where name = 'ORCLPDB';
        CON_ID     NAME              TENANT_ID                           
    ----------     -------------   ------------------------
              3           ORCLPDB                 client-host 

Oracle RAC-Datenbankservice erstellen

Erstellen Sie den Oracle RAC-Datenbankservice, und testen Sie die Verbindung vom Oracle RAC-Host zur Oracle RAC-Datenbank. Starten Sie die Anwendung auf dem Clientrechner, um eine SQL-Verbindung zur Oracle RAC-Datenbank mit Oracle RAC und ONS-Verbindung mit dem Oracle Notification Server herzustellen, der auf dem CMAN-Host ausgeführt wird. Simulieren Sie Service-Start- und -Stoppereignisse auf dem Datenbankserver, und prüfen Sie die FAN-Ereignisse, die auf dem Client empfangen wurden.

Führen Sie die folgenden Schritte aus, um Datenbankservices zu erstellen und zu starten:
  1. Führen Sie den folgenden Befehl als Benutzer oracle aus, um Datenbankservices zu erstellen.
    su - oracle
    srvctl add service -d ORCLCDB_8p7_phx -preferred ORCLCDB1,ORCLCDB2 -s raconssvc2 -pdb ORCLPDB  -notification TRUE
  2. Führen Sie den folgenden Befehl zum Starten der Datenbankservices aus:
    [oracle@racnode1 ~]$ srvctl start service -d ORCLCDB_8p7_phx -s raconssvc2
  3. Führen Sie den folgenden Befehl zum Zurücksetzen des Kennworts für den system-Benutzer aus. Verwenden Sie eine <PASSWORD> basierend auf Ihren Umgebungs-Policys:
    SQL> alter user system identified by <PASSWORD>;User altered.
  4. Führen Sie die folgenden Schritte aus, um über den Rechner cman-host eine Verbindung zur Datenbank herzustellen:
    [oracle@cman-host ~]$ $ORACLE_HOME/bin/sqlplus system/<PASSWORD>@//cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:1521/raconssvc2.sub12161926541.onsproxyvcn.oraclevcn.com
    SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Thu Dec 19 01:49:12 2024
    Version 23.5.0.24.07
    Copyright (c) 1982, 2024, Oracle.  All rights reserved.
    Last Successful login time: Wed Dec 18, 2024, 00:59:27 +00:00
    Connected to:Oracle Database 23ai EE Extreme Perf Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
    Version 23.6.0.24.10
    SQL>
  5. Führen Sie die folgenden Schritte aus, um über den client-host-Rechner eine Verbindung zur Datenbank herzustellen:
    [oracle@client-host ~]$ $ORACLE_HOME/bin/sqlplus system//<PASSWORD>@//cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:1521/raconssvc2.sub12161926541.onsproxyvcn.oraclevcn.com

    Hinweis:

    Stellen Sie sicher, dass die Verbindung erfolgreich ist, bevor Sie mit dem nächsten Schritt fortfahren.

Konfigurieren von fanWatcher auf dem Clienthost

Führen Sie die folgenden Schritte aus, um FANWatcher auf dem Clienthostrechner zu konfigurieren:
  1. Kopieren Sie den Code fanWatcher, und stellen Sie ihn auf dem Rechner client-host unter dem Ordner /tmp/app bereit.
    [oracle@client-host response]$ mkdir /tmp/app
    [oracle@client-host response]$ export CLASSPATH="/tmp/app:$ORACLE_HOME/opmn/lib/ons.jar:$ORACLE_HOME/jlib/oraclepki.jar:$ORACLE_HOME/jlib/osdt_core.jar:$ORACLE_HOME/jlib/osdt_cert.jar:$ORACLE_HOME/jdbc/lib/ojdbc8.jar:."
    [oracle@client-host ~]$ cd /tmp/app/
    [oracle@client-host app]$ ls -rlt
    total 8
    -rw-r--r--. 1 oracle oinstall 6434 Dec 17 21:00 fanWatcher.java
  2. Richten Sie die Datei fanWatcher.java ein.
    [oracle@client-host app]$ javac fanWatcher.java
    Note: fanWatcher.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    [oracle@client-host app]$[oracle@client-host app]$
    [oracle@client-host app]$ export user=system
    [oracle@client-host app]$ export password=<PASSWORD>
    [oracle@client-host app]$ export url='jdbc:oracle:thin:@cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:1521/raconssvc2' 
    [oracle@client-host app]$ $ORACLE_HOME/jdk/bin/java -Doracle.ons.walletfile=/u01/app/client/wallet_dir -classpath ${CLASSPATH} fanWatcher "nodes=cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:6200"
    Subscribing to events of type:
    Opening FAN Subscriber Window ...