Configurar

Configure el proxy de Oracle Notification Server según sus necesidades de negocio y seguridad.

Configuración del proxy de Oracle Notification Server

Puede configurar el proxy de Oracle Notification Server sin carteras y certificados o con certificados y carteras SSL.
En esta solución se utilizan los siguientes parámetros del archivo de configuración de proxy de Oracle Notification Server:
ExtendedSecurityHeader=<header-name>

Las notificaciones ahora pueden contener una cabecera de acceso proporcionada por el editor. Un campo de los certificados denominado CN (nombre común) proporciona un nombre al propietario del certificado. La parte CN del DN (nombre distintivo) del cliente se guarda con cada conexión de cliente. Cuando llega una notificación al servidor, el cliente solo podrá recibir la notificación si su NC aparece en el nombre de cabecera configurado para ExtendedSecurityHeader.

ExtendedSecurityMode=<mode>

none: no verifique nada. Los clientes siempre recibirán todas las notificaciones.

strict: compruebe el cliente en la cabecera de acceso de notificación si existe; de lo contrario, el cliente no recibirá la notificación.

allowunsecuresubscriber=false

Si la conexión segura se configura normalmente, se rechazará cualquier intento de conexión no segura. Si este parámetro se define en yes, se seguirá permitiendo que un par se conecte incluso sin cifrado, pero no se le permitirá publicar en este caso.

Si no se configura la conexión segura, se ignora este parámetro.

  1. Opción 1: configure el proxy de Oracle Notification Server sin carteras y certificados SSL para establecer la comunicación entre el proxy de Oracle Notification Server y el Oracle Notification Server en los nodos de Oracle RAC. Siga estos pasos para configurar el proxy de Oracle Notification Server sin carteras y certificados:
    1. Configure el proxy de Oracle Notification Server en el host de Connection Manager.
    2. Cree el archivo $ORACLE_HOME/opmn/conf/onsproxy.properties con el siguiente contenido:
      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. Verifique que $ORACLE_HOME/opmn/conf/ons.config tenga el siguiente contenido:
      # Generated by ONS Proxy
      allowpublish=127.0.0.1,::1
      extendedsecurityheader=none
      allowunsecuresubscriber=true
      localport=6100
      remoteport=6200
      extendedsecuritymode=partial
    4. Inicie el proxy de Oracle Notification Server en el host de CMAN y compruebe el estado.
      [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. Compruebe las conexiones establecidas en la base de datos al iniciar el proxy de Oracle Notification Server en cman-host. En la sección Conexiones de cliente, verifique que el host CMAN de Oracle esté conectado a la base de datos Oracle RAC. En el siguiente ejemplo, se muestra una salida recortada después de la conexión CMAN al servidor de notificaciones de Oracle que se ejecuta en Oracle Grid Infrastructure. Debe ver la conexión desde 10.0.0.90 en ambas máquinas de Oracle RAC. Debido a que esta conexión se realizó sin certificados SSL y carteras, no verá una entrada CN=cman-host en la conexión CMAN de Oracle.
      [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. Opción 2: para la seguridad, configure el proxy de Oracle Notification Server con carteras y certificados SSL. SSL requiere certificados autofirmados o una autoridad de certificación (CA) de un proveedor de confianza para la conexión cliente-servidor. SSL actúa como un pasaporte digital que verifica sus credenciales y las credenciales del servidor web final mediante el uso de claves públicas y privadas. Cuando ambas identidades están verificadas, SSL concede una conexión seguro a través de HTTPS. Este proceso se realiza con certificados SSL.

    Note:

    Si utiliza un certificado de usuario emitido por una autoridad de certificación como Verisign, no es necesario que despliegue certificados en el cliente. Agregue el certificado raíz de CA y cualquier certificado intermedio de la cadena a la cartera como Certificados de confianza antes de agregar el certificado de usuario.
    1. Cree certificados de Oracle wallet y autofirmados en nodos de Oracle RAC. Ejecute los siguientes comandos en uno de los nodos de Oracle RAC como usuario root:
      mkdir -p /u01/app/wallet_dir
      chown grid:oinstall /u01/app/wallet_dir
      chmod 750 /u01/app/wallet_dir
    2. Ejecute los siguientes comandos como usuario grid:
      $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. Cree certificados de cartera y autofirmados en el host de Connection Manager. Al configurar el proxy de Oracle Notification Server para que se ejecute en un entorno CMAN y se comunique con los servidores de Oracle Notification Server que se ejecutan en nodos de CMAN y RAC, se necesitan certificados SSL para garantizar una comunicación segura.

      Note:

      Cambie la contraseña según las políticas de contraseñas de su entorno.
    4. A continuación, se muestra un proceso paso a paso para configurar el proxy de Oracle Notification Server con certificados SSL.
      Ejecute los siguientes comandos como usuario root:
      mkdir -p /u01/app/oracle/wallet_dir
      chown oracle:oinstall /u01/app/oracle/wallet_dir
      chmod 750 /u01/app/oracle/wallet_dir
      Ejecute los siguientes comandos como usuario oracle:
      $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
      Cree los certificados autofirmados como usuario oracle:
      $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
      Después de crear la cartera, muestre la cartera como usuario oracle. Aún no verá ninguna entrada porque el certificado no se ha creado.
      [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. Cree certificados de cartera y autofirmados en la máquina cliente en Google Cloud. Dado que el proxy de Oracle Notification Server en el host CMAN está configurado con una cartera SSL, la máquina cliente también debe tener una cartera configurada con certificados SSL autofirmados para establecer una conexión segura. En este caso, el cliente de Oracle está instalado en el host del cliente, que proporciona las herramientas necesarias para crear y gestionar carteras.
      Ejecute los siguientes comandos como usuario root:
      mkdir -p /u01/app/client/wallet_dir
      chown oracle:oinstall /u01/app/client/wallet_dir
      chmod 750 /u01/app/client/wallet_dir
      Ejecute los siguientes comandos como usuario oracle:
      $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
      Crear el certificado autofirmado como usuario oracle:
      $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
      Después de crear la cartera, muestre la cartera como usuario oracle. Aún no verá ninguna entrada porque el certificado no se ha creado.
      [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. Después de configurar la cartera y los certificados SSL en Oracle RAC y configurar las máquinas cliente y CMAN, exporte los certificados autofirmados en Connection Manager y Oracle RAC Node 1 mediante estos procedimientos:
      Ejecute los siguientes comandos en el nodo 1 de Oracle RAC como usuario grid:
      $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"
      Ejecute los siguientes comandos en el nodo 1 de Oracle RAC como usuario oracle:
      $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. Una vez exportados los certificados, importe los certificados para que el proxy de CMAN Oracle Notification Server pueda establecer el establecimiento de comunicación con el Oracle RAC Oracle Notification Server.
      Copie las carteras del gestor de conexiones en el nodo 1 de Oracle RAC e importe los certificados:
      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
      Copie las carteras de Oracle RAC Node1 en el host CMAN e importe los certificados:
      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. Copie la cartera del nodo 1 de Oracle RAC en el nodo 2 de Oracle RAC:
      Ejecute los siguientes comandos en el nodo 1 de Oracle RAC como usuario root:
      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
      Ejecute los siguientes comandos en el nodo 1 de Oracle RAC como usuario grid:
      [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. Siga estos pasos para copiar la cartera de la máquina cliente en Google Cloud a la máquina CMAN en OCI:
      Ejecute los siguientes comandos para exportar las carteras en la máquina client-host:
      $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"
      Copie la cartera de client-host a cman-host en el directorio /tmp:
      scp -i /tmp/gcp  oracle@client-host.c.oraoperator-on-gke.internal:/tmp/cert_app* /tmp/
      Copie la cartera de CMAN de cman-host a client-host en el directorio /tmp:
      scp -i /tmp/gcp  /tmp/cman* oracle@client-host.c.oraoperator-on-gke.internal:/tmp/
    10. Ejecute estos comandos para importar las carteras de client-host en la máquina cman-host:
      $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
      Ejecute estos comandos para importar las carteras de cman-host a la máquina client-host:
      $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. Configure Oracle Notification Server en los nodos de Oracle RAC.
      Ejecute los siguientes comandos como usuario grid para no permitir conexiones que no coincidan con el CN de la cartera en Oracle Notification Server y permitir conexiones solo a clientes de confianza.
      $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
      Ejecute este comando para comprobar la configuración en el nodo 1 de Oracle RAC y en el nodo 2 de Oracle RAC como usuario grid:
      [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
      Ejecute este comando para comprobar la cartera en los nodos de Oracle RAC como usuario grid.
      [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. Configure el proxy de Oracle Notification Server en el host de Connection Manager.
    Cree el archivo $ORACLE_HOME/opmn/conf/onsproxy.properties con el siguiente contenido:
    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")
    Cree $ORACLE_HOME/opmn/conf/ons.config con el siguiente contenido:
    # 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. Compruebe las conexiones establecidas en la base de datos. Compruebe las conexiones establecidas al final de la base de datos cuando el proxy de Oracle Notification Server se inicie en cman-host.
  5. Actualice el ID de inquilino con Nombre de máquina host de cliente. Conéctese a SQLPLUS con privilegios SYSDBA y actualice el ID de inquilino con el nombre de la máquina host de cliente client-host en este caso.
  6. Conéctese a SQLPLUS con privilegios SYSDBA y actualice el ID de inquilino con el nombre de la máquina host de cliente, como client-host, en este caso.

    Note:

    Asegúrese de que coincida con el nombre utilizado en el CN de cartera de cliente.
    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 

Crear servicio de base de datos de Oracle RAC

Cree el servicio de base de datos Oracle RAC y pruebe la conexión desde el host de Oracle RAC a la base de datos Oracle RAC. Inicie la aplicación en la máquina cliente para realizar una conexión SQL a la base de datos Oracle RAC mediante la conexión de Oracle RAC y ONS con el servidor de notificaciones de Oracle que se ejecuta en el host CMAN. Simule los eventos de inicio y parada del servicio en el servidor de base de datos y compruebe los eventos de FAN recibidos en el cliente.

Siga estos pasos para crear e iniciar los servicios de base de datos:
  1. Ejecute el siguiente comando como usuario oracle para crear servicios de base de datos.
    su - oracle
    srvctl add service -d ORCLCDB_8p7_phx -preferred ORCLCDB1,ORCLCDB2 -s raconssvc2 -pdb ORCLPDB  -notification TRUE
  2. Ejecute el siguiente comando para iniciar los servicios de base de datos:
    [oracle@racnode1 ~]$ srvctl start service -d ORCLCDB_8p7_phx -s raconssvc2
  3. Ejecute el siguiente comando para restablecer la contraseña del usuario system. Utilice <PASSWORD> según las políticas de entorno:
    SQL> alter user system identified by <PASSWORD>;User altered.
  4. Siga estos pasos para conectarse a la base de datos desde la máquina cman-host:
    [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. Siga estos pasos para conectarse a la base de datos desde la máquina client-host:
    [oracle@client-host ~]$ $ORACLE_HOME/bin/sqlplus system//<PASSWORD>@//cman-host.sub12161926540.onsproxyvcn.oraclevcn.com:1521/raconssvc2.sub12161926541.onsproxyvcn.oraclevcn.com

    Note:

    Asegúrese de que la conexión se realiza correctamente antes de continuar con el siguiente paso.

Configurar fanWatcher en el host del cliente

Siga estos pasos para configurar FANWatcher en la máquina host del cliente:
  1. Copie el código fanWatcher y guárdelo en la máquina client-host en la carpeta /tmp/app.
    [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. Configure el archivo fanWatcher.java.
    [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 ...