Anda di halaman 1dari 25

FUNCIONALIDADES DO ORACLE RAC

Eduardo Amaral Ferreira 1 Iremar Nunes de Lima 2

Resumo: Diversas empresas tm como requisito fundamental do negcio que os seus sistemas de informao fiquem disponveis 24 horas durante todos os dias da semana. Dentre as solues de informtica para alta disponibilidade disponveis no Sistema Gerenciador de Banco de Dados Oracle est a tecnologia Oracle RAC (Oracle Real Application Cluster) que visa oferecer sistemas de bancos de dados 100% disponveis e escalveis para grandes organizaes. Este artigo descreve esta tecnologia e faz uma anlise das vantagens e desvantagens desta soluo. Palavras-chave: Informtica, Banco de Dados, Disponibilidade, Oracle RAC.

1 2

Especialista em Banco de Dados e Business Intelligence (eduamaral.ferreira@gmail.com). Mestre em Informtica e professor do Centro Universitrio Newton Paiva (iremar.prof@uol.com.br).

2 1. INTRODUO Hoje em dia, a evoluo dos sistemas de informao, que esto cada vez mais integrados, exige que eles estejam sempre disponveis, ou seja, que possam ser acessados 24 horas por dia, 7 dias por semana (24/7) de qualquer lugar. Com este acelerado crescimento da integrao de sistemas, quanto mais crtico for o negcio ao qual o sistema se aplica, mais disponvel ele deve ser. Junto da integrao de sistemas, tem-se a necessidade de oferecer e receber informaes sempre, com consistncia, confiabilidade, rapidez e onde for preciso. Para se ter sistemas disponveis o mximo possvel, preciso que se tenham bancos de dados 100% disponveis, suportando o funcionamento dos sistemas que o acessam. Dentre as solues de alta disponibilidade encontradas no Sistema Gerenciador de Banco de Dados Oracle, temos o Oracle RAC (Oracle Real Application Cluster) que visa oferecer sistemas de bancos de dados 100% disponveis e escalveis. Este artigo tem foco na apresentao das vantagens e desvantagens do uso desta ferramenta oferecida pelo SGBD Oracle, com intuito de se implantar e suportar um ambiente de banco de dados sempre disponvel. objetivo deste artigo, tambm, a apresentao das funcionalidades do Oracle RAC (Oracle Real Application Cluster). O restante do artigo est organizado da seguinte forma: a seo 2 apresenta e detalha o Oracle RAC, descrevendo suas funcionalidades e componentes. Na seo 3 tratado o funcionamento do Oracle RAC com um detalhamento das vantagens e desvantagens de se usar um ambiente Oracle RAC e por fim, na seo 4 feita a concluso do trabalho.

3 2. ORACLE RAC 2.1 Computao Distribuda (Grid Computing) A alta disponibilidade na computao, atravs do Oracle RAC, tem sua fundamentao na computao distribuda, que, por sua vez fundamentada na distribuio de energia eltrica. A distribuio de energia feita de forma transparente aos consumidores de todo o mundo: por exemplo, ao comprar um aparelho de TV novo, voc chega em casa e o liga na tomada eltrica, que um terminal de toda a malha eltrica da regio ou pas. No importa onde e como aquela energia eltrica foi gerada, o que importa que ela est chegando at sua casa. Outro exemplo: se um fio de energia eltrica de casa for desencapado e a ele ligado outro para instalao de uma tomada, cria-se um novo terminal de energia eltrica, que tem ligao com a malha de toda a regio, aumentandose os terminais de distribuio de energia. Esta energia pode ter sido gerada, por exemplo, na Hidreltrica de Furnas ou em Foz do Iguau e chega nas casas de todas as cidades atravs das redes de transmisso. Assim acontece com a computao distribuda: por exemplo, uma aplicao usa recurso computacional de um hardware sem se preocupar de onde e como vem aquele recurso, quando esta aplicao e/ou este hardware esto hospedados em um ambiente cluster, ou seja, um ambiente com diversos recursos, mas que representam apenas um, de maneira transparente para o usurio. como acontece em um ambiente RAC: existe um cluster de bancos de dados, com duas ou mais instncias, compartilhando de uma nica base de dados, porm, ao ser acessada por uma aplicao ou usurio, parece ser um nico servio de banco de dados.

Figura: Distribuio de energia eltrica Fonte: VALLATH, 2006

Conforme FARIA (2005),


"a idia central do Grid Computing (computao em grade / distribuda) oferecer a computao como um servio pblico. No se deve ter preocupao com o local onde os dados residam ou qual computador processe a solicitao. O usurio deve ser capaz de solicitar - e receberinformaes ou recurso de computao no volume e freqncia que desejar. Pode-se fazer uma analogia com o modo como funcionam os servios pblicos eltricos: voc no sabe onde est o gerador, nem como a rede eltrica. O que se deseja eletricidade. E a consegue. O objetivo tornar a computao um servio pblico e onipresente."

2.2 Clusterizao Segundo (Loney, 2005) um banco de dados de um ambiente RAC, altamente disponvel e escalonvel. A falha de um dos ns no cluster no afeta as sesses de cliente nem a disponibilidade do prprio cluster at o ltimo n do cluster falhar. Tal caracterstica fundamental para o funcionamento dos sistemas de hoje em dia, que exigem total disponibilidade. Mas o que vem a ser um cluster? E um n deste cluster, o que ?

5 O conceito de cluster est presente na maioria das reas da informtica: na rea de redes tem um foco com uma certa especificidade, na rea aplicativos tem suas particularidades e na rea de banco de dados, tambm, com suas prprias caractersticas. De acordo com o conceito comum entre as reas, ressalvadas as particularidades,
um cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado (Alecrim, 2004).

Em outras palavras, os computadores dividem as tarefas de processamento, e trabalham como se fossem um nico computador. Enfim, um ambiente cluster composto de vrios computadores e/ou servidores interligados entre si, mas que aos olhos do usurio, ou de suas aplicaes, parece apenas um nico servidor. Existem diversos tipos de cluster (Alecrim, 2004): Cluster para alta disponibilidade: um ambiente com este objetivo visa maximizar o tempo de disponibilidade e melhora das condies de uso. Clusters deste tipo indicam sistemas de misso crtica e quase nunca param de funcionar, caracterstica preconizada pelo Oracle RAC. Em ambientes como este, existem ferramentas para proteo, deteco e correo de falhas; Cluster para balanceamento de carga: compreende a distribuio de processamento. Demanda monitorao constante e artifcios de redundncia, sob pena de parada de todo o cluster; Cluster Combo: Combina os sistemas de alta disponibilidade e de balanceamento de carga. No Oracle RAC temos a implementao de um Cluster Combo, ou seja, a combinao entre alta disponibilidade e balanceamento de carga. Assim, a funo do Oracle RAC, fazer isto funcionar de forma transparente para o usurio, ou seja, em um ambiente Oracle RAC, tem-se diversos

6 servidores de bancos de dados, que recebero os acessos dos usurios e suas aplicaes, de acordo com sua disponibilidade, porm acessando uma nica base de dados. H ainda uma forte caracterstica, que consiste em manter o servio totalmente disponvel caso algum dos servidores se torne indisponvel. O Oracle RAC, cuidar de transmitir aos servidores sobreviventes as consultas que estavam rodando no servidor que falhou. Assim, um servidor sobrevivente, receber as requisies oriundas do servidor falho, sem que o usurio perceba a troca de mquina que processava sua requisio.

2.3 - O SGBD Oracle 2.3.1 Estrutura de um Servidor Oracle O Oracle Real Application Cluster pode ser considerado como uma extenso de uma instncia simples de um banco de dados Oracle. Tal afirmativa verdade, pois um Oracle RAC, nada mais do que vrias instncias Oracle interconectadas em cluster, porm com alguns componentes a mais do que a instncia normal, para manter seu funcionamento, acessando uma base de dados compartilhada. Um servidor Oracle composto de dois principais componentes, ambos presentes na configurao cluster: (ARQUITETURA, 2009) Instncia Oracle: Conjunto da SGA e dos processos de background; Database Oracle: Conjunto de 3 (trs) tipos de arquivos: Datafiles, Control Files e arquivos de Redo On-Line. SGA entende-se como a rea de memria alocada pelo Oracle no sistema operacional, comportando seus processos e sub-reas, por exemplo: (ARQUITETURA, 2009): Shared Pool: sub-rea da SGA que armazena os comandos SQL e PL/SQL;

7 Buffer Cache: Os dados lidos e manipulados pelo Oracle so acessados atravs desta rea ou de memria, garantia de desempenho, pois acesso em disco mais lento do que em memria; Log Buffer: Armazena as alteraes feitas no banco de dados em memria, para que tais alteraes no tenham de ser feitas diretamente no disco; Java Pool: Bloco de memria da SGA que permite a execuo de comandos Java dentro do banco de dados; Large Pool: Responsvel por armazenar informaes que so e sero utilizadas por uma srie de funcionalidades e utilitrios do Oracle; Alm das reas citadas anteriormente, temos os processos de background que so abertos por um servidor Oracle: (ARQUITETURA, 2009) DBWn: processo responsvel por escrever em disco os dados manipulados que esto na buffer cache; CKPT (Checkpoint): processo responsvel por sinalizar o disparo do processo DBWn, ou seja, processo que roda e de tempos em tempos, e quando acionado, que verifica a existncia de blocos a serem gravados, que, se houver, dispara o processo responsvel pela escrita daqueles blocos em disco; SMON (System Monitor): Responsvel pela recuperao da instncia durante sua inicializao, limpar os segmentos temporrios e aglutinao de espao livre em tablespaces gerenciados pelo dicionrio de dados; PMON (Process Monitor): Faz a gerncia dos processos dos usurios; LGWR (Log Writer): Responsvel por escrever o contedo do Log Buffer nos arquivos de Redo Log;

8 E outros processos, alm dos citados, mas que fogem um pouco do contexto deste trabalho. Sobre os arquivos que compem o Data Base Oracle, tem-se o seguinte: Data Files: Arquivos de dados, onde ficam efetivamente armazenados os dados do banco; Control File: Arquivos de controle do banco de dados. Armazena todas as informaes possveis sobre a instncia Oracle, alm dos dados sobre a estrutura fsica do Data Base Oracle; Redo Log: Armazenam os dados recm alterados que estavam na rea de memria Log Buffer; Todos os conceitos apresentados anteriormente, formam os principais componentes de um servidor Oracle. A figura 2.1, mostra a estrutura de um servidor Oracle, sob configurao de uma nica instncia.

Figura: 2.1: Ambiente Oracle instncia simples Fonte: prpria

9 Alm dos itens mostrados sobre a estrutura de memria do servidor Oracle, temos a PGA, que tambm uma rea de memria, que contm dados e informaes sobre uma sesso de um determinado usurio. A figura 2.2, mostra a estrutura de um servidor Oracle RAC, sob a configurao de quatro instncias. Em um Servidor Oracle, com implementao de RAC, tem-se todos os componentes mostrados anteriormente, com a adio de alguns poucos componentes que implementam o cluster e as caractersticas de alta disponibilidade e facilidade de aumento de escalabilidade oferecidas pelo RAC. Um banco de dados RAC, permite que mltiplas instncias Oracle, cada uma com uma estrutura como a mostrada anteriormente, residam em diferentes servidores de um cluster, compartilhando os arquivos do banco de dados, em outras palavras, quando h a configurao do RAC, temos vrias instncias Oracle compartilhando do mesmo Database Oracle, ou seja, do mesmo conjunto de arquivos, Data File, Control File e Redo Logfile.

10

Figura 2.2: Ambiente RAC com 4 instncias. Fonte: VALLATH (2006)

Existem duas formas de funcionamento do Oracle RAC: (FONSECA, 2008) Em uma delas existe uma camada de software de cluster que opera nos ns do cluster. Cada n (node) pode monitorar um ou mais ns do cluster (atravs da interconexo de rede). Se a mquina monitorada falhar, a(s) sobrevivente(s) pode(m) apropriar-se da memria (SGA e PGA) e restaurar as aplicaes que estavam sendo executadas na mquina que falhou. A mquina corrompida pode permanecer fora de operao, e os usurios e cliente da aplicao perceberiam somente uma breve interrupo do servio, pelo menos enquanto ocorre a transferncia das estruturas de memria e

11 seus contedos para a mquina sobrevivente, fato que ocorre muito rapidamente. Uma outra forma de cluster do Oracle RAC, a operao em clusters paralelos, onde so usadas verses especiais de software. Cada mquina opera o Oracle, e uma camada de software conduz o acesso ao disco compartilhado do banco de dados. Cada mquina tem acesso total a todos os discos do banco de dados. O banco de dados deve ser localizado em um grupo de disco compartilhado onde todos os servidores do cluster possam acessar o banco de dados. Os servidores se comunicam com os discos compartilhados via rede. 2.3.2 Oracle Clusterware O conjunto de software que faz o gerenciamento do cluster chamado de Oracle Clusterware. Oracle Clusterware, que no decorrer do texto ser chamado de OCR, uma nova caracterstica, que surgiu no Oracle 10g, que prov interface cluster padro em todas as plataformas, alm de prover operaes de alta disponibilidade que no estavam disponveis nas verses anteriores do Oracle. Existem diversos outros softwares de gerncia de cluster, mas o da Oracle o mais indicado para RAC (VALLATH, 2006). Ele o componente essencial para o funcionamento do Oracle RAC. Pode trabalhar s, ou em conjunto com outros softwares deste tipo, de terceiros, como da HP ou da Sun. Ele deve ser instalado em cada n do cluster do ambiente RAC. A combinao entre ele e o Oracle RAC contribui para o alto nvel de disponibilidade e flexibilidade. Ele deve ser o primeiro componente instalado quando se planeja configurar um RAC.

12 O OCR o responsvel pelo processo de realocao dos componentes de uma instncia e pelo controle da reedio destes em uma nova instncia, alm de recuperar parte das transaes que falharam em algum n (node). O OCR, que tambm pode ser chamado de CRS (Cluster Ready Services) composto por 3 (trs) principais componentes, que se manifestam como daemons (processos) executados no inittab do linux ou como um servio, em um ambiente windows.(HART, 2004) Os daemons componentes do Oracle Clusterware so: (HART, 2004): CSS Cluster Synchronization Services: o principal componente para existncia de disponibilidade de recursos no ambiente RAC. base para comunicao entre processos em um ambiente cluster (RAC). O CSS tambm pode ser usado em instncias simples de maneira a permitir a interao entre instncias ASM e o banco de dados. Ele prov uma srie de servios, como informao em tempo real de cada n (node) e instncia que compem o RAC em um determinado momento, alm de informaes estatsticas, como os nomes e nmeros dos ns, que podem ser alterados quando so removidos ou adicionados. O CSS tambm controla funcionalidade de bloqueio, a nvel de registro dentro do cluster. Este daemon tambm responsvel pela checagem constante da permanncia de um n em um cluster, alm da monitorao do voting disk em busca de falhas. Voting Disk, um arquivo que contm e gerencia informaes sobre todos os ns membros de um RAC, alm de gerenciar o cluster e manter o RAC. tambm um importante componente do OCR; CRS Cluster Ready Services: Responsvel por executar as operaes de recuperao de falhas e manter a disponibilidade dos recursos em um ambiente RAC. tambm responsvel pela transferncia de um servio /

13 recurso de um n para outro em caso de falha de um deles, alm de registrar os eventos ocorridos no ambiente no OCR Oracle Cluster Registry, arquivo que contm os registros de todos os eventos e lista de ns em um cluster; EVM Event Manager: Processo responsvel por armazenar os logs sobre cada evento dos daemons (processos) do RAC. Um outro importante componente presente no OCR o VIP: Virtual Ip Address, que tem uma grande vantagem e importante caracterstica do Oracle RAC, pois proporciona um menor failover (tempo decorrido entre a deteco e correo de uma falha) em eventos de falha de um n do cluster. Com o VIP, cada n no ter apenas um endereo ip esttico, mas ter tambm um virtual que associado a cada n. A maneira de garantir este failover menor fazendo com que o listener de cada n escute o VIP, pois tem uma resposta muito mais rpida do que o ip normal, assim, ao tentar se conectar em um ip virtual (VIP) onde o n est inativo, a conexo j transmitida para outro n, e para outro, caso o segundo esteja inativo, e assim por diante, caso no tenha resposta imediata. Abaixo um exemplo de configurao de um arquivo tnsnames.ora, que mostra uma lista de ips alternativos, possibilitando a busca por ns disponveis. GRID = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rmscvip1)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rmscvip2)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = grid) ) )

14 3. FUNCIONAMENTO DO ORACLE RAC O Oracle Real Application Cluster (Oracle RAC) uma option (caracterstica adicional) do SGBD Oracle que permite alta disponibilidade e escalabilidade dos ns em um ambiente cluster. Trata-se de duas ou mais instncias Oracle compartilhando de uma nica base de dados, em outras palavras, um banco de dados clusterizado (ORACLE REAL APPLICATION CLUSTER DATA SHEET, 2005). No ambiente RAC, h a configurao de um cluster ativo / ativo, ou seja, todos os ns do cluster acessam os mesmos dados simultaneamente. Existem, nesta configurao, duas ou mais instncias que respondem como um nico servio para as aplicaes e/ou usurios que a acessam. Quando uma aplicao ou usurio se conecta ao banco de dados, existe uma camada de software (OCR) que envia sua sesso para a instncia mais disponvel dentro do cluster, caracterizando o balanceamento de carga. Esta sesso compartilha dos blocos sujos (blocos de dados alterados que ainda no foram escritos em disco, ou seja, ainda esto na memria) do sistema atravs do Cache Fusion, que mantm, atravs de uma interconexo privada, o compartilhamento destes blocos entre as instncias, evitando, assim, acesso a disco por qualquer uma das instncias. Em outras palavras, uma instncia pode precisar acessar um bloco que foi h poucos instantes alterado por outra instncia, e este ainda est na memria. Atravs do Cache Fusion esta instncia acessar este bloco, com o valor atual, ou seja, com a alterao feita pela outra instncia. No RAC no existe fuso de SGA, ou seja, cada instncia tem sua prpria SGA, porm com seus blocos sujos visveis a todas as instncias, funcionalidade esta provida pelo Cache Fusion (FONSECA, 2008). Caso alguma instncia se torne inativa, os processos de background que ficam vigiando todo o cluster, cuidaro de no enviar uma nova conexo para este n inativo e transferir todas as sesses que residiam naquele para um ponto do cluster que

15 esteja ainda ativo. muito importante ressaltar que os comandos e processos de uma sesso que so transferidos so apenas de consultas, ou seja, transaes que estejam pendentes de commit (confirmao de gravao) lanaro mensagem de erro que deve ser tratada, e sofrer rollback (cancelamento de alterao). Aquele n que apresentou instabilidade pode sofrer manuteno e voltar ativa, passando a receber novas conexes a partir do momento que os processos responsveis por vigiar o ambiente o identificarem como ativo. Vale lembrar que as sesses que estavam neste n no voltam para ele, permanecem na instncia para qual foram transferidas, ele receber apenas novas sesses, que provavelmente sero direcionadas a ele, pois acabou de ingressar no cluster, logo est, teoricamente, mais disponvel que os demais ns do ambiente (DYKE, 2006). Desta forma o Oracle RAC, garante baixo e transparente failover, pois as sesses existentes em uma instncia falha ressurgem em uma outra instncia, podendo acessar os mesmos dados que acessava na instncia falha. Garante tambm capacidade de escalabilidade, permitindo a adio e/ou remoo de ns no ambiente sem a parada dos servios. Ento, um DBA pode prestar manuteno em um ambiente de banco de dados sem prejudicar o acesso aos dados, como por exemplo, aplicao de pacthes de segurana e atualizao, bem como no sistema operacional do n hospedeiro de uma instncia. Um fato importante de se ressaltar no Oracle RAC as suas sutis diferenas diante de um banco de dados de uma nica instncia. Em tese, um RAC, um banco de dados simples, porm com mais instncias, e com alguns componentes a mais. Componentes estes que merecem ateno so os processos de background especficos de um ambiente RAC, que no existem em uma configurao simples, so eles (FONSECA, 2008):

16 LMS: Conhecido como Global Cache Service. O RAC pode ter at 10 processos deste, variando de acordo com a quantidade de mensagens que trafegam entre os ns. As suas tarefas so: manusear as interrupes dos blocos de dados de uma instncia remota para o Global Cache Service (Cache Fusion); controlar as requisies de recursos e as operaes de chamadas realizadas entre as instncias RAC durante a utilizao dos recursos que so compartilhados; construo de uma lista de elementos que so afetados pelo lock e validar estes elementos durante uma operao de recuperao; manusear o mecanismo global de deteco de lock e deadlock e monitorar a durao de um lock disparando o timeout quando necessrio; ele tambm controla a requisio dos dados que so acessados entre os ns de um cluster. No ambiente RAC, cada bloco associado a uma instncia especfica. este o processo que garante que cada instncia ir fazer uma leitura consistente dos blocos, e uma instncia por vez; LMON: Sua funo monitorar todo o cluster, as filas globais de requisio e o uso dos recursos da memria. O LMON controla as instncias e a expirao dos processos. Participa do processo de recuperao da instncia, em conjunto com o processo Global Cache Service. ele que controla o processo LMD e as regies de memria usadas. similar ao processo PMON, em um banco de dados de nica instncia; LMD: um processo agente de lock sobre os recursos que esto armazenados na fila de requisio. Atende s solicitaes do LMSn para controlar o acesso global da instncia na solicitao remota sobre a fila de requisio. Tambm controla e detecta deadlocks;

17 LCK0: Executa o gerenciamento global da fila de requisio como tambm da transmisso entre as instncias. Ele manipula todos os recursos de transferncia que no requerem o uso do Cache Fusion; DIAG: um processo daemon responsvel por monitorar e fazer o diagnstico dos heartbeats (batimentos cardacos) de cada instncia, verificando quais instncias RAC esto rodando no momento. Ele tambm captura os dados de um processo de uma instncia falha. Existe um processo deste em cada instncia , e no pode desativado ou removido. Se por acaso o processo DIAG da instncia falhar, automaticamente outro iniciado por um outro processo de background. 3.1 Vantagens e desvantagens do Oracle RAC Dentre as (VALLATH,2006): Alta disponibilidade: Na ocorrncia de falha de um n do cluster, os outros ns podem continuar a operar e a disponibilidade do banco de dados no ser afetada; Confiabilidade: Devido ao uso de cluster no ambiente RAC, e com um DBA bom prestando manuteno ao ambiente, tem-se confiabilidade, pois o banco de dados se mantm funcionando at que caia o ltimo n do cluster, e enquanto isso, o corpo tcnico pode restabelecer o funcionamento daquele que falhou; Recuperabilidade: Facilidade de recuperao em um n falho, pois o sistema no tem de parar para se restabelecer a atividade de um n falho; Deteco de erros e manuteno facilitada: As bases de dados mltiplas do legado podem ser consolidadas em uma nica base de dados de RAC que reduz a complexidade da gerncia e que introduz economias de escala. vantagens do Oracle RAC destacam-se as seguintes

18 Continuidade de operaes: Garantida pela alta disponibilidade; Escalabilidade: Mltiplos ns permitem escalar bancos de dados clusterizados alm do limite de uma instncia simples, ou seja, em um ambiente RAC, pode aumentar e/ou diminuir o nmero de ns do cluster; Diminuio de TCO (Custo Total de Propriedade): Reduo dos gastos com compras de hardware, pois pode-se comprar n mquinas, de menor porte, logo mais baratas. Alm da reduo do custo com manuteno e suporte (PORTILHO, 2009); Dentre as desvantagens tm-se as seguintes: Alto custo de licenciamento, pois para cada instncia componente do cluster necessrio uma licena para cada processador. Assim, se houver um RAC com dois ns e cada n deste tiver dois processadores, sero necessrias 4 licenas de uso do SGBD (PORTILHO, 2009). Conhecimento, por parte do DBA, do ambiente de sistema operacional. O DBA precisa ter um bom conhecimento de SO para facilitar a montagem e manuteno do RAC. Alm de todas estas desvantagens, pode-se ter um grande problema de desempenho em casos de catstrofe, ou seja, de acordo com o funcionamento do RAC, quando um n falha, uma instncia sobrevivente recebe as sesses oriundas daquele e outras novas. Caso os ns sobreviventes j estejam com uma carga um tanto alta, podem no suportar a nova carga proveniente do n inativo, e assim falhar tambm, da suas sesses, incluindo as sesses que herdou daquele n, vo para um outro sobrevivente, que teria de suportar sua carga de trabalho e a dos outros dois, causando um efeito domin, podendo chegar a inatividade de todo o cluster, caso no se restabelea a atividade dos dois primeiros. De acordo com (FONSECA, 2008) ao planejar um ambiente Oracle RAC, deve-se estimar a utilizao de CPU para consultas pesadas.

19 Durante o perodo de alta utilizao de um servidor / instncia do ambiente, a CPU no deve passar de 70%. Deve-se atentar para o fato de se a instncia sobrevivente tem capacidade para suportar toda a carga de trabalho no caso de falha de uma determinada instncia do cluster. 3.2 Ferramentas para manuteno do RAC Existem diversas ferramentas para o DBA administrar o Oracle RAC, dentre elas destacam-se as seguintes: CVU (Cluster Verification Utility): Seu objetivo verificar se o cluster est configurado corretamente antes de se tentar instalar o Oracle Clusterware ou o prprio software de gerncia de banco de dados. Ele faz uma leitura de checagem e relata dicas / conselhos se encontrar algum problema. O DBA pode ou no seguir tais dicas, sob pena de encontrar problemas na instalao de algum componente (DYKE, 2006). Com o CVU, podem-se passar vrios parmetros para checagens diversas: o nodereach: verifica se toda a configurao de rede est correta e se todos os ns podem ser alcanados via rede; o nodecon: checa se a configurao de rede est correta, checa inclusive o VIP (ip virtual); o cfs: verifica a integridade do sistema de arquivos do cluster; o ssa: checa se o storage compartilhado est acessvel; o space: verifica se o mnimo de espao em disco requerido atendido; o sys: checa se os requisitos de sistema foram atingidos; o clu: Verifica a integridade do cluster; o clumgr: permite a verifica da integridade do gerenciador de cluster;

20 o ocr: analisa a integridade do OCR (Oracle Cluster Registry); o crs: verificao de integridade do Oracle Clusterware; o nodeapp: checa a existncia de aplicao nos ns; o admprv: verifica se os privilgios administrativos foram devidamente delegados; o peer: faz a verificao da configurao corrente de um n com os demais; CVUQDISK: Uma variao do CVU, que cuida de fazer uma checagem dos discos que compem o storage (rea de armazenamento) do RAC. Alm das ferramentas de anlise do cluster, que faz as verificaes necessrias aps o processo de definio/instalao do cluster, existem as ferramentas para gesto do RAC, incluindo a manuteno, incluso ou remoo dos ns. importante ressaltar que para desativar uma instncia no RAC, essencial que existam outras ativas e que o Oracle Clusterware esteja rodando nelas. Desligar um n do RAC no interfere no funcionamento do ambiente, o que pode ocorrer um certo impacto nas instncias restantes, pois recebero o processamento que havia no n ora desativado. As ferramentas que proporcionam tais funcionalidades so: EM (Enterprise Manager): Nas verses superiores a 10.1 do Software de banco de dados Oracle, o Enterprise Manager, que neste texto chamaremos de EM, uma ferramenta baseada na plataforma web. Existem duas verses do EM nas edies 10.1 e superiores do Oracle: Database Control e Grid Control. Com o Database Control pode-se gerenciar um nico banco de dados Oracle RAC com suas instncias, listeners e ns. J com o Grid Control, consegue-se gerenciar vrios bancos de dados Oracle RAC, bem como suas instncias, listeners, servidores de aplicao, servidores web, e

21 aplicaes web. Com ele tambm possvel criar um banco de dados de espera (stand by) Data Guard. (VALLATH, 2006) SRVCTL (Server Control Utility): uma ferramenta de linha comando, que executa muitas das tarefas feitas pelo EM. Nas verses superiores a 10.1 do Oracle, o SRVCTL armazena informaes sobre configurao e status do OCR (Oracle Cluster Registry), estas informaes so utilizadas por outras vrias ferramentas Oracle, incluindo o EM. Pode-se usar o SRVCTL para iniciar, parar e obter o status corrente de um banco de dados, de suas instncias e listeners. usado tambm para adicionar e deletar informaes de instncias e bancos de dados, alm de mover uma instncia de um n para outro por exemplo. Tambm possvel setar variveis de ambiente, seja no nvel da instncia ou do banco de dados. Atravs desta ferramenta possvel controlar seis tipos de componentes: database, instncia, servios, aplicaes dos ns (que incluem: GSD Global Services Daemon, Oracle Notification Service ONS, Virtual Ip VIP , Oracle Net Listener, que tambm pode ser administrado pela ferramenta LSNRCTL), ASM e listener. Dentre as funes do SRVCTL, destacam-se as seguintes com relao a gerncia do banco de dados: Inicializar um banco de dados, parar um banco de dados; checar a configurao de um banco de dados, checar o status de um banco de dados, adio de configuraes a um banco de dados, modificar as configuraes existentes de um banco de dados, habilitar e/ou desabilitar um banco de dados, alm de outras vrias funcionalidades. Com relao s funcionalidades do SRVCTL para gerncia das instncias de um Oracle RAC, tm-se as seguintes:

22 Iniciar ou parar uma instncia, checar o status desta, adicionar uma nova, modificar ou remover uma instncia, desabilitar e/ou habilitar uma instncia. Abaixo alguns exemplos de comandos que podem ser utilizados com o SRVCTl: srvctl start instance -d RAC -i RAC1; srvctl stop instance -d RAC -i RAC3; srvctl status instance -d RAC -i RAC1; Sobre as funes do SRVCTL para manuteno das aplicaes nos ns, as seguintes so as mais relevantes: Inicializao e paralizao das aplicaes nos ns, checagem de status e configurao alm de adio ou remoo destas. Alm das duas ferramentas para manuteno de um Oracle RAC descritas anteriormente, tem uma terceira, que alm de permitir a execuo de vrias tarefas administrativas do ambiente RAC, permite a pesquisa e anlise de estatsticas e informaes sobre todo o ambiente e, possibilita a alterao dos parmetros de inicializao de todas as instncias do ambiente RAC, trata-se do SQLPLUS. Que tambm a exemplo do SRVCTL, uma ferramenta de linha de comando. (VALLATH, 2006). Atravs desta ferramenta, faz-se a gerncia do ambiente RAC, incluindo a alterao de parmetros de inicializao do ambiente. importante ressaltar que, ao alterar algum parmetro de inicializao, preciso especificar qual ser o escopo de instncia que aquele parmetro ter validade, ou seja, alm de especificar o escopo do parmetro, se memria, spfile ou ambos (both) necessrio de que se especifique a qual SID (instncia) o novo parmetro passa a vigorar. ALTER SYSTEM SET pga_aggregate_target = 200M SID = 'RACl'; Alm das funcionalidades descritas anteriormente do SQLPLUS, pode-se fazer uso das views dinmicas de desempenho oferecidas pelo SGBD Oracle, que em casos de um ambiente RAC, tm-se algumas que ajudam a analisar o desempenho e

23 configurao deste. A seguir alguns exemplos que mostram as informaes sobre a atividade balanceamento de carga no RAC: GV$SERVICES: Mostra dados sobre quais servios de banco de dados esto configurados atualmente; GV$ACTIVE_SERVICES: Exibe dados sobre quais servios esto em execuo no momento; GV$SERVICE_WAIT_CLASS: Resume o tempo de espera por classe de cada servio do banco de dados; Os prximos comandos e views, exemplificam a monitorao de desempenho e informaes sobre as configuraes das instncias e no RAC: GV$SYSTEM_EVENT, GV$SESSION_EVENT, GV$SESSION_WAIT, GV$SESSION, GV$LOCK, GV$SQL, GV$SQLTEXT, GV$SQLAREA. Existe tambm uma ferramenta para administrao do Clusterware que a CRSCTL (Cluster Ready Services Control). Ela prov a gerncia do Oracle Clusterware, permitindo a inicializao e paralizao deste, bem como a administrao dos daemons CSS, CRSD e EVMD, j mencionados neste artigo.

4. CONCLUSO O Oracle RAC, pode ser uma tecnologia complexa e custosa de se implementar. Requer um bom conhecimento para planejar, instalar, configurar, fazer

24 ajustes de desempenho, suportar e manter. O custo das licenas necessrias para sua implementao significativamente maior que o custo para implantao de uma instncia simples. A maioria das empresas que implantam o Oracle RAC, o fazem por precisar e ter garantias de que alcanaro maior disponibilidade, escalabilidade ou a combinao de ambos. Com o RAC tm-se ambientes mais disponveis, com isso mais segurana. Alm disso, mais facilidade de administrao das bases de dados da empresa e a reduo do custo de propriedade, ou seja, gasta-se menos dinheiro com equipamentos j que se pode comprar mais mquinas, de menor poder de processamento e clusteriz-las no ambiente RAC, perfazendo o balanceamento de carga, que pode ser configurado, por exemplo, por requisio ou por disponibilidade, h uma srie de configuraes possveis. Em sntese, para se decidir pelo RAC, preciso analisar, alm de toda a viabilidade tcnica, todo ambiente dos negcios da empresa, de maneira a identificar a real necessidade de implantao de um ambiente com as caractersticas disponibilizadas pelo Oracle RAC. Em termos de alta disponibilidade em banco de dados, e principalmente com o Oracle, o mais falado hoje em dia nas grandes corporaes o Oracle RAC, porm existem outras tecnologias, como Oracle Data Guard, o Oracle FlashBack, e outras vrias tcnicas, cada uma com suas particularidades, desvantagens e vantagens. Qual delas a melhor, depende de um estudo no ambiente onde ser implantado, podendo inclusive implantar todas elas, garantindo um ambiente muito seguro e com forte veio de disponibilidade, escalabilidade.

25 REFERNCIAS BIBLIOGRFICAS ALECRIM, Emerson. Cluster: principais conceitos. <http://www.infowester.com/cluster.php> Acesso em 20 junho 2009. ARQUITETURA e Administrao do BD Oracle. Synos Education Center. 2009. DYKE, Julian; SHAW, Steve. Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance. Apress, 795p. FARIA, Elizabeth. Grid e Oracle 10g. Oracle Corporation, 2005. FONSECA, Luiz Cludio. DBA RAC 11g Arquitetura: Instalao, Administrao e Performance. Cincia Moderna, 2008, 196p. HART, Matthew; JESSE, Scott. High Availability with RAC, Flashback & Data Guard. Oracle Press, 2004, 421p. LONEY, Kevin; BRYLA, Bob. Oracle Data Base 10g DBA Handbook. Oracle Press, 2005, 757p. LONEY, Kevin. Oracle Database 10g - The Complete Reference. Oracle Press, 2004, 1369p. ORACLE REAL APPLICATION CLUSTER DATA SHEET, 2005 <http://www.oracle.com/technology/products/database/clustering/index.html> Acesso: 20 junho 2009. PORTILHO, Ricardo. Instalao de Oracle RAC em Linux com VMWare. <http://profissionaloracle.com.br/blogs/portilho/2009/02/18/instalacao-de-oracle-racem-linux-com-vmware-parte-i/> Acesso: 22 junho 2009. VALLATH, Murali. Oracle 10g RAC Grid, Services e Clustering. Elsevier Digital Press, 2006, 670p.

Anda mungkin juga menyukai