Configurar

Configure o proxy do Oracle Notification Server com base em suas necessidades de negócios e segurança.

Configurar o Proxy do Oracle Notification Server

Você pode configurar o proxy do Oracle Notification Server sem Wallets e Certificados ou com Certificados e Wallets SSL.
Os seguintes parâmetros de arquivo de configuração de proxy do Oracle Notification Server são usados nesta solução:
ExtendedSecurityHeader=<header-name>

As notificações agora podem conter um cabeçalho de acesso fornecido pelo editor. Um campo nos certificados chamados CN (Nome Comum) dá ao proprietário do certificado um nome. A parte CN do DN do cliente (Nome Distinto) é salva com cada conexão do cliente. Quando uma notificação chegar ao servidor, o cliente só poderá receber a notificação se sua CN estiver listada no nome do cabeçalho configurado para ExtendedSecurityHeader.

ExtendedSecurityMode=<mode>

none: Não verifique nada. Os clientes sempre receberão todas as notificações.

strict: Verifique o cliente em relação ao cabeçalho de acesso de notificação, se ele existir; caso contrário, o cliente não receberá a notificação.

allowunsecuresubscriber=false

Se a conexão segura for configurada normalmente, qualquer tentativa de conexão insegura será rejeitada. Se esse parâmetro for definido como yes, um par ainda poderá se conectar mesmo sem criptografia, mas não poderá ser publicado nesse caso.

Se a conexão segura não estiver configurada, esse parâmetro será ignorado.

  1. Opção 1: Configure o proxy do Oracle Notification Server sem wallets e certificados SSL para estabelecer comunicação entre o proxy do Oracle Notification Server e o Oracle Notification Server nos nós do Oracle RAC. Siga estas etapas para configurar o proxy do Oracle Notification Server sem wallets e certificados:
    1. Configure o proxy do Oracle Notification Server no host do Connection Manager.
    2. Crie o arquivo $ORACLE_HOME/opmn/conf/onsproxy.properties com o seguinte conteúdo:
      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 se o $ORACLE_HOME/opmn/conf/ons.config tem o seguinte conteúdo:
      # Generated by ONS Proxy
      allowpublish=127.0.0.1,::1
      extendedsecurityheader=none
      allowunsecuresubscriber=true
      localport=6100
      remoteport=6200
      extendedsecuritymode=partial
    4. Inicie o proxy do Oracle Notification Server no host CMAN e verifique o 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. Verifique as conexões estabelecidas no banco de dados quando você inicia o proxy do Oracle Notification Server no cman-host. Na seção Conexões do Cliente, verifique se o host Oracle CMAN está conectado ao banco de dados Oracle RAC. O exemplo a seguir mostra uma saída reduzida após a conexão do CMAN com o Oracle Notification Server em execução no Oracle Grid Infrastructure. Você deverá ver a conexão de 10.0.0.90 nas duas máquinas Oracle RAC. Como essa conexão foi feita sem certificados SSL e wallets, você não verá uma entrada CN=cman-host na conexão Oracle CMAN.
      [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. Opção 2: Para segurança, configure o proxy do Oracle Notification Server com wallets e certificados SSL. SSL requer certificados autoassinados ou uma Autoridade de Certificação (CA) de um provedor confiável para a conexão cliente-servidor. O SSL funciona como um passaporte digital que verifica suas credenciais e as credenciais do servidor da Web final usando chaves públicas e privadas. Quando ambas as identidades são verificadas, a SSL concede uma conexão protegida por meio de HTTPS. Este processo é executado usando o SSL Certificates.

    Observação:

    Se você usar um certificado de usuário emitido por uma autoridade de certificação como a Verisign, não precisará implantar certificados para o cliente. Adicione o certificado raiz da CA e quaisquer certificados intermediários na cadeia à wallet como Certificados Confiáveis antes de adicionar o certificado do usuário.
    1. Crie certificados do Oracle wallet e autoassinados nos nós do Oracle RAC. Execute os seguintes comandos em um dos nós do Oracle RAC como um usuário root:
      mkdir -p /u01/app/wallet_dir
      chown grid:oinstall /u01/app/wallet_dir
      chmod 750 /u01/app/wallet_dir
    2. Execute os seguintes comandos como um usuário 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. Crie a wallet e os certificados autoassinados no host do Connection Manager. Quando você configura o proxy do Oracle Notification Server para ser executado em um ambiente CMAN e se comunica com os servidores Oracle Notification Server executados em nós CMAN e RAC, os certificados SSL são necessários para garantir uma comunicação segura.

      Observação:

      Altere a senha com base nas políticas de senha do ambiente.
    4. O processo a seguir é passo a passo para configurar o proxy do Oracle Notification Server com certificados SSL.
      Execute os seguintes comandos como um usuário root:
      mkdir -p /u01/app/oracle/wallet_dir
      chown oracle:oinstall /u01/app/oracle/wallet_dir
      chmod 750 /u01/app/oracle/wallet_dir
      Execute os seguintes comandos como um usuário 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
      Crie os certificados autoassinados como um usuário 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
      Após a criação da wallet, exiba a wallet como um usuário oracle. Você ainda não verá nenhuma entrada porque o certificado não foi criado.
      [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. Crie wallet e certificados autoassinados na máquina cliente no Google Cloud. Como o proxy do Oracle Notification Server no host CMAN está configurado com uma wallet SSL, a máquina cliente também deve ter uma wallet configurada com certificados SSL autoassinados para estabelecer uma conexão segura. Nesse caso, você tem o cliente Oracle instalado no host do cliente, que fornece as ferramentas necessárias para criar e gerenciar wallets.
      Execute os seguintes comandos como um usuário root:
      mkdir -p /u01/app/client/wallet_dir
      chown oracle:oinstall /u01/app/client/wallet_dir
      chmod 750 /u01/app/client/wallet_dir
      Execute os seguintes comandos como um usuário 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
      Crie o certificado autoassinado como um usuário 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
      Após a criação da wallet, exiba a wallet como um usuário oracle. Você ainda não verá nenhuma entrada porque o certificado não foi criado.
      [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. Depois de configurar a wallet e os certificados SSL no Oracle RAC e configurar as máquinas cliente e CMAN, exporte certificados autoassinados no Connection Manager e no Oracle RAC Node 1 usando estes procedimentos:
      Execute os seguintes comandos no Nó 1 do Oracle RAC como o usuário 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"
      Execute os seguintes comandos no Nó 1 do Oracle RAC como o usuário 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. Depois que os certificados forem exportados, importe os certificados para que o proxy do Oracle Notification Server CMAN possa ser handshake com o Oracle RAC Oracle Notification Server.
      Copie as wallets do Connection Manager para o Nó 1 do Oracle RAC e importe os 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 as wallets do Oracle RAC Node1 para o host CMAN e importe os 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 a wallet do Nó 1 do Oracle RAC para o Nó 2 do Oracle RAC:
      Execute os seguintes comandos no Nó 1 do Oracle RAC como usuário 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
      Execute os seguintes comandos no Nó 1 do Oracle RAC como usuário 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 estas etapas para copiar a wallet da máquina cliente no Google Cloud para a máquina CMAN no OCI:
      Execute os seguintes comandos para exportar as wallets na 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 a wallet de client-host para cman-host no diretório /tmp:
      scp -i /tmp/gcp  oracle@client-host.c.oraoperator-on-gke.internal:/tmp/cert_app* /tmp/
      Copie a wallet CMAN de cman-host para o client-host no diretório /tmp:
      scp -i /tmp/gcp  /tmp/cman* oracle@client-host.c.oraoperator-on-gke.internal:/tmp/
    10. Execute estes comandos para importar as wallets de client-host na 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
      Execute estes comandos para importar as wallets de cman-host para a 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 o Oracle Notification Server nos nós do Oracle RAC.
      Execute os comandos a seguir como o usuário grid para não permitir conexões que não correspondam ao CN na wallet com o Oracle Notification Server e permitir conexões apenas com clientes confiáveis.
      $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
      Execute este comando para verificar a configuração no Nó 1 do Oracle RAC e no Nó 2 do Oracle RAC como o usuário 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
      Execute este comando para verificar a wallet nos Nós do Oracle RAC como o usuário 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 o proxy do Oracle Notification Server no host do Connection Manager.
    Crie o arquivo $ORACLE_HOME/opmn/conf/onsproxy.properties com o seguinte conteúdo:
    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")
    Crie $ORACLE_HOME/opmn/conf/ons.config com o seguinte conteúdo:
    # 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. Verifique as conexões estabelecidas no banco de dados. Verifique as conexões estabelecidas no fim do banco de dados quando o proxy do Oracle Notification Server for iniciado no cman-host.
  5. Atualize o ID do Tenant com o Nome da Máquina Host do Cliente. Faça log-in no SQLPLUS com os Privilégios SYSDBA e atualize o ID do Tenant com o nome da Máquina Host do Cliente client-host nesse caso.
  6. Faça log-in em SQLPLUS com privilégios SYSDBA e atualize o ID do Tenant com o nome da Máquina Host do Cliente, como client-host nesse caso.

    Observação:

    Certifique-se de que ele corresponda ao nome usado no CN da wallet do 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 

Criar Serviço de Banco de Dados Oracle RAC

Crie o serviço de banco de dados Oracle RAC e teste a conexão do host Oracle RAC com o banco de dados Oracle RAC. Inicie o aplicativo na máquina cliente para fazer uma conexão SQL com o banco de dados Oracle RAC usando a conexão Oracle RAC e ONS com o Oracle Notification Server em execução no host CMAN. Simule os eventos de início e interrupção do serviço no servidor de banco de dados e verifique os eventos FAN recebidos no cliente.

Siga estas etapas para criar e iniciar os serviços de Banco de Dados:
  1. Execute o comando a seguir como um usuário oracle para criar serviços de banco de dados.
    su - oracle
    srvctl add service -d ORCLCDB_8p7_phx -preferred ORCLCDB1,ORCLCDB2 -s raconssvc2 -pdb ORCLPDB  -notification TRUE
  2. Execute o seguinte comando para iniciar os serviços de banco de dados:
    [oracle@racnode1 ~]$ srvctl start service -d ORCLCDB_8p7_phx -s raconssvc2
  3. Execute o comando a seguir para redefinir a senha do usuário system. Use uma <PASSWORD> com base em suas políticas de ambiente:
    SQL> alter user system identified by <PASSWORD>;User altered.
  4. Siga estas etapas para estabelecer conexão com o banco de dados na 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 estas etapas para estabelecer conexão com o banco de dados na 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

    Observação:

    Verifique se a conexão foi bem-sucedida antes de passar para a próxima etapa.

Configurar fanWatcher no Host do Cliente

Siga estas etapas para configurar o FANWatcher na máquina host do cliente:
  1. Copie o código fanWatcher e coloque-o na máquina client-host na pasta /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 o arquivo 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 ...