Visão geral do Oracle RAC
Um cluster consiste em multiplos computadores interconectados ou servidores que têm como objetivo compartilhar/ processar requisições de usuários em aplicações para usuários finais. O Oracle RAC permite que um Database seja clusterizado e ele utiliza o Oracle Clusterware como infraestrutura para processar várias instances como um sistema único.
Abaixo o funcionamento do Oracle RAC:
O que é um Cluster?
As características mais comuns de um Cluster Oracle são:
- Servidores interligados que atuam como um único servidor;
- O software utilizado pelo cluster mascara a infra-estrutura;
- Os discos estão disponíveis para leitura e gravação para todos os servidores do cluster;
- Os dados são compartilhados através de softwares;
- ASM;
- ACFS;
- OCFS;
- NFS;
- RAW;
- O sistema operacional é o mesmo em todos os servidores;
- Várias instâncias acessando o mesmo banco de dados;
- Uma instância por servidor;
- Acesso aos dados (datafiles) ao mesmo tempo por todas instâncias;
- Controle de acesso aos dados por parte do Oracle RAC;
Os benefícios da utilização do Oracle Real Application Clusters:
- Alta disponibilidade: segurança para falhas em servidores e instâncias;
- Escalabilidade: adicione mais nodes/servidores em necessidade futuras;
- Custo: somente é pago o que é utilizado;
- Computação em grade (Grid):
- Aumento e diminuição do cluster confirme necessidade;
- Adicionar e remover nodes com facilidade;
- Utilização de repositório de carga;
- Execuções de processos de forma paralela;
- Distribuição de carga entre os nodes do cluster.
Interconnect
O Oracle Clusterware necessita de troca de informações entre todos os nodes do Cluster. Para isso é utilizado o link “Interconnect”. As principais tarefas desta interface de rede são:
- Funções Heartbeat / Keep Alive ;
- Troca de mensagens;
- Troca de informações sobre locks e deadlocks;
- Atualização de cache (Cache Fusion);
Exemplos de ligações da interface Interconnect:
Single-Switch:
- Interfaces ligadas somente a um switch para o Interconnect dos nodes do clusters;
- Pode ser configurado como Ativo/Ativo ou Ativo/Standby via Bonding.
Multi-Switch:
- Interfaces ligadas a duas ou mais switchs para o Interconnect dos nodes do clusters;
- Pode ser configurado como Ativo/Ativo ou Ativo/Standby via Bonding ou HAIP.
Para consultar as dúvidas mais frequentes sobre a interface “Interconnect”, clique aqui.
Exemplo de ambiente Oracle RAC
Um exemplo de ambiente utilizando Oracle RAC (Versão 11gR2) é mostrado a seguir na imagem:
Ordem de Startup
Para iniciar o cluster, existe uma ordem para o startup dos serviços – isso garante a inicialização correta do Oracle RAC:
Principais processos do Oracle RAC
Um cluster consiste em vários processos no SO. Os processos GCS, GES e GRD consistem no funcionamento do Oracle Cache Fusion (responsável pela troca de blocos em memória entre os nodes do cluster.) Abaixo alguns processos do Oracle RAC:
- Cluster Ready Services (CRS)
Processo principal para gerenciamento de alta-disponibilidade do cluster. - Cluster Synchronization Services (CSS)
Gerencia a configuração do cluster controlando seus membros, notificando membros quando um node é edicionado ou excluído do cluster. - Event Manager (EVM)
Proceso Background que gerencia eventos do cluster. - Cluster Time Synchronization Services (CTSS)
Serviço para sincronização de horário entre os nodes do cluster. - Oracle Notification Services (ONS)
Serviço para gerenciamento de eventos FAN (Fast Application Notifications) - Oracle AgentGerencia serviços quando um evento FAN ocorre. Conhecido como processo RACG até a versão 11.1
- Oracle Root Agent
É um processo específico (Oraagent) que funciona juntamente com o processo CRSD para gerenciar recursos do usuário “root”, como serviços de rede e endereços VIP. - Grid Naming Services (GNS)
É um conexão entre o mDNS e o DNS externo. Gerencia automaticamente nomes do cluster (opcional). - Grid Plug And Play (GPnP)
Permite adição e remoção de nodes no cluster automaticamente sem ação manual. Necessita do GNS configurado. - Multicast Domain Name Services (mDNS)
Permite solicitações do DNS externo. - ACMS: Atomic Controlfile do Memory Service
Num ambiente Oracle RAC, o ACMS contribui para garantir que as atualizações na memória SGA sejam distribuídas entre os nodes, com sucesso ou falha. - GTX0-j: Global Transaction Process
O processos GTX0-j suporta transações globais num ambiente Oracle RAC. O Database automaticamente calcula o número desses processos baseando-se na carga de transações XA globais. - LMON: Global Enqueue Service Monitor
O processo LMON monitora filas globais e recursos do cluster e executa recover de operações LMD (GlobalEnqueue Daemon). Os processos LMD gerenciam as solicitações remotas de cada instance do cluster. - LMS: Global Cache Service Process
O processo LMS mantém registros dos status dos Datafiles e de cada bloco em cache registrados no Global Resource Directory (GRD). O Processo LMS também controla as mensagens para instâncias remotas e gerencia o acesso e a transmissão de blocos da Buffer Cache entre as diferentes instances do cluster. Esse processo faz parte da feature Cache Fusion. - LCK0: Instance Enqueue Process
O processo LCK0 administra as requisições de recursos que não são da Cache Fusion, como por exemplo, requisições library w row cache.
Veja os principais processos do Oracle RAC aqui. (Somente em inglês)
Principais mudançaos no Oracle 11gR2
Em relação a versões anteriores do Oracle Database, existem algumas diferenças, como:
OFA (Optimal Flexible Architecture)
Os novos diretórios no 11g, em $ORACLE_BASE/diag/rdbms/<INSTANCIA>
- alert – Diretório do alert log em xml e txt.
- incident – Diretório para todos os incidentes do software.
- incpkg – Diretório para quando a criado um pacote des incidentes.
- trace – Diretório para armazenar os antigos traces gerados nos caminhos background dump (bdump) e user dump (udump).
- cdump – Diretório para armazenar os traces de Core Dump, antigo core_dump_dest.
- metadata – Metadata sobre os incidentes, problemas e pacotes.
Parâmetros depreciados
Os parâmetros background_dump_dest, core_dump_dest, user_dump_dest foram depreciados. Agora, todos os traces podem ser encontrados em DIAGNOSTIC_DEST.
ADR – Automatic Diagnostic Repository
Ferramenta para auxiliar na prevenção, detecção e diagnóstico de problemas com bugs em banco de dados. O ADR centraliza todos os traces e logs de todos os componentes, tais como ASM, CRS, LISTENER.
Senhas
As senhas agora, por padrão, são SENSITIVE CASE. Logo, é preciso muita atenção com usuários de aplicação, pois isso poderá ser um problema em uma migração. O recurso pode ser desligado alterando o parâmetro sec_case_sentitive_logon = FALSE.
SCAN – Single Access Name
O Single Client Name (SCAN) é uma nova feature do Oracle RAC 11gR2 que dispõe de um nome qualificado para acesso ao Oracle Database em um cluster. Entre os benefícios, um é a possibilidade de adionar ou remover nodes de um cluster sem a necessidade de alterar os clients. O SCAN é o responsável por LOAD BALANCING e FAILOVER, mudando consideralvelmente o Oracle Net de ambiente em Cluster 11gR2.
Overview do SCAN
LOAD BALACING de conexões usando SCAN:
Oracle Grid Infrastructure
Com o Oracle Grid Infrastructure, o ASM e o Clusterware são instalados em uma única home, tornando-se uma plataforma unificada de infraestrutura do Oracle RAC. Arquivos do Clusterware como OCR e Voting Disks, podem ser armazenados no ASM, unificando as soluções de armazenamento. Para novas instalações, a opção de armazenamento dos arquivos de Clusterware em raw devices não é mais suportada. Estas consigurações também se aplicam para a configuração STANDALONE SERVER.
O ACFS – Automatic Storage Management Cluster File System é um novo recurso de armazenamento, suportando todas as plataformas, provendo uma file system dinâmica, distribuída performaticamente, balanceamento sobre todos os discos envolvidos. Substituí o antigo OCFS.
O Cluster Time Synchronization Service – CTSS, serviço responsável por manter o sincronismo de tempo entre os nodes. Oracle Universal Installer do Grid Infrastructure gera scripts automaticamente para fix de pré-requisitos não atendidos.
Online Application Upgrade
Nessa versão é permitido que sejam realizados upgrades online sem qualquer indisponibilidade para aplicações. Anteriormente, quando um commando DDL era executado e outra sessão tentava realizar um DML no mesmo objeto, ocorria uma falha. Isto não acontece mais. Foram feitas melhorias nos processos Create e Rebuild index (no waits). O modelo de dependências do banco mudou para o chamado “finegrained”. Ex: Adicionar uma nova coluna em uma tabela ou um novo subprograma para uma package spec não invalidará suas dependências.
Matriz de Certificação do Oracle RAC
Para garantir a compatibilidade de software/hardware em uma instalação do Oracle RAC, confira a matriz de certificação no My Oracle Support:
- Conecte no portal Oracle;
- Clique na aba “Certificação”;
- Cliquem em “Certificação por Produto”;
- Selecione “Real Application Clusters”;
- Selecione a plataforma.
Demonstrações
Para ver demonstrações do Oracle RAC, acesse o link: http://www.oracle.com/technology/obe/demos/admin/demos.ht