Sobre o Oracle Database Cloud Services com o Proxy do Oracle Notification Server

O Oracle Base Database Service aproveita os recursos multicloud e permite soluções personalizáveis para otimizar a disponibilidade da aplicação, a economia de custos, a agilidade e o desempenho. As implementações multicloud precisam de um planejamento cuidadoso para reduzir a complexidade do gerenciamento de TI e garantir a segurança de ponta a ponta.

O Oracle Connection Manager (CMAN) pode facilitar implantações multicloud em que o banco de dados e a aplicação estão em diferentes provedores de cloud service, encaminhando de forma transparente solicitações e respostas de conexão, fornecendo um ponto de entrada e oferecendo segurança TLS, comutação/roteamento de protocolo e controle de acesso.

Nesta solução playbook, você aprende a usar uma única instância do CMAN com o Oracle Database para criar uma conexão com o Google Cloud para permitir que os clientes se inscrevam em eventos do Oracle RAC.

Observação:

Várias instâncias de CMAN podem fornecer melhores recursos de balanceamento de carga e melhorar o desempenho e a disponibilidade.


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

O Oracle Notification Service (ONS) é um componente do Oracle Grid Infrastructure que publica eventos do Oracle Real Application Clusters (Oracle RAC), como carga do servidor, nó ativo ou inativo e assim por diante. Os clientes de banco de dados que se conectam diretamente a um banco de dados ou usam pools de conexões podem se inscrever nessas notificações, permitindo que eles tomem medidas durante eventos críticos. Em implementações multicloud, em que a aplicação e o banco de dados Oracle RAC abrangem diferentes provedores de nuvem, as aplicações podem usar o CMAN para se comunicar com o banco de dados Oracle RAC. No entanto, essas sessões não podem receber eventos FAN (Fast Application Notification) fora do limite.

No Oracle RAC, o daemon ONS é iniciado pelo Oracle Clusterware como parte do nodeapps. Um daemon ONS é iniciado por nó clusterizado. O daemon ONS recebe um subconjunto de eventos do Oracle Clusterware publicados usando os daemons do Clusterware EVMD local e encaminha esses eventos para assinantes de aplicativos e para os listeners locais para facilitar:

  • O recurso FAN (Fast Application Notification) que permite aos aplicativos responder às alterações de estado do banco de dados. O FFC (Fast Connection Failover) é o mecanismo do cliente que usa o recurso FAN para alcançá-lo.
  • O recurso Recomendação de Balanceamento de Carga (o recurso RLB) que permite o balanceamento de carga em diferentes nós RAC depende da carga nos diferentes nós. O processo RDBMS MMON cria uma recomendação para a distribuição do trabalho a cada 30 segundos e o encaminha usando ONS para listeners e aplicativos.

Para permitir que os clientes se inscrevam em eventos do Oracle RAC, é necessário um proxy do Oracle Notification Server. O CMAN encaminha as solicitações e as respostas de forma transparente, fornecendo um ponto de entrada única e oferecendo segurança de TLS, alternância/roteamento de protocolo e controle de acesso. Um Oracle Notification Server executado no host CMAN se comunica com o servidor ONS na rede Oracle RAC por meio do proxy ONS. Os aplicativos clientes que se inscrevem no ONS no host CMAN se comunicam usando o proxy do Oracle Notification Server com o Oracle Notification Service na rede pública do Oracle RAC.



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

O ONS fornece um mecanismo genérico de entrega de mensagens fora de banda usando um subconjunto do protocolo HTTP. ONS é um mecanismo de publicação/assinatura em que o servidor publica notificações que são entregues a clientes inscritos.

Em um cluster do Oracle RAC, uma instância do daemon ONS é iniciada pelo Oracle Clusterware em cada nó do cluster. A implantação do servidor de banco de dados geralmente é protegida por um firewall, de modo que os servidores ONS também estão protegidos por ele. Os servidores se conectam ao proxy, que tem acesso a clientes fora do firewall, por meio do Oracle Notification Server voltado para o externo. O proxy desliga a instância externa do Oracle Notification Server para a qual as notificações dos servidores ONS internos são publicadas. O servidor ONS externo publica essas notificações nos clientes inscritos.

Antes de Começar

Antes de começar, certifique-se de fazer o seguinte:

Consulte o guia Oracle Net Services. Em seguida, siga estas etapas para provisionar a VCN do OCI e instalar e configurar o banco de dados Oracle RAC:
  1. Provisione a VCN do OCI com sub-redes pública e privada. A sub-rede privada será usada para provisionar o banco de dados Oracle RAC de dois nós usando o Oracle Base Database Service, e a sub-rede pública será usada para provisionar a máquina virtual do OCI Compute para a CMAN.
    VCN Sub-rede privada Sub-rede Pública

    Nome: OnsProxyVcn

    Bloco IPv4 CIDR: 10.0.0.0/16

    10.0.1.0/24 10.0.0.0/24
  2. Implante o banco de dados Oracle RAC usando o Oracle Base Database Service.

    Consulte a seção Criar um Sistema de Banco de Dados Usando a Console na Documentação do OCI para obter mais detalhes sobre como criar um banco de dados Oracle RAC de dois nós usando o Oracle Base Database Service. O seguinte banco de dados é um exemplo:

    Sistema do banco de dados Banco de dados Nó 1 Nó 2

    Nome: RACDBSystem

    Nome do domínio: sub12161926541.onsproxyvcn.oraclevcn.com

    Nome do DNS SCAN: racnode-scan

    Endereço IP SCAN: 10.0.1.205, 10.0.1.35, 10.0.1.117

    Nome do Banco de Dados: ORCLCDB

    Nome Exclusivo do Banco de dados: ORCLCDB_8p7_phx

    Versão: 23.6.0.24.10

    Nome: racnode1

    IP Privado: 10.0.1.13

    Nome: racnode2

    IP Privado: 10.0.1.95

  3. Configure o Bastion para acessar nós RAC na sub-rede privada.

    Crie sessões de encaminhamento de porta usando o Bastion para acessar os IPs privados do nó do Oracle RAC.

    Bastion Detalhes
    Bastion

    Nome: OnsProxyRacDbBastion

    Rede Virtual na Nuvem de destino: OnsProxyVcn

    Sub-rede de destino: private subnet-OnsProxyVcn

    Lista de permissões do bloco CIDR: 0.0.0.0/0

    Endereço IP do ponto final privado: 10.0.1.215

  4. Configure detalhes do sistema de banco de dados Oracle RAC.

    A seguir estão os detalhes críticos da configuração dos nós de banco de dados do Oracle RAC e do Oracle Clusterware que você deve provisionar.

    Nós Oracle RAC IPs Nome do Host Nome VIP Nome do SCAN Domínio Grid Infrastructure/Versão do Banco de Dados
    Nó 1 do Oracle RAC 10.0.1.13 racnode1 racnode1-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23.6
    Nó 2 do Oracle RAC 10.0.1.95 racnode2 racnode2-vip racnode-scan subnet.onsproxyvcn.oraclevcn.com 23.6
    Verifique o status do banco de dados Oracle RAC.
    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

Sobre Serviços e Atribuições Obrigatórios

Esta solução requer os seguintes serviços e funções:

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

Essas são as funções necessárias para cada serviço.

Nome do Serviço: Função Obrigatório para...
Rede OCI: manage vcn-family Gerencie os componentes de rede, incluindo VCNs, sub-redes, regras de segurança e FastConnect.
OCI Compute: manage instance-family Criar instâncias de VM de computação.
OCI Database: manage database-family Criar instâncias do Base Database Service.

Consulte Produtos, Soluções e Serviços Oracle para obter o que você precisa.

Arquitetura

Essa arquitetura usa um cenário de implantação de proxy Oracle RAC com CMAN e ONS em multicloud. Ela mostra um banco de dados Oracle RAC implantado usando o Oracle Base Database Service em uma sub-rede privada de uma VCN do OCI, que não pode ser acessada pela rede do cliente.


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

O Oracle Connection Manager (CMAN) é implantado em uma máquina virtual do OCI Compute, que está em uma sub-rede pública da mesma VCN do OCI. O cliente pode acessar o CMAN usando o IP público na sub-rede pública. O servidor ONS e o proxy ONS são configurados em uma máquina host CMAN. O listener de CMAN se conecta ao banco de dados Oracle RAC, que está sendo executado atrás do firewall.

O Aplicativo com software cliente Oracle é implantado em uma Máquina Virtual de Computação no Google Cloud.

Você também pode usar vários CMANs conectados ao mesmo servidor de banco de dados e ONS. Nesse caso, você deve configurar o proxy ONS e o Oracle Notification Server em cada nó CMAN.

Essa arquitetura suporta os seguintes componentes:

  • Região da OCI

    Uma região do OCI é uma área geográfica localizada que contém um ou mais data centers, hospedando domínios de disponibilidade. Regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou mesmo continentes).

  • Domínio de falha

    Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas no servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.

  • Rede e sub-rede virtual na nuvem da OCI

    VCN (rede virtual na nuvem) é uma rede personalizável definida por software que você configura em uma região do OCI. Assim como as redes tradicionais do data center, as VCNs dão a você controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos de CIDR (Classless Inter-domain Routing) não sobrepostos que você pode alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Domínio de disponibilidade

    Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, uma falha em um domínio de disponibilidade não deve afetar os outros domínios de disponibilidade na região.

  • OCI FastConnect

    O Oracle Cloud Infrastructure FastConnect cria uma conexão privada dedicada entre seu data center e a OCI. FastConnect fornece opções mais altas de largura de banda e uma experiência de redes mais confiável quando comparada com conexões baseadas na internet.

  • OCI Compute

    Com o Oracle Cloud Infrastructure Compute, você pode provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda de rede e armazenamento. Depois de criar uma instância de computação, você poderá acessá-la com segurança, reiniciá-la, anexar e desanexar volumes e encerrá-la quando não precisar mais dela.

  • Oracle Base Database Service

    O Oracle Base Database Service é um serviço de banco de dados da OCI que permite criar, dimensionar e gerenciar bancos de dados Oracle com todos os recursos em máquinas virtuais. O Oracle Base Database Service usa o armazenamento do OCI Block Volumes em vez do armazenamento local e pode executar o Oracle Real Application Clusters (Oracle RAC) para melhorar a disponibilidade.

  • Oracle Linux

    A Oracle combina sistemas operacionais, contêineres e virtualização, os blocos fundamentais da infraestrutura de TI moderna, em uma oferta integrada: o Oracle Linux. Executado na sua escolha de hardware, em seu data center ou na nuvem, o Oracle Linux oferece confiabilidade, escalabilidade, segurança e desempenho para cargas de trabalho corporativas exigentes.

  • Oracle Clusterware

    O Oracle Clusterware permite que os servidores se coordenem entre si para parecerem funcionar como uma unidade altamente disponível. Essa combinação de servidores é comumente conhecida como cluster. Embora os servidores sejam servidores independentes, cada servidor se comunica com outros servidores, fazendo com que os servidores individuais apareçam como um sistema para aplicativos e usuários finais. O Oracle Clusterware também monitora os componentes dentro do cluster, reiniciando ou fazendo failover dos recursos para garantir alta disponibilidade. O Oracle Clusterware fornece a infraestrutura necessária para executar oOracle RAC. O Oracle Clusterware também gerencia recursos, como endereços IP virtuais (VIP), bancos de dados, listeners, serviços e muito mais.

  • Oracle Connection Manager

    O Oracle Connection Manager (CMAN) é um proxy de conexão de banco de dados de várias finalidades usado em implantações da Oracle. Ele encaminha de forma transparente as solicitações do aplicativo cliente para o Oracle Database e retransmite a resposta de volta para os aplicativos cliente. O cliente pode ser um aplicativo de usuário ou uma solução de software de camada intermediária. O CMAN abstrai a camada de rede do banco de dados, incluindo a rede pública do Oracle RAC, de clientes. Vários bancos de dados podem ser implantados por trás de uma única instância do CMAN. Portanto, os clientes podem usar um ponto de entrada única na camada de banco de dados. O CMAN traz segurança, comutação/roteamento de protocolo TLS e controle de acesso para conexão com Oracle Databases locais e remotos.

  • Wallets e certificados do Oracle Database

    A Segurança de Dados é a tarefa mais importante no Banco de Dados. Os ataques aos sistemas de Banco de Dados continuam a crescer em número e sofisticação. Garantir que seu sistema de banco de dados esteja funcionando pode ser uma tarefa difícil. Uma wallet do Oracle Database é um contêiner protegido por senha que armazena credenciais de autenticação e assinatura, incluindo chaves privadas e certificados que permitem que os clientes de banco de dados se comuniquem em uma rede do Oracle Database.

    Um certificado do Oracle Database (certificado digital de infraestrutura de chave pública (PKI) é um componente da wallet que valida a identidade de uma entidade final em uma chave pública ou troca de chave privada que usa a wallet.

  • Serviço de Notificação da Oracle

    O Oracle Notification Service (ONS) é um componente do Oracle Grid Infrastructure que publica eventos do Oracle Real Application Clusters (Oracle RAC), como carga do servidor, nó ativo ou inativo e assim por diante. Os clientes de banco de dados que se conectam diretamente a um banco de dados ou usam pools de conexões podem se inscrever nessas notificações, permitindo que eles tomem medidas durante eventos críticos. Em implementações multicloud, em que a aplicação e o banco de dados Oracle RAC abrangem diferentes provedores de nuvem, as aplicações podem usar o CMAN para se comunicar com o banco de dados Oracle RAC. No entanto, essas sessões não podem receber eventos FAN (Fast Application Notification) fora do limite.

    O ONS fornece um mecanismo genérico de entrega de mensagens fora de banda usando um subconjunto do protocolo HTTP. ONS é um mecanismo de publicação/assinatura em que os clientes publicam notificações que são entregues a clientes inscritos. A sintaxe de assinatura é flexível, de modo que um único assinante pode corresponder a muitos tipos diferentes de notificações ou apenas a um tipo muito específico. O Oracle Notification Service é usado como um sistema de mensagens e eventos no Oracle Database.

  • Servidor de Notificação Oracle

    O Oracle Notification Server executa o Oracle Notification Service (ONS).

  • Oracle Interconnect for Google Cloud

    O Oracle Interconnect for Google Cloud é um serviço de interconexão privado dedicado que combina conexões de parceiros do OCI FastConnect e Google Cloud Partner Interconnects que ajuda clientes multicloud a inovar em duas nuvens e aplicar ferramentas existentes e familiares para suportar cargas de trabalho.