quarta-feira, 10 de julho de 2013

Introdução Cluster

Quando o assunto é computação de alto desempenho, não é difícil pensarmos em servidores sofisticados e caros respondendo por este trabalho. No entanto, é possível obter resultados tão bons quanto ou superiores a partir de alguma solução de cluster - uma tecnologia capaz de fazer computadores mais simples trabalharem em conjunto, como se formassem uma máquina só.
Neste texto, você saberá o que é computação em cluster, verá quais são as principais características do conceito e
conhecerá algumas de suas aplicações, assim como soluções do tipo.

O que é cluster?
Cluster (ou clustering) é, em poucas palavras, o nome dado a um sistema que relaciona dois ou mais computadores para
que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Estas máquinas dividem entre
si as atividades de processamento e executam este trabalho de maneira simultânea.
Cada computador que faz parte do cluster recebe o nome de nó (ou node). Teoricamente, não há limite máximo de nós,
mas independentemente da quantidade de máquinas que o compõe, o cluster deve ser "transparente", ou seja, ser visto pelo usuário ou por outro sistema que necessita deste processamento como um único computador.
Os nós do cluster devem ser interconectados, preferencialmente, por uma tecnologia de rede conhecida, para fins de
manutenção e controle de custos, como a Ethernet. É extremamente importante que o padrão adotado permita a
inclusão ou a retirada de nós com o cluster em funcionamento, do contrário, o trabalho de remoção e substituição
de um computador que apresenta problemas, por exemplo, faria a aplicação como um todo parar.
A computação em cluster se mostra muitas vezes como uma solução viável porque os nós podem até mesmo ser compostos por computadores simples, como PCs de desempenho mediano. Juntos, eles configuram um sistema de processamento com capacidade suficiente para dar conta de determinadas aplicações que, se fossem atendidas por supercomputadores ou servidores sofisticados, exigiriam investimentos muito maiores.
Não é necessário haver um conjunto de hardware exatamente igual em cada nó. Por outro lado, é importante que todas as máquinas utilizem o mesmo sistema operacional, de forma a garantir que o software que controla o cluster consiga gerenciar todos os computadores que o integram.

Tipos de clusters
Há uma enormidade de aplicações que só podem ser atendidas satisfatoriamente com computação de alto desempenho:
sistemas meteorológicos, ferramentas de mapeamento genético, simuladores geotérmicos, programas de renderização de imagens tridimencionais, entre tantos outros. Com o advento da computação em nuvens, este cenário se torna ainda mais amplo: pode-se ter uma infraestrutura tecnológica respondendo a vários clientes simultaneamente de maneira remota, por exemplo.
Em todos estes casos e em qualquer outro tipo de aplicação crítica - que não pode parar de funcionar ou não pode
perder dados (os sistemas bancários, por exemplo) -, o cluster pode se mostrar como uma solução viável, desde
que o tipo mais adequado seja escolhido.
Há vários tipos de cluster, mas os principais são:
cluster de alto desempenho
cluster de ata disponibilidade
cluster de balanceamento de carga.
Cluster de Alto Desempenho (High Performance Computing Cluster)

Clusters de alto desempenho: são direcionados a aplicações bastante exigentes no que diz respeito ao processamento. Sistemas utilizados em pesquisas científicas, por exemplo, podem se beneficiar deste tipo de cluster por necessitarem analisar uma grande variedade de dados rapidamente e realizar cálculos bastante complexos.
O foco deste tipo é o de permitir que o processamento direcionado à aplicação forneça resultados satisfatórios em tempo hábil, mesmo que haja centenas de milhares de gigaflops envolvidos com a tarefa (1 gigaflop corresponde a 1 bilhão de instruções de ponto flutuante executadas por segundo).
Cluster de Alta Disponibilidade: (High Availability Computing Cluster)
Nos clusters de alta disponibilidade, o foco está em sempre manter a aplicação em pleno funcionamento: não é aceitável que o sistema pare de funcionar, mas se isso acontecer, a paralização deve ser a menor possível, como é o caso de soluções de missão crítica que exigem disponibilidade de, pelo menos, 99,999% do tempo a cada ano, por exemplo.
Para atender a esta exigência, os clusters de alta disponibilidade podem contar com diversos recursos: ferramentas de monitoramento que identificam nós defeituosos ou falhas na conexão, replicação (redundância) de sistemas e computadores para substituição imediata de máquinas com problemas, uso de geradores para garantir o funcionamento em caso de queda de energia, entre outros.
Em determinadas circunstâncias, é tolerável que o sistema apresente algum grau de perda de desempenho, especialmente quando esta situação é consequência de algum esforço para manter a aplicação em atividade.
Cluster para Balanceamento de Carga (Load Balancing)
Em clusters de balanceamento de carga, as tarefas de processamento são distribuídas o mais uniformemente possível entre os nós. O foco aqui é fazer com que cada computador receba e atenda a uma requisição e não, necessariamente, que divida uma tarefa com outras máquinas.
Imagine, por exemplo, que um grande site na internet receba por volta de mil visitas por segundo e que um cluster formado por 20 nós tenha sido desenvolvido para atender a esta demanda. Como se trata de uma solução de balanceamento de carga, estas requisições são distribuídas igualmente entre as 20 máquinas, de forma que cada uma receba e realize, em média, 50 atendimentos a cada segundo.
Não basta ao cluster de balanceamento de carga ter um mecanismo meramente capaz de distribuir as requisições - é necessário que este procedimento seja executado de forma a garantir um "equilíbrio" na aplicação. Para tanto, o mecanismo pode monitorar os nós constantemente para verificar, por exemplo, qual máquina está lidando com a menor quantidade de tarefas e direcionar uma nova requisição para esta.
O balanceamento de carga pode ser utilizado em vários tipos de aplicações, mas o seu uso é bastante comum na internet, já que soluções do tipo têm maior tolerância ao aumento instantâneo do número de requisições, justamente por causa do equilíbrio oriundo da distribuição de tarefas.
Combinação de tipos de clusters
É válido frisar que uma solução de cluster não precisa se "prender" a apenas um tipo. Conforme a necessidade, pode-se combinar características de tipos diferentes no intuito de atender plenamente à aplicação.
Por exemplo, uma loja na internet pode utilizar um cluster de alta disponibilidade para garantir que suas vendas possam ser realizadas 24 horas por dia e, ao mesmo tempo, aplicar balanceamento de carga para suportar um expressivo aumento eventual no número de pedidos causados por uma promoção.

Funcionamento básico dos clusters
Para que um cluster seja constituído, é necessário fazer uso de alguns elementos básicos. O primeiro deles você já conhece: os equipamentos a serem utilizados como nós.
Para isso, pode-se usar máquinas construídas especificamente para funcionar como nós. Neste caso, os computadores teriam apenas dispositivos de hardware imprescindíveis ao cluster.
Cluster avançado construído com equipamentos específicos
Mas, também é possível utilizar computadores "convencionais", como desktops para fins domésticos ou para uso em escritório. Assim, uma universidade ou uma empresa, por exemplo, pode utilizar máquinas que foram substituídas por modelos mais recentes para criar um cluster e, eventualmente, economizar com a aquisição de servidores.
Os nós podem ainda ser não dedicados ou dedicados. No primeiro caso, cada computador que faz parte do cluster não trabalha exclusivamente nele. No segundo, o nó é utilizado somente para este fim, fazendo com que dispositivos como teclados e monitores sejam dispensáveis - se, por algum motivo, for necessário acessar uma máquina em particular, pode-se fazê-lo via terminal, a partir do nó principal, por exemplo.
Outro elemento importante é o sistema operacional. Como já informado, os nós não precisam ser exatamente iguais no que diz respeito ao hardware, mas é essencial que todas os computadores utilizem o mesmo sistema operacional.
Esta homogeneidade é importante para diminuir a complexidade de configuração e manutenção do sistema, e garantir que os procedimentos rotineiros ao cluster, como monitorização, distribuição de tarefas e controle de recursos sejam executados de maneira uniforme. Para reforçar estes aspectos, pode-se até mesmo adotar sistemas operacionais preparados especialmente para clustering.
Do ponto de vista do software, o cluster conta ainda com o elemento que faz o papel de middleware: trata-se de um sistema que permite o controle do cluster em si e, portanto, está intimamente ligado ao sistema operacional. É o middleware que lida, por exemplo, com as bibliotecas que fazem toda a comunicação do cluster - uma delas é o padrão MPI (Message Passing Interface).
Além de trabalhar com o gerenciamento do cluster, o middleware oferece uma interface para que um administrador possa configurar o cluster, ferramentas para manutenção e otimização, recursos de monitoramento e assim por diante.
Por padrão, o middleware é instalado em uma máquina chamada de nó controlador (ou nó mestre). O nome deixa claro: trata-se do já mencionado nó principal, que efetivamente controla o cluster a partir da distribuição de tarefas, do monitoramento e de procedimentos relacionados.
A comunicação entre os nós - que é onde está a delimitação do que constitui o cluster em si - é feita a partir de uma tecnologia de rede local. Os padrões Ethernet (Gigabit Ethernet, Fast Ethernet, etc) são bastante utilizados justamente por serem mais comuns e, portanto, melhor suportados e menos custosos. Mas há outras opções viáveis, entre elas, o Myrinet e o InfiniBand, ambos com características bastante apropriadas para clustering.
Cluster Beowulf
O Beowulf não é, necessariamente, um middleware, como muitas pensam. Na verdade, este nome faz referência a um padrão de clustering disponibilizado pela NASA (National Aeronautics and Space ) em 1994 e amplamente adotado desde então.
Originalmente, Beowulf é o nome de um poema extenso e bastante antigo, cujo manuscrito foi encontrado no século XI. A obra descreve os atos de um herói de mesmo nome que se destaca por sua força descomunal e que, portanto, enfrenta um perigoso monstro para salvar um reino. A história serviu de inspiração para que os pesquisadores Thomas Sterling e Donald Becker, da NASA, batizassem o projeto de cluster no qual trabalhavam de Beowulf.
Um cluster Beowulf se define, basicamente, pela ênfase nas seguintes características:

- entre os nós, deve haver pelo menos um que atue como mestre para exercer o controle dos demais. As máquinas mestres
são chamadas de front-end; as demais, de back-end. Há a possibilidade de existir mais de um nó no front-end para que cada um realize tarefas específicas, como monitoramento, por exemplo;
Esquema básico de um cluster Beowulf
- a comunicação entre os nós pode ser feita por redes do tipo Ethernet, mais comuns e mais baratas, como você já sabe;
- não é necessário o uso de hardware exigente, nem específico. A ideia é a de se aproveitar componentes que possam ser encontrados facilmente. Até mesmo PCs considerados obsoletos podem ser utilizá-los;
- o sistema operacional deve ser de código aberto, razão pela qual o Linux e outras variações do Unix são bastante utilizados em cluster Beowulf. O MOSIX, a ser abordado no próximo tópico, é uma opção bastante usada para este fim;
- os nós devem se dedicar exclusivamente ao cluster;
- deve-se fazer uso de uma biblioteca de comunicação apropriada, como a PVM (Parallel Virtual Machine) ou a MPI (Message Passing Interface). Ambas são direcionadas à troca de mensagens entre os nós, mas o MPI pode ser considerado mais avançado que o PVM, uma vez que consegue trabalhar com comunicação para todos os computadores ou para apenas um determinado grupo.
Perceba que, com estas características, pode-se construir um cluster "poderoso" e, ao mesmo tempo, poupar gastos com equipamentos, licenças de software e manutenção. O cluster montado por Thomas Sterling e Donald Becker para a NASA, por exemplo, era composto por 16 PCs com processador Intel 486 DX4 e sistema operacional Linux conectados por uma rede Ethernet de 10 Mb/s. Como se vê, esta foi uma solução consideravelmente mais barata e, possivelmente, menos complexa que um supercomputador.
É possível saber mais sobre o Beowulf em www.beowulf.org.
Algumas soluções de clusters
Há uma quantidade razoável de soluções para clusters, mas algumas se sobressaem, especialmente aquelas que se relacionam com Linux e outros sistemas baseados em Unix. Vejamos rapidamente opções do tipo que se destacam bastante.
MOSIX
O MOSIX (Multicomputer Operating System for Unix) é uma das opções mais tradicionais quando o assunto é clustering.
Trata-se, resumidamente, de um conjunto de softwares que permite a implementação de clusters em sistemas baseados no Unix, tendo forte ênfase em balanceamento de carga e alto desempenho.
Entre as suas principais características estão: possibilidade de trabalhar com nós dedicados e não dedicados; suporte não apenas a CPUs, mas também a GPUs (a partir da versão 2); migração dinâmica de processos (um nó mais potente pode assumir determinada tarefa para evitar sobrecarga em outro); e possibilidade de remoção e inclusão de nós sem interromper o cluster.
Como o MOSIX também trabalha com nós não dedicados, é possível inclusive fazer com que as máquinas de um escritório passem a trabalhar no cluster após o horário do expediente, por exemplo. Mas, mesmo se houver usuários utilizando os nós, é possível manter o cluster em funcionamento, já que as atividades do MOSIX são totalmente "transparentes", ou seja, seu trabalho no computador não é perceptível.
O MOSIX não é uma solução gratuita. Houve uma versão sua de código aberto chamada OpenMosix que, infelizmente, foi descontinuada em março de 2008.
OpenSSI
O OpenSSI é uma solução aberta para clusters focada em ambientes Linux. O nome tem como base o conceito de
SSI (Single System Image), ou seja, um sistema que considera vários nós, mas se parece, no ponto de vista do usuário, apenas como um único computador.
A "visão" de apenas uma única máquina também é válida para os softwares: este não precisam ser alterados para
"enxergar" cada nó e assim rodar no cluster, facilitando a implementação da solução.
O OpenSSI pode lidar tanto com alto desempenho quanto com alta disponibilidade, além de possuir recursos para balanceamento de carga.

Kerrighed
O Kerrighed é outra opção SSI aberta para clusters que tem como base o Linux. Esta solução se destaca principalmente por fazer uso do conceito de Distributed Shared Memory (DSM) - algo como "Memória Compartilhada
Distribuída" -, onde a memória de cada nó se "soma" a dos demais, como se formassem um volume único à disposição de todo o cluster.
Esta abordagem oferece vários benefícios: parte da memória pode ser disponibilizada para todos os clientes da aplicação; sistemas desenvolvidos para rodar de maneira centralizada podem ser executados de maneira distribuída dentro da solução; o cluster pode se comportar como se fosse uma máquina com múltiplos processadores; entre outros.
Vantagens e desvantagens dos clusters
Neste ponto do texto, você certamente já compreendeu as vantagens de um cluster. Eis as principais:
- pode-se obter resultados tão bons quanto ou até superiores que um servidor sofisticado a partir de máquinas mais simples e mais baratas (ótima relação custo-benefício);
- não é necessário depender de um único fornecedor ou prestador de serviço para reposição de componentes;
Switch Ethernet: tecnologias amplamente disponíveis é comum em clusters
- a configuração de um cluster não costuma ser trivial, mas fazer um supercomputador funcionar poder ser muito mais trabalhoso e exigir pessoal especializado;
- é possível aumentar a capacidade de um cluster com a adição de nós ou remover máquinas para reparos sem interromper a aplicação;
- há opções de softwares para cluster disponíveis livremente, o que facilita o uso de uma solução do tipo em universidades, por exemplo;
- relativa facilidade de customização para o perfeito atendimento da aplicação;
- um cluster pode ser implementado tanto para uma aplicação sofisticada quanto para um sistema doméstico criado para fins de estudos, por exemplo.
Mas, apesar destes benefícios, os clusters não são a solução perfeita para todo e qualquer problema computacional. Há aplicações onde o uso de outra tecnologia se mostra mais adequado. Entre as razões para isso estão:
- a facilidade de expansão do cluster pode ser uma "faca de dois gumes": a quantidade de máquinas pode aumentar tanto que a manutenção se torna mais trabalhosa, o espaço físico pode ficar impróprio, etc;
- a tecnologia de comunicação utilizada pode não oferecer a velocidade de transferência de dados ou o tempo de resposta necessário, dependendo da aplicação;
- um cluster tem como base uma rede local, logo, não se pode acrescentar máquinas que estejam muito distantes geograficamente.
Por estes aspectos, fica evidente que as necessidades e os requisitos de uma aplicação devem ser bem avaliados para que se possa decidir entre a implementação de um cluster ou outra tecnologia. Se o clustering for a opção escolhida, deve-se seguir com a avaliação, desta vez para se decidir sobre as soluções e recursos disponíveis.

Finalizando
A origem da denominação "cluster" não é clara, mas sabe-se que as primeiras soluções de processamento paralelo remontam à década de 1960, havendo, a partir daí, alguns princípios que hoje formam a base da ideia de clustering.
O fato é que o passar do tempo não torna o conceito ultrapassado. Há um motivo especial para isso: os clusters se relacionam intimamente à otimização de recursos, uma necessidade constante em praticamente qualquer cenário computacional. E este aspecto pode se tornar ainda mais atraente quando a ideia de cluster é associada a conceitos mais recentes, como cloud computing e virtualização.

terça-feira, 9 de julho de 2013

Visão geral do Oracle RAC

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 instâncias 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.

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/
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.